PDA

Просмотр полной версии : эмуляция Z80: тайминг



boo_boo
04.02.2006, 14:18
дописываю эмуляцию z80, мучает один вопрос -- тайминг операций записи в память/порт должен быть соблюден четко, ясен пень... а вот как насчет операций чтения? то есть, не могу себе вообразить ситуацию (даже абстрактную), в которой то, на каком такте исполнения инструкции выставляются MREQ+RD[+M1] или IORQ+RD имеет значение... так ли это? О__о

SMT
04.02.2006, 18:02
конкретно для спектрума? ну, разве что для читалки с ленты важно +-40 тактов и для порта #FF примерно столько же

boo_boo
05.02.2006, 02:24
конкретно для спектрума? ну, разве что для читалки с ленты важно +-40 тактов и для порта #FF примерно столько жесделал на всякий пожарный... самое сложное осталось -- взять себя за уши, и вбить конкретные цифры в эти самые тайминги %)

ZXMAK
06.02.2006, 12:02
сделал на всякий пожарный... самое сложное осталось -- взять себя за уши, и вбить конкретные цифры в эти самые тайминги %)

да, по чтению тайминг для магнитофона важен...

самое сложное - узнать на каком именно такте в конкретной модели байт реально записывается, потому что на запись Z80 отводит 3-4 такта, в каком именно запись произойдет - зависит от конкретной схемы...

Может ктото подскажет, есть ли в природе мультиколорные тесты, т.е. для проверки что выборка байта для отображения происходит именно в том такте в котором нужно... особенно интересуют такие тестовые проги для пентагона... :)

SMT
06.02.2006, 12:46
Может ктото подскажет, есть ли в природе мультиколорные тесты, т.е. для проверки что выборка байта для отображения происходит именно в том такте в котором нужнобордюрные демы всем известны, мультиколорных таких в принципе не может быть, т.к. выборка байта атрибутов или пикселей происходит раз в 4 такта

ZXMAK
06.02.2006, 13:29
бордюрные демы всем известны, мультиколорных таких в принципе не может быть, т.к. выборка байта атрибутов или пикселей происходит раз в 4 такта

почемуже не может, еще как может! ;)
у меня вот есть свой тестик, но он довольно примитивный, тестирует только LDIR... unreal 033B и zxmak.net 0.5 его проходят... :rolleyes:

хоть запись и происходит раз в 4 такта, но за фрейм 71680 можно составить 71680 вариантов попадания 4 тактов на момент выборки байта... ;)