khach 32 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба На атмеге это будет извращение, а на АРМе- была попытка такое сделать. Зачем это было нужно- восстановление одного древнего измерительного комплекса, у которого изначально процессор был на Z80. Нужен был аппаратный эмулятор с возможностью снятия лога в риалтайме, иначе алгоритм обработки и взаимодействия с аппаратурой был непонятен. Учитывая то, что прошивка было полудохлая (от давности протерлись УФПЗУ) и приходилось работать с кусками кода, возня была еще та. Больше всего достало отсутствие 5 вольтовых FPGA- приходилось городить огород, чтобы правильно сэмулировать шину. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Ну а мне непонятен вообще такой подход. SPECTRUM легко реализуется всего на трех корпусах. Любой современный клон Z80, CPLD для обвязки и контроллера дисков, и памяти. И никакой програмной эмуляции. Или в конце концов одна FPGA достаточного объема. А так как у автора топика можно и на транзисторах собирать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lisitsin 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Ну а мне непонятен вообще такой подход. SPECTRUM легко реализуется всего на трех корпусах. Любой современный клон Z80, CPLD для обвязки и контроллера дисков, и памяти. И никакой програмной эмуляции. Или в конце концов одна FPGA достаточного объема. А так как у автора топика можно и на транзисторах собирать. Если на CPLD - прибавим ещё ROM, стабилизатор питания, на чём-то надо собирать орбитр памяти. Реальные конструкции на CPLD на самом деле имеют около 10 корпусов. У меня 8 - и без CPLD. Планирую сократить до 7. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Если на CPLD - прибавим ещё ROM, стабилизатор питания, на чём-то надо собирать орбитр памяти. Реальные конструкции на CPLD на самом деле имеют около 10 корпусов. У меня 8 - и без CPLD. Планирую сократить до 7. ROM не нужен. Одну FRAM на ОЗУ и ПЗУ, существуют корпуса 512X8. Кроме того вспомните ZX81 (предшественник оригинального SPEKTRUM) был на четырех микросхемах CPU, ROM, RAM и ULA и все. (держал в руках такой в начале 80-х). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lisitsin 0 3 октября, 2010 Опубликовано 3 октября, 2010 (изменено) · Жалоба [\quote] Кроме того вспомните ZX81 (предшественник оригинального SPEKTRUM) был на четырех микросхемах CPU, ROM, RAM и ULA и все. (держал в руках такой в начале 80-х). Ой !!! А ссылочку можно ? Изменено 3 октября, 2010 пользователем Lisitsin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
131959G 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Тема из молодости. Автору: ИМХО, для реальных программ (игрушек) завязанных на клавиатуру и всякие "фишки" реальной схемотехники Синклерной той эпохи, наверняка будут "вилы". Например, как правильно строить реализацию, если кем то писанная программа захочет прочитать код команды не из памяти, а например с шины данных по адресу устройства, которого в настоящем клоне каком нибудь просто нет физически? Как в первоисточнике или как в КЛОНЕ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lisitsin 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Тема из молодости. Автору: ИМХО, для реальных программ (игрушек) завязанных на клавиатуру и всякие "фишки" реальной схемотехники Синклерной той эпохи, наверняка будут "вилы". Например, как правильно строить реализацию, если кем то писанная программа захочет прочитать код команды не из памяти, а например с шины данных по адресу устройства, которого в настоящем клоне каком нибудь просто нет физически? Как в первоисточнике или как в КЛОНЕ? Прошу прощения: а про модель то я и забыл!!! 48, он родной! У него на борту всего один порт ввода-вывода - номер 254. Эмулируется влёт. И каким это программам будет нужно читать данные из несуществующего адреса? А для клавиатурного контроллера программу пол часа назад откомпелировал. Прогоняю в AVRStudio- работает !!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
131959G 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Прошу прощения: а про модель то я и забыл!!! 48, он родной! У него на борту всего один порт ввода-вывода - номер 254. Эмулируется влёт. И каким это программам будет нужно читать данные из несуществующего адреса? А для клавиатурного контроллера программу пол часа назад откомпелировал. Прогоняю в AVRStudio- работает !!! Ну к примеру, кто нить в Питере "подправил" "ломаную" игрушку. Прочитал FF с ШД, подтянутой резисторами к плюсу и "поехал" в прерывание... . Когда слепите идею, то "обкатайте" ее в реальном времени реальными программами типа "Пинг Понга" http://zxspec.ru/screens/p/ping_pong.0.gif и сравните с реальным 48. Интересно, что получится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба [\quote] Кроме того вспомните ZX81 (предшественник оригинального SPEKTRUM) был на четырех микросхемах CPU, ROM, RAM и ULA и все. (держал в руках такой в начале 80-х). Ой !!! А ссылочку можно ? Увы Интернета да и PC тогда еще не существовало. В начале 90-х встречал клон спектрума с логикой реализованой на БМК (это нечто масочное предшественник CPLD) минимум корпусов. Да в игрушках и в защите программ использовалось много специфических особеностей, недокументированные команды Z80, значение регистра REFRESH, чтение отсутствующих портов (состояние шины данных, следы от выода на экран) и многое другое. На эту тему можно книги писать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lisitsin 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Ну к примеру, кто нить в Питере "подправил" "ломаную" игрушку. Прочитал FF с ШД, подтянутой резисторами к плюсу и "поехал" в прерывание... . Когда слепите идею, то "обкатайте" ее в реальном времени реальными программами типа "Пинг Понга" http://zxspec.ru/screens/p/ping_pong.0.gif и сравните с реальным 48. Интересно, что получится. Прерывание в 48 только INT, и то только для клавиатуры. А программы для другого типа ZX запускать не планирую. Может быть, только в перспективе. Увы Интернета да и PC тогда еще не существовало. В начале 90-х встречал клон спектрума с логикой реализованой на БМК (это нечто масочное предшественник CPLD) минимум корпусов. Да в игрушках и в защите программ использовалось много специфических особеностей, недокументированные команды Z80, значение регистра REFRESH, чтение отсутствующих портов (состояние шины данных, следы от выода на экран) и многое другое. На эту тему можно книги писать. Если в НЭТЕ до сих пор нет ничего касательно такого проекта - моя тема актуальна. Недокументированные команды эмулирую. Насчёт чтения несуществующих портов: хотелось бы иметь игрушку или программу, которая это делает - чтобы потом погонять. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Прерывание в 48 только INT, и то только для клавиатуры. А программы для другого типа ZX запускать не планирую. Может быть, только в перспективе. Через BASIC и чтение клавиатуры по стандартным подпрограммам работали толбко первые простые игрушки. На смену им пришли игры в бинарных кодах. Работающие совсем автономно, после загрузки ПЗУ вообще не использовалось. Прерывание устанавливалось NMI и клавиатура опрашивалась любым способом на выбор автора, вплоть до сканирования избранных клавиш. Применение внешней IBM совместимой клавиатуры в таких случаях чрезвычайно сложно эмулировать. И главное Не вижу практического смысла. Комерческого будущего у этого изделия нет. Разве поучится программировать. Тогда уж сделать какой нибудь Роутер, аудио проигрыватель, JPS навигатор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lisitsin 0 3 октября, 2010 Опубликовано 3 октября, 2010 (изменено) · Жалоба Через BASIC и чтение клавиатуры по стандартным подпрограммам работали толбко первые простые игрушки. На смену им пришли игры в бинарных кодах. Работающие совсем автономно, после загрузки ПЗУ вообще не использовалось. Прерывание устанавливалось NMI и клавиатура опрашивалась любым способом на выбор автора, вплоть до сканирования избранных клавиш. Применение внешней IBM совместимой клавиатуры в таких случаях чрезвычайно сложно эмулировать. И главное Не вижу практического смысла. Комерческого будущего у этого изделия нет. Разве поучится программировать. Тогда уж сделать какой нибудь Роутер, аудио проигрыватель, JPS навигатор. Прерывание от IBM совместимой клавиатуры уже обрабатывается. Опрашивать можно командой IN с любым параметром опроса (0-255). Тип прерывания устанавливается программно любой. Коммерческие цели приследую не в первую очередь. А вообще коммерческая сторона дела мне интересна: что такое сегодня можно разработать, что пользовалось бы хорошим спросом? Изменено 3 октября, 2010 пользователем Lisitsin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexandrY 2 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Всем привет. Разрабатываю 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 вообщем самый удобный для портирования оказался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oldring 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба А вообще коммерческая сторона дела мне интересна: что такое сегодня можно разработать, что пользовалось бы хорошим спросом? Ну уж явно не эмулятор Спектрума на AVR с минимумом использованных корпусов. :laughing: Разработать сейчас можно всё что угодно, сложно только продать в достаточном количестве, чтобы окупить затраты на разработку. Те, кто нащупали свои ниши - с вами точно делиться ими не будут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lisitsin 0 3 октября, 2010 Опубликовано 3 октября, 2010 · Жалоба Вы однако выбрали самый тяжелый и неэффективный путь. Вот например на такой платформе вы могли бы свою идею реализовать ну за неделю не больше. http://www.alylab.eu/OpenProjects/ARMGeoSpyder2/ARMGS2.htm Наличие акселерометра могло бы заменить джойстик, тачскрин заменил бы мышь. Микрофон и float poin сопроцессор помогли бы сделать управление голосом. И все это не меняя основной бинарный код старых игрушек. А ради интереса, сколько такая игрушка стоит? Ну а о вышесказанных наворотах я и не думал: это уже не синклер получится. Ну уж явно не эмулятор Спектрума на AVR с минимумом использованных корпусов. :laughing: Разработать сейчас можно всё что угодно, сложно только продать в достаточном количестве, чтобы окупить затраты на разработку. Те, кто нащупали свои ниши - с вами точно делиться ими не будут. А то ... Кто станет делиться - пусть сразу наличкой даст, чтобы я глупые вопросы не задавал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться