Kniha návštěv

Minimig 1.1 (ACube systems) - Miniaturní Amiga 500 na bázi FPGA

Článek popisuje první dojmy z komerčně zrealizovaného projektu Dennisa von Weerena firmou Acube systems.

Protože Minimig od doby svého uvedení dosáhl značná vylepšení, doporučuji k přečtení zejména poslední kapitolu "o hardwarových a softwarových vylepšeních Minimigu".

Úvod

Dlouho očekávaný balíček z anglického AmigaKitu dorazil. Zásilka skrývala malou černou krabičku, kde se nacházela samotná deska, manuál, 2 jumpery, a zdroj. Deska nemá továrně vyráběnou kasli, uživatel si musí desku zamontovat do vlastní krabičky nebo zakoupit skříň zvlášť. Samotná fa Acube nabízí Crystal case (částečně průhledné kryty spodku a svršku zafixované šrouby), designér Loriano Pagni (TheDaddy) nabízí svou plnohodnotnou variantu sříně v černé a bílé barvě.

obr: balíček Minimigu z Amigakitu


Jak si opatřit vhodnou kasli?

Jak už bylo předesláno, Minimig prodává Acube systems jen jako holou desku, bez jakékoliv kasle. Pokud chcete ušetřit peníze za nákup poměrně drahé tovární skříně, budete si muset příhodný kryt zhotovit sami. Deska má čtvercové rozměry necelých 120 mm, po všech čtyřech stranách pak obsahuje konektory.

obr: Minimig zabudovaný do amatérsky vyrobené kasle

Jelikož v době psaní recenze nebylo k dispozici žádné průmyslové řešení vhodné pro umístění této desky, postavil jsem si kryt sám. Předem upozorňuji, že se jedná o amatérské řešení, ale rozhodně je to praktické, protože válet Minimiga po stole je dost nevhodné.

obr: Minimig v amatérsky vyrobené kasli, svrchní pohled


Jako kryt jsem použil plastový box na 10 ks CD. Kdysi jsem ho koupil společně s 10 prázdnými audio CD Emgeton. Plast je docela pevný, takže je pro tyto účely vhodný.
Desku vložíte dovnitř na dno krabičy, označíte si rozmístění konektorů a ovtorů na šrouby. Na příslušných místech vyštípnete otvory pro konektory a desku dovnitř zafixujete pomocí čtyřech šroubů. Víčko nakonec můžete ještě přelepit izolepou, aby se krabička již neotevírala. Přestavba není nijak moc náročná a zvládne ji každý, kdo umí trochu s pilkou, případně můžete některé otvory vyleptat například nažhaveným šroubovákem.
Z praktického hlediska již nyní není nebezpečí poškození statickou elektřinou a navíc při připojování a odpojování periférií nemusíte uchopit desku, ale držíte pouze krabičku.

obr: Minimig zabudovaný do amatérsky vyrobené kasle, spodek, fixace desky na 4 šroubky

 

Zapojujeme

Po spěšném prolistování návodu jdeme zapojovat. Nejdříve ale přidáme jumper na pozici 31 Khz video, abychom mohlli Minimig provozovat na klasickém monitoru LCD. Minimig vyžaduje monitor schopný zobrazil frekvenci 50 Hz, což je obnovovací frekvence PALu, a ne každý LCD monitor to dokáže, většinou bohužel začínají až od 56 Hz.
K Minimigu dále zapojíme klávesnici PS2 (to je nutnost, kvůli ovládání OSD menu Minimigy), PS2 myš, klasický Amiga joystick (jsou zde standardně 2 porty), VGA DSUB výstup na monitor. Najdeme tu také Sériový port. Konečně připojíme napájení (bohužel Mimimig nemá zapínání ON/OFF a tudíž si musíme vystačit s vyhazování adaptéru ze sítě), audio výstup (použit je konektor jack) a nakonec vložíme do slotu kartu SD.

obr: deska Minimigu po zapojení všech důležitých periferií

 

Příprava paměťové karty SD

Minimig pracuje pouze s daty na paměťové kartičce SD. Karta musí být naformátována na formát FAT16, a mnohdy tedy nestačí mít kartičku naformátovanou od výrobce, proto ji nejdříve zformátujte a zvolte filesystém FAT. Na FAT16 můžete formátovat karty velikosti až 2 GB včetně.
Nyní musíme na SD nakopírovat soubory minimig1.bin (to je firmware, tedy jakýsi BIOS, který se stará o ovládání počítače), dále kick.rom (kickstart Amigy, musí být nezakódovaný velikosti 524 288 bajtů, měla by fungovat jakákoliv verze kickstartu pro A500/600/2000), a v neposlední řadě musíte na kartu nakopírovat rozličné soubory ADF, známé z emulátorů jako obrazy Amiga disket.
Bohužel karta nepodporuje adresáře, tak je nutné vše vložit do základního adresáře (root).

obr: Minimig načítá firmware a kickstart

 

Startujeme

Vše zapojeno a připraveno, můžeme zapojit adaptér Minimigu do sítě. Chvíle napětí, monitor se zapíná a probíhá dekrunchovací sekvence, všeobecně známé proužky), v tom momentě mimimiga načítá své firmware a obraz kickstartu. Poté (tedy asi 25 sec od zapnutí) se již objevuje známá disketa, upozorňující na vložení diskety do mechaniky.
V tomto momentě nezbývá než stisknout klávesu F12 na klávesnici a nebo tlačitko MENU na Minimigu a na obrazovce se objeví OSD menu s několika možnosti.
Ukazuje aktuální vloženou disketu v DF0:, možnost vyjmutí a vložení nové diskety (resp. obrazu diskety), pak je zde funkce reset a exit - k ukončení menu). V menu se pohybujete nahoru / dolů (klávesy Page up/Down), výběr se provádí klávesou Home. Menu opustíte opětovným stiskem F12.
Poté co zvolíte soubor, Minimig ho očmuchá, a pak už vesele bootuje..
Hry ovládáte klasickým Amiga joystickem, vše jede jak má. Amiga myš se používat nedá, oba porty jsou pouze joystickové. Myš v PS2 jede v pohodě.

obr: Minimig připraven
obr: OSD menu Minimigu

 

Co kompatibilita?

Hned na úvod musím říct, nečekejte od toho kvalitu starého železa. Jedná se o emulovaný čipset, a podle toho to zatím taky funguje. Tím nechci říct, že je to špatné, ale chci upozornit na to, abyste nečekali, že vám vše pojede, jako na opravdové Amize.
Mimimig obsahuje procesor 68000, čipset se emuluje přes SPARTANa3. Dále tu máme 2 MB paměti a jiné.
Emulace GRAFIKY: zde je znatelná slabina. Mnohé hry jedou, ale obsahují drobné grafické bugy. Například mizející sprite, blikající část overscanu, chybějící část grafiky apod.
Emulace ZVUKU: velmi dobrá, zřítkakdy blbne.
Řešení paměti: Systému je přístupná 1,5 MB paměti. Jedná se o 1 MB CHIP mem a 0,5 SLOW mem.
Emulace řadiče floppy: rychlost mechaniky je prakticky shodná s klasickou floppy mechanikou, ale pochopitelně už necvaká..

obr: Project X v podání Minimigu

 

A co diagnostika?

Program SysInfo nám naměří hodnotu rychlosti navlas stejnou jako u Amigy 2000, tedy 1.34 rychlosti Amigy 600.

sysinfo7
obr: Sysinfo naměří na Minimigu rychlost Amigy 2000 (Yakubeho firmware)

 

obr: Amiga DOS 1.3 na Minimigu

 

Závěrem

Jistě zajímavé řešení, ale trochu nepříjemně překvapí nižší kompatibilita. Přecijen za 4000 tisíce by člověk čekal více muziky v tomto směru, když už se to dotáhlo do komerční podoby. A tak nezvbývá než doufat, že se časem i tento problém vyřeší. Dalším pomyslným mínus je absence krabičky, ne každý uživatel je schopen vyrobit si adekvátní funkční kasli a válet desku minimigu po stole není pravé ořechové.
Výhodou je jistě velikost nebo spíš mrňavost řešení, dostupnost DSUB VGA konektoru a možnost provozu v módu 31 Khz.

obr: SWIV v podání Minimigu

 

Všimli jsme si

- Když připojíte Minimig k LCD monitoru, obraz je velmi dobrý, ale při horizontálním scrolování je možné si všimnout jistého houstnutí a řídnutí pixelů. Podobně jako to vidíme např. u interního flixerfixeru Amigy3000. Holt LCDčka mají jiná nativní rozlišení než by se v tuto chvíli hodilo, ale není to celkově zas tak špatné. * Autor kvalitních updatů firmware pro Minimig - Yaqube, na jedné internetové diskuzi k tomuto uvádí, že pouze LCD, které umí nastavit svůj "sampling clock" na 910 pixelů na řádku je schopné zobrazit obraz bez těchto distorzí (což prý zvládají např. některé starší modely EIZO). *


Tabulka kompatibility některých her / programů

HRA KICKSTART JEDE Poznámka
4D Sports Driving 1.3 ANO  
9 Lives 1.3 ANO  
Alfred Chicken 1.3 NE  
Alien Breed 1.3 ANO neviditelný sprite hlavního hrdiny!!!
Alien Breed Tower Assault 1.3 NE  
Agony 1.3 NE  
All Terrain Racing 1.3 NE  
Apidya 1.3/2.0 NE zavaří se při startu
Arabian Nights 3.1 NE nevezme druhou disketu
Deluxe paint III v 3.00 1.3 ANO  
Directory Opus 4 1.3 ANO  
Elf 1.3 NE zamrzne
Elfmania 1.3 BUG graficke chyby ve stupnicich energie
Enigma (demo) 1.3 BUG v závěru zamrzne
Exile 1.3 ANO  
Eye of the Beholder 2 3.1 ANO ale nedá se ukládat tudíž nepoužitelné
Fire & Ice 1.3 BUG neviditelný sprite hlavního hrdiny!!!
Fire & Ice XMAS ed. 1.3 BUG neviditelný sprite hlavního hrdiny!!!
First Samurai 1.3 NE  
Fly Harder 1.3 NE  
Flying Shark 1.3 ANO  
Goblins 1.3 ANO  
Golden Axe 1.3 ANO grafické bugy v textu hlášek
Moonshine Racers 1.3 BUG až do hry jde, ale na prvním stanovišti grafické bugy a tudiž konec
Mr Nutz 1.3 NE  
Pinball Dreams (harddisk loader) 1.3 ANO  
Pinball Fantasies 1.3 ANO  
Project X 1.3 ANO bug, neviditelné či špatně zobrazující se titulky, ve hře blbne overscan vpravo
R-Type 1.3 ANO  
R-Type II 1.3 ANO mírné grafické bugy
Rodland 1.3 ANO  
Ruffian 1.3/2.0 NE/ANO trochu pomalejší fade efekt
SWIV 1.3 ANO blbnou barvy písmen se score
SysInfo 3.24 2.0 ANO  
The Great Giana Sisters 1.3 ANO  
Traps' n Treasures 3.1 ANO blbne sprajt hlavní postavy
Turrican 1.3 ANO neviditelné ale funkční rozprašky-zbraň při stisku mezeníku
Turrican 2 1.3 ANO neviditelný sprite Turricana v demu, jinak OK
Turrican 3 3.1 ANO zkažená grafika obrazovky při nahrávání levelů
Uridium 2 3.1 ANO  
Videokid 1.3 ANO chyba grafiky ukazatele životů, jinak OK
X-Out 2.0 ANO při výběru raketky může být problém s myší
Z-Out 1.3 ANO  

 

Updaty firmwaru

Jak bylo výše uvedeno, Minimig obsahuje svůj programový kód ve firmware jednak v souboru minimig1.bin, který při každém zapnutí pokaždé načítá ze SD karty, další část je naprogramovaná na čipu PIC na desce. Protože updatovat firmware má kardinální význam zejména pro zvýšení kompatibility a rozšíření funkčnosti emulace, zmíníme se jak na to.

Bohužel první problém spočívá v tom, že fa Acube montovala do svých Minimigů čipy PIC, které nebylo možno softwarově updatovat (neobsahovaly tzv. bootloader). Kvůli tomu nebylo možné zásadní update Minimigu provést, protože nové updaty vyžadují rovněž update tototo PICu. Naštěstí fa AmigaKit to řešila tak, že výměnou zákazníkovi posílala již takový, který bylo možné updatovat. To byl i můj případ.

minimig in case
obr: Minimig v plné kráse :) již s novým PIC švábem, schopným aktualizace

 

PŘEHLED FIRMWARŮ

2007 10 07 - původní firmware použitý i pro Minimig od Acude
2008 04 27 - aktualizovaný firmware, schopný použít 256kb ROMky i kódované, obsahuje též určité testy hardware a chybové hlášení
2008 08 04 - Jakub Bedrarski (Yakube) připravil rozsáhlou aktualizaci firmware (PIC i FPGA), která řeší mnohé problémy s kompatibilitou chipsetu, přidává podporu zápisu na obrazy disket, rozšiřuje schopnosti OSD menu, umožňuje použití romky freezeru Action Replay III
2008 09 09 - Boing4000 připravil další neoficiální firmware na bázi Yakubeho updatu, přidává možnost zvýšení taktu CPU 68000 na 14 Mhz

Brzy po začátku prodeje Acube minimigů se objevila též jedna modifikace firmware, která řešila určitým způsobem na bázi NTSC režimu problém zobrazení PALu na moderních LCD, schopných zobrazit pouze 56 Hz a více.

JAK NA UPDATE?

1. Příprava aktualizace PICu

Ze stránek Dennisa Vanweerena si stáhněte nejnovější update. Je tam i Yakubeho update, který silně doporučuji a jeho se také týká popis kompatibility, která následuje.
Dále budete potřebovat TinyBootloader – prográmek pro PC, který po propojení Minimiga s PC sériovým laplink kabelem naprogramuje aktualizaci PICu. Najdete ho v sekci Links.

1. Vlastní aktualizace PICu

Vyzbrojeni softwarem, propojte PC s Minimigem sériovým Laplink kabelem.
Na Minimigu přehoďte jumper z FPGA pozice na MCU.
Zapněte PC i Minimig.

tinyboot

Spusťte Tiny Bootloader, nastavte příslušný sériový port, klikněte na CheckPIC a během následujících 4 sekund musíte stisknout PGM reset tlačítko na Minimigu. Pokud se zobrazí podobné následujícímu:

Connected to \\.\COM1 at 115200
Searching for PIC ...
Found:18F 252o/452o

Program našel PIC a je možné ho aktualizovat. Vyberte soubor *.hex, který obsahuje aktualizaci PICu a klikněte na "Write Flash" a hned stiskněte reset tlačítko Minimigu, začne proces, který po ukončení by měl ohlásit WRITE OK.. Chvíli vyčkejte a poté vypněte PC i Minimig. Na Minimigu nezapomeňte přehodit jumper z pozice MCU zpět na FPGA.

PIC
obr: PIC kontroller, který je potřeba aktualizovat

Nyní stačí nakopírovat soubor minimig1.bin na SD kartu a tím jste úspěšně aktualizovali svůj Minimig.


Podrobnější popis firmware Yakubeho z 2008-08-04

Update představuje mílový krok ve funkčnosti Minimigu, proto si popíšeme příslušné změny trochu podrobněji.

SCANDOUBLER

Týká se interpolace grafiky v jednotlivých rozlišeních. Je možné nastavit úrověň změkčení grafiky odděleně pro lores i hires. Funkci najdete v hlavním menu v položce SETTINGS.

settings

OSD Menu

Rovněž samotné MENU doznalo změny a jeho vzhled je nyní částečně průhledný. Menu je nyní možné ovládat i pomocí joysticku. Najdete zde nové položky v kolonce SETTINGS:
Konfigurace paměti: možnost navolit tyto varianty paměti (512KB chip, 1MB chip, 512KB chip/512KB slow, 1MB chip/512KB slow)
Volba kickstartu: můžete zvolit variantu kickstartu, podporování jsou 512kb i 256kb verze, nekódované

Nyní je možné rovněž celý systém zresetovat pomocí Reset volby v OSD menu )

menu

68K BOOTLOADER

Nová zaváděcí obrazovka s informacemi o verzi firmwaru, konfigurací čipsetu a stupnicemi natahování romek.

fw page

ZMĚNY V ČIPSETU

- ECS Blitter
- možná volba PAL/NTSC
- změny v blanking timing, display, sprite, copper DMA + disketovém & klávesnicovém interfejsu, zajišťující vyšší kompatibilitu

ZÁPIS NA DISKETY

Je podporován zápis na obrazy disket ADFka v rámci standard sectors, což dostačuje na většinu operací jako je ukládání pozic ve hrách, zápis souborů apod.

writable

ACTION REPLAY III CARTRIDGE

Podpora típacího modulu Action replay, vyžaduje příslušnou ROMku uložit na SD kartu pod názvem AR3.ROM. Nejnovější verze 3.17 funguje s kickstarty 1.3 a 2.04. Režim cartridge vyvoláte stisknutím klávesové kombinace CTRL+Pause/Break.

ar3ar3ins
obr: Action Replay III v akci běžící na Minimigu

Tento modul vám přinese příjemné možnosti v podobě zejména zpříjemnění hraní her. Můžete si s ním zajistit nekonečné životy, típat obrázky a hudbu, zasahovat do paměti či ukládat obsah paměti na disketu či do rezervované paměti pro příští vybavení (tzv. savestates) a mnoho dalšího.

Co přináší Yaqubeho aktualizace v praxi?

Potěší především značně vyšší kompatibilita spouštění her a méně případných chyb jejich běhu. Značnou váhu má také podpora zápisu na diskety a v neposlední řadě potěší i možnost natáhnutí modulu AR III. Úspěšně jsem tak uložil na disketu pozici ve hře Turrican 3 a později pokračoval dále.

Co se kompatibility týká nejvíce napoví seznam funkčních / nefunkčních her s provedeným update. Hry jsou spouštěny na konfiguraci 512 kb Chip/512 KB Slow RAM, Kickstart 1.3 s aktivovaným modulem AR III. Funkční hry jsou označeny zeleně, nefunkční červeně, ty které obsahují výraznější bugy černě. U těch her, které s dřívějším FW nešly nebo šly se značnými chybami připisuji vykřičník. Mnohé jsem ale zkoušel již jen s novým firmware, tak tam už vykříčník nepíšu.

Agony !
Alfred Chicken !
All Terrain Racing !
Alien Breed !
Apidya !
Arabian Nights
Babylonian Twins
Dune II
Elf !
Fire and Ice !
First Samurai !
Fly Harder
Nicky Boum
Nicky II

Toki
Traps' n Treasures
Trolls

Turrican
Turrican 3
Twintris
U.N. Squadron

Unreal
Uridium 2
Zool

gamesyfire
alfredatr
obr: Záběry z několika her, které bez aktualizace nešly

Jak vidno, přestože ještě jsou hry, které spustit nejdou, rapidně se situace vylepšila. Ve většíně her, které dříve chodily se značnými grafickými chybami, tyto problémy již odpadly.


Boing4000 patchnutá Yaqubeho aktualizace – bombónek nakonec

Acube do svých Minimigů montuje procesory 68000 taktované na 16 Mhz, CPU však v emulaci pracuje pouze s taktem 7 Mhz, jak je tomu u A500, což zajišťuje nejvyšší možnou kompatibilitu. Mnohé však napadlo, zda nejde alespoň pro vyzkoušení zajistit vyšší takt i pro emulaci. Toto se podařilo Boing4000-ovi, který upravil Yaqubeho firmware, které nyní zajišťuje emulaci s taktem 14 Mhz. Autor poskytuje aktualizaci bez záruky, nicméně, v praxi to funguje. Ne vždy mi však Minimig s tímto firmware najel, zpravidla až tak na třetí pokus. Nicméně, funguje to. Například ve hře Dune II je takovéto zrychlení velmi užitečné.

PIC
obr: Obrazovka SysInfa na Minimigu s Turbopatch Boing4000 firmware

 

O hardwarových a softwarových vylepšeních Minimigu

Od doby uvedení Minimigu na trh firmou Acube (rok 2008) uplynulo již několik málo let. Za tu dobu pár nadšených uživatelů (zejména yakube a boing4k) navrhli a vyvinuli mnohá vylepšení, která dramaticky zvyšují funkčnost Minimigu.

Hardwarová vylepšení

ARM Kontrolér (k dispozici od dubna 2009)

Jedná se o dokonalejší náhradu obvodu PIC, který má na starosti řízení I/O. Desku navrhl Jakub Bednarski, autor zlepšovacích firmware pro Minimig. Tato destička s procesorem ARM se nasadila namísto původního obvodu PIC a přinesla tato zlepšení:

- rychlejší start (díky rychlejšímu načítání firmware)

- podpora karet SDHC

- 1-4 virtuální disketové mechaniky k dispozici o rychlosti 1-2x namísto původní jedné

- snadná změna ROMky a velikosti paměti přímo z OSD menu

- podpora hardisku, virtuální soubory hardisku přímo na SD kartě

- podpora zápisu na diskety i hardisky

- možnost v menu snadného zvýšení rychlosti taktu procesoru z původních 7 Mhz na 28.8 Mhz

- možnost v menu snadného zvýšení rychlosti čipsetu z normal na fast

- abecedně řazené položky souborů v menu (podpora dlouhých názvů a adresářů)

writable

Dále bylo možné učinit tzv. SPI modifikaci, urychluju

 

 

Poznámka: Recenze není kompletní, bude se dále zdokonalovat

Sepsal Amigoun

Sepsal a odzkoušel Amigoun, amiga1200 zavináč volny tečka cz