реклама на сайте
подробности

 
 
7 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> ZX Spectrum: аппаратная реализация на микроконтроллерах AVR
khach
сообщение Oct 3 2010, 07:58
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



На атмеге это будет извращение, а на АРМе- была попытка такое сделать. Зачем это было нужно- восстановление одного древнего измерительного комплекса, у которого изначально процессор был на Z80. Нужен был аппаратный эмулятор с возможностью снятия лога в риалтайме, иначе алгоритм обработки и взаимодействия с аппаратурой был непонятен. Учитывая то, что прошивка было полудохлая (от давности протерлись УФПЗУ) и приходилось работать с кусками кода, возня была еще та. Больше всего достало отсутствие 5 вольтовых FPGA- приходилось городить огород, чтобы правильно сэмулировать шину.
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Oct 3 2010, 08:24
Сообщение #17


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Ну а мне непонятен вообще такой подход. SPECTRUM легко реализуется всего на трех корпусах. Любой современный клон Z80, CPLD для обвязки и контроллера дисков, и памяти. И никакой програмной эмуляции. Или в конце концов одна FPGA достаточного объема.
А так как у автора топика можно и на транзисторах собирать.
Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 3 2010, 08:31
Сообщение #18


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Цитата(MaslovVG @ Oct 3 2010, 12:24) *
Ну а мне непонятен вообще такой подход. SPECTRUM легко реализуется всего на трех корпусах. Любой современный клон Z80, CPLD для обвязки и контроллера дисков, и памяти. И никакой програмной эмуляции. Или в конце концов одна FPGA достаточного объема.
А так как у автора топика можно и на транзисторах собирать.

Если на CPLD - прибавим ещё ROM, стабилизатор питания, на чём-то надо собирать орбитр памяти. Реальные конструкции на CPLD на самом деле имеют около 10 корпусов. У меня 8 - и без CPLD. Планирую сократить до 7.


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Oct 3 2010, 08:59
Сообщение #19


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(Lisitsin @ Oct 3 2010, 12:31) *
Если на CPLD - прибавим ещё ROM, стабилизатор питания, на чём-то надо собирать орбитр памяти. Реальные конструкции на CPLD на самом деле имеют около 10 корпусов. У меня 8 - и без CPLD. Планирую сократить до 7.

ROM не нужен. Одну FRAM на ОЗУ и ПЗУ, существуют корпуса 512X8.
Кроме того вспомните ZX81 (предшественник оригинального SPEKTRUM) был на четырех микросхемах CPU, ROM, RAM и ULA и все. (держал в руках такой в начале 80-х).
Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 3 2010, 09:02
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



[\quote]
Кроме того вспомните ZX81 (предшественник оригинального SPEKTRUM) был на четырех микросхемах CPU, ROM, RAM и ULA и все. (держал в руках такой в начале 80-х).
[/quote]
Ой !!! А ссылочку можно ?

Сообщение отредактировал Lisitsin - Oct 3 2010, 09:31


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
131959G
сообщение Oct 3 2010, 09:07
Сообщение #21


Частый гость
**

Группа: Участник
Сообщений: 86
Регистрация: 8-04-07
Из: г.Луга Ленинградская обл.
Пользователь №: 26 862



Тема из молодости.
Автору:
ИМХО, для реальных программ (игрушек) завязанных на клавиатуру и всякие "фишки" реальной схемотехники Синклерной той эпохи, наверняка будут "вилы".
Например, как правильно строить реализацию, если кем то писанная программа захочет прочитать код команды не из памяти, а например с шины данных по адресу устройства, которого в настоящем клоне каком нибудь просто нет физически?
Как в первоисточнике или как в КЛОНЕ?
Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 3 2010, 09:19
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Цитата(131959G @ Oct 3 2010, 13:07) *
Тема из молодости.
Автору:
ИМХО, для реальных программ (игрушек) завязанных на клавиатуру и всякие "фишки" реальной схемотехники Синклерной той эпохи, наверняка будут "вилы".
Например, как правильно строить реализацию, если кем то писанная программа захочет прочитать код команды не из памяти, а например с шины данных по адресу устройства, которого в настоящем клоне каком нибудь просто нет физически?
Как в первоисточнике или как в КЛОНЕ?


Прошу прощения: а про модель то я и забыл!!! 48, он родной! У него на борту всего один порт ввода-вывода - номер 254. Эмулируется влёт. И каким это программам будет нужно читать данные из несуществующего адреса? А для клавиатурного контроллера программу пол часа назад откомпелировал. Прогоняю в AVRStudio- работает !!!


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
131959G
сообщение Oct 3 2010, 09:36
Сообщение #23


Частый гость
**

Группа: Участник
Сообщений: 86
Регистрация: 8-04-07
Из: г.Луга Ленинградская обл.
Пользователь №: 26 862



Цитата(Lisitsin @ Oct 3 2010, 13:19) *
Прошу прощения: а про модель то я и забыл!!! 48, он родной! У него на борту всего один порт ввода-вывода - номер 254. Эмулируется влёт. И каким это программам будет нужно читать данные из несуществующего адреса? А для клавиатурного контроллера программу пол часа назад откомпелировал. Прогоняю в AVRStudio- работает !!!

Ну к примеру, кто нить в Питере "подправил" "ломаную" игрушку. Прочитал FF с ШД, подтянутой резисторами к плюсу и "поехал" в прерывание... .
Когда слепите идею, то "обкатайте" ее в реальном времени реальными программами типа "Пинг Понга"
http://zxspec.ru/screens/p/ping_pong.0.gif
и сравните с реальным 48.
Интересно, что получится.
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Oct 3 2010, 09:50
Сообщение #24


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(Lisitsin @ Oct 3 2010, 13:02) *
[\quote]
Кроме того вспомните ZX81 (предшественник оригинального SPEKTRUM) был на четырех микросхемах CPU, ROM, RAM и ULA и все. (держал в руках такой в начале 80-х).

Ой !!! А ссылочку можно ?

Увы Интернета да и PC тогда еще не существовало. В начале 90-х встречал клон спектрума с логикой реализованой на БМК (это нечто масочное предшественник CPLD) минимум корпусов.

Да в игрушках и в защите программ использовалось много специфических особеностей, недокументированные команды Z80,
значение регистра REFRESH, чтение отсутствующих портов (состояние шины данных, следы от выода на экран) и многое другое. На эту тему можно книги писать.
Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 3 2010, 10:25
Сообщение #25


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Цитата(131959G @ Oct 3 2010, 13:36) *
Ну к примеру, кто нить в Питере "подправил" "ломаную" игрушку. Прочитал FF с ШД, подтянутой резисторами к плюсу и "поехал" в прерывание... .
Когда слепите идею, то "обкатайте" ее в реальном времени реальными программами типа "Пинг Понга"
http://zxspec.ru/screens/p/ping_pong.0.gif
и сравните с реальным 48.
Интересно, что получится.

Прерывание в 48 только INT, и то только для клавиатуры. А программы для другого типа ZX запускать не планирую. Может быть, только в перспективе.

Цитата(MaslovVG @ Oct 3 2010, 13:50) *
Увы Интернета да и PC тогда еще не существовало. В начале 90-х встречал клон спектрума с логикой реализованой на БМК (это нечто масочное предшественник CPLD) минимум корпусов.

Да в игрушках и в защите программ использовалось много специфических особеностей, недокументированные команды Z80,
значение регистра REFRESH, чтение отсутствующих портов (состояние шины данных, следы от выода на экран) и многое другое. На эту тему можно книги писать.


Если в НЭТЕ до сих пор нет ничего касательно такого проекта - моя тема актуальна. Недокументированные команды эмулирую. Насчёт чтения несуществующих портов: хотелось бы иметь игрушку или программу, которая это делает - чтобы потом погонять. Спасибо.


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
MaslovVG
сообщение Oct 3 2010, 11:04
Сообщение #26


Профессионал
*****

Группа: Свой
Сообщений: 1 210
Регистрация: 24-01-05
Из: Россия Волгодонск
Пользователь №: 2 134



Цитата(Lisitsin @ Oct 3 2010, 14:25) *
Прерывание в 48 только INT, и то только для клавиатуры. А программы для другого типа ZX запускать не планирую. Может быть, только в перспективе.

Через BASIC и чтение клавиатуры по стандартным подпрограммам работали толбко первые простые игрушки.
На смену им пришли игры в бинарных кодах. Работающие совсем автономно, после загрузки ПЗУ вообще не использовалось.
Прерывание устанавливалось NMI и клавиатура опрашивалась любым способом на выбор автора, вплоть до сканирования избранных клавиш. Применение внешней IBM совместимой клавиатуры в таких случаях чрезвычайно сложно эмулировать.
И главное Не вижу практического смысла. Комерческого будущего у этого изделия нет. Разве поучится программировать.
Тогда уж сделать какой нибудь Роутер, аудио проигрыватель, JPS навигатор.
Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 3 2010, 11:39
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Цитата(MaslovVG @ Oct 3 2010, 15:04) *
Через BASIC и чтение клавиатуры по стандартным подпрограммам работали толбко первые простые игрушки.
На смену им пришли игры в бинарных кодах. Работающие совсем автономно, после загрузки ПЗУ вообще не использовалось.
Прерывание устанавливалось NMI и клавиатура опрашивалась любым способом на выбор автора, вплоть до сканирования избранных клавиш. Применение внешней IBM совместимой клавиатуры в таких случаях чрезвычайно сложно эмулировать.
И главное Не вижу практического смысла. Комерческого будущего у этого изделия нет. Разве поучится программировать.
Тогда уж сделать какой нибудь Роутер, аудио проигрыватель, JPS навигатор.


Прерывание от IBM совместимой клавиатуры уже обрабатывается. Опрашивать можно командой IN с любым параметром опроса (0-255). Тип прерывания устанавливается программно любой. Коммерческие цели приследую не в первую очередь. А вообще коммерческая сторона дела мне интересна: что такое сегодня можно разработать, что пользовалось бы хорошим спросом?

Сообщение отредактировал Lisitsin - Oct 3 2010, 11:42


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Oct 3 2010, 11:44
Сообщение #28


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(Lisitsin @ Oct 2 2010, 16:27) *
Всем привет. Разрабатываю ZX Spectrum на микроконтроллерах ATMEL (ATMega128 - 2 шт, ATtiny2313 - 1 шт.) Всего в схеме 8 микросхем: центральный процессор (ATMega128), видео процессор (ATMega128), контроллер клавиатуры (ATtiny2313) (планируется применение стандартной клавиатуры PC/2), стабилизатор питания (MC78M05CDT), порт ввода-вывода (SN74S04), формирователь цветного изображения (SN74S257), ОЗУ (IS62C1024) с защёлкой адреса (74AC373). В настоящее время сформировал цветной видеосигнал и написал около 80% эмулятора команд (произво-дительности вполне хватает.)


Вы однако выбрали самый тяжелый и неэффективный путь.

Вот например на такой платформе вы могли бы свою идею реализовать ну за неделю не больше.
http://www.alylab.eu/OpenProjects/ARMGeoSpyder2/ARMGS2.htm
Наличие акселерометра могло бы заменить джойстик, тачскрин заменил бы мышь. Микрофон и float poin сопроцессор помогли бы сделать управление голосом.
И все это не меняя основной бинарный код старых игрушек.

В качестве эмулятора Z80 очень неплохой вот это проект: http://sourceforge.net/projects/cingb/
Здесь в конфе год или больше назад один любитель даже анализ разных эмуляторов Z80 проводил (вернее их расширенных аналогов для игровых приставок)
и демонстрировал их работу на макетной платформе на ARM9.
Так cingb вообщем самый удобный для портирования оказался.
Go to the top of the page
 
+Quote Post
Oldring
сообщение Oct 3 2010, 11:47
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(Lisitsin @ Oct 3 2010, 15:39) *
А вообще коммерческая сторона дела мне интересна: что такое сегодня можно разработать, что пользовалось бы хорошим спросом?


Ну уж явно не эмулятор Спектрума на AVR с минимумом использованных корпусов. laughing.gif
Разработать сейчас можно всё что угодно, сложно только продать в достаточном количестве, чтобы окупить затраты на разработку. Те, кто нащупали свои ниши - с вами точно делиться ими не будут.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
Lisitsin
сообщение Oct 3 2010, 12:25
Сообщение #30


Местный
***

Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868



Цитата(AlexandrY @ Oct 3 2010, 15:44) *
Вы однако выбрали самый тяжелый и неэффективный путь.

Вот например на такой платформе вы могли бы свою идею реализовать ну за неделю не больше.
http://www.alylab.eu/OpenProjects/ARMGeoSpyder2/ARMGS2.htm
Наличие акселерометра могло бы заменить джойстик, тачскрин заменил бы мышь. Микрофон и float poin сопроцессор помогли бы сделать управление голосом.
И все это не меняя основной бинарный код старых игрушек.


А ради интереса, сколько такая игрушка стоит? Ну а о вышесказанных наворотах я и не думал: это уже не синклер получится.

Цитата(Oldring @ Oct 3 2010, 15:47) *
Ну уж явно не эмулятор Спектрума на AVR с минимумом использованных корпусов. laughing.gif
Разработать сейчас можно всё что угодно, сложно только продать в достаточном количестве, чтобы окупить затраты на разработку. Те, кто нащупали свои ниши - с вами точно делиться ими не будут.

А то ... Кто станет делиться - пусть сразу наличкой даст, чтобы я глупые вопросы не задавал.


--------------------
с Уважением,
Lisitsin
Vasil.Lisitsin@yandex.ru
Go to the top of the page
 
+Quote Post

7 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 03:01
Рейтинг@Mail.ru


Страница сгенерированна за 0.02285 секунд с 7
ELECTRONIX ©2004-2016