18. 11. 2013

Harmonie v krabičce


Když jsem tu před pár lety (2009?) psal referát o mém novém Atari 2600 Junior, stěžoval jsem si na hloupou kazetu s nálepkou 32 in 1. Ano, byla hloupě navržená. Navíc hry, co obsahovala – darmo mluvit. Bylo jasné, že pro plnohodnotné využití této nevšední herní mašinky bude nutné časem přejít na vyšší level a pořídit Harmony Cartridge. Rozhýbal jsem se sice až po 4 letech, ale pozdní start aspoň znamená, že jsem přišel již k za ty roky vyladěné konstrukci a firmware.

Pro ty z vás, co přesně netuší, o čem chci psát, tak Harmony Cartridge je v podstatě jedna z oněch dnes již běžných flešovacích kártridží, na které si nahrajete všechny hry a pak nevíte co se zbylým místem, které najdete na Nintendu, Segách, Komodorech, vlastně i Spektru. První verze byla do prodeje vypuštěna v roce 2009. Harmony je logicky navržena tak, aby bylo možno spustit na originálním Atárku VCS pokud možno všechny hry a další programy. Vzhledem k historickému vývoji a faktu, že 2600 neumí adresovat více jak 4 kB ROM, existuje v mnoha kártridžích stránkování paměti (bankswitching). Navíc zde máme standardy s dodatečnou RAM (např. systém RAM Plus u hry Tunnel Runner) nebo dokonce koprocesor v kártridžích (hra Pitfall II). Harmony tohle všechno zvládá. Emulace probíhá díky této konfiguraci:

70 MHz ARM7 CPU – ten to vše řídí
8 kB SRAM – pro emulaci přídavných RAM v kartridžích
32 kB flash – pro emulaci vlastních ROM
512 kB EEPROM – firmware

Pokud jsou nějaké hry a programy, které Harmony nezvládá, pak to musejí být pouze a jen ty, které překračují výše uvedené parametry ROM a RAM. Jedna taková tu bezesporu je, a to Boulder Dash, vydaná v roce 2012. Důvod? Hra používá 32 kB vlastní RAM.




Z hlediska koncepce a historického vývoje si uvedeme následující důležitou souvislost:

Harmony Cart = Melody Board + daughter board

Melodie a harmonie. Ano, Harmony je postavena na produktu zvaném Melody Board. Melody zde tedy byla logicky před Harmony, a má přesně ty parametry, co Harmony (ARM CPU, SRAM, flash - uvedeny výše), až na SD slot a 512 kB EEPROM – to jsou komponenty na dceřinné desce specifické u Harmony. Melody board je tedy jedna jediná deska, za účelem zhotovení vlastní kártridže pro danou hru či program, s výhodami parametrů zde uvedenými. Harmony je rozšíření této desky o další, která z ní dělá spouštěčku her a programů z SD karty. Když už jsem tu zmínil Boulder Dash – ano hra fyzicky používá Melody Board a namísto standardních 8 kB SRAM je tam osazeno hned 32 kB.

Samotné hry si uložíte na SD nebo mikro SD kartu, to podle toho, jakou verzi Harmony máte. Já jsem si zvolil mikro SD a určitě nelituji. Je kompaktnější (s menším otvorem) a karta se v ní celá schová. Pokud si neobjednáte verzi Deluxe, musíte si SD kartu dokoupit. Postačí koupit tu nejlevnější, co najdete. Moje mě stála nějakých 80 Kč a je to 2 GB Transcend. Fungovat by měly i novější SDHC karty, ale maximálně do velikosti 32 GB. Podporované souborové systémy jsou FAT 32 (ten je doporučen) nebo FAT 16 či 12. Hry se na kartu kopírují na PC bez přítomnosti Harmony, takže musíte mít čtečku SD.

Je dobré upozornit na to, že Harmony používá pro zobrazení menu jen základní souborové prohlížení. Je třeba tomuto faktu přizpůsobit způsob uložení her a programů na kartě. Vzhledem k tomu, že celá tvorba pro Atari 2600 se pohodlně vměstná pod 10 MB (můj hrubý odhad), místa je habaděj a můžete vymýšlet nejrůznější podsložky, třídění, duplikovat co hrdlo ráčí, aniž byste si lámali hlavu, kam to všechno složit. Jelikož ale razím heslo „V jednoduchosti je síla“, nelámal jsem si hlavu vůbec, a všechny hry napral rovnou do kořenového adresáře na kartě. Znáte to, zapnete to, chcete si zahrát a místo toho nějaké procházení složek? Ne ne. Systém navigace je totiž i tak velmi rychlý, neboť lze přímo stránkovat pohybem vpravo (dopředu) a vlevo (dozadu). Navíc nemusíte v názvech používat ani přípony – Harmony správně detekuje typ kártridží i bez nich – o to víc je to přehlednější. Také jsem vše převedl do velkých písmen. Čitelnost je totiž poněkud horší – fonty jsou dost malé a hlavně je vše zobrazováno prokládaně a tudíž to i dost bliká. Inu, omezení Atárka vs detailnost zobrazení, vs co zvolili programátoři. Mám tam aktuálně 448 her a zabírají 2,88 MB. Jsou sice víceméně přebrané (doslova roky mi leželi v PC a čekali na onen den D), ale nevylučuji, že časem pár z nich vyperu do pryč. To, pokud zjistím, že první dojem byl špatný dojem. Ke kopírování her na kartu snad už jen jednu poznámku: Pokud chcete zachovat abecední pořadí, kopírujte vždy celý seřazený adresář. Pokud přidáte jen jeden soubor, Harmony ho zobrazí v menu až na posledním místě bez ohledu na jeho název.




Harmony Cartridge pro svou činnost používá firmware, řídící program, který je časem vylepšován. Proto je občas nutné jej aktualizovat. Přechod na novou verzi se provádí opět na PC, ale se zapojenou Harmony přes USB (potřebujete kabel s koncovkou mini B), přesněji USB emulací sériového protokolu (snad to píšu dobře). Je to nějaká kravina, co se po připojení hlásí jako FTDI nebo FTD232 či kýho čerta, a musel jsem si ten ovladač do Windows XP stahovat. V kártridži musíte mít i SD kartu, neboť na ni se uloží i nějaký aktualizační soubor. Pak už každopádně spustíme aplikaci Harmony Cart, zvolíme příslušný firmware (BIOS) a provedeme kroky, co jsou polopaticky uvedeny přímo v aplikačním formuláři. Kártridž poté odpojíme od USB, a aktualizace je dokončena po zapojení do samotného VCS. Já jsem si Harmony aktualizoval téměř ihned, protože jsem chtěl mít firmware ve verzi PAL 50 Hz, a Harmony se dodává jen s NTSC. Sice mě zpočátku mírně zamrazilo, když se díky mým zašpiněným či zmrzačeným USB portům noutbuku z druhé ruky nedařilo firmware v PC flešnout, ale vše vyřešila rychlá konzultace na Atari Age a hlavně použití starého dobrého desktopu. Podle nejnovějších zpráv se zdá, že šlo o nedostatečné napájení v průběhu flešování. Mě ty USB porty v noutbuku ale blbnou tak často, že už silně zvažuju jak je vyměnit.

Zmiňoval jsem se zde o hře Pitfall II a speciálním koprocesoru. Tvůrce hry David Crane, který začal svou kariéru coby designer čipů, se rozhodl rozšířit možnosti zastarávajícího Atari 2600 a navrhnul DPC (display processor chip). Crane doufal, že rozšířené možnosti zobrazování a zvuku prodlouží životnost VCS. To se bohužel nestalo, a Pitfall II byla tak jedinou komerční hrou, která navíc využívala DPC pouze po zvukové stránce (hudba hrající na pozadí) a nikoliv po stránce grafické.

O mnoho let později to některým lidem nedalo a rozhodli se oprášit tyto myšlenky a vymysleli DPC +. DPC + je možné do praxe implementovat díky v Harmony a Melody obsaženým ARM procesorům a začínají vznikat první hry, které ukazují na potenciál tohoto konceptu. Space Rocks, Stay Frosty 2, anebo například Frantic. Nebudu zde uvádět detaily DPC ani DPC+, ale porovnejte původní Asteroids co běží na holém Atari 2600 a Space Rocks, pro které potřebujete DPC+ (čili ARM v Melody/Harmony).



Závěrem si můžeme shrnout důvody, proč si takovou Harmony Cartridge pořídit:

- snadné spouštění her bez nutnosti vlastnit a vyměňovat fyzické kártridže
- možnost snadno spouštět upravené hry
- možnost snadno spouštět nové hry, dema, programy
- ARM koprocesor, ROM a RAM znamenají významný potenciální technologický upgrade vašeho Atárka VCS
- minimálně morální podpora a zadostučinění pro autory tohoto konceptu


Odkazy:

zde objednávejte Harmony Cartridge
stažení nejnovějšího firmware a obslužného software pro PC
Melody Board
Space Rocks