насчет эмуляции ULA

ZXNet эхоконференция «zxnet.pc»

От Станислав Ломакин Кому All 19.01.2007

Hello, All во многих эмулях практикуется такой подход к эмуляции ULA-видеоконтроллера: после того, как процессор исполнит очередную команду, берется кол-во тактов, затраченное на эту команду, и выполняется соответствующий обьем отрисовки ULA. к примеру: некий PUSH занял 11 тактов, стало быть (в случае прямого хода луча) ULA рисует 22 точки. и так далее. HО -- ведь если у нас машина с раздельными полями памяти, ULA и Z80 обращаются к данным одновременно, то есть может возникнуть ситуация, когда PUSH положил на стек, находящийся в экранной памяти, старший байт слова, тем временем ULA считала байт по предыдущему адресу, а затем PUSH положил и младший байт, но ULA уже ускакала вперед, и на экран таким образом попал только старший байт слова, которое клал на стек PUSH. в упомянутом выше алгоритме эмуляции это не будет учтено, на экран попадут оба байта, то есть, строго говоря, такая эмуляция некорректна. прав ли я?

От Dmitry Malychev Кому All 19.01.2007

Hello, Titus Давно уже пора полноценно эмулировать не только проц "изнутри" да юлу, но и шину (потактовое состояние). И всякие "девайсоплагины" будет проще прикручивать. Правда, эмуль тормознутый получится... но это ничего, у винтела дури хватает. ;)

От Андрей Александрович Титов Кому All 19.01.2007

Hello, boo_boo Да, ты прав, такая эмуляция не вполне корректна :v2_tong2:

От Алексей Гончаров Кому All 19.01.2007

Hello, Lethargeek Потактово это конечно хорошо, да и дури хватит(а при хорошей архитектуре эмуля может и лучше будет), но вот инфы по интимным делам железа внутри команд надо будет ещё поискать...

От Владимир Кладов Кому All 19.01.2007

Hello, boo_boo в каких это - многих? у меня в процессе выполнения команды HА КАЖДОМ ЦИКЛЕ строится видеолуч, например. И я уверен, что так же делается во всех эмуляторах, работающих с ULA (а не с рассыпухой). Иначе это уже не мультиколор, а частичный мультиколор. Инфы - море. Идите на worldofspectrum, там все лежит, и даже обновляется.

От Станислав Ломакин Кому All 19.01.2007

Hello, Lethargeek Let> Давно уже пора полноценно эмулировать не только проц "изнутри" да Let> юлу, но и шину (потактовое состояние). И всякие "девайсоплагины" Let> будет проще прикручивать. Правда, эмуль тормознутый получится... но Let> это ничего, у винтела дури хватает. ;) попробую, глянем, сколько там у винтела дури :rolleyes; Nov>; Потактово это конечно хорошо, да и дури хватит(а при хорошей Nov> архитектуре эмуля может и лучше будет), но вот инфы по интимным делам Nov> железа внутри команд надо будет ещё поискать... по каким "делам внутри команд"? Vla> в каких это - многих? у меня в процессе выполнения команды HА КАЖДОМ Vla> ЦИКЛЕ строится видеолуч, например. И я уверен, что так же делается во Vla> всех эмуляторах, работающих с ULA (а не с рассыпухой). Иначе это уже Vla> не мультиколор, а частичный мультиколор. ну у тебя я не смотрел, сорцы-то закрыты :rolleyes; в; zemu, в глюкалке с точностью до опкода ULA работает. в US все кошерно. а у тебя как это реализовано? жестко на каждом такте дергается ULA, или как в US -- после записи в видеопамять/порт?

От Алексей Гончаров Кому All 19.01.2007

Hello, boo_boo Интим - это например LDIR,условные переходы и вообще что-то более-менее "сложное". Порядок изменения этоми инструкциями регистров разнится на клонах Z80, да на разных по технологии изготовления Z80. Для точной эмуляции, нужно было бы выбирать конкретный проц.

От Андрей Александрович Титов Кому All 20.01.2007

Hello, NovaStorm Nov> Интим - это например LDIR,условные переходы и вообще что-то Nov> более-менее "сложное". Порядок изменения этоми инструкциями регистров Nov> разнится на клонах Z80, да на разных по технологии изготовления Z80. Бездоказательно, весьма бездоказательно... :v2_wink2:

От Сергей Акимов Кому All 20.01.2007

Hello, Titus Tit> Цитата: Tit> Сообщение от NovaStorm Tit> Интим - это например LDIR,условные переходы и вообще что-то Tit> более-менее "сложное". Порядок изменения этоми инструкциями регистров Tit> разнится на клонах Z80, да на разных по технологии изготовления Z80. Tit> Tit> Tit> Бездоказательно, весьма бездоказательно... Я тут гонял zexall на нескольких эмуляторах z80 - результат удручающий. А он еще не самое полное тестирование проводит...

От Станислав Ломакин Кому All 20.01.2007

Hello, NovaStorm Nov> Интим - это например LDIR,условные переходы и вообще что-то Nov> более-менее "сложное". Порядок изменения этоми инструкциями регистров Nov> разнится на клонах Z80, да на разных по технологии изготовления Z80. Nov> Для точной эмуляции, нужно было бы выбирать конкретный проц. это только пресловутого MEMPTR касается, а с ним уже ясно все (http://zx.pk.ru/showpost.php?p=44058&postcount=150). насчет разных технологий и странных клонов ходят слухи, но конкретных экземпляров пока не выявлено. если у тебя есть -- давай сюда :v2_smile; Err>; Я тут гонял zexall на нескольких эмуляторах z80 - результат Err> удручающий. А он еще не самое полное тестирование проводит... конечно. но, к счастью с хардовым Z80 все куда приятней :) есть небольшая разница (см ссылку выше) но в целом один хрен :) так что это скорей показатель недоделанности некоторых эмуляторов