PDA

Просмотр полной версии : Retrobyte: универсальная модульная платформа для постройки реплик ретро-компьютеров



Santechnik
06.07.2016, 06:55
Давненько я не заходил на этот замечательный форум. Напомню, что в связи с рождением дочки времени на хобби почти не оставалось и я мог позволить себе только эпизодические маленькие проекты. Но теперь она подросла и у меня появляется все больше свободного времени, так что я постепенно возвращаюсь к теме ретро-компьютеров.
За это время у меня появилось несколько идей как оптимизировать проекты по постройке их реплик и я пришел к идее универсальной модульной платформы для создания реплик ретро-компьютеров на ПЛИС. Я назвал ее Retrobyte. :v2_smoke:
Вот здесь я подробно написал об этой идее:
http://electronicsfun.net/RU/archives/833
В кратце, это недорогая плата размером всего 10х10см с наиболее востребованными элементами для строительства ретро-компьютеров (память, видео, магнитофонные входы/выходы и т.д.). Она не содержит ПЛИС. Вместо этого на нее устанавливается готовый модуль CoreEP4CE10 (http://www.waveshare.com/product/fpga-tools/altera/core/coreep4ce10.htm). Это компактная плата содержащая чип ALTERA Cyclone IV EP4CE10F17C8N (10К LE) и всю необходимую его обвязку, включая осцилятор и flash память. Цена сопоставима с покупкой всех комплектующих (чуть больше $30), но не требует усилий на пайку и экономит время на отладку. Она продается во многих интернет-магазинах и на ebay.
Под конкретный компьютер надо будет только изготовить плату с недостающими элементами и присоединить ее к Retrobyte методом бутерброда. При желании таких плат расширения может быть даже несколько. Этим платам расширения для подключения предоставляется от 104 до 117 пинов ПЛИС, что должно хватить для большинства задач.
Так, если бы я начинал делать "Агат" на базе Retrobyte, то вместо четырехратной переделки и перепайки всей схемы целиком, включая ПЛИС, память, разъемы и пр., я бы только переделывал бы небольшую плату расширения с вариантами контроллеров дисковода и процессором 6502. Это было бы намного дешевле и быстрее.
Я уже собрал первый прототип Retrobyte. Прилагаю его рендер и фотку:
5753957540
Для тестирования идеи и схемы, я решил сделать на нем реплику "Микро-80". В процессе были обнаружены незначительные недостатки, которые я учту в Rev.B платы и выложу в сеть. Кстати, компьютер почти закончен (я готовлю описание и скоро его выложу), так что видимо уже скоро будет готов и окончательный вариант платы.
Мне понравился процесс создания компьютера на этой базе, так как можно избавиться от рутины и переделок и сосредоточиться на самом процессе. Это почти как создание компьютера на плате разроботки (к примеру, DE1), с той разницей, что вся конструкция компактна, не имеет лишнего и уже сразу готова к тому, чтобы убрать ее в корпус и поставить на полку.
По всей видимости "Агат" тоже имеет смысл закончить на этой платформе - у меня ведь еще осталось 9 плат Retrobyte :biggrin:.

Ewgeny7
06.07.2016, 07:58
А куда на этой платке фтыкаются реальные (теплые, ламповые) процессоры и музпроцессоры? ;)
И в чем принципиальная разница от uX-Reverse? (Спекки-2010, АЕОН и т.д.)

CodeMaster
06.07.2016, 08:41
И в чем принципиальная разница от uX-Reverse?

но не требует усилий на пайку и экономит время на отладку.

Как-то так.


А куда на этой платке фтыкаются реальные (теплые, ламповые) процессоры и музпроцессоры?

Под конкретный компьютер надо будет только изготовить плату с недостающими элементами и присоединить ее к Retrobyte методом бутерброда.

Андурино-метод?

Santechnik
06.07.2016, 09:15
Основное отличие - модульность. Имеем только все самое необходимое, остальное пристраиваем под конкретный компьютер. Если нужны все свистелки (Ethernet, второй PS/2 и пр.), то просто ставим их на плату расширения и пристыковываем снизу бутербродом и они не занимают пины ПЛИС если не нужны. Процессоры так же на плату расширения ставятся - больше 100 пинов позволят несколько процов привесить. К примеру, если я решу делать Агат на этой платформе, то мне только потребуется сделать плату расширения (дешевую - 10х10см) с процессором 6502, буферами порта и контроллером дисковода. Можно даже лутом если не сложная. Стыкуется все снизу - на рендере видна куча пинов для этого.
Ну и опять-таки паять 240-ногих монстров каждый раз не надо, так как оно уже на другом модуле привешено.


Андурино-метод?

Точно. :smile: Этакая Ардуино-переросток. ;)

HardWareMan
06.07.2016, 09:44
Все уже украдено, до вас. (http://www.aliexpress.com/item/FPGA-JTAG-EP4CE6-C-EP4CE6E22C8N-ALTERA-Cyclone-IV-FPGA-Development-Board-12-Accessory-Modules-Kits-OpenEP4CE6/32666359173.html) А сколько их под STM32F4/STM32F7 Disovery!

Santechnik
06.07.2016, 10:02
Не подходит :smile: Всего 80 пинов, на которые надо навесить память, видео и пр. Но даже если бы там было вдвое больше пинов, то для каждого компа пришлось бы разрабатывать платы и паять разъемы, память, видео, SD и пр. В Retrobyte весь этот минимум уже есть и еще больше сотни пинов остается для навески железа уникального для компа.
Кстати, использую модуль ПЛИС той же фирмы, что и в ссылке :)

HardWareMan
06.07.2016, 11:05
Их оба есть у меня:
http://savepic.ru/10389472m.jpg (http://savepic.ru/10389472.jpg)
У BGAшного больше юзерпинов, от чего шаг гребенки меньше. Всего делов.

LeoN65816
07.07.2016, 12:29
Ура-а-а-а!!!
Наконец-то появится девятый АГАТик на ПЛИСине! Только прикручивай к нему не 6502, а W65C816S (или софтядро 65816), у него есть режим полной эмуляции 6502, и сколько вкусностей предоставляет! Апгрэйд i8080-компа до Z80 даже в сравнение не идет с этим, это НАМНОГО вкуснее! Реальный АГАТ уже проапгрэйдил до W65C802, теперь делаю турбу к нему.
Обязательно такой соберу/куплю.

Santechnik
17.07.2016, 02:21
Только прикручивай к нему не 6502, а W65C816S (или софтядро 65816), у него есть режим полной эмуляции 6502, и сколько вкусностей предоставляет!
К сожалению они не полностью совместимы с 6502 в части недокументированных опкодов, что может влиять на некоторые программы. Конечно, их мало, но тем не менее. Я сторонник делать наиболее близкие к оригиналу реплики, поэтому я использую реальный 6502. С другим процессором это будет уже не Агат, а его модификация. Но это мои личные тараканы :v2_dizzy_priest: Я не думаю, однако, что будет сложно модифицировать проект под другой процессор - в этом и прелесть модульной архитектуры. ;)

Sergei Frolov
17.07.2016, 19:55
К сожалению они не полностью совместимы с 6502 в части недокументированных опкодов

Я когда-то изучал недокументированные опкоды 6502. Они отличались от производителя (мексиканские/индийские).

LeoN65816
17.07.2016, 20:29
К сожалению они не полностью совместимы с 6502 в части недокументированных опкодов, что может влиять на некоторые программы. Конечно, их мало, но тем не менее.

Какие, например?
Да, согласен с этим на коммодоре или атари... Но на АГАТе уже не первый раз об этом слышу (как аргумент против апгрэйда проца), но не знаю ни одну такую прогу... Могу протестить на 65802.

- - - Добавлено - - -


Я когда-то изучал недокументированные опкоды 6502. Они отличались от производителя (мексиканские/индийские).
Тем более! (Хотя, честно говоря, я сильно сомневаюсь в этом)
Ну вот реально какие проги на АГАТе используют недокументированные коды? Да и как они себя ведут на CM630(Болгария)/Rockwell6502/SCL6502/UM6502, которые реально ставились в серийные АГАТики?
Ну и в эмуляторе с сайта GARNIZONа можно их протестить (там выставить 65C02).

Santechnik
18.07.2016, 10:23
Ну вот реально какие проги на АГАТе используют недокументированные коды? Да и как они себя ведут на CM630(Болгария)/Rockwell6502/SCL6502/UM6502, которые реально ставились в серийные АГАТики?
Ну и в эмуляторе с сайта GARNIZONа можно их протестить (там выставить 65C02).
Чтобы найти такие проги надо все их протестировать на разных конфигурациях, что непрактично. Это как тот суслик, которого не видно, но он есть ;)
Моя логика такая - никто по серьезному новые программы для таких компьютеров писать не будет. Особенно для нестандартных усовершенствований. Так что все эти новые возможности будут скорее всего не использованы, хотя как проект они безусловно интересны. Однако с другой стороны, есть гипотетическая возможность потерять 100% совместимость с оригиналом (к примеру, были программы, портированные с Apple). И здесь надо выбрать что важнее. Для моих целей гарантия совместимости важнее (хотя, конечно, Sergei Frolov озадачил меня разными нестандартными опкодами на разных копиях :v2_confu:). И это совсем не значит, что платформа не поддержит предлагаемое усовершенствование. Даже наоборот - внести его будет намного проще и дешевле, чем в мой изначальный проект реплики "Агат-7" благодаря модульности.

LeoN65816
18.07.2016, 11:22
М-м-м-м... Вот уже второй сферический конь в вакууме... (первый (http://zx-pk.ru/threads/24132-gde-najti-kupit-65802-w65c802-g65sc802-dlya-apgrejda-agata.html?p=747216&viewfull=1#post747216))
Еще раз прошу - дайте конкретики: какое именно програмьё именно на АГАТе использует illegal opcodes?
И особенно это интересно после замечания Сергея Фролова...
Вот про различие 65C02 разных производителей - есть упоминание (BBR, BBS, RMB, SMB, STP, WAI) (http://wilsonminesco.com/NMOS-CMOSdif/), а то, о чем говорит Сергей - сомневаюсь я в этом....
Santechnik, Вы какой проц используете (маркировка)?

Santechnik
18.07.2016, 13:31
Я не являюсь экспертом в Агатах, чтобы знать все программы, но это не важно. Важно то, что чтобы утверждать, что таких программ нет или они есть, надо протестировать их все (и не просто запускается или нет), что никто делать не будет. У вас, LeoN65816, есть интерес к усовершенствованию Агата больше, чем к сохранению его совместимости. Для меня же важнее гарантировать совместимость, чем добавлять функции, которые не используются ни одной существующей программой с потенциальным риском, что какая-нибудь из них перестанет работать. Но на то это и хобби. Так что здесь спор о вкусе фломастеров.
К тому же, насколько я понимаю, предлагаемый процессор совместим попиново с 6502, так что я не вижу причин не использовать его если есть желание.
Для проекта я сейчас использую болгарские СМ630.

Santechnik
31.07.2016, 10:50
Выложил схему, BOM и герберы с исправлениями и улучшениями: http://www.electronicsfun.net/RU/archives/918.
Однако пока не советую его повторять, так как я еще пока не пробовал собрать эту ревизию. Там все еще могут потребоваться изменения. Кстати, в качестве тестирования идеи, я закончил на этой плате "Микро-80". Получилось очень быстро все сделать, так что пока идею с Retrobyte считаю удачной. Я подробнее про этот "Микро-80" попозже напишу - надо всю информацию вместе собрать. А пока для затравки вот ;):57694

LeoN65816
29.03.2017, 19:40
Александр, какие подвижки в проекте? Интересно же! ;)

Santechnik
29.03.2017, 23:50
К сожалению не много :( Планировал летом много сделать пока опять учёба не началась, но куча других дел накопилась и много сделать не получилось.
Пока все на стадии VGA выхода и буфера кадров с контроллером SDRAM.
Семестр заканчивается в июне, так что очень надеюсь как раз за зиму продвинуть проект сколько смогу - у меня до августа каникулы будут.

LeoN65816
13.09.2017, 07:48
Александр, есть какой прогресс?
По поводу платки:
1. Каковы диаметры отверстий и ширина поясков на футпринтах системного разъема, дип-компонентов, разъёмов для CoreEP4CE10?
2. Каков диаметр отверстий и ширина пояска переходных отверстий (via)?
3. Какая ширина проводников и зазоров?
4. В каком каде "рисовал" печатку? Можешь "поделиться" разводкой платки для перенятия опыта?

P.S. С праздником, дорогие товарищи программеры!

LED
24.10.2017, 04:47
Просто посетила мысль и попутно случайно наткнулся на ссылку с этой темой, так что тут и напишу.

Что если сделать платформу с реальным ВМ80 и некоторой мелочёвкой, на реальной ПЛИС, чтоб можно было кнопочкой переключатся между некоторыми платформами на этом проце.
Ну скажем ют88, радио86, орион128, тотже специалист туда бы вошли. Фактически различия там только в соединениях.
Сложность разве что найти финальные версии схем и их различия.

А о чём данный проект, какие платформы вы хотите реализовать?
Это будет плата которая конфигурируется под конкретное железо прошивкой так что становятся доступны реальные порты тех машин, и список машин зависит только от програмистов.
Тут вспоминается что перезаписей ПЛИС не так уж и много.

Или это тоже комбаин с быстрым переключением платформы, но тогда трудновато придётся это всё вталкивать.

Ewgeny7
24.10.2017, 13:07
Тут вспоминается что перезаписей ПЛИС не так уж и много.
У CPLD количество перезаписей ограничено. У FPGA такого понятия нет вообще, она на статической памяти. Ты какую имел ввиду? Автор вроде как Cyclon FPGA использовал, судя по фото.


Что если сделать платформу с реальным ВМ80 и некоторой мелочёвкой, на реальной ПЛИС, чтоб можно было кнопочкой переключатся между некоторыми платформами на этом проце.
Я тоже неоднократно хотел привинтить реалПроц к FPGA, но лень городить сопряжение по уровням сигналов. ПЛИСы как правило 3,3 вольт любят, а древние Ацексы пятивольтовые переехали в музей.

LED
27.10.2017, 08:53
Если в плане уровней, то 3,3в КМОП выходы ТТЛ должно схавать, уж один они утянут, наоборот тоже через резюки.
Но вот с двухсторонней шиной напряг. Хотя насмотревшись Z80, офигиваю насколько примитивен 8080. Давно его не видел, но кажется даже шины односторонние кое где.

Ну раз так, то всётаки в проекте всёравно должны быть порты под слот расширения.
Если в ЮТ88 подключать почти нечего, то к томуже радио86 были интересные приблуды.
Просто видел гдето вариант на плис, там вроде как дальше пары игрушек не пошло и порты даже не делали, хотя и проект не показывали толком.

Сейчас вот думаю подобие эльфа на т34вг1 , только с возможностью превратить в спек кнопочкой. Но там скорее не комбаин, а вырезать лишнее. Скорее всего отключить часть логики и останется только клаву одеть, ну или бутерброд расширения если надо.
Будет первый 2 в 1. Пока что из подобного делали только 8 и 16 бит приставки в одной коробке