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


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



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

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

от: Андрей Александрович Титов
кому: All
дата: 19 Jan 2007
Hello, boo_boo Да, ты прав, такая эмуляция не вполне корректна :v2_tong2:

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

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

от: Станислав Ломакин
кому: All
дата: 19 Jan 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 Jan 2007
Hello, boo_boo Интим - это например LDIR,условные переходы и вообще что-то более-менее "сложное". Порядок изменения этоми инструкциями регистров разнится на клонах Z80, да на разных по технологии изготовления Z80. Для точной эмуляции, нужно было бы выбирать конкретный проц.

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

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

от: Станислав Ломакин
кому: All
дата: 20 Jan 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 все куда приятней :) есть небольшая разница (см ссылку выше) но в целом один хрен :) так что это скорей показатель недоделанности некоторых эмуляторов




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
B.B.S. Новости - Alex B.B.S.
Новье - О новинках: X-Files #2, ZX-Guide #1, Deja Vu #6-7, Voyager #2, Translate Words, Fisher, Kick da Gaga, Best View v2.6, Кролик Роджер, Piggy, Lazarus, Slide Show, Hrust.
Эказамен - Вам предлагается решить игровой этюд по программе "Deactivators".
Оттяг - Винни - Пух и все - все - все.
Читатель-читателю - TR-DOS: как не допустить ошибки?

В этот день...   8 мая