Важная информация

User Tag List

Страница 21 из 55 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя
Показано с 201 по 210 из 542

Тема: ZEmu

  1. #201
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    [bETA]mEN, а где можно взять этот самый Emulator detecor ?
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

  2. #202
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    792
    Спасибо Благодарностей отдано 
    359
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    21 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus Посмотреть сообщение
    [bETA]mEN, а где можно взять этот самый Emulator detecor ?
    выкладываю.
    Вложения Вложения
    IT FOUND A VOICE... NOW IT NEEDS A BODY

  3. #203
    Master
    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sinus Посмотреть сообщение
    но надо проверять что говоришь
    Ну не знаю почему, но у меня нагрузка на проц ниже 80% не падает (при выборе файла ниже 60%). Картинка прилагается. Наверное комп слабоват.
    Цитата Сообщение от Sinus Посмотреть сообщение
    <NoDelay>no</NoDelay>
    есть.
    Sorry, не земетил.

    Вот ещё исходник выложенной чуть выше эмуляторопроверялки.
    Мож пригодится.
    Код:
            org #6000
    ;чистим экран
            di
            ld hl,#5aff
            ld (hl),#7
            dec hl
            bit 3,h
            jr nz,$-5
            xor a
            ld (hl),a
            or (hl)
            dec hl
            jr z,$-3
    ;устанавливаем im 2
            ld hl,#fd00
            ld de,#fd01
            ld b,e
            ld c,l
            ld (hl),#fe
            ld a,h
            ld i,a
            ldir
            ld a,#c3        ;jp nn
            ld (#fefe),a
            ld hl,imob
            ld (#feff),hl
            im 2
    ;декрюнчим кучу NOP'ов
            ld hl,#8000
            ld de,#8001
            ld bc,#7dff
            ld (hl),0       ;nop
            ldir
            ld (hl),#c9 ;ret
            ei
    ;матюгаемся
            ld e,0
            ld hl,sysmes
            call prn
    ;заносим в счетчик начальное значение
            ld a,#ff
            ld (count),a
            halt
            ld b,20
    ;вызываем 20 раз кучу NOP'ов
    w1      call #8000
            djnz w1
            di
            ld a,(count)
    ;декрюнчим кучу команд EI (не путать с
    ;Eternity Industry ;)  )
            ld hl,#8000
            ld de,#8001
            ld bc,#7dfE
            ld (hl),#FD      ;EI
            ldir
            ld c,a
            ld a,#ff
            ld (count),a
            ei
            halt
            ld b,20
    ;вызываем 20 раз кучу комад EI
    w2      call #8000
            djnz w2
            di
    ;сравниваем число интов в первом
    ;и втором случаях с точностью до ё 1 int'a
            ld a,(count)
            sub c
            inc a
            cp 3
    ;если cf=1, то мы под эмулем, т.к.
    ;z80 во время команды EI не реагирует
    ;на прерывания => число интов на реальном
    ;спектруме в первом и втором замерах
    ;отличается более чем на 1
            PUSH AF
            ei
    ;также если во время прихода прерывания
    ;выполнялась команда ld a,i (ld a,r),
    ;процессор посчитает, что прерывания
    ;запрещены
            LD E,0
            ld bc,0
    w3      ld a,i
            jp po,real1
            djnz w3
            dec c
            jr nz,w3
            inc e
    real1   push de
    ;снова матюгаемся
            ld e,#40
            ld hl,report
            call prn
            ld b,40
            call pause
            pop de
            pop af
            rl e
            xor a
            or e
    ;если в первом и во втором тестах
    ;результаты соответствуют реальному
    ;z80, то печатаем об этом
            ld hl,realmes
            jr z,real
    ;иначе печатаем, что нас эмулируют
            ld hl,emulmes
    real    ld e,#60
            call prn
    ;печатаем press any key
            ld b,100
            call pause
            ld hl,anykey
            call prn
    ;опрашиваем any key
    key     xor a
            in a,(#fe)
            cpl
            and 31
            jr z,key
    ;выходим в бейсик или куда-нибудь еще
            di
            ld a,#3f
            ld i,a
            im 1
            ei
            ret
    ;процедура печати стринга в верхнюю
    ;треть экрана методом телетайпа
    ;hl- asciiz-строка
    ;е-мл. байт
    prn     ld a,(hl):inc hl
            or a
            ret z
            push hl
            ld b,5
            add a,a
            ld l,a
            cp " "*2
            jr z,prn0
            ld c,40
            xor a
    beep    ld b,c
            xor #18
            out (#fe),a
            djnz $
            dec c
            jr nz,beep
            inc b
    prn0    halt
            djnz prn0
            ld h,0
            add hl,hl
            add hl,hl
            ld a,h
            add a,#3c
            ld h,a
            ld b,4
            ld d,#40
    prn1    ld a,(hl)
            ld (de),a
            inc l
            inc d
            djnz prn1
            ld b,4
    prn2    ld a,(hl)
            srl a
            or (hl)
            ld (de),a
            inc l
            inc d
            djnz prn2
            pop hl
            inc e
            jr prn
    
    ;мессаги
    sysmes  db " 2000 Brainwave of X-Project.  "
            db "System checking! Please wait... ",0
    report  db "System checking repot:",0
    
    emulmes db "    Warning! General failure:   "
            db "CPU not found! Press F1 for     "
            db "software emulation...  ;-)      ",0
    
    realmes db "Congratulations!!! Test detected"
            db "the Real ZX-Spectrum. May be. ;)",0
    
    anykey  db "Press any key to exit...",0
    
    pause   halt
            djnz pause
            ret
    ;обработчик прерываний
    imob    push af
            ld a,#3e
    count   equ $-1
            inc a
            ld (count),a
            pop af
            ei
            ret
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	zemu.jpg 
Просмотров:	290 
Размер:	52.1 Кб 
ID:	7342  

  4. #204
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,259
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alexandr Medvedev Посмотреть сообщение
    у не знаю почему, но у меня нагрузка на проц ниже 80% не падает (при выборе файла ниже 60%). Картинка прилагается. Наверное комп слабоват.
    Скачай ProcessExplorer и посмотри какой точно поток хавает. Утилзу можно бесплатно скачать с сайта мелкософта.

  5. #205
    Master Аватар для [bETA]mEN
    Регистрация
    16.01.2005
    Адрес
    Moscow
    Сообщений
    792
    Спасибо Благодарностей отдано 
    359
    Спасибо Благодарностей получено 
    31
    Поблагодарили
    21 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    не работают:
    GRID PROTECTION SYSTEM 1 /2 /3
    Master Copy 2.0
    Format Utility 2.01
    IT FOUND A VOICE... NOW IT NEEDS A BODY

  6. #206
    Master
    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Скачай ProcessExplorer и посмотри какой точно поток хавает.
    Похоже основной поток.
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	zemu2.jpg 
Просмотров:	251 
Размер:	20.2 Кб 
ID:	7347  

  7. #207
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хочу высказать своё страстное пожелание. Предыстория которого состоит в том, наверное, что я не в состоянии приспособить ни zEmu, ни unreal к тому, чтобы их можно было скомпилировать с использованием имеющегося у меня MS VC++.NET 7.1.3088. Да и фиг с ним, не люблю я эту среду, и не горю желанием вносить сам какие-либо изменения, да и сам язык С/C++ мне неприятен. А суть проблемы вот в чём. Уже давно, когда я только начал клепать EmuZWin, у меня возникла простая идея сверки эмуляторов. Но применить её я смог только к различным версиям своего собственного эмулятора. Решение крайне простое. Всё, что нужно, это режим трассировки с выдачей в лог-файл состояния процессора после каждой инструкции. Лучше, конечно, чтобы состав информации был конфигурируемый, хотя бы из ini-файла. Для скорости вовсе необязатльно выдачу в файл выполнять на каждой команде, можно копить в буфере и выдавать за раз 1000 или 100 строк. Ну вот, например:
    0038: dT=11 AF=0044 BC=0100 DE=01FF HL=2233 IX=4000 IY=456E I=39 R=76

    Сразу скажу: выдаются сотни мегабайт за секунды. Ну и что. Зато, при наличии такого лога можно выполнить покомандную сверку работы двух эмуляторов, начиная с некоторого места. И сверка сводится к сравнению логов трассировки, начатой с одного и того же места, после загрузки одного и того же снапшота. Сравнение может делать специально написанная утилита, которая просто построчно сравнивает два текстовых файла, и показывает их, выделяя отличающиеся строки красным цветом. У меня на сайте есть такая утилита, DiffLines. Намного тупее любой сравнивалки текстов, но позволяет достаточно быстро сравнивать и просматривать пары гигабайтных файлов.

    Моё пожелание: сделайте доброе дело, добавте такой режим трассировки в отладчик. Это несложно: вам - полчаса работы, последователям вашим - огромное облегчение. Меня, в принципе, устроит любой формат строки, лишь бы он был достаточно ясен при простом взгляде на строку текста. 16-ричных значений достаточно было бы, для скорости (через тот же ини-файл) имеет смысл задавать, что выводить:
    - адрес PC выводится всегда, иначе смысла мало
    - опкод (можно байт, или 2 первых байта по адресу PC)
    - dT - разница в тактах (время выполнения тольо что исполненной команды)
    - регистры (AF, BC, DE, HL)
    - IX, IY (вместе или по одному)
    - I
    - R
    - содержимое памяти по заданному адресу (2 байта).
    Чуть-чуть продвинутый вариант (его можно сделать единственным): многократное выполнение команды HALT отображается 1 раз.
    Имя файла трассировки- устроит любое фиксированное имя, или конфигурируемое из ini-файла. Очередная трасиировка просто дописывает выдачу в конец файла, если он существует. По крайней мере у меня - так.
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  8. #208
    Master
    Регистрация
    17.01.2005
    Адрес
    Старый Оскол
    Сообщений
    537
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    4 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vladimir Kladov Посмотреть сообщение
    я не в состоянии приспособить ни zEmu, ни unreal к тому, чтобы их можно было скомпилировать с использованием имеющегося у меня MS VC++.NET 7.1.3088.
    Unreal 0.35b2 и приспосабливать то не надо (он именно под этот компилятор и написан), запускаешь bat файл и сразу получаешь готовый эмуль.

  9. #209
    Master Аватар для Vladimir Kladov
    Регистрация
    09.02.2005
    Адрес
    Новосибирск
    Сообщений
    933
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    17
    Поблагодарили
    17 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Угумс, запускаешь. И получаешь:


    C:\Games\ZXEmulators\us>C.bat

    C:\Games\ZXEmulators\us>rc settings.rc
    'rc' is not recognized as an internal or external command,
    operable program or batch file.

    C:\Games\ZXEmulators\us>call compile ms emul.cpp /link settings.res
    'compile' is not recognized as an internal or external command,
    operable program or batch file.



    C:\Games\ZXEmulators\us>

    Я же говорю: с С не работаю, за исключением поковыряться в проекте, уже приспособленном к IDE MS VC++.

    Добавлено через 9 минут
    Да дело даже и не в этом. Одна и та же вещь в разных эмуляторах может быть реализована не только на разных языках, но и совершенно разными алгоритмами. При наличии стандарта на трассировку можно было бы просто сверять результат, и в чужие исходники вовсе нет нужды заглядывать, достаточно понять, в чём ошибка у себя, и поправить свой код.
    Последний раз редактировалось Vladimir Kladov; 25.02.2008 в 12:19. Причина: Добавлено сообщение
    Последнюю версию EmuZWin (2.7) можно получить по этой ссылке, а "официальная" страница с описанием здесь. Если что-то не пашет, берите там же версии 2.6 или старше. [B]

  10. #210
    Veteran Аватар для Sinus
    Регистрация
    29.01.2005
    Адрес
    Belarus, Grodno
    Сообщений
    1,279
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    ок, добавлю трассировку
    [target] [zemu] [js8x] [pouet] KAY-1024, 5''FDD, 3''FDD, HDD

Страница 21 из 55 ПерваяПервая ... 171819202122232425 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •