Tag: Cartridge

RETROID Starcade Game Vault C64 cartridge

… a DIY alapokon készített bővítőmodul


Még 2021-ben gondolkodtam el azon, hogy az Amigás tápegységek és az egyéb korábbi C64-es kiegészítők után valami igazán egyedi saját DIY projektbe kellene belevágnom: ekkor született meg a gondolat, hogy készítek egy C64 cartridge multigame bővítőkártyát. Gyerekkoromban mindig csodáltam ezeket a kütyüket, de manapság a Magic Desk technológia újragondolásának köszönhetően igazából annyira nem is bonyolult a történet, így hát életre hívtam a Retroid Starcade Game Vault Cartridge projektemet.

Viszont ha már ebbe belefogok, akkor tényleg end-to-end én akartam mindent megcsinálni: a NYÁK-ot, a forrasztást, az alkatrészek beszerzését, a szoftveres programozást és minden egyebet, sőt! Nem úgy ismerem magam, hogy csak hányaveti módon készítek egy csupasz cart-ot, adjuk meg a módját rendesen. Ez alapján végül 3d nyomtatott shell, egyedi doboz dizájn és egy raszteres cracktro-féle intró is társuljon akkor már a dologhoz.

A projekt egyik előzménye, hogy régóta próbálkoztam már a forrasztás elsajátításával és mostanra jutottam el oda, hogy egész szépen sikerülnek az ilyen jellegű feladatok. Sok korábbi kísérletezés eredménye a mostani – persze, mint a legtöbb dologhoz ehhez is megfelelő felszerelés szükséges, de szépen lassan mindenem meglett hozzá. A tapasztalat mellett a megfelelő forrasztóállomás és hegy, speciális folyasztószer, forrasztószalag, csipeszes állvány, valamint IPA és nyák-tisztítószer is szükséges ahhoz, hogy tényleg szép eredmények szülessenek.

A másik, hogy több – korábban szervizelt – C64-em halálozott el ilyen-olyan hibákkal az évek során és egy tervezett javítás csalódást keltő eredménye okán szántam rá magam annyira, hogy komolyabban nekiálljak SK foglalkozni a dolgokkal. A NYÁK-okat egy éve Mackó barátommal a BME Elektrotechnikai tanszékén már legyártottuk (fontos volt, hogy ami csak lehet, itthon készüljön, így nem a PCBWay-féle megoldást választottam) – ráadásul ez egy kicsit átalakított, egyedi, fekete színű és mindenféle védőréteggel ellátott verzió lett végül, amelyet a lenti fotókon is láthattok.

A dolog odáig fajult, hogy szép lassan elkezdtem foglalkozni a C64 lelkivilágával is: mérnökként nem állt túlzottan távol tőlem a mikroelektronika, a mérőműszerek és a kapcsolódó fogalmak ismerete, így szép lassan jópár C64-es lapot sikerült diagnosztizálni, esetenként pedig megjavítani. A következő projektem ennek okán egy saját építésű C64 lesz Sixtyclone alapokon, de ez már egy másik történet.

Ötletek

A lényeg, hogy az ominózus “élesztési” eseten túltéve magamat (fogtam, megcsináltam magam inkább), elkezdtem szépen felhajtani a szükséges alkatrészeket: a logikai kapukat, az EEPROM-okat, kondenzátorokat, vásároltam EEPROM-író készüléket és elkezdtem alaposabban megismerkedni a Magic Desk Cartridge converter ASM kódjával, a memóriacímzésekkel és a regiszterek működésével is. Szépen lassan elkészült az első prototípus cartridge, amellyel elkezdtem tesztelni valódi hardveren a korábban GTK-Vice alatt összerakott szoftvercsomagot – visszatekintve talán a cracktro készítéssel kísérleteztem a legtöbbet, de a végső verzió menürendszerében még tracker-alapú SID muzsikát is sikerült beszuszakolnom a memóriába, amely kellően kellemes, loopolt és mégis egészen apró (egészen pontosan 3kb) méretű. Száz szónak is egy a vége: a socketelt, ráadásul bővített 1Mbyte (8x128kb) háttértárral bíró változat végre életre kelt és a tesztek is jónak mutatkoztak – pár apróságtól eltekintve, amit néhány napnyi ráfordítás révén sikerült kijavítanom.

A legtöbbet egyébként az egyes szoftverek memória inicializáló és töltő rutinjai mellett magával a demóval bíbelődtem. Mindenképp olyat szerettem volna, ami klasszikus módon, dallammal és rasztercsíkokkal variál a képernyőn és fontos volt az is, hogy az ott levő üzenet tényleg közvetlen és a játékosnak címzett legyen. A demót napokig próbálgattam, mire elérte a végleges formáját, aztán jött a tömörítés (crunching) és az optimalizáció, hogy ne csak emulátorban, de valódi vason is megfelelően fusson, de azért spóroljak a tárhellyel is.

Ehhez általában a Kollár Zoli-féle (nyugodjék békében) 1541SD floppy drive emulátort és a monitor programot használtam – no meg a PC-re készült DirMastert, amellyel tökéletesen lehet lemezképfájlokat és mindenféle fájlstruktúrás hókuszpókuszt készíteni. Mikor a demó már nem fagyott ki a memóriacímzés miatt, úgy kellett az indítórutint módosítani hozzá, hogy ne arra a területre írjon, amelyik a Magic Desk menü asm loaderjének fenntartott tartomány – ezzel is elbíbelődtem néhány órát, de sikerült átalakítani a betöltőrutint úgy, hogy ne üsse egymást a kettő.

C64 multicart cartridge DIY programming
Mindenféle tool a szoftveres programozáshoz: monitor, assembler, python-alapú compiler és hasonlók…

Forrasztási feladatok

Mikor megvoltam ezzel is, jöhetett a valódi forrasztás: az első tesztpéldányon sokat bíbelődtem, mert ezzel teszteltem ki tulajdonképp a logikai kapukat, az EEPROM típust, a reset funkciót a tact switch-el és a socketeket is. A forrasztás is egész szépre sikerült, azonban a korrózió elkerülése miatt kellett vásárolnom a forrasztás után visszamaradt gyanta és egyéb anyagok eltávolítására szolgáló szereket. Az Izopropyl-alkohol bár a zsír és a legtöbb szennyeződést oldja, nem elegendő – más szóval szükség volt egy ún. Kontakt LR elnevezésű forrasztásokhoz használt oldószerre, amely bár elég hatékony, de nem igazán olcsó vegyszer. Ezt a HQ Elektronikában vásároltam több más, egyéb aprósággal együtt. Azt kell mondanom megérte, mert tényleg csodát művel és a beépített kefével együtt tökéletesen eltávolít minden szennyeződést, amelyet az IPA-val lekezelve utána tiszta, tökéletesen kezelt felületet kapunk végül.

C64 multicart cartridge DIY cracktro
A raszterizált színes-szagos, zenés cracktro, hogy ilyen is legyen

Egyéb ötletek

A teszt cartridge-on aztán mindenféle funkciót, menü variációt, konfigurációt és felállást kiteszteltem. mivel maradt néhány tartalék NYÁK-om a barátoknak / saját célra szánt készletből (sőt, eredetileg csak 10 db-hoz vásároltam alkatrészeket a Lomex / Hestore / Robtron / Kontel / HQ Elektronika ötösfogatból), ezekhez olyan MD .bin-t fordítottam végül, amelyek tematikus válogatások. Kumite cimbimnek a gyermekkori all-time best of gyűjteményét állítottam össze, Sakman barátomnak pedig szintén egyedi, limitált változat készült, eltérő színösszeállításban, és névre szóló demóval illetve külsővel megáldva. Mivel azonban gyermekkorom legendás masinája épp 2022-ben ünnepelte a 40. évfordulóját és ez a projekt is elvileg tavaly fejeződött volna be, az utolsó pillanatban kicsit kibővítettem az eredeti célokat és a retail változat mellett egy olyan kompilációba is belefogtam, amely egy kurrens összeállítást tartalmaz.

Ez utóbbi a 40th Anniversary Edition nevet kapta és egy olyan 32 játékból álló gyűjteménnyé vált, amely az évforduló környékén debütált, nem mellesleg kiváló minőségű produktumokból áll össze. Akad köztük programozó bajnokságra készült cím, korábbi játékok továbbgondolt és újratervezett változatai, teljesen egyedi ötlet alapján készült kiválóság, sőt! filmadaptáció alapjául szolgáló játék is. A pontot az i-re egy 2023-as januári játék, az egészen fantasztikus Lester teszi fel, így az eredmény egy méltó és gondosan válogatott szerelmeslevél lett a C64 rajongóinak. Remélem, hogy aki úgy dönt, beruház egy ilyen C64 cartridge -ra a megmaradt darabok közül, igazán nagy örömét leli majd ezekben a játékokban.

C64 multicart cartridge DIY design layout
Készülőben a vektorizált doboz sleeve dizájn

Elkészültek a különböző image variánsok, amelyekkel egész estéket bíbelődtem el, mire végignyálazva a C64 éra legjobbjait, sikerült összeválogatnom azokat a játékokat, amelyeket a megfelelő törés, verzió, méret és stabilitás alapján be tudtam válogatni a gyűjteménybe (a különböző tárhely-takarékos hókuszpókuszokról nem is beszélve, hogy minél több beleférjen a rendelkezésre álló tárhelybe). Ezeket aztán változó felállásokban a szintén napokig tartó tesztelés és nyúzás után szépen átkonvertáltam a VICE-al a megfelelő formátumra és kiírtam a vadiúj, NOS (New Old Stock) EEPROM chipekbe a TL866-os USB-s írómmal. Jöhetett a valódi vason történő stressz-teszt és nyúzda, amely elég idegörlő volt révén, hogy különböző gépeken, eltérő BIOS-sal és verziójú alaplapokon is ki akartam hajtani az összes lehetséges változatot.

Mikor ezzel elkészültem, elkezdtem végre a külcsínnel is foglalkozni és a megfelelő dobozméret kiválasztásra / lerendelése után kitaláltam, hogy egy kívülről ráhúzható Retroid dizájnú paper sleeve-el csinosítom ki a Retroid Starcade Game Vault cartridge-omat. Ehhez kicsit felevenítettem a vektorgrafikás tapasztalataimat még abból az időszakból, amikor a Retroid Starcade árkád játékgépemet dizájnoltam kicsit át és Illustratorban néhány este alatt elkészült az a minimál dizájn, amelyhez végül a klasszikus ’80-as és ’90-es években jellemző banális és túlzó szövegezést is kitaláltam. A betűtípust kicsit cartoon-style-ra vettem, az ingyenes Zig font típust torzítottam el, amelyhez aztán utólagosan kitaláltam a hátoldal mintajátékait és az azokat körbefoglaló klasszikus CRT bezel-eket is. A dolog érdekessége, hogy minden egyes verzió eltérő szövegezést és háttérgrafikát kapott, így tényleg egyedi változatok születtek. A C64 cartridge -okhoz természetesen egy, az adott kiadáshoz passzoló általános leírás, ismertető, játéklista és technikai áttekintő is készült, amelyek szintúgy helyet kaptak a dobozban.

C64 multicart cartridge DIY
C64 cartridge shell-csapat harcra készen

Külcsín

Elkészült hát nagyjából minden, kivéve a burkolatot – ez volt az utolsó lépcső és itt valóban sokat gondolkodtam azon, hogy végül milyen cartridge shell-t készítsek/vásároljak az így elkészült projektemhez. Azt tudtam, hogy mindenképp plasztik házat szeretnék, így a TFW8B ún. Stumpy cartridge dizájnja tetszett a legjobban (ez egy ilyen rövidebb és kecsesebb fajta, mint a klasszikus ún. long C64-shell-ek): rátaláltam az osztrák protoparts vállalkozásra is, aki több színben sajtol saját gyártású shell-eket C64 cartridge -okhoz, azonban mégis az előbbi dizájn mellett döntöttem, hiszen maga a Magic Desk cartridge-om is a kisebb, short dizájn elvét követi.

A TFW8B website viszont angol és hiába a viszonylag olcsó ár, a szállítással és a +27% kötelező EU-n kívüli ÁFA-val horribilis lett volna a beszerzés. Sokféle opciót megnéztem, kutakodtam ebay-en, a lengyel shopokban de egyszer aztán átfutott az agyamon, hogy az egész projekt gyakorlatilag saját kezűleg készült, nem lehetne-e a shell-t magát is valami más módon elkészíteni.

40. évfordulós gyöngyszemek (Lester, Reckless64, Runn’ n Gunn, Night Knight, Super Mario Bros. és a Vegetables Deluxe)

Eszembe jutott, hogy nem is olyan régen találtam egy srácot facebook marketplace-n, akivel készíttettem az Ikea Fjallbo típusú, 20-as éveket idéző lemezjátszó állványomhoz vinyl-tartókat, 3d nyomtatással: kerestem a thingiverse-n a cartridge-omhoz megfelelő shellt és találtam is olyat, ami méretben és dizájnban is passzolt. Készíttettem vele egy low-quality próbanyomást, amely elsőre tökéletesen lett, ráadásul a reset gomb lyuk pozíciója is pont ott van, ahol lennie kell, sőt! Sikerült úgy átvariálni, hogy pattintós (masszív) megoldással rögzüljenek a fedelek, így még csavarozni sem szükséges. Rendeltem hát tőle háromféle színvariációban néhány példányt, amelyhez szintén saját kezűleg szerkesztett logó és matrica is társult. Kinyomtattam a néhány óra alatt elkészült kézikönyvecskét, leírásokat, dizájn elemeket és… ezzel elkészült a projekt, amely az eredetileg tervezett néhány hónap helyett konkrétan két évig tartott (igaz, ebből másfél év tetszhalott állapot volt, de november végén ráúsztam ismét a témára és kb. két hónap alatt sikerült is tető alá hozni).

A sors fintora, hogy időközben az egyik, sohasem használt és tényleg vadiúj C64-em audio áramköre is bekrepált, amit csak onnan tudtam meg, hogy gondolván egyet kipróbáltam az egyik cartridge-al és több más játékkal is a gépet mire kiderült, hogy az egyik hangcsatorna hiányzik… azóta már sikerült kimérnem, hogy az egyik kondenzátor fáradás áll a háttérben. A korábban kapott két donor gép alaplapját is szerettem volna már felújítani és néhány más kisebb DIY projekthez is szükségem lett volna egy segítő eszközre, így végül sok tervezgetés után vásároltam végre magamnak egy kiforrasztó állomást, amivel jelentősen lerövidül a munka. Egyrészt az egyik alaplapban memória és logikai kapu processzorokat is ki kellene forrasztani a javításhoz, másrészt – és ez a fontosabb szempont – szeretnék építeni egy vadonat új és modern alapokon nyugvó klónt egy SixtyClone képében, amelyhez a donorchipek egy részét szintúgy ki kell majd forrasztanom valahogy.

Egy ún. vákuumos desoldering stationnal ez kvázi gyerekjáték, úgyhogy a következő projektem minden bizonnyal egy átlátszó házba épített gyönyörű piros/arany alaplapos és fekete billentyűzetes masina lesz majd, amelybe mindenféle FPGA-alapú bővítményt beszerelek. (sztereó MixSid, beépített Lumafix, S-Video output, FPGA PLA, hűtésmodok és még sorolhatnám). De ez már egy következő történet, egyelőre most a legnagyobb öröm a Retroid Starcade Game Vault gyűjteményt övezi – így ha rátaláltál erre az oldalra, akár a keresőkön, akár új tulajdonosként a cartridge dokumentációján található QR kódot beszkennelve, szívből gratulálok az új hardveredhez és igazán jó játékot kívánok hozzá!

*update [2023.06.01.]: Azóta készült egy második batch is az érdeklődés miatt, amely átlátszó filamentből, már RGB LED-es megoldással működik. A népszerű esemény alkalmából egy folytatást is készítettem a 40th Anniversary Edition-ból Volume II. címmel, amelyben további harmincnál is több új, eddig még nem szereplő játék kapott helyet a gyűjteményben. A háromféle kiadás különböző változatainak tartalmát ezen a LINKEN tudod megtekinteni.

[Kapcsolódó cikkek: C64 játékok 2020-ban]

A felhasznált alkalmazások, oldalak


8bit Dreamz [RGCD 16K bajnokság + Vice Squad]

Még tavaly év végén bukkantam rá az RGCD és a független retro kiadók közös homebrew fejlesztői maratonjának felhívására (16K Competition), amellyel a legjobb tizenöt alkotás nyert végérvényesen öröklétet egy klasszikus cartridge játékgyűjtemény formájában. A kiírásnak csupán annyi megkötése volt, hogy a végleges kód maximum 16Kbyte Cartridge ROM formátum lehet, és támogatnia kell az NTSC és […]

Back To Top