|
|
  |
ZX Spectrum: аппаратная реализация на микроконтроллерах AVR |
|
|
|
Oct 2 2010, 13:27
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Всем привет. Разрабатываю ZX Spectrum на микроконтроллерах ATMEL (ATMega128 - 2 шт, ATtiny2313 - 1 шт.) Всего в схеме 8 микросхем: центральный процессор (ATMega128), видео процессор (ATMega128), контроллер клавиатуры (ATtiny2313) (планируется применение стандартной клавиатуры PC/2), стабилизатор питания (MC78M05CDT), порт ввода-вывода (SN74S04), формирователь цветного изображения (SN74S257), ОЗУ (IS62C1024) с защёлкой адреса (74AC373). В настоящее время сформировал цветной видеосигнал и написал около 80% эмулятора команд (произво-дительности вполне хватает.)
Сообщение отредактировал Lisitsin - Oct 2 2010, 13:28
Прикрепленные файлы
ZX.ZIP ( 1.59 мегабайт )
Кол-во скачиваний: 170
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 2 2010, 14:48
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(V_G @ Oct 2 2010, 18:09)  Интересно, как вы собираетесь решать проблему разных архитектур Z80 (Неймановская) и AVR (Гарвардская, да еще с неизменяемой программной памятью). Программы под спектрум в принципе могут иметь самомодифицирующийся код, а тут такой финт не пройдет. Примерно так: (это называется эмуляция)
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 2 2010, 15:07
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(YIG @ Oct 2 2010, 19:00)  Эх, студенчество вспомнилось!  Не могу сдержаться: А зачем всё это? Простите, YIG, "G"-это от "Гамлет"?
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 2 2010, 15:22
|

Voltage Control Output
     
Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436

|
Цитата(Lisitsin @ Oct 2 2010, 18:07)  Простите, YIG, "G"-это от "Гамлет"? YIG - это железо-иттриевый гранат, специально выбрал такой ник, чтобы молодые радиоинженеры развивались. Кроме того, сам ими потихоньку занимаюсь! А как насчёт моего вопроса, интересно же? ЗЫ: А-а-а, всё понял, вот зачем: http://electronix.ru/forum/index.php?showt...mp;#entry818427 Я в этот раздел не ходок, поэтому не сразу заметил. Но всё-таки проект для чего-то создавался!?
--------------------
Слово - не воробей, вылетит - не пощадит
|
|
|
|
|
Oct 2 2010, 16:09
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(YIG @ Oct 2 2010, 19:22)  YIG - это железо-иттриевый гранат, специально выбрал такой ник, чтобы молодые радиоинженеры развивались. Кроме того, сам ими потихоньку занимаюсь! А как насчёт моего вопроса, интересно же? ЗЫ: А-а-а, всё понял, вот зачем: http://electronix.ru/forum/index.php?showt...mp;#entry818427 Я в этот раздел не ходок, поэтому не сразу заметил. Но всё-таки проект для чего-то создавался!?  Лучше уж сразу задать вопрос зачем я живу.
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 2 2010, 16:48
|

Voltage Control Output
     
Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436

|
Цитата(Lisitsin @ Oct 2 2010, 19:09)  Лучше уж сразу задать вопрос зачем я живу. Как-то мне это всё напоминает анекдот: Юлий Соломонович, а почему все евреи отвечают вопросом на вопрос? А что, нельзя? Что касаемо нашей ситуации, то ситуация такая: Вы открываете тему, в которой никого ни о чём не спрашиваете, выкладывая свой проект. Я в студенчестве собирал Spectrum, интересуюсь целью темы и проекта. Вы по прежнему не хотите ответить на простой и праздный вопрос. Не хотите - как хотите! Всего доброго!...
--------------------
Слово - не воробей, вылетит - не пощадит
|
|
|
|
|
Oct 2 2010, 17:08
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(YIG @ Oct 2 2010, 19:22)  YIG - это железо-иттриевый гранат, специально выбрал такой ник, чтобы молодые радиоинженеры развивались. Кроме того, сам ими потихоньку занимаюсь! А как насчёт моего вопроса, интересно же? ЗЫ: А-а-а, всё понял, вот зачем: http://electronix.ru/forum/index.php?showt...mp;#entry818427Вы ведь и так уже всё поняли ... Цитата(YIG @ Oct 2 2010, 20:48)  Я в студенчестве собирал Spectrum, интересуюсь целью темы и проекта. Интересуетесь целью и темой того, чем сами занимались? Не понял ...
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
Oct 3 2010, 01:22
|

Профессионал
    
Группа: Свой
Сообщений: 1 818
Регистрация: 15-10-09
Из: Владивосток
Пользователь №: 52 955

|
Цитата(Lisitsin @ Oct 3 2010, 01:48)  Примерно так: (это называется эмуляция) Ну, что такое эмуляция, я представляю, а читать исходник, представленный в качестве ответа на мой вопрос, мне лень. Потому переформулирую вопрос, просьба ответить словами, а не на ассемблере: Как вы запустите программу, представляющую собой нечто вроде самораспаковывающегося архива, или просто в целях защиты меняющую некоторые ячейки программного кода после запуска?
|
|
|
|
|
Oct 3 2010, 05:32
|
Местный
  
Группа: Участник
Сообщений: 227
Регистрация: 1-10-10
Из: Рязань
Пользователь №: 59 868

|
Цитата(Oldring @ Oct 3 2010, 00:19)  А ваш программный эмулятор будет точно все времянки эмулировать? А то игрушки, которые в бордере текст писали, не пойдут - так кому он нужен будет?  Люблю грамотные вопросы, а не просто "зачекм тебе всё это надо?". Выдерживаюсь до такта. Подсчитываюсь прямо в комментариях. Но есть небольшие сложности: команды DAA, EX, XOR выполняются чуть чуть по-дольше. Я не знаю к чему это может привести. Есть возможность включить счётчик и подсчитывать это накопляющееся время, а за счёт других команд, выполняющихся более быстро, его компенсировать. Но пока это я не реализовал. Вот кто объяснит мне чем грозят затянутые DAA, EX, XOR - тот мне окажет огромную услугу. Спасибо за вопрос. Цитата(V_G @ Oct 3 2010, 05:22)  Ну, что такое эмуляция, я представляю, а читать исходник, представленный в качестве ответа на мой вопрос, мне лень. Потому переформулирую вопрос, просьба ответить словами, а не на ассемблере: Как вы запустите программу, представляющую собой нечто вроде самораспаковывающегося архива, или просто в целях защиты меняющую некоторые ячейки программного кода после запуска? А в чём тут, собственно, проблема? Любой код, буть он раньше архивом или нет, для эмулятора - просто код. В чём здесь должна быть сложность?
--------------------
с Уважением, Lisitsin Vasil.Lisitsin@yandex.ru
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|