Interested Article - Minimig
- 2020-12-08
- 1
Minimig (сокращение от Mini Amiga ) — открытое аппаратное обеспечение , реализующее ПК , совместимый с Amiga 500 на базе ППВМ (FPGA).
Проект Minimig был начат приблизительно в январе 2005 года как концепт голландского инженера-электронщика Дэнниса ван Веерена (Dennis van Weeren). Он задумывал Minimig как ответ на дискуссию происходившую в сообществе пользователей ПК Amiga о принципиальной возможности обратного реверсинга чипсета OCS и его воспроизведения (эмуляции его работы) на базе ППВМ. Исходные коды проекта и принципиальные электрические схемы были опубликованы автором 25 июля 2007 года под лицензией GPLv3 .
9 февраля 2008 анонсировала начало продаж окончательной версии материнской платы Minimig v1.1 стоимостью 138 евро.
Прототип
Прототип проекта Minimig был основан на комплекте Xilinx Spartan-3 Starter Kit и воспроизводил чипсет Original Amiga Chipset (использовавшийся в младших моделях семейства ПК Amiga ) путём его синтеза в ППВМ . Две печатные платы подсоединялись в порты расширения комплекта разработчика ППВМ. Первая из них содержала в себе процессор MC68000 требующий питание 3,3 В . Вторая плата имела MMC -слот с маленьким микроконтроллером PIC используемым как контроллер дисков с поддержкой файловой системы FAT16 и «на лету» выполняющий декодирование файлов образов дискет Amiga в формате .
VGA-+-PS2 (джойстик и т.д.) | ЦП <-> ППВМ <-> Микроконтроллер <-> Флеш-память | ОЗУ
Прототип был представлен на одной из встреч сообщества пользователей Amiga и загружал большинство программ существующих для Amiga 500 , хотя ошибки в эмуляции также присутствовали. Ван Веерен по личным мотивам использовал язык Verilog вместо VHDL на IBM PC-совместимом ПК , а также ПО Xilinx Webpack для разработки исходного кода проекта.
Ряд пользователей предложили упаковать Minimig в устройство аналогичное компьютеру в корпусе джойстика C64 Direct-to-TV и предназначенное для лиц желающих играть в старые игры на Amiga или запускать старое ПО. Однако единичная версия печатной платы нового прототипа разрабатывалась без учёта этих пожеланий, а также произошёл уход от инструментария предоставляемого Xilinx Spartan-3 Starter Kit .
Цели, преследовавшиеся проектом
- Запуск специфичного ПО для Amiga позволяющего конвертировать файлы на другие платформы;
- Запуск ПО доступного только на Amiga;
- Запуск игр для Amiga;
- Получение опыта разработки на базе ППВМ с использованием языка Verilog ;
- Принесение пользы сообществу;
- Доказательство принципиальной возможности проекта;
- Получение возможности создания новых игр которые могли бы воспользоваться новыми возможностями Minimig (быстрой памятью, большим объёмом памяти для спрайтов , палитры и т. д.), при этом сохранив полную обратную совместимость с классической Amiga.
Основные характеристики
Платформа
Для платы Minimig rev1.0:
- ППВМ Xilinx Spartan-3 (XC3S400-4PQ208C) использован примерно на 82 %.
- Процессор Freescale MC68SEC000, 3,3 В , на частоте 7,09379 МГц.
- Шины Amiga ChipRAM и FastRAM объединены в единую синхронизированную шину с частотой 7,09379 МГц.
- 2 Мб 70- нс асинхронной SRAM организованы как 2× 524288 × 16-битные банки.
- MCU PIC 18LF252-I/SP (альтернативой мог бы стать Atmel AVR ) осуществляет эмуляцию работы с диском FAT16 и управляет загрузкой конфигурации ППВМ и Kickstart. Эмуляция дисковода Amiga происходит «на лету» чтением данных из файлов образов дискет Amiga в формате
- MMC -память используется для хранения конфигурации ППВМ, kickstart и ПО эмулируемого компьютера.
- 3× LED -дисплей отображающий дисковую активность, состояние питания и состояние Amiga (не реализованного в Minimig audio-фильтра). Светодиод состояния Amiga может менять свой статус в зависимости от интенсивности использования аудиофильтра.
- Видео ЦАП содержит 4 резистора для каждого из цветов: красного, зелёного и синего (4 бита/цвет) и осуществляет вывод на разъём VGA .
- Звук от 8-битного дигитайзера с сигма-дельто конвертором и 2 аналоговыми фильтрами подряд.
- +5V БП обеспечивает питание платы (~200 mA ).
Возможности ввода-вывода и подключения периферии
- Spare 3x обычный I/O из ППВМ ( )
- JTAG для программирования микросхем (TMS, TDI, TDO, TCK);
- Последовательный порт RS-232 ;
- 2 порта для джойстиков типа Atari 2600 DE-9 M;
- VGA видеоразъём типа DE-15 F (может выводить PAL -совместимые сигналы при подсоединении к SCART );
- Слот для MMC флеш-карты памяти;
- PS/2 -совместимые интерфейсы для клавиатуры и мыши ;
- 3,5 мм аудиоджеки ;
- 2,1 мм джек для +5V БП .
Эмулируется
- Процессор типа Motorola 68000 ;
- OCS / ECS PAL & NTSC видео.
- 512 Кб SRAM для Kickstart используется как ПЗУ .
- 512 Кб SRAM .
- 1024 Кб SRAM ChipRAM.
- -врезка позволяет выбрать образ диска представленный файлом в формате и загрузить его с MMC -карты используя клавиатуру или джойстик.
История создания
Дата | Событие |
---|---|
6 марта 2005 | Старт проекта. Программирование на языке Verilog . |
5 декабря 2005 | Проект анонсирован для широких масс. |
Лето 2006 | Закончено программирование на языке Verilog. |
11 июня 2006 | Опубликована фотография принципиальной схемы платы v1.0. |
15 октября 2006 | Закончена принципиальная схема платы v1.0. |
Июнь 2007 | Невыполненное обещание публикации исходных кодов. |
4 июля 2007 | Последнее редактирование исходников (ядра). |
13 июля 2007 | Создаётся веб-сайт для проекта. |
24 июля 2007 | Исходные коды Minimig опубликованы на официальном веб-сайте. |
Недостатки
- Необходимость использования файла содержащего бинарную копию Kickstart настоящей Amiga 500 защищённого копирайтом . Свободная версия этого ПО существует в проекте AROS , но не является полностью совместимой.
- Микропрограмма Minimig имеет ограничения (проистекающие из использования FAT16 ): один корневой каталог и имена файлов, отвечающие правилу 8.3 .
Инструментарий автора проекта
- Компьютер: Shuttle barebone, Prescott 3 ГГц, 1 Гб ОЗУ ,
- ПО: Xilinx Webpack версии 6.3.03i (2007-07-22 9.1). Время чтения исходного конфигурационного файла .bit = 2 минуты. Кеш и скорость доступа к памяти достаточна для Synthesis + Place & Route в ПО, генерирующем ППВМ.
Перспективы развития
- Возможна доразработка для поддержки более быстрого процессора, чипсетов ECS и AGA , жёсткого диска , Ethernet , маленького RISC -ядра для расширения функций AROS и т. д.
- Использование свободной замены для Kickstart (например, AROS).
- Сетевая версия избавила бы от необходимости замены флеш-памяти.
Обновления
Поддержка Ввода/Вывода
3 сентября 2008 года новое ядро ППВМ включило исправление обнаруженных ошибок в поддержке ввода-вывода, а также некоторые исправления в графике.
Замена контроллера PIC на ARM
22 декабря 2008 года всем желающим была анонсирована замена плат с микроконтроллером PIC (MCU). Такая замена позволяет использовать жёсткий диск и 4 дисковода (вместо 2) и добавляет поддержку записи. Ядро ППВМ остаётся при обновлении тем же самым, меняется только микроконтроллер PIC на новый ARM . Обновление также позволяет выбирать увеличение частоты процессора с 7,09 до 28,36 МГц, что однако не рекомендуется, так как вся нагрузка ложится на ядро (и так работающее с чипом 68SEC000 на частоте 16 МГц).
Поддержка винчестера доступна в стиле виртуальной A600 / A1200 , обладающей параллельным ATA -интерфейсом, который в классической Amiga обеспечивался чипом GAYLE. Также, как и у реальной Amiga , возможен разгон до 551 килобайт/сек после незначительной модификации интерфейсу. По умолчанию же возможен трансфер только ~300 Кб/сек.
Дополнительные 2 Мб ОЗУ
22 декабря 2008 года переразводка печатной платы позволила установить другой набор чипов SRAM что дало увеличение ОЗУ до 4 Мб .
Аналогичные проекты
Illuwatar , частный энтузиаст-разработчик из Швеции , воспользовался правами предоставляемые свободной лицензией и воспроизвёл Minimig в форм-факторе Mini-ITX . Его материнская плата помещается в стандартных корпусах Mini-ITX и имеет размеры 17 × 17 см. Часть разъёмов портов в этой версии Minimig были перемещены на другую сторону материнской платы чтобы выдержать требования стандарта Mini-ITX в части размеров.
В сентябре 2008 года , компания анонсировала начало производства материнской платы Minimig v1. Маркетинговые материалы компании описывают процессор как имеющий частоту 16 МГц, однако в действительности он работает на частоте 7,09379 МГц что соответствует частоте процессора настоящей Amiga 500 .
11 октября 2006 года Йенс Шёнфелд (Jens Schönfeld) из компании продемонстрировал, что они работали над коммерческим Amiga -совместимым ПК , свёрнутым в ППВМ, весь 2006 год , и проект под рабочим названием « » получился в целом аналогичным Minimig. Однако, в отличие от Minimig, материнская плата Clone-A была разработана с привлечением команд разработчиков из третьих фирм и потребовала в производстве очень мощного логического анализатора . Получившаяся система использовала клоны чипов на замену известных чипов CIA, Paula, Gary, Agnus и Denise использованных в настоящей классической Amiga производства Commodore . Также использовался оригинальный процессор производства Motorola . Финальные версии чипов представленные на CeBIT поддерживали чипсет AGA и рабочий параллельный порт для поддержки игр для 4 игроков.
Wolfgang Förster несколько раньше завершил проект Atari ST , свёрнутой в ППВМ.
(расшифровывается как Native Amiga, что значит «настоящая Amiga», а также созвучно женскому имени Наталия ) — проект Amiga-совместимого ПК с закрытыми исходниками, позволяющего пользователям запускать ПО для классической Amiga, а также позиционируемый как приведение дизайна классической Amiga к современным стандартам.
Во вводных материалах по Natami рассказывается об использовании нового 3D -ядра служащего для ускорения трёхмерной графики, а также процессора известного как «68050» и являющегося «довеском» по отношению к семейству процессоров m68k . Основная черта «68050»: он более совместим с 68000, чем с 68060, однако имеет более развитую систему команд и работает на более высоких частотах. Используя технологию ППВМ, создатели Natami стремились воссоздать следующее поколение классических ПК Amiga которое по-мысли команды разработчиков Commodore начала бы производить если бы не обанкротилась в 1994 году .
Примечания
- . Архивировано из 9 апреля 2012 года.
- . Дата обращения: 16 октября 2009. 5 октября 2011 года.
- . Архивировано из 28 сентября 2007 года.
- . Архивировано из 9 апреля 2012 года.
- Page3
- . Архивировано из 9 апреля 2012 года.
- 25 сентября 2008 года.
- . Архивировано из 9 апреля 2012 года.
- ↑ . Архивировано из 9 апреля 2012 года.
- . Дата обращения: 2 октября 2017. 7 апреля 2016 года.
- . Дата обращения: 2 октября 2017. 7 апреля 2016 года.
- . Архивировано из 9 апреля 2012 года.
- 18 апреля 2009 года.
- от 27 сентября 2007 на Wayback Machine 2007-03-09 amigaworld.net
- . Дата обращения: 17 октября 2009. 9 сентября 2009 года.
Ссылки
- от 27 мая 2010 на Wayback Machine (англ.)
- (англ.)
- от 20 июля 2011 на Wayback Machine (англ.) со от 3 марта 2009 на Wayback Machine
- (англ.)
- (англ.)
- (англ.) (находится в фазе II)
- (англ.)
- (англ.)
- (англ.)
- (англ.)
- (фр.)
- и (англ.)
- (англ.) июль 2008
- 2020-12-08
- 1