nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 14 Nov 2018 19:54



Reply to topic  [ 17 posts ]  Go to page 1, 2  Next
ZX Spectrum в proteus 
Author Message
Maniac

Joined: 12 Feb 2016 14:39
Posts: 298
Reply with quote
Приветствую всех!
После появления модели z80 в протеусе у меня прям 'руки чесались' собрать какой нибудь Спектрум :no: . Первое, что останавливало - отсутствие dram в протеусе для полного повторения, но поискав наличие схем со статической памятью я нашел проект harlequin, повторил его, практически, один в один (RSтригеры заменил на D во включении RS, тк RS в протеусе не моделируется) и схема завелась сразу же! Поигрался немного со схемой мультиплексирования адреса, но сути это не изменило.
Attachment:
wx_vc.png
wx_vc.png [ 148.41 KiB | Viewed 3873 times ]

однако в этой схеме cpu тормозится не по ножке wait, а по тактовой частоте. Мне же интересно было проверить, как же работает наш z80 с торможением по wait, и я не сильно теперь раздумывая решил собрать 'классический' :wink: Leningrad 1, реализовав имитацию dram памяти на sram, как уже это делал на других проектах ранее.
Attachment:
Leningrad1_1.png
Leningrad1_1.png [ 83.11 KiB | Viewed 3873 times ]
Сделал схему, запускаю, а она не идет... проверяю, ошибок нет, в чем же дело? Смотрю на графики, времянки cpu не попадают куда им положенно, начал экспериментировать методом 'тыка'... изменил точку подключения U2:B-11 c TI на /TI
Attachment:
Leningrad1_2.png
Leningrad1_2.png [ 80.93 KiB | Viewed 3873 times ]
, все времянки сошлись и схема завелась. Почему так я не понимаю. Быть такого не должно, где-то я ошибаюсь... Тем не менее, решил продолжить эксперимент. Неоднократно встречал информацию, что первый ленинград можно запустить вообще без wait и переделки минимальные, пробую...


04 Oct 2016 15:08
Profile
Maniac

Joined: 12 Feb 2016 14:39
Posts: 298
Reply with quote
Attachment:
Leningrad1_4.png
Leningrad1_4.png [ 81.85 KiB | Viewed 3871 times ]

Все работает, даже 'фирменный глюк ленинграда' присутствует (с) - не полный круг :wink:

Переделал развертку и дешифратор по схеме Leningrad 2 - все ОК...
Attachment:
Leningrad2_1.png
Leningrad2_1.png [ 93.22 KiB | Viewed 3871 times ]

почему же первая схема так сильно не попадает во времянки так и осталось для меня загадкой :osad: .
во вложении все мои эксперименты.


Attachments:
zx48.zip [985.71 KiB]
Downloaded 170 times
04 Oct 2016 15:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Ну запустили бы какую-нибуть красивую демку на экранчик что ли... :mrgreen:
А то ZX Spectrum, а такой экранчик скучный! :wink:

_________________
iLavr


04 Oct 2016 16:18
Profile
Senior

Joined: 27 Jul 2015 16:20
Posts: 120
Reply with quote
Дык дисплей пока чб... Надо его цветным сделать.


04 Oct 2016 16:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Да у Спецтрума и ч.б. демки есть нескучные! :mrgreen:
А то столько труда чтобы увидеть мигающий курсор? :roll:

_________________
iLavr


04 Oct 2016 16:35
Profile
Senior

Joined: 27 Jul 2015 16:20
Posts: 120
Reply with quote
А кстати, как загружать программу? dll - кассетный магнитофон написать? :) И ждать часа три, пока загрузится.
Наверно, модуль ПЗУ поможет. Или в sram можно загружать данные из файлов?


04 Oct 2016 16:41
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
IgorR76 wrote:
А кстати, как загружать программу?

Если скорость эмуляции позволяет - можно напрямую через порт. 8)
IgorR76 wrote:
dll - кассетный магнитофон написать? :)

Полезно бы - чтобы грузить всякие стандартные sna и tap...
IgorR76 wrote:
Наверно, модуль ПЗУ поможет. Или в sram можно загружать данные из файлов?

Из файлов в sram я не смог, может в современных Протезусах есть...
А из ПЗУ - да, самый быстрый и безпроблемный способ - я в EDUC-8 так делал вместо загрузки с перфоленты... :wink:

_________________
iLavr


04 Oct 2016 17:04
Profile
Maniac

Joined: 12 Feb 2016 14:39
Posts: 298
Reply with quote
Эмулируется все ооочень медленно. Эти 1.7с до появления надписи ~10 минут реального времени. Смысл всех этих экспериментов в проверке работоспособности dll в разных схемах, с использованием разных воздействий на ножки z80. Можно поизучать диаграммы сигналов друг относительно друга... некий многоканальный логический анализатор :wink:
Загружать программы в ОЗУ я способ не нашел в протеусе. Была мысль написать dll мс ОЗУ, хоть статики SRAM , а то и динамики DRAM, как раз ее нет(можно по таймеру при отсутствии регенерации память обнулять...), и уже в этой dll сделать загрузку программы...


06 Oct 2016 13:54
Profile
Maniac

Joined: 05 Nov 2008 20:47
Posts: 251
Location: 81.28.208.238
Reply with quote
Насчет скорости - ест-но медленно.
Proteus-у нужно просчитать все сигналы (R/W, I/O) всякие памяти,
логика ... и.т.д. и т.п.
Которые микроконтроллеры все это присчитывают внутри.
Когда приделывал к модели окно состояния, к коду операции думал пристроить
фактические аргументы. СТОП! - это-ж дополнительные опреции чтения/записи по
шине. А вдруг там что-то еще (на шине) чего-й то навешано (???).

Это здорово, что модель заработала практически в реальном spectrum.

dll для магнитофона - действительно врамя выразится в несколько часов.
Но некоторые игрушки загружают сначала свой загручик...
С интересными счетчиками/кртинками. Вот для них и нужна эта dll.

Но все равно я думаю такая dll нужна... (для чего ?), но что-бы она могла
эмулировать форматs spctrum, rk, орион... и еще-бы сигналы управления
магнитофоном как в Ирише-е, Партнер, может еще где...

И... dll для связи с какм-либо эмулятором... (spectrum... или/и еще чего).
Можно будет в proteus разрабытывать/добавлять модули в реальный комп.

*********************

критика/возражения/добавления принимаются и приветствуются.

*********************

PS:

Наверное надо сосздать отдельную тему конкретно по модели


06 Oct 2016 22:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
aav8 wrote:
Это здорово, что модель заработала практически в реальном spectrum.

Да я вобще в восторге, как у нас начали работать под Протеус схемы с i8080 и z80!
Огромное спасибо PVV, что он нашел в себе силы и время эту процессорную dll продвинуть!

_________________
iLavr


07 Oct 2016 05:51
Profile
Junior

Joined: 02 May 2015 13:30
Posts: 1
Reply with quote
А от чего у меня может не работать дисплей? В целом - все симулируется, но экрана дисплея нет.


03 May 2017 09:31
Profile
Junior

Joined: 24 Mar 2018 05:11
Posts: 3
Reply with quote
Добрый день, друзья спектрумисты. Тоже вот, в процессе осознания как всё это железо работает - нарисовал в Протеус'е по схеме клона 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 секунд нереального времени симуляции.


Image
Image
Image
Image
Image
Image
Image
Image
Image
Image
Image


Архив с проектом вот тут
Attachment:
File comment: Архив проекта SpeccyBob Line
boblite.zip [229.64 KiB]
Downloaded 106 times


PS.
По поводу вопроса выше, почему при запуске схемы не появляется экран, - проблема в том, что драйвера NVidia тоже содержат display.dll и Proteus загружает её, а не модуль дисплея из архивов выше (воркэраунд для этого случая, просто переименовать dll и передобавить модуль в Proteus c другим именем dll).

PPS.
Надеюсь, не накосячил с оформлением


Last edited by 0iStalker on 24 Mar 2018 12:21, edited 1 time in total.



24 Mar 2018 05:53
Profile
Junior

Joined: 24 Mar 2018 05:11
Posts: 3
Reply with quote
Странно, вроде когда оформлял ссылки - сервис гугла по их укорачиванию их подгружал с яндекс диска. Попробую, ещё куда-нибудь залить


24 Mar 2018 12:01
Profile
Maniac

Joined: 12 Feb 2016 14:39
Posts: 298
Reply with quote
Ляпота! :ebiggrin: Все картинки видно, и проект работает, надо только клавиатуру добавить.
Я уже пару раз порывался сделать RGB, но быстро не поручалось (при добавлении новых цветов dll вылетала почти сразу после запуска :( ) и забрасывал это дело.


25 Mar 2018 15:07
Profile
Junior

Joined: 04 Apr 2018 02:58
Posts: 1
Reply with quote
Возможно ли, создать такой проект используя easyeda.com ?

Для примера
https://easyeda.com/aj22r/Z80-3e131a2eb ... cb03845e65
https://easyeda.com/jeroen1328/ZX_Spect ... 043bf8a6dc


04 Apr 2018 03:09
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 17 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.