Jump to content

    
Sign in to follow this  
Lisitsin

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

Recommended Posts

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

ZX.ZIP

Edited by Lisitsin

Share this post


Link to post
Share on other sites

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

Share this post


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

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

OPCODE_00.zip

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Простите, YIG, "G"-это от "Гамлет"?

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

 

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

Share this post


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

 

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

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

Share this post


Link to post
Share on other sites
Лучше уж сразу задать вопрос зачем я живу.

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

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

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

 

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

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

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

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

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

Share this post


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

 

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

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

 

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

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

Share this post


Link to post
Share on other sites
Примерно так: (это называется эмуляция)

 

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

Share this post


Link to post
Share on other sites
Примерно так: (это называется эмуляция)

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

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

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

Share this post


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

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

 

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

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

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

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

Share this post


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

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this