Перейти к содержанию
    

ZX Spectrum: аппаратная реализация на микроконтроллерах AVR

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

ZX.ZIP

Изменено пользователем Lisitsin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, как вы собираетесь решать проблему разных архитектур Z80 (Неймановская) и AVR (Гарвардская, да еще с неизменяемой программной памятью). Программы под спектрум в принципе могут иметь самомодифицирующийся код, а тут такой финт не пройдет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Интересно, как вы собираетесь решать проблему разных архитектур Z80 (Неймановская) и AVR (Гарвардская, да еще с неизменяемой программной памятью). Программы под спектрум в принципе могут иметь самомодифицирующийся код, а тут такой финт не пройдет.

Примерно так: (это называется эмуляция)

OPCODE_00.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эх, студенчество вспомнилось! :rolleyes: Не могу сдержаться: А зачем всё это? Если для саморазвития, то я бы Spectrum предпочёл на FPGA сэмулировать, это жесть! А AVR32 или PIC32 однозначно потянут, это же очевидно! Насчёт ATMegi128 не знаю, но интересна конечная цель.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Эх, студенчество вспомнилось! :rolleyes: Не могу сдержаться: А зачем всё это?

 

Простите, YIG, "G"-это от "Гамлет"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, YIG, "G"-это от "Гамлет"?

YIG - это железо-иттриевый гранат, специально выбрал такой ник, чтобы молодые радиоинженеры развивались. Кроме того, сам ими потихоньку занимаюсь! А как насчёт моего вопроса, интересно же?

 

ЗЫ: А-а-а, всё понял, вот зачем: http://electronix.ru/forum/index.php?showt...mp;#entry818427 Я в этот раздел не ходок, поэтому не сразу заметил. Но всё-таки проект для чего-то создавался!? :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

YIG - это железо-иттриевый гранат, специально выбрал такой ник, чтобы молодые радиоинженеры развивались. Кроме того, сам ими потихоньку занимаюсь! А как насчёт моего вопроса, интересно же?

 

ЗЫ: А-а-а, всё понял, вот зачем: http://electronix.ru/forum/index.php?showt...mp;#entry818427 Я в этот раздел не ходок, поэтому не сразу заметил. Но всё-таки проект для чего-то создавался!? :rolleyes:

Лучше уж сразу задать вопрос зачем я живу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше уж сразу задать вопрос зачем я живу.

Как-то мне это всё напоминает анекдот:

Юлий Соломонович, а почему все евреи отвечают вопросом на вопрос?

А что, нельзя?

 

Что касаемо нашей ситуации, то ситуация такая:

Вы открываете тему, в которой никого ни о чём не спрашиваете, выкладывая свой проект.

Я в студенчестве собирал Spectrum, интересуюсь целью темы и проекта.

Вы по прежнему не хотите ответить на простой и праздный вопрос.

Не хотите - как хотите! Всего доброго!...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

YIG - это железо-иттриевый гранат, специально выбрал такой ник, чтобы молодые радиоинженеры развивались. Кроме того, сам ими потихоньку занимаюсь! А как насчёт моего вопроса, интересно же?

 

ЗЫ: А-а-а, всё понял, вот зачем: http://electronix.ru/forum/index.php?showt...mp;#entry818427

Вы ведь и так уже всё поняли ...

 

Я в студенчестве собирал Spectrum, интересуюсь целью темы и проекта.

Интересуетесь целью и темой того, чем сами занимались? Не понял ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где-то в инете натыкался на железку где на ПЛИСине с кучей обвязки люди сделали Спектрум 1024. Он вроде так и назывался.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Примерно так: (это называется эмуляция)

 

А ваш программный эмулятор будет точно все времянки эмулировать? А то игрушки, которые в бордере текст писали, не пойдут - так кому он нужен будет? :laughing:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Где-то в инете натыкался на железку где на ПЛИСине с кучей обвязки люди сделали Спектрум 1024. Он вроде так и назывался.

http://pentagon.nedopc.com/cc06.htm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Примерно так: (это называется эмуляция)

Ну, что такое эмуляция, я представляю, а читать исходник, представленный в качестве ответа на мой вопрос, мне лень.

Потому переформулирую вопрос, просьба ответить словами, а не на ассемблере:

Как вы запустите программу, представляющую собой нечто вроде самораспаковывающегося архива, или просто в целях защиты меняющую некоторые ячейки программного кода после запуска?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А ваш программный эмулятор будет точно все времянки эмулировать? А то игрушки, которые в бордере текст писали, не пойдут - так кому он нужен будет? :laughing:

Люблю грамотные вопросы, а не просто "зачекм тебе всё это надо?". Выдерживаюсь до такта. Подсчитываюсь прямо в комментариях. Но есть небольшие сложности: команды DAA, EX, XOR выполняются чуть чуть по-дольше. Я не знаю к чему это может привести. Есть возможность включить счётчик и подсчитывать это накопляющееся время, а за счёт других команд, выполняющихся более быстро, его компенсировать. Но пока это я не реализовал. Вот кто объяснит мне чем грозят затянутые DAA, EX, XOR - тот мне окажет огромную услугу. Спасибо за вопрос.

 

Ну, что такое эмуляция, я представляю, а читать исходник, представленный в качестве ответа на мой вопрос, мне лень.

Потому переформулирую вопрос, просьба ответить словами, а не на ассемблере:

Как вы запустите программу, представляющую собой нечто вроде самораспаковывающегося архива, или просто в целях защиты меняющую некоторые ячейки программного кода после запуска?

А в чём тут, собственно, проблема? Любой код, буть он раньше архивом или нет, для эмулятора - просто код. В чём здесь должна быть сложность?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А в чём тут, собственно, проблема? Любой код, буть он раньше архивом или нет, для эмулятора - просто код. В чём здесь должна быть сложность?

ааа, понял, вопрос снимаю...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...