Retro kategória bejegyzései

C64C szétbarmolása

Rég írtam ide, de egy retró csoportban megígértem, hogy pár mondatban összeszedem, hogy miben is tér el a C64C-m a “gyári” állapottól, következzen most ez, magyarázatokkal, linkekkel:

Balról jobbra haladva kezdjük a 4-in-1 KERNAL rommal, és az Arduino switchel:
https://www.youtube.com/watch?v=GPq5xnJRw2w

A fenti videó nagyjából jól elmagyarázza a lényeget. A C64C-ben az úgynevezet “short-board” van, azaz gyárilag már csak egy 27C128-as EPROM  (128KBit, azaz 16KByte) van az alaplapon, amelyben a KERNAL/BASIC rom is helyet foglal (ez a régi gépeken 2db, 8kbyte-os ROM-ban volt). Ha ezt kicseréljük egy 27C512-re (=64kbyte), akkor rögtön 4x annyi helyünk lesz, így 4 KERNAL között tudunk majd váltani. Eredetileg JiffyDOS-t akartam csak beépíteni (tehát elég lett volna a 2 kernalt tartalmazó EPROM), de alig több pénzért lett inkább 4-es, amit nem is bántam meg, mert azóta bőven változtak az igényeim. Csak pár szóban a KERNALokról, amik be vannak égetve:
– JaffyDOS 1.3: A JiffyDOS SD2IEC-re optimalizált módosított verziója, kifejezetten kényelmesen lehet vele az SD kártyát böngészni, ezt használom szinte mindig.
– C64 V3: nem kell magyarázni, a gyári C64 KERNALje, ha bármikor vissza kell váltani kompatibilitási problémák miatt.
– TT250: TurboTape250, azaz kazettás gyorstöltő, ROM-ba építve, így nem kell küzdeni, ha a kazettáimról be szeretnék tölteni valamit, amiket turbóval vettem fel.
– JiffyDOS 6.01: Az eredeti JiffyDOS, bővebb infó/vásárlás itt:
http://store.go4retro.com/search.php?search_query=JiffyDOS&x=0&y=0
Természetesen, mivel kereskedelmi termékről van szó, amely ma is kapható, így mindenképpen vásároljuk meg a fenti oldalról az imaget, ha ilyet szeretnénk beégetni (vagy EasyFlash3-ban használni).
Az arduino-s kernal váltót a fenti videó alapján meg tudja építeni gyakorlatilag bárki, én annyi módosítást tettem, hogy a ledet nem a Power helyére építettem (mert a C64C-é szögletes, itthon meg csak kerek volt), hanem a gép oldalára, és inverzben működik, (tehát váltáskor/resetkor villan, nem kialszik).

DigiFix
Ez a fotón nincs megjelölve, mert csupán egyetlen ellenállásról van szó, amely a 8580-as SID chipnek azt a hibáját javítja, hogy a digitális hangok túl halkan szólnak (vagyis inkább nem szólnak). A teszthez ideális programok a “Ghostbusters”, vagy az Impossible Mission, amelynek az elején digitalizált beszéd van. További infó:
https://www.c64-wiki.de/wiki/Digifix
Az én gépemben 470kOhm-os ellenállás van, potméter meg egyéb csodák nincsenek, nekem ez így megfelel.

SD2IEC
Az első fotón a bal alsó sarokban lévő nagy piros kockáról van szó. Építettem már régebben SD2IEC eszközt (van is szó róla itt a blogon), de akkor még csak próbapanelen létezett, amit azóta szétszedtem, eltűntek a darabjai, etc, úgyhogy kénytelen voltam újra megépíteni. Természetesen a legegyszerűbb, protoboardos verziót választottam, egy pici csavarral, mert nem volt hangulatom az SD kártya olvasóval szívni.

Ezt a verziót választottam, SD kártya olvasónak pedig ezt:
https://www.aliexpress.com/item/32852747770.html
Így a fenti kapcsolásból az ellenállásosztók kihagyhatók, az SD card 4 lábát (SS/MOSI/MISO/SCLK) direktben rá lehet vezetékelni a fenti modulra, mert az elvégzi a szükséges 5V/3.3V konverziót.
Nagyon fontos, hogy ha a fenti modult használjuk, a mikrokontroller SD_CARD_DETECT, és SD_WRITE_PROTECT lábát is GND-re kell kötni, különben nem fogja a kártyát olvasni (mert azt hiszi nincs benne). Nagyjából ilyen lett a félkész, tesztelés alatt lévő termék:

Ezután még annyi módosítást történt, hogy az eszköz közvetlen az IEC buszra be van forrasztva, és be lett építve a gép belsejébe.
Miután ezt megépítettem, akkor irígyeltem meg az LCD kijelzőket egyes SD2IEC eszközökről, úgyhogy utánanéztem hogy lehetne megépíteni, és megtaláltam a német C64 fórum ide vonatkozó threadjét:
https://www.forum64.de/index.php?thread/74116-lcd-sd2iec-firmware-1-0-0-f%C3%BCr-larsp-layout/
Ebben található firmware, illetve a forráskód readme fájljában leírás, hogy a HD44780-as kijelző melyik lábát hová kell bekötni.

A threadben található firmwarek tökéletesen működnek _szinte_ mindenkinek, persze hogy én vagyok a kivétel. A kijelző nélküli firmware hibátlanul működik a gépemen, de ha a kijelzős verzió van feltéve, és a gépben Jiffy/Jaffy KERNAL van kiválasztva, akkor az EasyFlash3 programozószoftvere (Az EasyProg 1.8.1) hibát dob a fájlok elérésénél. Ha gyári KERNAL van, akkor hibátlan, így ezt a hibát kénytelen voltam kijavítani a firmwareben. Nem szép, hekk, de működik, és ez nekem elég.

Disclaimer: Tudom, hogy csak a gyári állapotú, módosítatlan, utókornak eredeti állapotában megőrzött gép a tuti, de ezt én így szeretem. Egy több millió példányban épült gépből fog maradni épp elég, nem egy pótolhatatlan ritkaság lett szétfaragva, lefestve, összebarmolva, hanem egy pár éve 1-2 ezer forintot érő 30+ éves számítógép.

C64 Projekt, 5. rész

Immáron, hogy tudjuk milyen lehetőségeink vannak, meg kell hoznunk egy nehéz döntést. Mennyit is akarunk retróra szánni, és mennyi időt tudunk a kész mű használatára fordítani. Mivel nekem gyermekkoromban nem volt C64-em, ezért nincsenek emlékeim a kellemes joystick-gyilkos hétvégi partikról, a magnófej-állításokról, meg a lemezcsere-partnerekről. Azért, hogy pár öreg játékot elővegyek havonta 1-2 órára, nem vehetek túl drága megoldást, ráadásul mindenképpen játékra lesz kihegyezve, így az IDE64 ki is esett a szórásból. Az uno2iec egy rossz vicc, azt is elvethetjük, 3 versenyzőnk maradt:

1541U2: 150eur szállítással, ez már erősen nem a magyar pénztárcákhoz van méretezve, ráadásul egyéb tudása nincs is mellette, “csak” egy C64 lemez/kazetta/cartridge/REU emulátor. Ezt is kihúztam a listámról.

SD2IEC: ezt végül megépítettem, ez alapján a leírás alapján, minimális módosítással. A MCU reset lábát bekötöttem egy jumperen keresztül az IEC-busz reset lábára is, így ha a jumper zárt, akkor az IEC buszról érkező reset reseteli az eszközt, ha levesszük a jumpert, akkor nem. Ez elég jól működik, meglepően sok programmal kompatibilis, és az elkészítése sem egy ördöngősség, ha valaki látott már forrasztópákát. Aki nem, az megveheti valamelyik kész megoldást is, 30-60EUR között.

Itt jött a legnehezebb kérdés, TC64 legyen? 250EUR, de időnként előfordul jóval olcsóbban 1-1 retró fórumon. Rengeteg okosságot tud (beépített SID lejátszó, VGA kimenet, turbó a c64 felé, REU, tape/cartridge/2-diszk emuláció, és emellett használható magában is, Atari/Amiga/MSX/PCengine/Atari800 emulátor szoftverekkel, külső billentyűvel, eredeti joystickokkal (egy 25EUR értékű dokkolóval). Nagyon remegett a kezem egy használt darab megvásárlásán, de végül elvetettem, meg is magyarázom. Ha valaki rárepülne, itt található: Amibay link

200-250EUR rengeteg pénz, és ebből inkább egy másik, régóta dédelgetett álmomat fogom megvalósítani, mégpedig egy oldschool játéktermi-stílusú (tabletop) gépet szeretnék építeni, ami emulátoron futtatja a régi nagy játéktermi klasszikusokat.

C64 Projekt, 4. rész

Folytassuk a modern tárolómegoldások bemutatását:

IDE64
Az IDE64 projekt is régóta a piacon van, az első kisérletek 1994-re nyúlnak vissza, de a cuccot jelenleg is (többé-kevésbé) aktívan fejlesztik. A hardver jelenleg a 4.1-es verziónál jár, ez az ami megrendelhető jelenleg. Az eszköz amúgy a nevéből adódóan egy IDE illesztő, ami a C64 Expansion portjára csatlakozik, és IDE/ATAPI eszközök meghajtására képes. A későbbi verziókban megtalálható már a CF kártya támogatása is, ez a leginkább modern háttértár, amit meg tudunk hajtani az eszközzel. Itt ugye nem egy floppy-emulátorról van szó, hanem egy tényleges háttértárról, úgyhogy a játékok támogatása itt a legkevesebb, viszont rengeteg programot/játékot újraírtak/patcheltek, hogy IDE64 kompatibilis legyen, ezek gyűjtőoldala itt található: IDE64Warez. Mivel nem IEC buszra kapcsolódik, ezért jóval gyorsabb az adatátvitele, mint a többi itt említett eszköznek. Az előnyeit legjobban a “Rush” címre hallgató wild demó mutatja be, ami az első, 25fps fullscreen videó/animáció, amit stock, 1MHz C64-en futtattak.

Előnyök

  • Gyors
  • Aktív közösségi támogatás, sok patchelt játék (főleg a klasszikusok)
  • Folyamatosan fejlesztett, karbantartott firmware
  • Mindenféle extrém hardverrel kompatibilis (SuperCPU)
  • PC-Link segítségével elérhetjük a beépített CF/IDE eszközöket szétszedés nélkül, így kényelmes az adatátvitel
  • A leggyorsabb tárolómegoldás, ha tényleges háttértárra van szükségünk

Hátrányok

  • Nem retro-gaming volt a célpiac
  • Nincs 1541 emuláció, emiatt nagyon kevés a támogatott játék (a klasszikusokon, és az egyfájlos programokon kívül szinte semmi)
  • A CF kártya ma már nem minősül kimondottan modern adathordozónak, drága
  • Kissé drága erre a célra

1541-Ultimate 2
Ez a versenyző az ár-érték arány királya. FPGA-ra épülő megoldásról van szó, amely teljes 1541 emulációra képes, a rejtett képességekkel együtt, így minden fontos cucc futtatható rajta. A floppy emuláció mellett cartridge, és magnó-emulációt is tud a megfelelő kiegészítőkkel, USB porton bármilyen tárolóeszközt támogat, CD/DVD olvasókat is. Emellett RTC-vel, és REU emulációval is rendelkezik, amivel a C64 memóriáját bővíthetjük fel, akár 16MByte-ig! Emellett fejlesztés alatt áll a network adapter támogatás, amivel az IDE64-hez hasonlóan el lehet majd érni hálózaton keresztül is az SD kártya tartalmát. A teljes specifikáció itt olvasható. Sajnos ez túl szép, hogy igaz legyen, ezért cserébe drága is, szállítással együtt 150EUR, ráadásul elég hosszadalmas (fórumtapasztalatok szerint akár 1-2 hónapos) szállítási időkkel (manufakturális jelleggel, kis adagokban készül). Mindenféle scene cuccal, programmal, utántöltővel kompatibilis.

Előnyök

  • Mindent tud
  • 100% kompatibilitás
  • Aktívan fejlesztett firmware

Hátrányok

  • Drága, de megéri

Turbo Chameleon 64
Az összeállításunk legnagyobb tudású, de legdrágább tagja a TC64. Gyakorlatilag egy FPGA-alapú számítógépről van szó, ami önnálló működésre is képes. Alapvetően két üzemmódban működtethető, vagy C64 cartridge, vagy standalone módban. C64 cartridge módban nagyjából hasonló tudással számolhatunk, mint a 1541U esetén, kivéve, hogy itt a kártya tartalmaz egy VGA kimenetet, amire modern monitort tudunk kötni, PS2 egér/billentyűzet csatlakozókat, amiket szintén használhatunk a C64-el. Főbb különbség még, hogy itt 2 floppyt is lehet emulálni, ráadásul ezek romjai is szabadon cserélhetőek (tehát akár jiffydos romot is “tehetünk” bármelyik virtuális floppyba. A standalone módjában pedig külső tápegységről használva gyakorlatilag egy kisméretű emulátor-gépet kapunk, amin akár Amiga500 szoftvereket is futtathatunk, a használt “core” függvényében. Bővebb infó: installation guide, users manual. Megvásárolni pedig itt lehet.

Előnyök

  • Mindent tud (amit a 1541U nem, ez azt is)
  • Több retró-gép emulátor core létezik hozzá (Atari2600, Amiga, VIC-20, ZX Spectrum, …)

Hátrányok

  • Ár (250EUR)

Ez volt a tárolómegoldások leírása, a következő részben bemutatom, hogy én melyik mellett döntöttem (jelenleg) és hogy miért.

C64 Projekt, 3. rész

Mint ígértem, ebben a posztban a különböző piacon elérhető háttértár-megoldásokat vesszük górcső alá. A legegyszerűbbtől haladunk felfelé, a végén egy rövid összefoglalással:

Uno2IEC
A legolcsóbb (sajnos azt nem mondhatjuk rá, hogy a legegyszerűbb) megoldás az Uno2IEC nevű projekt. Készen nem megvásárolható, ez egy klasszikus DIY megoldás. A cucc elkészítéséhez szükség van egy Arduino fejlesztőlapra, ebből gyakorlatilag bármelyik megfelel. Erre fel kell töltenünk a megfelelő sketch fájlt, majd PC-re QT Creatorral lefordítani és futtatni a szerveroldali programot. Ha mindennel elkészültünk, akkor el kell indítanunk a Windows klienst, megadnunk minden paramétert, majd ha mindent megfelelően összevezetékeltünk, akkor a C64 az IEC buszon keresztül lemezmeghajtóként látja a megadott könyvtárat, (prg fájlok futtatása), illetve mountolhatunk be D64 lemezképeket is. A kommunikáció pedig az arduino (virtuális) soros portján megy, tehát a mikrokontroller csak “illesztőként” funkcionál.

Előnyök:

  • Borzasztóan olcsó (ha van otthon arduino lapunk, akkor gyakorlatilag ingyen van)
  • Gyorsan megépíthető, nincs alkatrészigénye (az IEC kábelen kívül)

Hátrányok:

  • A kliensprogram natívra fordítása kvázi lehetetlen, a QT Creatorból futtatható csak
  • Kényelmetlen, buta kliens
  • Működéséhez PC kell, kilensprogrammal
  • Gyakorlatilag csak egyfájlos programokkal működik
  • Semmiféle utántöltő, gyorstöltő támogatása nincs
  • Lassú

SD2IEC
Ez a megoldás az internet közösségi tudása szerint a kategória szent grálja, a gyakorlatban sajnos nem ennyire szép a helyzet. A közösség által tervezett, opensource megoldásoknak ez a harmadik generációja. Az első generáció az uIEC volt, 2005-ben, aztán következett az MMC2IEC, 2007-ben, ezt követte az SD2IEC, amely 2008 óta elérhető. Mind a hardver, mind pedig a szoftver/firmware nyílt forráskódú. A firmware a mai napig fejlesztés alatt áll, az utolsó alpha verzió a cikk írásakor alig pár napos, szóval nem egy évek óta elhagyott stuffról van szó. A hardver egy Atmega644p / Atmega1284p MCU-ra épül, minimális elektronikai affinitással megépíthető akár házilag is, de természetesen meg is vásárolható, 30-50EUR közötti áron, különböző verziókban. A saját építés anyagköltsége nagyságrendileg 4-5 ezer forint körül van, prototípus panellel, tokba rakott IC-vel.

Előnyök

  • Olcsó
  • Nem kell hozzá PC kapcsolat
  • Viszonylag egyszerűen megépíthető, de elektronikai tudás, és AVR programozó kell hozzá
  • SD kártyáról frissíthető firmware
  • Nyílt forráskódú firmware
  • Többek között JiffyDOS, Exos, és TurboDisk gyorstöltőkkel kompatibilis
  • Többféle (nem IRQ alapú) utántöltővel kompatibilis.
  • Többlemezes játékok támogatása (lemezcsere-gombok)
  • Támogatás több lemezkezelő programhoz (pl CBMFileBrowser)
  • Nagy felhasználói bázis, nagy közösségi tudás, akik felkutatják a kompatibilitási problémákat, és – ahol lehet – kijavítják (patchelt játékok, újabb firmwarek)

Hátrányok

  • Nagyon sok (főleg játékok/demók által használt) IRQ utántöltővel nem kompatibilis
  • Normál, gyorstöltő nélküli gépen csak 1541 sebesség
  • Nem teljes 1541 emuláció (a hardver erre alkalmatlan volna), emiatt a 1541 hibáit, rejtett módjait kihasználó programok nem mennek vele
  • A kész verziók kissé túlárazottak, főleg ár-érték arányban mérve
  • Scene demókkal szinte biztosan nem működik
  • Az opensource kialakítás miatt rengeteg különböző hardver verzió, ezekhez különböző firmwarek kellenek
  • Bizonyos “bolti” verziókban a firmware frissítés letiltva

A következő részben az IDE64, a 1541U2, és a TC64 lesz porondon

C64 Projekt, 2. rész

A kiindulási helyzet, és a tervek.

Volt ugye egy C64 breadbox, és egy C64C gépem is. Akinek ezek nem mondanak semmit, a breadbox a régi, sötétbarna, kerek verzió, a C pedig az új, C128-ra, vagy Amiga500-ra is hasonlító házba szerelt verzióról van szó. Volt 2 1541 floppymeghajtóm, és pár rossz joystickom.

A célok: egy retrózásra is alkalmas, modern eszközökkel feltuniningolt gép, és a régóta hiányzó kazettás egység beszerzése, hogy teljes legyen a “gyűjtemény”. Mivel nem vagyok egy nagy gyűjtő, nem kiállítási verziók érdekeltek, csak működjenek, így nem túlságosan zavar, hogy sárga a gép, vagy hogy ronda-e a floppy, csak a megfelelő működés.

A tervek:

  • JiffyDOS rom beszerzése
  • Pár működőképes, korhű joystick
  • Ha van lehetőség, egy 1541-II floppy, ami kisebb, könnyebben kezelhető
  • Valami modern tárolóeszköz

Végül szinte mindent egy helyről tudtam beszerezni, szóval ezzel nem is untatnék senkit, csak a tényekkel. Sikerült vennem egy tökéletesen működő, de erősen sárgult 1541-II-t, egy LEVIS típusú magnót, pár félig működő joystickot, tartalék mikrokapcsolókkal, és egy 4 KERNAL-t tartalmazó EPROM-ot (az igényeim szerinti 4 ROM került bele), mely átalakítás nélkül belement a C64C-be.

A modern tárolóeszköz kérdés már nem volt ennyire egyértelmű. A következő megoldások állnak rendelkezésünkre, ha arra vetemednénk, hogy egy 20-30 éves gépre modern háttértárat szeretnénk akasztani. A lista nagyjából vételár szerint csökkenő sorrendben, ahol lehet, ott link a vásárlási oldalra mutat:

A lista nem tökéletes, biztosan vannak még mások is, de ezeknek utánanéztem bővebben, nagyjából képbe kerültem a tudásukkal, képességeikkel, előnyeikkel, hátrányaikkal. A sorozat következő részében bemutatom ezeket a megoldásokat, és megnézzük, hogy melyik az, amit a fenti felsorolásból érdemes megvenni…

C64 Projekt, 1. rész

Előkanalásztam a rég óta porosodó C64-eket a szekrény aljáról, hogy újra életet leheljek belé, és egy kisebbfajta “tuningot” eszközöljek rajtuk, amivel a mai, ellustult XXI. századi ember is élvezi vele a retrózást. Mindenképp valami modern tárolóeszközben, és valami gyorstöltőben gondolkodtam, az eredmény ennél kicsit több lett, de mindent a maga idejében.

Az első lépés itt látható, specifikációk, az út, amin ide eljutottam, illetve a hardverpornó majd egy későbbi részben…