После появления модели z80 в протеусе у меня прям 'руки чесались' собрать какой нибудь Спектрум
ZX Spectrum в proteus
Moderator: Shaos
- 
				PVV
 - Doomed
 - Posts: 463
 - Joined: 12 Feb 2016 13:39
 
ZX Spectrum в proteus
Приветствую всех!
После появления модели z80 в протеусе у меня прям 'руки чесались' собрать какой нибудь Спектрум
 . Первое, что останавливало - отсутствие dram в протеусе для полного повторения, но поискав наличие схем со статической памятью я нашел проект harlequin, повторил его, практически, один в один (RSтригеры заменил на D во включении RS, тк RS в протеусе не моделируется) и схема завелась сразу же! Поигрался немного со схемой мультиплексирования адреса, но сути это не изменило.
однако в этой схеме cpu тормозится не по ножке wait, а по тактовой частоте. Мне же интересно было проверить, как же работает наш z80 с торможением по wait, и я не сильно теперь раздумывая решил собрать 'классический' 
  Leningrad 1, реализовав имитацию dram памяти на sram, как уже это делал на других проектах ранее. Сделал схему, запускаю, а она не идет... проверяю, ошибок нет, в чем же дело? Смотрю на графики, времянки cpu не попадают куда им положенно, начал экспериментировать методом 'тыка'... изменил точку подключения U2:B-11 c TI на /TI  , все времянки сошлись и схема завелась. Почему так я не понимаю. Быть такого не должно, где-то я ошибаюсь... Тем не менее, решил продолжить эксперимент. Неоднократно встречал информацию, что первый ленинград можно запустить вообще без wait и переделки минимальные, пробую...
			
			
						После появления модели z80 в протеусе у меня прям 'руки чесались' собрать какой нибудь Спектрум
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
Все работает, даже 'фирменный глюк ленинграда' присутствует (с) - не полный круг  
Переделал развертку и дешифратор по схеме Leningrad 2 - все ОК... почему же первая схема так сильно не попадает во времянки так и осталось для меня загадкой
 .
во вложении все мои эксперименты.
			
			
						Переделал развертку и дешифратор по схеме Leningrad 2 - все ОК... почему же первая схема так сильно не попадает во времянки так и осталось для меня загадкой
во вложении все мои эксперименты.
You do not have the required permissions to view the files attached to this post.
			
						
										
						- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: ZX Spectrum в proteus
Ну запустили бы какую-нибуть красивую демку на экранчик что ли...  
 
А то ZX Spectrum, а такой экранчик скучный!
			
			
									
						
							А то ZX Spectrum, а такой экранчик скучный!
iLavr
			
						- 
				IgorR76
 - Senior
 - Posts: 102
 - Joined: 27 Jul 2015 15:20
 
Re: ZX Spectrum в proteus
Дык дисплей пока чб... Надо его цветным сделать.
			
			
									
						
										
						- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: ZX Spectrum в proteus
Да у Спецтрума и ч.б. демки есть нескучные!  
 
А то столько труда чтобы увидеть мигающий курсор?
			
			
									
						
							А то столько труда чтобы увидеть мигающий курсор?
iLavr
			
						- 
				IgorR76
 - Senior
 - Posts: 102
 - Joined: 27 Jul 2015 15:20
 
Re: ZX Spectrum в proteus
А кстати, как загружать программу? dll - кассетный магнитофон написать? 
 И ждать часа три, пока загрузится.
Наверно, модуль ПЗУ поможет. Или в sram можно загружать данные из файлов?
			
			
									
						
										
						Наверно, модуль ПЗУ поможет. Или в sram можно загружать данные из файлов?
- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: ZX Spectrum в proteus
Если скорость эмуляции позволяет - можно напрямую через порт.IgorR76 wrote:А кстати, как загружать программу?
IgorR76 wrote: dll - кассетный магнитофон написать?
Полезно бы - чтобы грузить всякие стандартные sna и tap...
Из файлов в sram я не смог, может в современных Протезусах есть...IgorR76 wrote:Наверно, модуль ПЗУ поможет. Или в sram можно загружать данные из файлов?
А из ПЗУ - да, самый быстрый и безпроблемный способ - я в EDUC-8 так делал вместо загрузки с перфоленты...
iLavr
			
						- 
				PVV
 - Doomed
 - Posts: 463
 - Joined: 12 Feb 2016 13:39
 
Re: ZX Spectrum в proteus
Эмулируется все ооочень медленно. Эти 1.7с до появления надписи ~10 минут реального времени. Смысл всех этих экспериментов в проверке работоспособности dll в разных схемах, с использованием разных воздействий на ножки z80. Можно поизучать диаграммы сигналов друг относительно друга... некий многоканальный логический анализатор 
 
Загружать программы в ОЗУ я способ не нашел в протеусе. Была мысль написать dll мс ОЗУ, хоть статики SRAM , а то и динамики DRAM, как раз ее нет(можно по таймеру при отсутствии регенерации память обнулять...), и уже в этой dll сделать загрузку программы...
			
			
									
						
										
						Загружать программы в ОЗУ я способ не нашел в протеусе. Была мысль написать dll мс ОЗУ, хоть статики SRAM , а то и динамики DRAM, как раз ее нет(можно по таймеру при отсутствии регенерации память обнулять...), и уже в этой dll сделать загрузку программы...
- 
				aav8
 - Maniac
 - Posts: 287
 - Joined: 05 Nov 2008 19:47
 - Location: 81.28.208.238
 
Re: ZX Spectrum в proteus
Насчет скорости - ест-но медленно.
Proteus-у нужно просчитать все сигналы (R/W, I/O) всякие памяти,
логика ... и.т.д. и т.п.
Которые микроконтроллеры все это присчитывают внутри.
Когда приделывал к модели окно состояния, к коду операции думал пристроить
фактические аргументы. СТОП! - это-ж дополнительные опреции чтения/записи по
шине. А вдруг там что-то еще (на шине) чего-й то навешано (???).
Это здорово, что модель заработала практически в реальном spectrum.
dll для магнитофона - действительно врамя выразится в несколько часов.
Но некоторые игрушки загружают сначала свой загручик...
С интересными счетчиками/кртинками. Вот для них и нужна эта dll.
Но все равно я думаю такая dll нужна... (для чего ?), но что-бы она могла
эмулировать форматs spctrum, rk, орион... и еще-бы сигналы управления
магнитофоном как в Ирише-е, Партнер, может еще где...
И... dll для связи с какм-либо эмулятором... (spectrum... или/и еще чего).
Можно будет в proteus разрабытывать/добавлять модули в реальный комп.
*********************
критика/возражения/добавления принимаются и приветствуются.
*********************
PS:
Наверное надо сосздать отдельную тему конкретно по модели
			
			
									
						
										
						Proteus-у нужно просчитать все сигналы (R/W, I/O) всякие памяти,
логика ... и.т.д. и т.п.
Которые микроконтроллеры все это присчитывают внутри.
Когда приделывал к модели окно состояния, к коду операции думал пристроить
фактические аргументы. СТОП! - это-ж дополнительные опреции чтения/записи по
шине. А вдруг там что-то еще (на шине) чего-й то навешано (???).
Это здорово, что модель заработала практически в реальном spectrum.
dll для магнитофона - действительно врамя выразится в несколько часов.
Но некоторые игрушки загружают сначала свой загручик...
С интересными счетчиками/кртинками. Вот для них и нужна эта dll.
Но все равно я думаю такая dll нужна... (для чего ?), но что-бы она могла
эмулировать форматs spctrum, rk, орион... и еще-бы сигналы управления
магнитофоном как в Ирише-е, Партнер, может еще где...
И... dll для связи с какм-либо эмулятором... (spectrum... или/и еще чего).
Можно будет в proteus разрабытывать/добавлять модули в реальный комп.
*********************
критика/возражения/добавления принимаются и приветствуются.
*********************
PS:
Наверное надо сосздать отдельную тему конкретно по модели
- 
				Lavr
														 - Supreme God
 - Posts: 16804
 - Joined: 21 Oct 2009 08:08
 - Location: Россия
 
Re: ZX Spectrum в proteus
Да я вобще в восторге, как у нас начали работать под Протеус схемы с i8080 и z80!aav8 wrote:Это здорово, что модель заработала практически в реальном spectrum.
Огромное спасибо PVV, что он нашел в себе силы и время эту процессорную dll продвинуть!
iLavr
			
						- 
				vernigor
 - Junior
 - Posts: 1
 - Joined: 02 May 2015 12:30
 
Re: ZX Spectrum в proteus
А от чего у меня может не работать дисплей? В целом - все симулируется, но экрана дисплея нет.
			
			
									
						
										
						- 
				0iStalker
 - Junior
 - Posts: 8
 - Joined: 24 Mar 2018 04:11
 
Re: ZX Spectrum в proteus
Добрый день, друзья спектрумисты. Тоже вот, в процессе осознания как всё это железо работает - нарисовал в Протеус'е  по схеме клона 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 секунд нереального времени симуляции.











Архив с проектом вот тут PS.
По поводу вопроса выше, почему при запуске схемы не появляется экран, - проблема в том, что драйвера NVidia тоже содержат display.dll и Proteus загружает её, а не модуль дисплея из архивов выше (воркэраунд для этого случая, просто переименовать dll и передобавить модуль в Proteus c другим именем dll).
PPS.
Надеюсь, не накосячил с оформлением
			
			
						И вишенка на торте, DLL c дисплеем я доработал до RGBI варианта, так что теперь можно симулировать в цвете (так же работа теперь стала намного стабильнее и оно не вылетает в течении 10 секунд нереального времени симуляции.
![]()  | 











Архив с проектом вот тут 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
Странно, вроде когда оформлял ссылки - сервис гугла по их укорачиванию их подгружал с яндекс диска.  Попробую, ещё куда-нибудь залить
			
			
									
						
										
						- 
				PVV
 - Doomed
 - Posts: 463
 - Joined: 12 Feb 2016 13:39
 
Re: ZX Spectrum в proteus
Ляпота! 
 Все картинки видно, и проект работает, надо только клавиатуру добавить.
Я уже пару раз порывался сделать RGB, но быстро не поручалось (при добавлении новых цветов dll вылетала почти сразу после запуска
 ) и забрасывал это дело.
			
			
									
						
										
						Я уже пару раз порывался сделать RGB, но быстро не поручалось (при добавлении новых цветов dll вылетала почти сразу после запуска
- 
				kiberlog
 - Junior
 - Posts: 1
 - Joined: 04 Apr 2018 01:58
 
Re: ZX Spectrum в proteus
Возможно ли, создать такой проект используя easyeda.com ?
Для примера
https://easyeda.com/aj22r/Z80-3e131a2eb ... cb03845e65
https://easyeda.com/jeroen1328/ZX_Spect ... 043bf8a6dc
			
			
									
						
										
						Для примера
https://easyeda.com/aj22r/Z80-3e131a2eb ... cb03845e65
https://easyeda.com/jeroen1328/ZX_Spect ... 043bf8a6dc
				
