Když už jsem si do Amigy 500 přidal PiStorm, rozhodl jsem se ji dále vylepšovat. Původně jsem tento článek chtěl nazvat „Kolik Raspberry Pi se vejde do Amigy“ 🙂 , ale Raspberry Pi jsou vlastně jen dvě a sekundují jim dva kousky ARM Cortex M3. Druhé Raspberry Pi dělá HDMI výstup díky projektu RGBtoHDMI. Disketovou jednotku jsem nahradil Gotek USB floppy emulátorem s FlashFloppy firmwarem. No a když už jsem měl v Amize RGBtoHDMI a Gotek, celé jsem to doplnil FF OSD (BluePill ARM STM32) a propojil s Amiga klávesnicí. Tím mám displej Goteka přimíchaný do obrazu a Gotek můžu pohodlně ovládat z klávesnice Amigy.
DPS na RGBtoHDMI i FF_OSD jsem použil s GitHub Solarmon, konkrétně CPLD verzi RGBtoHDMI a rev.2 FF OSD. RGBtoHDMI pro Amigu 500 od Solarmon se připojuje jako adaptér na čip DENISE a bere si z něj všechny potřebné RGB signály. Existuje spousta variant fyzického připojení RGBtoHDMI do Amigy, i od jiných uživatelů, ale základní dvě se liší použitím buď malého CPLD XC9572 nebo diskrétních 74LVC574 a 74LVC86. Zkoušel jsem obě varianty a obě fungují v pohodě. Sympatičtější je mi verze s CPLD, protože je konstrukčně jednodušší.
Pro RGBtoHDMI potřebujete ještě Raspberry Pi Zero, ze kterého se pak bere HDMI výstup. To se dnes hůře shání, ale použít jde asi i o něco dostupnější verze Zero 2 W, ale to jsem nezkoušel. Projekt je „bare metal“, nepoužívá OS, takže stačí stáhnout poslední release, nahrát na FAT32 microSD kartu a jedete. Ovládání je přes jedno nebo tři tlačítka a pokud máte verzi s CPLD, RGBtoHDMI firmware si ho detekuje a jako první Vám nabídne naprogramování CPLD. Nemusíte tak mít žádný Xilinx JTAG programátor, všechno jde skoro samo. Já osobně používám ovládání jedním tlačítkem, kde krátký stisk udělá na SD kartu screenshot, delší stisk vede do menu. V menu kratší stisk posunuje po položkách a delší stisk dělá volbu dané položky. Položek je v menu celkem dost, ale zase tak moc v něm „řádit“ nemusíte. Já si nastavil vyhovující formát obrazu a celkem se mi líbí i zapnuté scanlines, byť RGBtoHDMI neumí nejnovější featurky s shadow mask, jak je dnes populární na RetroTINK 5x nebo MiSTer a samozřejmě to nevypadá tak parádně. Bez scanlines mi obraz přijde trochu přejasený, ale je pěkně ostrý, což by člověk tak nějak očekával. Sejmuté screenshoty jsou samozřejmě perfektní.
Když obraz srovnám s RGB výstupem Amigy připojeným přes SCART do RetroTINK 5x (obrázek v úvodu příspěvku), nepřijde mi rozdíl nijak markantní. Navíc obrovská výhoda standardního RGB výstupu je přimíchání audia do SCART a tím i do TV. Při použití RGBtoHDMI musíte audio z Amigy zapojit odděleně. Pro dema je stejně fajn mít pořádné repráky, ale je to prostě méně pohodlné.
Gotek s FlashFloppy firmwarem každý zná, není tady asi co řešit. Prostě koupíte skoro jakýkoli Gotek na eBay, flashnete FlashFloppy firmware podle návodu a jedete. O jedinou vychytávku se tady postaral Uunek, který mi vytisknul tento projekt, který obsahuje držák na desku z Goteku a umožňuje přidat displej, který je vidět přes standardní floppy „díru“ Amigy, přes kterou jsou ovladatelná i tlačítka. Ani jedno z toho, na druhou stranu, díky FF OSD moc nepotřebujete, ale zase proč ne.
FF OSD je vlastně jen software do Blue Pill. To je malá vývojová destička s STM32F103, bacha ale na fejky. FF OSD vytvořil Keir Fraser, což je ten samý člověk, co stojí za FlashFloppy a Greaseweazle. Umožňuje dvě věci. Za prvé dělá to, jak se jmenuje, a to je přenesení Gotek OLED displeje do obrazu Amigy (Speccy, Amstrad CPC, …). Nemusíte tedy koukat na malý OLED displej, ale vše máte pohodlně před očima. To oceníme zvláště my, co se jim s přibývajícími lety výrazně zkracují ruce a bez brýlí a lupy ty titěrné OLED vůbec nedávám. Druhá super vlastnost je, že se FF OSD umí „hacknout“ na Amiga klávesnici a některé klávesové zkratky využít pro sebe. Tím můžete FlashFloppy snadno ovládat, aniž byste museli sahat na tlačítka Goteku. L.Ctrl + L.Alt + šipky dělají Prev, Next a Select, L.Ctrl + L.Alt + Help vyvolá FF OSD konfigurační menu. Geniální.
Solarmon udělal na Blue Pill destičku malý adpatérek, který zapojení zjednodušuje. Už jeho verze RGBtoHDMI s ní počítá a tak jen oboje propojíte přímo konektorem. Gotek a FF OSD musíte propjit několika drátky a 3 drátky musíte zapojit i do Amigy. Jeden je pro přimíchání obrazu do RGB výstupu a pokud vám stačí FF OSD v obrazu RGBtoHDMI, tak ho nepotřebujete. Další 2 jsou připojení Amiga klávesnice a pokud se obejdete bez ovládání z Amiga klávesnice, také je nepotřebujete.
Obraz OSD vložený do RGB výstupu je zelený a má lehce narůžovělý rámeček okolo, malinko se chvěje, ale opravdu jen lehce. Obraz OSD vložený do RGB2HDMI je bílý, bez rámečku, ale vlní se celkem hodně. Je to dané synchronizací hodin Amiga a FF OSD a asi se s tím nedá nic dělat nebo jsem na to zatím nepřišel. Ideální by bylo poslat OSD data do RGBtoHDMI digitálně a on by si OSD obraz vytvořil sám. To by pak bylo na pohodu, ale vyžadovalo by to spolupráci a nějakou datovou komunikaci mezi FF OSD a RGBtoHDMI, resp. jeho Raspberry Pi. Třeba časem, někde jsem zahlédnul zmínku, že se na něčem takovém pracuje.
Tak teď už mám z Amigy 500 fakt nadupanou mašinu. Doplňky zcela jistě výkonově mnohonásobně předčí bývalý procesor 68000, resp. asi bych tam tu Amigu rozjel emulovaně několikrát, ale tím, že jsou to všechno „jen“ doplňky, mám tak nějak pocit, že je to pořád ta stará dobrá původní Amiga 500, jen pohodlnější na práci 😉
Nechci být hnidopich, ale není už lepší tu Amigu emulovat třeba v RPi Pi 4000 kde už všechno je? Ušetří se 2 Rpi a originál A500 ;-). V čem spočívá výhoda vyšší rychlosti A500, když jsou programy napsané přímo pro A500 s původní rychlostí? Ptám se zcela upřímně…
Není 🙂 Furt je to Amiga a ne soft emulátor 😉 To už pak mám raději MiSTer. Rychlost je pro moje účely celkem zbytečně velká, ale super je integrace diskového řadiče na SD kartě a u původního PiStorm i pohodlné sdílení souboru po WiFi. Celé to i velmi rychle startuje, což je taky příjemné.