ZX Spectrum в proteus

Старый спектрумистский форум

Moderator: Shaos

PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

ZX Spectrum в proteus

Post by PVV »

Приветствую всех!
После появления модели z80 в протеусе у меня прям 'руки чесались' собрать какой нибудь Спектрум :no: . Первое, что останавливало - отсутствие dram в протеусе для полного повторения, но поискав наличие схем со статической памятью я нашел проект harlequin, повторил его, практически, один в один (RSтригеры заменил на D во включении RS, тк RS в протеусе не моделируется) и схема завелась сразу же! Поигрался немного со схемой мультиплексирования адреса, но сути это не изменило.
wx_vc.png
однако в этой схеме cpu тормозится не по ножке wait, а по тактовой частоте. Мне же интересно было проверить, как же работает наш z80 с торможением по wait, и я не сильно теперь раздумывая решил собрать 'классический' :wink: Leningrad 1, реализовав имитацию dram памяти на sram, как уже это делал на других проектах ранее.
Leningrad1_1.png
Сделал схему, запускаю, а она не идет... проверяю, ошибок нет, в чем же дело? Смотрю на графики, времянки cpu не попадают куда им положенно, начал экспериментировать методом 'тыка'... изменил точку подключения U2:B-11 c TI на /TI
Leningrad1_2.png
, все времянки сошлись и схема завелась. Почему так я не понимаю. Быть такого не должно, где-то я ошибаюсь... Тем не менее, решил продолжить эксперимент. Неоднократно встречал информацию, что первый ленинград можно запустить вообще без wait и переделки минимальные, пробую...
You do not have the required permissions to view the files attached to this post.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: ZX Spectrum в proteus

Post by PVV »

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

Переделал развертку и дешифратор по схеме Leningrad 2 - все ОК...
Leningrad2_1.png
почему же первая схема так сильно не попадает во времянки так и осталось для меня загадкой :osad: .
во вложении все мои эксперименты.
You do not have the required permissions to view the files attached to this post.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ZX Spectrum в proteus

Post by Lavr »

Ну запустили бы какую-нибуть красивую демку на экранчик что ли... :mrgreen:
А то ZX Spectrum, а такой экранчик скучный! :wink:
iLavr
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: ZX Spectrum в proteus

Post by IgorR76 »

Дык дисплей пока чб... Надо его цветным сделать.
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ZX Spectrum в proteus

Post by Lavr »

Да у Спецтрума и ч.б. демки есть нескучные! :mrgreen:
А то столько труда чтобы увидеть мигающий курсор? :roll:
iLavr
IgorR76
Senior
Posts: 102
Joined: 27 Jul 2015 15:20

Re: ZX Spectrum в proteus

Post by IgorR76 »

А кстати, как загружать программу? dll - кассетный магнитофон написать? :) И ждать часа три, пока загрузится.
Наверно, модуль ПЗУ поможет. Или в sram можно загружать данные из файлов?
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ZX Spectrum в proteus

Post by Lavr »

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

Полезно бы - чтобы грузить всякие стандартные sna и tap...
IgorR76 wrote:Наверно, модуль ПЗУ поможет. Или в sram можно загружать данные из файлов?
Из файлов в sram я не смог, может в современных Протезусах есть...
А из ПЗУ - да, самый быстрый и безпроблемный способ - я в EDUC-8 так делал вместо загрузки с перфоленты... :wink:
iLavr
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: ZX Spectrum в proteus

Post by PVV »

Эмулируется все ооочень медленно. Эти 1.7с до появления надписи ~10 минут реального времени. Смысл всех этих экспериментов в проверке работоспособности dll в разных схемах, с использованием разных воздействий на ножки z80. Можно поизучать диаграммы сигналов друг относительно друга... некий многоканальный логический анализатор :wink:
Загружать программы в ОЗУ я способ не нашел в протеусе. Была мысль написать dll мс ОЗУ, хоть статики SRAM , а то и динамики DRAM, как раз ее нет(можно по таймеру при отсутствии регенерации память обнулять...), и уже в этой dll сделать загрузку программы...
aav8
Maniac
Posts: 287
Joined: 05 Nov 2008 19:47
Location: 81.28.208.238

Re: ZX Spectrum в proteus

Post by aav8 »

Насчет скорости - ест-но медленно.
Proteus-у нужно просчитать все сигналы (R/W, I/O) всякие памяти,
логика ... и.т.д. и т.п.
Которые микроконтроллеры все это присчитывают внутри.
Когда приделывал к модели окно состояния, к коду операции думал пристроить
фактические аргументы. СТОП! - это-ж дополнительные опреции чтения/записи по
шине. А вдруг там что-то еще (на шине) чего-й то навешано (???).

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

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

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

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

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

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

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

PS:

Наверное надо сосздать отдельную тему конкретно по модели
User avatar
Lavr
Supreme God
Posts: 16676
Joined: 21 Oct 2009 08:08
Location: Россия

Re: ZX Spectrum в proteus

Post by Lavr »

aav8 wrote:Это здорово, что модель заработала практически в реальном spectrum.
Да я вобще в восторге, как у нас начали работать под Протеус схемы с i8080 и z80!
Огромное спасибо PVV, что он нашел в себе силы и время эту процессорную dll продвинуть!
iLavr
vernigor
Junior
Posts: 1
Joined: 02 May 2015 12:30

Re: ZX Spectrum в proteus

Post by vernigor »

А от чего у меня может не работать дисплей? В целом - все симулируется, но экрана дисплея нет.
0iStalker
Junior
Posts: 8
Joined: 24 Mar 2018 04:11

Re: ZX Spectrum в proteus

Post by 0iStalker »

Добрый день, друзья спектрумисты. Тоже вот, в процессе осознания как всё это железо работает - нарисовал в Протеус'е по схеме клона 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


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

PPS.
Надеюсь, не накосячил с оформлением
You do not have the required permissions to view the files attached to this post.
Last edited by 0iStalker on 24 Mar 2018 11:21, edited 1 time in total.
0iStalker
Junior
Posts: 8
Joined: 24 Mar 2018 04:11

Re: ZX Spectrum в proteus

Post by 0iStalker »

Странно, вроде когда оформлял ссылки - сервис гугла по их укорачиванию их подгружал с яндекс диска. Попробую, ещё куда-нибудь залить
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: ZX Spectrum в proteus

Post by PVV »

Ляпота! :ebiggrin: Все картинки видно, и проект работает, надо только клавиатуру добавить.
Я уже пару раз порывался сделать RGB, но быстро не поручалось (при добавлении новых цветов dll вылетала почти сразу после запуска :( ) и забрасывал это дело.
kiberlog
Junior
Posts: 1
Joined: 04 Apr 2018 01:58

Re: ZX Spectrum в proteus

Post by kiberlog »

Возможно ли, создать такой проект используя easyeda.com ?

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