Interested Article - Minimig

Minimig 120×120 мм ( форм-фактор Nano-ITX )

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 и ПО эмулируемого компьютера.
  • LED -дисплей отображающий дисковую активность, состояние питания и состояние Amiga (не реализованного в Minimig audio-фильтра). Светодиод состояния Amiga может менять свой статус в зависимости от интенсивности использования аудиофильтра.
  • Видео ЦАП содержит 4 резистора для каждого из цветов: красного, зелёного и синего (4 бита/цвет) и осуществляет вывод на разъём VGA .
  • Звук от 8-битного дигитайзера с сигма-дельто конвертором и 2 аналоговыми фильтрами подряд.
  • +5V БП обеспечивает питание платы (~200 mA ).

Возможности ввода-вывода и подключения периферии

Эмулируется

  • Процессор типа 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 в ПО, генерирующем ППВМ.

Перспективы развития

  • Использование свободной замены для 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 году .

Примечания

  1. . Архивировано из 9 апреля 2012 года.
  2. . Дата обращения: 16 октября 2009. 5 октября 2011 года.
  3. . Архивировано из 28 сентября 2007 года.
  4. . Архивировано из 9 апреля 2012 года.
  5. Page3
  6. . Архивировано из 9 апреля 2012 года.
  7. 25 сентября 2008 года.
  8. . Архивировано из 9 апреля 2012 года.
  9. . Архивировано из 9 апреля 2012 года.
  10. . Дата обращения: 2 октября 2017. 7 апреля 2016 года.
  11. . Дата обращения: 2 октября 2017. 7 апреля 2016 года.
  12. . Архивировано из 9 апреля 2012 года.
  13. 18 апреля 2009 года.
  14. от 27 сентября 2007 на Wayback Machine 2007-03-09 amigaworld.net
  15. . Дата обращения: 17 октября 2009. 9 сентября 2009 года.

Ссылки

  • от 27 мая 2010 на Wayback Machine (англ.)
  • (англ.)
  • от 20 июля 2011 на Wayback Machine (англ.) со от 3 марта 2009 на Wayback Machine
  • (англ.)
  • (англ.)
  • (англ.) (находится в фазе II)
  • (англ.)
  • (англ.)
  • (англ.)
  • (англ.)
  • (фр.)
  • и (англ.)
  • (англ.) июль 2008
Источник —

Same as Minimig