Minimig

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

Minimig (сокращение от Mini Amiga) — открытое аппаратное обеспечение, реализующее ПК, совместимый с Amiga 500 на базе ППВМ (FPGA).

Проект Minimig был начат приблизительно в январе 2005 года как концепт голландского инженера-электронщика Дэнниса ван Веерена (Dennis van Weeren). Он задумывал Minimig как ответ на дискуссию происходившую в сообществе пользователей ПК Amiga о принципиальной возможности обратного реверсинга чипсета OCS и его воспроизведения (эмуляции его работы) на базе ППВМ. Исходные коды проекта и принципиальные электрические схемы были опубликованы автором 25 июля 2007 года под лицензией GPLv3.

9 февраля 2008 ACube Systems анонсировала начало продаж окончательной версии материнской платы Minimig v1.1 стоимостью 138 евро.[2]

Содержание

Прототип

Прототип проекта Minimig был основан на комплекте Xilinx Spartan-3 Starter Kit и воспроизводил чипсет Original Amiga Chipset (использовавшийся в младших моделях семейства ПК Amiga) путём его синтеза в ППВМ. Две печатные платы подсоединялись в порты расширения комплекта разработчика ППВМ. Первая из них содержала в себе процессор MC68000 требующий питание 3,3 В. Вторая плата имела MMC-слот с маленьким микроконтроллером PIC используемым как контроллер дисков с поддержкой файловой системы FAT16 и «на лету» выполняющий декодирование файлов образов дискет Amiga в формате .ADF.

     VGA-+-PS2  (джойстик и т.д.)
         |
ЦП <-> ППВМ <-> Микроконтроллер <-> Флеш-память
         |
        ОЗУ

Прототип был представлен на одной из встреч сообщества пользователей Amiga[3] и загружал большинство программ существующих для 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 В, на частотеt 7,09379 МГц.
  • Шины Amiga ChipRAM и FastRAM объединены в единую синхронизированную шину с частотой 7,09379 МГц.
  • 2 Мб 70-нс асинхронной SRAM организованы как 2× 524288 × 16-битные банки.
  • MCU PIC 18LF252-I/SP[4] (альтернативой мог бы стать Atmel AVR) осуществляет эмуляцию работы с диском FAT16 и управляет загрузкой конфигурации ППВМ и Kickstart. Эмуляция дисковода Amiga происходит «на лету» чтением данных из файлов образов дискет Amiga в формате .ADF
  • MMC-память используется для хранения конфигурации ППВМ, kickstart и ПО эмулируемого компьютера.
  • LED-дисплей отображающий дисковую активность, состояние питания и состояние Amiga (не реализованного в Minimig audio-фильтра). Светодиод состояния Amiga может менять свой статус в зависимости от интенсивности использования аудиофильтра.
  • ВидеоЦАП содержит 4 резистора для каждого из цветов: красного, зелёного и синего (4 бита/цвет) и осуществляет вывод на разъём VGA.[5]
  • Звук от 8-битного дигитайзера с сигма-дельто конвертором и 2 аналоговыми фильтрами подряд.
  • +5V БП обеспечивает питание платы (~200 mA).

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

  • Spare 3x обычный I/O из ППВМ (GPIO)
  • JTAG для программирования микросхем (TMS, TDI, TDO, TCK);
  • Последовательный порт RS-232;
  • 2 порта для джойстиков типа Atari 2600 DE-9M;
  • VGA видеоразъём типа DE-15F (может выводить PAL-совместимые сигналы при подсоединении к SCART);
  • Слот для MMC флеш-карты памяти;
  • PS/2-совместимые интерфейсы для клавиатуры и мыши;
  • 3,5 мм аудиоджеки;
  • 2,1 мм джек для +5V БП.

Эмулируется

  • Процессор типа Motorola 68000;
  • OCS/ECS PAL & NTSC видео.
  • 512 Кб SRAM для Kickstart используется как ПЗУ.
  • 512 Кб SRAM SlowRAM.[6]
  • 1024 Кб SRAM ChipRAM.
  • OSD-врезка позволяет выбрать образ диска представленный файлом в формате .ADF и загрузить его с 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 Silicon compiler в ПО, генерирующем ППВМ.

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

  • Возможна доразработка для поддержки более быстрого процессора, чипсетов ECS и AGA, жёсткого диска, Ethernet, маленького RISC-ядра для расширения функций AROS и т. д.
  • Использование свободной замены для Kickstart (например, AROS).[7]
  • Сетевая версия избавила бы от необходимости замены флеш-памяти.

Обновления

Поддержка Ввода/Вывода

3 сентября 2008 года новое ядро ППВМ включило исправление обнаруженных ошибок в поддержке ввода/вывода, а также некоторые исправления в графике.[8]

Замена контроллера PIC на ARM

22 декабря 2008 года всем желающим была анонсирована замена плат с микроконтроллером PIC (MCU). Такая замена позволяет использовать жёсткий диск и 4 дисковода (вместо 2) и добавляет поддержку записи.[9] Ядро ППВМ остаётся при обновлении тем же самым, меняется только микроконтроллер PIC на новый ARM. Обновление также позволяет выбирать увеличение частоты процессора с 7,09 до 28,36 МГц, что однако не рекомендуется, так как вся нагрузка ложится на ядро (и так работающее с чипом 68SEC000 на частоте 16 МГц).[10]

Поддержка винчестера доступна в стиле виртуальной A600/A1200, обладающей параллельным ATA-интерфейсом, который в классической Amiga обеспечивался чипом GAYLE. Также, как и у реальной Amiga, возможен разгон до 551 килобайт/сек[11] после незначительной модификации интерфейсу. По умолчанию же возможен трансфер только ~300 Кб/сек.[12]

Дополнительные 2 Мб ОЗУ

22 декабря 2008 года переразводка печатной платы позволила установить другой набор чипов SRAM что дало увеличение ОЗУ до 4 Мб.[9]

Аналогичные проекты

Illuwatar[13], частный энтузиаст-разработчик из Швеции, воспользовался правами предоставляемые свободной лицензией и воспроизвёл Minimig в форм-факторе Mini-ITX. Его материнская плата помещается в стандартных корпусах Mini-ITX и имеет размеры 17 × 17 см. Часть разъёмов портов в этой версии Minimig были перемещены на другую сторону материнской платы чтобы выдержать требования стандарта Mini-ITX в части размеров.

В сентябре 2008 года, компания ACube Systems анонсировала начало производства материнской платы Minimig v1. Маркетинговые материалы компании описывают процессор как имеющий частоту 16 МГц, однако в действительности он работает на частоте 7,09379 МГц что соответствует частоте процессора настоящей Amiga 500.

11 октября 2006 года Йенс Шёнфелд (Jens Schönfeld) из компании Individual Computers продемонстрировал, что они работали над коммерческим Amiga-совместимым ПК, свёрнутым в ППВМ, весь 2006 год, и проект под рабочим названием «Clone-A» получился в целом аналогичным Minimig. Однако, в отличие от Minimig, материнская плата Clone-A была разработана с привлечением команд разработчиков из третьих фирм и потребовала в производстве очень мощного логического анализатора. Получившаяся система использовала клоны чипов на замену известных чипов CIA, Paula, Gary, Agnus и Denise использованных в настоящей классической Amiga производства Commodore. Также использовался оригинальный процессор производства Motorola. Финальные версии чипов представленные на CeBIT поддерживали чипсет AGA и рабочий параллельный порт для поддержки игр для 4 игроков.[14]

Wolfgang Förster[15] несколько раньше завершил проект Atari ST, свёрнутой в ППВМ.

Natami (расшифровывается как Native Amiga, что значит «настоящая Amiga», а также созвучно женскому имени Наталия) — проект Amiga-совместимого ПК с закрытыми исходниками, позволяющего пользователям запускать ПО для классической Amiga, а также позиционируемый как приведение дизайна классической Amiga к современным стандартам.

Во вводных материалах по Natami рассказывается об использовании нового 3D-ядра служащего для ускорения трёхмерной графики, а также процессора известного как «68050» и являющегося «довеском» по отношению к семейству процессоров m68k. Основная черта «68050»: он более совместим с 68000, чем с 68060, однако имеет более развитую систему команд и работает на более высоких частотах. Используя технологию ППВМ, создатели Natami стремились воссоздать следующее поколение классических ПК Amiga которое по-мысли команды разработчиков Commodore начала бы производить если бы не обанкротилась в 1994 году.

Примечания

  1. Minimig rev 1.0 PCB. Архивировано из первоисточника 9 апреля 2012.
  2. «Minimig available» announcement by Acube Systems
  3. HCC Commodore GG meet.
  4. PIC18F252. Архивировано из первоисточника 9 апреля 2012.
  5. Minimig schematics v1 Page3
  6. Photo Album. Архивировано из первоисточника 9 апреля 2012.
  7. AROS Kickstart ROM Replacement bounty (Phase II)
  8. News. Архивировано из первоисточника 9 апреля 2012.
  9. 1 2 Forum. Архивировано из первоисточника 9 апреля 2012.
  10. YouTube — ARM Controller for the Minimig
  11. youtube.com.
  12. Forum. Архивировано из первоисточника 9 апреля 2012.
  13. Mini-ITX MiniMig
  14. Individual Computers at CeBit, Clone-A presentation on 2007-03-31 2007-03-09 amigaworld.net
  15. S Like Suska

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Полезное


Смотреть что такое "Minimig" в других словарях:

  • Minimig — 120x120 mm PCB board (Nano ITX size) [1] Minimig (short for Mini Amiga) is an open source re implementation of an Amiga 500 using a field programmable gate array (FPGA). Minimig started in secrecy around January 2005 as a proof of concept by… …   Wikipedia

  • Minimig — es un proyecto de hardware libre y software libre realizado por Dennis van Weeren que replica la arquitectura interna de un ordenador Amiga 500 utilizando para ello una FPGA. El proyecto Minimig comenzó su desarrollo en torno a Enero del año 2005 …   Wikipedia Español

  • Amiga — This article is about the family of home computers. For other uses, see Amiga (disambiguation). The former Amiga logo, as used by Commodore Amiga Inc …   Wikipedia

  • Amiga — Letztes offizielles Logo Der Commodore Amiga (spanisch amiga: ‚Freundin‘) war ein von Mitte der 1980er bis Anfang/Mitte der 1990er weit verbreiteter Computer, der besonders in seinen Einsteigermodellen (A500 und A1200) als Heimcomputer beliebt… …   Deutsch Wikipedia

  • Amiga — 500 Amiga  семейство домашних персональных компьютеров и операционных систем к ним, разработанные Amiga Corporation …   Википедия

  • Commodore Amiga — Amiga Cet article a pour sujet les ordinateurs Amiga. Pour une définition du mot « amiga », voir l’article amiga du Wiktionnaire …   Wikipédia en Français

  • Amiga 500 — Commodore Amiga 500 An Amiga 500 computer system, with 1084S RGB monitor and second A1010 floppy disk drive Release date 1987 Discontinued 1991 …   Wikipedia

  • C-One — The C One The C One is a single board computer (SBC) designed by Jeri Ellsworth, a self taught designer, and Jens Schönfeld from Individual Computers, who manufactured the boards themselves. It was initially created in 2002 as an enhanced… …   Wikipedia

  • History of the Amiga — The following history of the Amiga documents the development and commercial history of the Amiga, a home computer product line manufactured from the middle 1980s up to today.Amiga CorporationThe Amiga s chipset was designed by a small company… …   Wikipedia

  • Amiga-Computer — Letztes offizielles Logo Der Commodore Amiga (spanisch amiga: Freundin) war ein von Mitte der 1980er bis Anfang/Mitte der 1990er weit verbreiteter Computer, der besonders in seinen Einsteigermodellen (A500 und A1200) als Heimcomputer beliebt war …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»