Speccy - наш выбор!

Speccy - наш выбор! (http://zx-pk.ru/index.php)
-   Поиск (http://zx-pk.ru/forumdisplay.php?f=78)
-   -   ПК Поиск - Эмуляция (http://zx-pk.ru/showthread.php?t=7491)

b2m 18th December 2013 20:13

Quote:

Originally Posted by Tronix (Post 653533)
То есть 8088 когда пытаются записать в конец сегмента слово, пишет один байт по смещению FFFF, а второй который не лезет - по смещению 0000.

Сделал так, всё равно пишет V20.

Tronix 18th December 2013 20:40

1 Attachment(s)
Ну, у меня тест из архива вообще детектит как 286 проц:

Tronix 18th December 2013 23:12

1 Attachment(s)
Вот этот тест детектит как 80188

b2m 19th December 2013 15:16

Quote:

Originally Posted by Tronix (Post 653631)
Вот этот тест детектит как 80188

Добавил баг 8086 (неверный возврат после прерывания команды rep с префиксом замены сегмента), теперь пишет как положено 8088. CheckIt по прежнему детектит как V20. Интересно, как он отличает V20 от 8088?

Tronix 19th December 2013 15:24

Quote:

Originally Posted by b2m (Post 653823)
Добавил баг 8086 (неверный возврат после прерывания команды rep с префиксом замены сегмента), теперь пишет как положено 8088. CheckIt по прежнему детектит как V20. Интересно, как он отличает V20 от 8088?

Баг какой-то не тот... cpuid1.com тестит 188 по по shl на число большее 32 (FF в данном случае). Если сдвигает - значит 86, если не сдвигает - значит 188.

b2m 19th December 2013 15:28

Добавил сброс флага Z после умножения, теперь детектится как 8088 :)

Tronix 19th December 2013 15:28

С _mhz я ошибся, он детектит как 188 тоже. И то же по этому же принципу. SHL и SHR 8088 может сдвигать на любое число в то время как 188+ только на "число mod 32"

b2m 19th December 2013 15:31

Quote:

Originally Posted by Tronix (Post 653824)
Баг какой-то не тот...

Без бага детектилось как V20, после того как я исправил команды сдвига. Качай новую версию. :)

---------- Post added at 15:31 ---------- Previous post was at 15:29 ----------

Но это всё мелочи. Надо разбираться с переполнением при запуске теста скорости...

Tronix 19th December 2013 17:32

Все, новая версия все ок. Единственное пожелание - все-таки сделать обработку DIV и IDIV нормальную, чтоб не валила эмуль при делении на ноль. А то не могу PC Doctor тест Interrupts запустить, валится. И да, нужно разбираться с переполнением.

Еще кстати один баг вроде наблюдаю, но пока точно сформировать не могу. Щаз попробую тесты наваять...

---------- Post added at 15:43 ---------- Previous post was at 14:37 ----------

Еще вопрос - а как отлаживать программу во встроенном дебагере? Ну в смысле, как отловить момент запуска? А то я в ком строке набираю например SUPER.EXE, нажимаю Enter и открываю дебаг - а там уже прога завершилась. Может есть какая недокум фишка? Или встроить ее, например при записи в какой-нить порт открывать дебаг или при вызове int ffh или что то в этом духе? Чтоб можно было свои проги отлаживать. Или я чего-то не понимаю?

---------- Post added at 16:32 ---------- Previous post was at 15:43 ----------

И еще вопрос - почему эмулятор не работает с любыми другими FDD BIOS - выкидывает в монитор?

b2m 19th December 2013 18:13

Quote:

Originally Posted by Tronix (Post 653840)
Еще вопрос - а как отлаживать программу во встроенном дебагере? Ну в смысле, как отловить момент запуска?

Я делаю так:
- запустил программу, вышел из неё
- открыл отладчик, поиском нашёл начало (несколько байт в точке входа)
- поставил туда бряк, запустил эмуль дальше (F5) и снова запустил программу

С .com файлами проще, они грузятся и запускаются по одному и тому-же адресу. У меня, например, после загрузки голого ДОСа, точка входа всегда одинаковая 0EBB:0 (ну или 0EAB:100, хотя я использую абсолютное смещение 0xEBB0, привычнее набирать без двоеточия). Ставлю бряк туда сразу после запуска отладчика.

Quote:

Originally Posted by Tronix (Post 653840)
И еще вопрос - почему эмулятор не работает с любыми другими FDD BIOS - выкидывает в монитор?

Если другой BIOS рассчитан на другой контроллер - то понятно. А если на такой-же, то выкладывай свой BIOS, я поковыряю-потрассирую.


All times are GMT +4. The time now is 04:56.

Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.