PDA

Просмотр полной версии : Радио-86РК: Реализация компьютера на AVR



Lisitsin
04.09.2011, 16:38
Здравствуйте.
Давненько в голове есть идея: реализовать РАДИО-86РК на AVR микроконтроллерах. Буду благодарен всем за ссылки и разьяснения по схемотехнике, способствующие данной работе.
В общем-то нужно следующее:
1) экранные параметры, коды знакогенератора;
2) всё возможное и невозможное описалово на ВМ80;
3) описание реализации портов ввода-вывода;
4) софт (монитор, игрушки, тестовые программы), конвертер в аудиоформат;
5) добрые пожелания или жестокая критика

Всем спасибо. Надеюсь, что всё получится.

Titus
04.09.2011, 17:03
На AVR весь РК? Процессор, видеоконтроллер и т.д.? Т.е. как бы эмулятор? Если так, то точную эмуляцию может не получиться сделать, ввиду непростой параллельной работы процессора, видео-дма и видеоконтроллера. А у AVR, если это не AVR32 маловато мипсов.
Если же делать не полную совместимость, а просто хорошую, то получится.

andreil
04.09.2011, 17:03
Надеюсь, что всё получится.
Я тоже надеюсь на удачу такого проекта - собрать на рассыпухе РК86 сейчас тяжело - многие детали если и доставаемы, то с большим трудом (а у нас так и вобще недоставаемы - недавно пытался найти ATMega8515 - даже в Минске не было :( )

Процессор, видеоконтроллер и т.д.?
Lisitsin Он прав, проц туда пихать не надо (куча недокументированных фитч, да и контроллер нужен будет неслабый под такое дело).

Lisitsin
04.09.2011, 17:10
На AVR весь РК? Процессор, видеоконтроллер и т.д.? Т.е. как бы эмулятор? Если так, то точную эмуляцию может не получиться сделать, ввиду непростой параллельной работы процессора, видео-дма и видеоконтроллера. А у AVR, если это не AVR32 маловато мипсов.
Если же делать не полную совместимость, а просто хорошую, то получится.

Всё на AVR. Центральный процессор-эмулятор отдельно, видеопроцессор-отдельно. Чтоб не дрались из-за RAM - отдельный провод им для решения споров. Центральный будет иметь высший приоритет, видеопроцессор - притормозит, где надо. Мипсов завались: берём ATMEGA128, работает спокойно на 21 МГц, у неё интерфейс внешней RAM на 64 К. Совместится полностью, я уверен. )))

Titus
04.09.2011, 17:11
Всё на AVR. Центральный процессор-эмулятор отдельно, видеопроцессор-отдельно. Чтоб не дрались из-за RAM - отдельный провод им для решения споров. Центральный будет иметь высший приоритет, видеопроцессор - притормозит, где надо. Мипсов завались: берём ATMEGA128, работает спокойно на 21 МГц, у неё интерфейс внешней RAM на 64 К. Совместится полностью, я уверен. )))
Ну, если для каждого узла свой AVR, то можно попробовать)

У видеопроцессора выше приоритет.

Lisitsin
04.09.2011, 17:24
Я тоже надеюсь на удачу такого проекта - собрать на рассыпухе РК86 сейчас тяжело - многие детали если и доставаемы, то с большим трудом (а у нас так и вобще недоставаемы - недавно пытался найти ATMega8515 - даже в Минске не было :( )

Lisitsin Он прав, проц туда пихать не надо (куча недокументированных фитч, да и контроллер нужен будет неслабый под такое дело).

Спасибо )))

Всё таки проц заэмулирую вместе со всем недокументированным. Дури хватает, есть отработанный высокоскоростной алгоритм цикла M1 с обработкой прерываний. )))

---------- Post added at 17:24 ---------- Previous post was at 17:16 ----------




У видеопроцессора выше приоритет.

Эт он в жизни у него выше. Там скорость обращения к памяти очень низкая. А когда скорость обращения к RAM 150 мкС, то читать память можно во время эмуляции команды, и при том не одир наз подрят ...

---------- Post added at 17:24 ---------- Previous post was at 17:24 ----------




У видеопроцессора выше приоритет.

Эт он в жизни у него выше. Там скорость обращения к памяти очень низкая. А когда скорость обращения к RAM 150 нС, то читать память можно во время эмуляции команды, и при том не один наз подрят ...

b2m
04.09.2011, 17:33
2) всё возможное и невозможное описалово на ВМ80;
Есть готовый процессор: http://code.google.com/p/cp-mega88/

Lisitsin
04.09.2011, 17:39
Есть готовый процессор: http://code.google.com/p/cp-mega88/

Спасибо )))
Но уж если эмулировать - так всё сразу. Ато схема очень громоздкая получится. Мне бы вот документацию на ВМ80 со всеми командами, флагами, циклограммами прерываний, недокументированные баги ...

osa
04.09.2011, 18:14
Lisitsin, проект спектрума закончен? сорри за офтоп:)

Lisitsin
04.09.2011, 18:24
Lisitsin, проект спектрума закончен? сорри за офтоп:)

Спасибо за вопрос. Проект спектрума в полузаконченном состоянии. Сложности с эмуляцией. Не работают такие игрушки, как R-TYPE и ELITE. Для разрешения проблем необходим Higgins, который уъезжал на лето из города. Приехал только сегодня. Я ему отправил по почте рабочий девайс, и теперь мы поработаем с ним более конструктивно.

BYTEMAN
04.09.2011, 19:08
Я тоже надеюсь на удачу такого проекта - собрать на рассыпухе РК86 сейчас тяжело - многие детали если и доставаемы, то с большим трудом (а у нас так и вобще недоставаемы - недавно пытался найти ATMega8515 - даже в Минске не было )

andreil, Мегу в РК ставить не надо, остальное (580-я серия) - легко доставаемо :)

Kakos_nonos
04.09.2011, 19:12
Признаюсь честно, долго ждал этой темы. Вначале хотел собрать спектрум на авр, но поскольку спектрум у меня уже есть, то смысла собирать нету.
На форуме есть тема сборки альтаира на авр, так вот, я написал автору этого эмулятора, и он выслал мне исходники. На их основе я хотел собрать эмулятор ют-88 минимальной конфигурации (так как это проще всего), но из-за недостатка времени сделать неполучается. Но как-нибудь вернусь к этой теме.
А сейчас буду потихоньку ппомогать проекту, вот книга об этом компьютере:
http://publ.lib.ru/ARCHIVES/M/%27%27Massovaya_radiobiblioteka%27%27/%27%27MRB%27%27,v.1139.(1989).%5Bdjv%5D.zip

Lisitsin
04.09.2011, 19:22
Признаюсь честно, долго ждал этой темы. Вначале хотел собрать спектрум на авр, но поскольку спектрум у меня уже есть, то смысла собирать нету.
На форуме есть тема сборки альтаира на авр, так вот, я написал автору этого эмулятора, и он выслал мне исходники. На их основе я хотел собрать эмулятор ют-88 минимальной конфигурации (так как это проще всего), но из-за недостатка времени сделать неполучается. Но как-нибудь вернусь к этой теме.
А сейчас буду потихоньку ппомогать проекту, вот книга об этом компьютере:
http://publ.lib.ru/ARCHIVES/M/%27%27Massovaya_radiobiblioteka%27%27/%27%27MRB%27%27,v.1139.(1989).%5Bdjv%5D.zip

А вот за это С П А С И Б О ! ! ! Это как раз то, что я искал ))))))

Lisitsin
06.09.2011, 10:34
Доброго времени суток.
Товарищи, нужны коды монитора в следующем виде:
.DB 0XC3, 0X36, 0XF8, 0XC3, 0X63, 0XFE, 0XC3, 0X98, 0XFB, 0XC3, 0XBA, 0XFC, 0XC3, 0X46, 0XFC, 0XC3 ; 0000

....


.DB 0XD1, 0XD5, 0XEB, 0X72, 0X2B, 0X73, 0XE1, 0XC1, 0X05, 0X23, 0XC2, 0XDE, 0XFF, 0XC9, 0XBB, 0X89 ; 07F0

Может кто-нибудь сгенерировать? (необходимо для подкючения к проекту AVRStudio)
А также пригодился бы дизассемблер монитора.
Помогающий входит в историю реинкарнации РАДИО-86РК !!!

b2m
06.09.2011, 10:42
Если нужно посмотреть дизассемблированный текст, можешь в отладчике моего эмулятора посмотреть. Кстати, данный текст я тоже сделал при помощи отладчика (просто скопировал дамп) и редактора FARа.

Lisitsin
06.09.2011, 11:45
Если нужно посмотреть дизассемблированный текст, можешь в отладчике моего эмулятора посмотреть. Кстати, данный текст я тоже сделал при помощи отладчика (просто скопировал дамп) и редактора FARа.

То, что надо ! Спасибо !!!

Lisitsin
12.09.2011, 23:34
Доброго времени.
Нуждаюсь в помощи. Ссинтезировал знакогенератор до кода 127. Дальше псевдографика. Я так и не понял как она генерируется. Ни у кого нет кодов?
Заранее благодарен ))) !

Titus
12.09.2011, 23:36
Доброго времени.
Нуждаюсь в помощи. Ссинтезировал знакогенератор до кода 127. Дальше псевдографика. Я так и не понял как она генерируется. Ни у кого нет кодов?
Заранее благодарен ))) !
Псевдографика - это такие же символы, как и все остальные. Содержимое ПЗУ с фонтом можно взять в каком-нить эмуляторе РК-шки.

Lisitsin
12.09.2011, 23:57
Чёт никак не найду. (

Titus
13.09.2011, 00:05
Только надо не забывать, что видеоконтроллер в РК достаточно гибкий и настраиваемый, в нем можно, например, убирать межстрочный промежуток, что позволяет рисовать псевдографикой слитно, без межстрочных полос.

Titus
13.09.2011, 00:20
Чёт никак не найду. (
Вот, нашел в составе Emulator-3000, вроде то.

b2m
13.09.2011, 11:27
Вот, нашел в составе Emulator-3000, вроде то.
Нет, это не то. Тут в первой половине английские, а во второй половине русские (прописные и строчные).


Ссинтезировал знакогенератор до кода 127. Дальше псевдографика. Я так и не понял как она генерируется. Ни у кого нет кодов?
80h-0BFh == 10URGGBH
атрибуты, выглядят либо как пробел, либо вообще не занимают знакоместа (в зависимости от настроек ВГ75). Фактически, младшие 6 бит кода просто записываются во внутрение регистры (мигание B, подчёркивание U, инверсия R, повышенная яркость H, и два атрибута общего назначения GG). Всё, кроме мигания и подчёркивания - это просто выводы ВГ75.
0C0h-0F0h == 11CCCCBH
собственно псевдографика, код CCCC
0F1h-0F3h
коды конца строки, конца экрана

b2m
13.09.2011, 12:12
Кстати, если хочется сделать именно так, как было в оригинальной РК, то нужно делать только мигание и подчёркивание, а псевдографика будет выглядеть сильно урезанной (будут только полные горизонтальные линии, т.е. где LTEN=1).

Titus
13.09.2011, 12:29
А есть книжка Шахнова целиком?

b2m
13.09.2011, 13:28
Во, нагуглил (http://www.teh-diplom.ru/viewpage.php?page_id=57).

Lisitsin
13.09.2011, 17:31
Всем огромное спасибо !!!

Titus
13.09.2011, 17:33
Во, нагуглил (http://www.teh-diplom.ru/viewpage.php?page_id=57).
Спасибочки!

Lisitsin
13.09.2011, 17:33
Только надо не забывать, что видеоконтроллер в РК достаточно гибкий и настраиваемый, в нем можно, например, убирать межстрочный промежуток, что позволяет рисовать псевдографикой слитно, без межстрочных полос.

Блин, а вот межстрочные промежутки мне нужны ... Я в них планировал формировать видеоданные для очередного ряда знакомест со всеми аттрибутами ... (((

Titus
13.09.2011, 23:27
Блин, а вот межстрочные промежутки мне нужны ... Я в них планировал формировать видеоданные для очередного ряда знакомест со всеми аттрибутами ... (((
Тогда это будет не совсем ВГ75, а просто что-то похожее.

Rokl
17.09.2011, 09:53
Блин, а вот межстрочные промежутки мне нужны ... Я в них планировал формировать видеоданные для очередного ряда знакомест со всеми аттрибутами ... (((

Межстрочные промежутки в РК формируются исключительно с помощью ПЗУ знакогенератора, т.е. ВГ75 формирует межстрочные промежутки даже не предполагая, что они есть.

А для "...формировать видеоданные для очередного ряда знакомест со всеми аттрибутами..." существуют кадровые и строчные СИ.

Lisitsin
17.09.2011, 15:52
А для "...формировать видеоданные для очередного ряда знакомест со всеми аттрибутами..." существуют кадровые и строчные СИ.

За строчные я не успею. Если только без атрибутов или без "Стоп ПДП" всяких. А чтобы в кадровых СИ обрабатываться - памяти не хватает. В прочем, можно сделать так: в кадровых СИ читать все коды символов и атрибутов из видеопамяти, а в строчных СИ пробовать их обрабатывать ... но выигрыш небольшой .

Kakos_nonos
23.04.2012, 17:51
Можно спросить, как идёт процесс? Есть какие-то успехи?

Lisitsin
30.04.2012, 11:22
Можно спросить, как идёт процесс? Есть какие-то успехи?

Пока в замороженном состоянии.
Возникли проблемы с выводом видеоданных на монитор через порт spi атмеги. Гонет почему-то не те данные.
Планируемая раскладка клавиатуры также во вложении.

Lisitsin
28.10.2012, 21:31
Пишу пока Орион
http://zx.pk.ru/showthread.php?t=20183&page=5