A Minimig (a Mini Amiga rövidített formája) az eredeti Amiga 500-as személyi számítógép FPGA-alapú és GNU GPL, azaz nyílt forráskódú újra-implementációja.
Történet A Minimig projekt 2005 januárjában indult és Dennis van Weeren holland villamosmérnök elképzelésén alapul. Élénk vita folyt akkoriban az Amiga közösség fórumain arról, hogy vajon lehetséges-e FPGA-val megvalósítani az Amiga egyedi csipkészletét. Ez a vita indította arra Weeren-t, hogy hobbiprojektként belefogjon a megvalósításába.
A munka első része az eredeti csipek és az egész csipkészlet működésének a visszamodellezése (reverse engineering) volt, majd a felhasználás helyén programozható logikai kapumátrixszal (FPGA) való megvalósítása következett. Az áramkörtervezés Verilog hardverleíró nyelvvel történt. Körülbelül egy évbe telt, mire a Minimig prototípus bebootolt és futtatni volt képes az első programot (mely egyébként a Lemmings videójáték volt).
A Minimig első változata a Digilent, Inc. Spartan-3 FPGA starter áramköri lapja köré épült, melyet a fejlesztő egy Motorola 68000-es CPU-val, egy VGA-kompatibilis fejlesztett videókimenettel és egy PIC mikrovezérlőn alapuló floppy-vezérlővel egészített ki. Ezek után helyezte át az egész dizájnt egy saját maga által tervezett 12x12cm-es nyomtatott áramköri lapra (NYÁK, vagy PCB). Ez lett a Minimig rev 1.0.
A projekt forráskódja és áramköri rajzai GNU GPL 3 licenc alatt kerültek közzétételre 2007. július 25-én.
A projekt alapján az ACube Systems sorozatban gyártott Minimigeket.
2022. február 10-én Ranko Rodic fejlesztő közzétette a Minimig v1.8-as változatát, melynek legfontosabb fejlesztései a következők:
Gyári Motorola 68000 és kompatibilis processzorok támogatása (CMOS/NMOS; 5V és 3,3V) PiStorm gyorsítókártya támogatása 4 MiB SRAM, melyből 2 MiB chipram, 512 KiB ROM és 1,5 MiB slow RAM megnövekedett alaplap-méret, egy oldalra rendezett portokkal 4 rétegű nyomtatott áramkör
A további tervek között szerepel az AGA chipset támogatása, az SRAM-ok cseréje DDR SDRAM-ra, hajlékonylemezes (FDD) és merevlemezes (HDD) meghajtó csatlakozó integrálása a lapra, stb.
Műszaki leírás A Minimig rev 1.0 egyetlen 12x12 cm-es NYÁK-lapon valósult meg és minden olyan elemet tartalmaz, amely egy teljes értékű Amigát jellemez. Nincs ugyanakkor sem floppy-meghajtója, sem pedig merevlemeze, hanem ezek helyett egy MMC memóriakártya-olvasóval lett felszerelve és egy PIC vezérelte floppy-emulátorral. A memóriakártya hordozza a floppy-lemezképfájlokat (ADF), melyek egy erre szolgáló képernyőmenüből (OSD) "tölthetők be" a Minimig-be. Négy fő fizikai része van a hardvernek:
CPU FPGA RAM PIC mikrokontroller
A lapka 1.1-es revíziója minimális hibajavításokat tartalmaz, új funkcionalitást nem ad az 1.0-s rendszerhez, mellyel teljes mértékben kompatibilis.
Processzor A Minimig a Motorola 68000-es CPU egy speciális változatát, a Freescale gyártmányú MC68SEC000-t használja. Ez egy 3,3 és 5,0V-on egyaránt működő alacsony fogyasztású processzor, mely bináris kód kompatibilis a Motorola korábbi MC68EC000 típusú gyártmányával. Elődjéhez hasonlóan ez a CPU is maximum 16 MB memóriát képes címezni, ugyanakkor 10/16/25 MHz-en működik.
FPGA Ez az elem képezi a Minimig lelkét, mely egy Xilinx gyártmányú, 400 ezer logikai kapuáramkört tartalmazó Spartan-3 programozható logikai kapumátrix. A többi fő rendszerelem (CPU, RAM) közvetlenül kapcsolódik ehhez az FPGA-hoz, mely lényegében az eredeti Amiga custom chipjeit valósítja meg, úgymint: Denise, Agnus, Paula, Gary és mindkét 8520-as CIA (Complex Interface Adapter). Megvalósítja továbbá az Amber chip egyszerűsített változatát, így VGA-monitorok is csatlakoztathatók. Ezeken túlmenően az FPGA végzi az automatikus joystick/egér átkapcsolást, a PS/2-ről Amiga-billentyűzetre, illetve egérre való konvertálást, továbbá az OSD-menü generálást. Ezek a funkciók nem léteztek az eredeti Amigákban, de jelentősen megkönnyítik a használatot. A Spartan-3 egy RAM-alapú FCPGA, melynek rendszermagját a rendszerindulás során kell betölteni. Ezt a feladatot a PIC látja el.
Memória A Minimig 1.0-s revíziójú lapkájára 2 MB 70 ns-os Chip RAM van forrasztva. Ez a RAM használatos mindhárom típusú memória, azaz a Kickstart ROM, a Chip RAM és a Fast RAM céljára. Minthogy a Minimignek nincsen Kickstart foglalata, ezért a korábbi ROM-tartalmat lemezképfájlból kell betölteni a bootolás során, mely feladatot a PIC végzi. Ennek az egyszer betöltött és a RAM megfelelő 512 KB-os helyére beírt tartalomnak a további felülírása bénítva van, így hasonlóan működik a ROM-hoz, illetve még inkább az Amiga 1000 "writable control store" (WCS), vagy "write once memory" (WOM) megoldásához. A fennmaradó 1,5 MB RAM oszlik meg a Chip RAM és a Fast RAM között.
Mikrokontroller A Microchip Technology által gyártott 8 bites 18LF252/SP típusú PIC mikrovezérlő játssza a "BIOS" szerepét. A tápfeszültség megjelenése után ez a PIC tölti be az FPGA rendszermagját, a Kickstart image-t a RAM-ba és működik floppy-emulátorként. A PIC firmware-e tartalmazza az MMC kártya, illetve a FAT16 meghajtóprogramjait, továbbá OSD kezelőt.
Specifikáció Egy-két jellemző modell specifikációja Jellemző Minimig v1.0 Minimig v1.8 Minimig v1.97itx CPU Freescale MC68SEC000 3,3V, 7.09379 MHz 5V NMOS/CMOS és 3.3V CMOS MC68000 Freescale MC68SEC000 3,3 V,7.09-58 MHzFreescale MC68HC000 3,3 V,7,09-32 MHz RAM 2 MB 70 ns RAM (512 KB "ROM" + 1,5 MB Chip RAM/Fast RAM) 4 MB SRAM (512 KB "ROM" + 2 MB Chip RAM + 1,5MB Slow RAM) 6 MB RAM Chipset Original Chip Set (OCS) és Enhanced Chip Set (ECS) u.a. u.a. Kép 12 bites színpaletta (4096 szín). 32, 64, (EHB) illetve 4096 (HAM mód) képernyőszínű grafikus módok:
320×200 – 320×400i (NTSC) 320×256 – 320×512i (PAL)
Grafikus módok 16 képernyőszínnel:
640×200 – 640×400i (NTSC) 640×256 – 640×512i (PAL)
Grafikus módok 2, illetve 4 képernyőszínnel:
1280×200 – 1280×512i és 640×480p60 (VGA) 4 képernyőszínnel 800×600i60 (Super72) 2 képernyőszínnel u.a. u.a. Hang 4× 8 bites PCM csatorna (2 sztereó csatorna) max. 28-56 kHz mintavételi frekvencia; DMA támogatás u.a. u.a. Cserélhető tároló SD kártya (floppy emuláció) u.a. u.a. Audio/video kimenet VGA video kimenet (DE-15F)Audio kimenet (3,5mm jack) u.a. u.a. I/O portok 2× egér/játék port (DE-9M)RS-232 soros port (DB-9F)PS/2 billentyűzet portJTAG debug portGPIO port u.a. u.a. Alaplap méretek 12x12 cm 12x12 cm 17x17 cm (Mini-ITX) Rétegek 4 réteg 4 réteg 6 réteg OS AmigaOS u.a. u.a.
Minimigen alapuló projektek Mini-ITX MiniMig A szintén GPL licenc alatt publikált projekt, a nevéből adódóan, egy áttervezett Minimig alaplapot takar, mely méretében (17x17cm) és elrendezésében megfelel az ITX-szabványnak. Ezen túlmenően azonban további fejlesztések is történtek, ezek:
Áttervezett, kapcsolóüzemű tápellátás normál PC tápegységhez való csatlakoztatás végett; S-Video és kompozit video kimenet, TV-re való csatlakoztathatóság miatt; RCA audio kimenet jack helyett; Új PIC18LF452 típusú PIC és ICSP beépítése, a PIC firmware-ének soros porton keresztüli programozhatóságához; Tűs csatlakozók a soros porthoz és a joystick/egér portokhoz, hogy szabadon kivezethetők legyen egy ITX-ház dizájnhoz illeszkedve.
A legfrissebb alaplap revízió az 1.97itx, mely 2023. május 18-án jelent meg. Tűs csatlakozó szolgálja a LED, illetve a gombok kivezetéseit az ITX házba. Az alaplapra integrált fast ram 6 MB-ra emelkedett. MIST A Till Harbaum által kifejlesztett rendszert a Minimig inspirálta, mely Atari ST-t és Amigát implementál FPGA-ba. Különbség a Minimighez képest, hogy a Motorola 68000 CPU szintén az FPGA része, tehát nem fizikailag különálló elem. MiSTer A MIST inspirálta Alexey Melnikovot, aki egy Terasic gyártmányú DE10-nano fejlesztői készleten épített hasonló rendszert. Bővíthetőségével tűnik ki társai közül, mert legalább 5-féle "daughterboard" lapka áll rendelkezésre képességei gyarapítására.
Jegyzetek
Források
Fordítás
Kategória:Számítógépek Kategória:Amiga Kategória:Személyi számítógépek Kategória:Egykártyás számítógépek