Author |
Message |
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
![Reply with quote Reply with quote](./styles/getaway/imageset/en/icon_post_quote.gif)
Приветствую всех! После появления модели z80 в протеусе у меня прям 'руки чесались' собрать какой нибудь Спектрум ![:no:](./images/smilies/icon_noicon.gif) . Первое, что останавливало - отсутствие dram в протеусе для полного повторения, но поискав наличие схем со статической памятью я нашел проект harlequin, повторил его, практически, один в один (RSтригеры заменил на D во включении RS, тк RS в протеусе не моделируется) и схема завелась сразу же! Поигрался немного со схемой мультиплексирования адреса, но сути это не изменило. однако в этой схеме cpu тормозится не по ножке wait, а по тактовой частоте. Мне же интересно было проверить, как же работает наш z80 с торможением по wait, и я не сильно теперь раздумывая решил собрать 'классический' ![:wink:](./images/smilies/icon_wink.gif) Leningrad 1, реализовав имитацию dram памяти на sram, как уже это делал на других проектах ранее. Сделал схему, запускаю, а она не идет... проверяю, ошибок нет, в чем же дело? Смотрю на графики, времянки cpu не попадают куда им положенно, начал экспериментировать методом 'тыка'... изменил точку подключения U2:B-11 c TI на /TI , все времянки сошлись и схема завелась. Почему так я не понимаю. Быть такого не должно, где-то я ошибаюсь... Тем не менее, решил продолжить эксперимент. Неоднократно встречал информацию, что первый ленинград можно запустить вообще без wait и переделки минимальные, пробую...
|
04 Oct 2016 14:08 |
|
![](./styles/getaway/theme/images/spacer.gif) |
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Все работает, даже 'фирменный глюк ленинграда' присутствует (с) - не полный круг ![:wink:](./images/smilies/icon_wink.gif) Переделал развертку и дешифратор по схеме Leningrad 2 - все ОК... почему же первая схема так сильно не попадает во времянки так и осталось для меня загадкой ![sad :osad:](./images/smilies/icon_sad.gif) . во вложении все мои эксперименты.
|
04 Oct 2016 14:28 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Ну запустили бы какую-нибуть красивую демку на экранчик что ли... А то ZX Spectrum, а такой экранчик скучный! ![:wink:](./images/smilies/icon_wink.gif)
_________________ iLavr
|
04 Oct 2016 15:18 |
|
![](./styles/getaway/theme/images/spacer.gif) |
IgorR76
Senior
Joined: 27 Jul 2015 15:20 Posts: 101
|
Дык дисплей пока чб... Надо его цветным сделать.
|
04 Oct 2016 15:20 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да у Спецтрума и ч.б. демки есть нескучные! А то столько труда чтобы увидеть мигающий курсор? ![:roll:](./images/smilies/icon_rolleyes.gif)
_________________ iLavr
|
04 Oct 2016 15:35 |
|
![](./styles/getaway/theme/images/spacer.gif) |
IgorR76
Senior
Joined: 27 Jul 2015 15:20 Posts: 101
|
А кстати, как загружать программу? dll - кассетный магнитофон написать? ![:)](./images/smilies/icon_smile.gif) И ждать часа три, пока загрузится. Наверно, модуль ПЗУ поможет. Или в sram можно загружать данные из файлов?
|
04 Oct 2016 15:41 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Если скорость эмуляции позволяет - можно напрямую через порт. Полезно бы - чтобы грузить всякие стандартные sna и tap... Из файлов в sram я не смог, может в современных Протезусах есть... А из ПЗУ - да, самый быстрый и безпроблемный способ - я в EDUC-8 так делал вместо загрузки с перфоленты... ![:wink:](./images/smilies/icon_wink.gif)
_________________ iLavr
|
04 Oct 2016 16:04 |
|
![](./styles/getaway/theme/images/spacer.gif) |
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Эмулируется все ооочень медленно. Эти 1.7с до появления надписи ~10 минут реального времени. Смысл всех этих экспериментов в проверке работоспособности dll в разных схемах, с использованием разных воздействий на ножки z80. Можно поизучать диаграммы сигналов друг относительно друга... некий многоканальный логический анализатор Загружать программы в ОЗУ я способ не нашел в протеусе. Была мысль написать dll мс ОЗУ, хоть статики SRAM , а то и динамики DRAM, как раз ее нет(можно по таймеру при отсутствии регенерации память обнулять...), и уже в этой dll сделать загрузку программы...
|
06 Oct 2016 12:54 |
|
![](./styles/getaway/theme/images/spacer.gif) |
aav8
Maniac
Joined: 05 Nov 2008 19:47 Posts: 287 Location: 81.28.208.238
|
![Reply with quote Reply with quote](./styles/getaway/imageset/en/icon_post_quote.gif)
Насчет скорости - ест-но медленно. Proteus-у нужно просчитать все сигналы (R/W, I/O) всякие памяти, логика ... и.т.д. и т.п. Которые микроконтроллеры все это присчитывают внутри. Когда приделывал к модели окно состояния, к коду операции думал пристроить фактические аргументы. СТОП! - это-ж дополнительные опреции чтения/записи по шине. А вдруг там что-то еще (на шине) чего-й то навешано (???).
Это здорово, что модель заработала практически в реальном spectrum.
dll для магнитофона - действительно врамя выразится в несколько часов. Но некоторые игрушки загружают сначала свой загручик... С интересными счетчиками/кртинками. Вот для них и нужна эта dll.
Но все равно я думаю такая dll нужна... (для чего ?), но что-бы она могла эмулировать форматs spctrum, rk, орион... и еще-бы сигналы управления магнитофоном как в Ирише-е, Партнер, может еще где...
И... dll для связи с какм-либо эмулятором... (spectrum... или/и еще чего). Можно будет в proteus разрабытывать/добавлять модули в реальный комп.
*********************
критика/возражения/добавления принимаются и приветствуются.
*********************
PS:
Наверное надо сосздать отдельную тему конкретно по модели
|
06 Oct 2016 21:28 |
|
![](./styles/getaway/theme/images/spacer.gif) |
Lavr
Supreme God
Joined: 21 Oct 2009 08:08 Posts: 7777 Location: Россия
|
Да я вобще в восторге, как у нас начали работать под Протеус схемы с i8080 и z80! Огромное спасибо PVV, что он нашел в себе силы и время эту процессорную dll продвинуть!
_________________ iLavr
|
07 Oct 2016 04:51 |
|
![](./styles/getaway/theme/images/spacer.gif) |
vernigor
Junior
Joined: 02 May 2015 12:30 Posts: 1
|
А от чего у меня может не работать дисплей? В целом - все симулируется, но экрана дисплея нет.
|
03 May 2017 08:31 |
|
![](./styles/getaway/theme/images/spacer.gif) |
0iStalker
Junior
Joined: 24 Mar 2018 04:11 Posts: 8
|
![Reply with quote Reply with quote](./styles/getaway/imageset/en/icon_post_quote.gif)
Добрый день, друзья спектрумисты. Тоже вот, в процессе осознания как всё это железо работает - нарисовал в Протеус'е по схеме клона SpeccyBob Lite. Очень помогла эта тема, в плане освоение возможностей Proteus и архивы с готовыми проектами. Также принял во внимание доработки схемы Prusak c сайта zxbyte.ru и по идеям с zx.pk.ru добавил в схему безWAITовость. А с WAIT'ом оно у меня так и не заработало. Также смущает один момент с работой со статической памятью, по даташиту на 62256 запись данных происходит по снятию сигналов /CE /WE, смотря по тому, что позднее, а в оригинальной схеме SpeccyBob адрес чтения видеоадаптера выставляется одновременно со снятием /WE и установкой /CE /OE, из-за чего оно жёстко глючит и крайне чувствительно к таймингам микросхемы ОЗУ, добавленная задержка через 2AND вроде бы решила проблему (всё корректно работает со скоростью доступа от 10 до 100нс) И вишенка на торте, DLL c дисплеем я доработал до RGBI варианта, так что теперь можно симулировать в цвете (так же работа теперь стала намного стабильнее и оно не вылетает в течении 10 секунд нереального времени симуляции. ![](https://i.imgur.com/zb0NLOz.png) ![Image](https://i.imgur.com/ZtX9ne6.png) ![Image](https://i.imgur.com/r1kpz8p.png) ![Image](https://i.imgur.com/gfk3tpO.png) ![Image](https://i.imgur.com/QFweX6f.png) ![Image](https://i.imgur.com/RwUyVmw.png) ![Image](https://i.imgur.com/8d8FuRX.png) ![Image](https://i.imgur.com/RKl8pkv.png) ![Image](https://i.imgur.com/ocXHXyt.png) ![Image](https://i.imgur.com/9DZ0s54.png) ![Image](https://i.imgur.com/qhqhB8S.png) ![Image](https://i.imgur.com/crWwVA0.png) Архив с проектом вот тут PS. По поводу вопроса выше, почему при запуске схемы не появляется экран, - проблема в том, что драйвера NVidia тоже содержат display.dll и Proteus загружает её, а не модуль дисплея из архивов выше (воркэраунд для этого случая, просто переименовать dll и передобавить модуль в Proteus c другим именем dll). PPS. Надеюсь, не накосячил с оформлением
Last edited by 0iStalker on 24 Mar 2018 11:21, edited 1 time in total.
|
24 Mar 2018 04:53 |
|
![](./styles/getaway/theme/images/spacer.gif) |
0iStalker
Junior
Joined: 24 Mar 2018 04:11 Posts: 8
|
Странно, вроде когда оформлял ссылки - сервис гугла по их укорачиванию их подгружал с яндекс диска. Попробую, ещё куда-нибудь залить
|
24 Mar 2018 11:01 |
|
![](./styles/getaway/theme/images/spacer.gif) |
PVV
Doomed
Joined: 12 Feb 2016 13:39 Posts: 463
|
Ляпота! ![biggrin :ebiggrin:](./images/smilies/icon_e_biggrin.gif) Все картинки видно, и проект работает, надо только клавиатуру добавить. Я уже пару раз порывался сделать RGB, но быстро не поручалось (при добавлении новых цветов dll вылетала почти сразу после запуска ![:(](./images/smilies/icon_frown.gif) ) и забрасывал это дело.
|
25 Mar 2018 14:07 |
|
![](./styles/getaway/theme/images/spacer.gif) |
kiberlog
Junior
Joined: 04 Apr 2018 01:58 Posts: 1
|
|
04 Apr 2018 02:09 |
|
|