Так это (циклы ожидания) уже будет бОльшое отступление от "правильной" эмуляции (картинки на бордюре и т.д.).дёргать за него, когда центральный обращается к памяти
Так это (циклы ожидания) уже будет бОльшое отступление от "правильной" эмуляции (картинки на бордюре и т.д.).дёргать за него, когда центральный обращается к памяти
Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
ZX Evo 4Mb- в строю.
Speccy2010 v1
Специалист (пока готовлюсь к восстановлению).
Это все мое!
Родное!
Все люблю на свете я! Это родина моя!
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
помоему в железе это рулилось так - при 1чке тактового сигнала - память юзал процессор а при нолике тактового - видеоконтроллер. если не ошибаюсь именно это и называлось "прозрачный доступ к памяти". Но было сделано не на всех клонах. Единственно не могу вспомнить к какому из тактовых это привязывалось - 14, 7 или 3.5 мегагерц. Скорее всего к какому либо из первых двух.
Amiga 1200+Blizzard 1260 72 Mb+Mtek 68030,Compozit 128, Leningrad 2,
Atari STE 1040,ZX Spectrum +2,Pentagon 48, Speccy2007 - 2 , ATAS 256k.
ZX Evo 4Mb- в строю.
Speccy2010 v1
Специалист (пока готовлюсь к восстановлению).
Это все мое!
Родное!
Все люблю на свете я! Это родина моя!
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Как это реализовано в настоящем Спектруме можно почитать здесь:
http://www.worldofspectrum.org/faq/r...kreference.htm
начиная со слов
Это даст общее представление. Возможно, имеет смысл не реализовывать различные схемы "прозрачного" доступа и затем эмулировать логику ULA в части видеовывода, а реализовать разделение доступа между видеопроцессором и основным процессором сразу так, как это сделано в ULA.If you run a program in the lower 16K of RAM, or read or write in that memory, the processor is halted sometimes, as the ULA needs to access the video memory to keep the TV updated; the electron beam can't be interrupted, so the ULA is given a higher priority to access the contended memory.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
Это будет неверное решение. Не надо забывать о том, что "там" использовалась динамическая оперативная память и операция обращения к памями разруливалась автоматом, который формировал, в том числе, такие сигналы как RAS и CAS. В данном случае, надеюсь, память другого типа и все "проще". Да и вообще, о каких там приоритетах может идти речь - я, помнится делал автомат, где коллизий не м.б. в принципе и тайминги 565ру5 это позволяли.сразу так, как это сделано в ULA
Последний раз редактировалось Hm; 02.04.2011 в 21:39. Причина: уточнение
Штука в том, что в Спектруме видеовывод, остановки центрального процессора и прерывания жестко связаны между собой. Качественная эмуляция Спектрума подразумевает и эмуляцию этих связей. Поэтому, какого бы типа память ни использовалась, видеовывод приходится реализовывать согласно тому, как работает оригинальный Спектрум с его динамической памятью и всеми остальными особенностями. Я дал ссылку. Почитайте.
Higgins ZX Spectrum Emulator 8.10 alpha 3 available
Please write us to report a bug or request a feature.
Ну, некоторые продвиги есть. Правда изредка слетает:
http://www.youtube.com/watch?v=DI4us7O4KiY
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)