QuadPortIEC – hardverteszt

 2013.07.10. 16:33

Valamikor pár hónapja dobtam fel egy C64 fórumon az ötletet, miszerint egy IEC porthoz (vagy más néven Commodore vagy CBM soros buszhoz) való elosztót kéne építeni valakinek – s érdekes módon éppen akkortájban bukkant fel egy ilyen termék készen, kommersz formában a világ túlfelén. Ennek olyannyira megörültem, hogy rendeltem is tüstént kettőt belőle… Néhány héttel később meg is kaptam: ezzel nyitom most a hardvertesztelősdi rovatot.

A Commodore cég soros busza (ami nem tévesztendő össze a PC-k soros portjával, mely viszont egy RS232 implementáció, ilyenformán pedig nagyjából a CBM gépek user portjának a megfelelője), egy ún. IEC sztenderd (melynek elég vicces története van, egy külön posztban később megemlékezünk majd arról is), bizonyos szempontból az USB egyfajta ősi előfutára is egyben; legfontosabb sajátossága, hogy a külső perifériák (többnyire háttértárak, vagy esetleg nyomtatók) láncba fűzve köthetőek hozzá egy (vagy több) számítógéphez egyszerre a segítségével; a lánc egyes eszközeit egységszámok révén lehet megcímezni, megszólítani, és ún. intelligens perifériák – azaz maguk is egy-egy önálló számítógép gyanánt funkcionálnak. E kiváló tulajdonságát egy még korábbi párhuzamos (ún. IEC-625 vagy IEEE-488) szabványtól örökölte, melyet költséghatékonysági okból leváltott. (Legtipikusabban egy-egy C64 és 1541-es lemezegység csatlakoztatása során találkozhattunk vele – a szerencsésebbek több meghajtóval és ritkábban akár nyomtatóval is.)

Miután a gyakorlatban ez a soros kötés úgy valósult meg, hogy minden ilyen perifériának két-két csatlakozóaljzata volt belül közösítve egymással (azaz szimplán összedrótozva, így mindegy volt, hogy melyikbe került be a kábel végül is), ez azzal járt, hogy tulajdonképpen minden eszköz fizikai kontaktusba került minden másikkal, bár egy-egy adott időpillanatban összesen csak két (egy küldő és egy fogadó) egység tudta kihasználni ezt (a többieknek várni kellett, amíg szabad lett a busz); továbbá az összekapcsolások sorrendje nem igazán számít logikailag, így a soros láncot csillagpontos hálózattá lehet alakítani. Konkrétan mindezt afféle kezdetleges „számítógéphálózat” szimulálására is lehet használni – azaz nemcsak a perifériák összefűzésére, hanem azok megosztására is több számítógép közt.

qp1.jpg

A szükségelt dobozka technikailag nem egy túl nagy fejlesztés: lényegében véve csak egy elosztó, a hatpólusú, kerek nagy-DIN aljzatok tetszőleges számban való összeforrasztásával és rögzítésével (a legegyszerűbb formájában ez egy Y-kábel). Ami mégis bonyolít rajta egy keveset, hogy egyes vonalakat szükségessé válhat néha megszakítani (pl. az ATN vonalat – ezzel történik az adott eszköz megszólítása), így kapcsolókkal lehet őket egyesével kizárni a körből, az összekötő kábel kihúzása helyett. Eredetileg a svéd Handic cég gyártott ilyen eszközt VIC-Switch néven annak idején, bár nem volt nagyon gyakori, de többségében iskolákban alkalmazták, ahol mondjuk egyetlen lemezegység lett ezáltal szétosztható nyolc gép között (szép, világító LED-eket is tartalmazott még a kapcsolói mellett). A modern időkben is eszébe jutott többeknek a megoldás, jóllehet inkább annak érdekében, hogy minél több külső eszközt tudjanak egyidőben használni a gépükhöz. A néhai emlékezetű Bithunter kolléga barkácsolt például egyet IEC Hub néven házilag, illetve az egyik amerikai Commodore klub blogján találtam egy szép fotót egy másikról.

Aztán jött a Go4Retro cég, és úgy gondolván, van igény rá, nekiálltak fabrikálni egyet kommersz célra QuadPortIEC néven 2010-ben – csakhogy végül nem fejezték be, és idén került elő csak a sufniból. Friss a ropogós.

qp2.jpg

Ebből vettem kettőt én, majd kézhez kapva meglepetten konstatáltam: mind a kettő másmilyen. Az egyiken csak négy, a másikon meg öt kapcsoló van! (De miért?)

Minthogy a hivatalos leírásban lévő kép is négykapcsolósat mutat, ezért nyilvánvaló módon ez a „helyes” változat (vagy legalábbis ez a végleges). Némi vizsgálódás után arra jutottam, hogy valószínűleg a másik példány valamilyen korábban készült prototípus lehet, amit véletlenül éppen nekem küldtek el. Persze szó sincs panaszról – sőt, éppen ellenkezőleg. Az a plusz kapcsoló ugyanis egy extra funkcióval bír, ami nekem kapóra jött most… Mikor kíváncsian mind a kettőt szétszedtem, hogy lássam, hogy festenek belülről, kiderült: a NYÁK lemeze mindkettőnek azonos, a másikon csak nem forrasztották be a kapcsolót. A feliratból mindjárt fényt derítettem arra is, hogy mit kapcsol: SRQ (Serial Request) – az az ominózus hatos számú vezeték, amit a C64 és a 1541 még semmire sem használ, azaz teljességgel irreleváns számára (az X-kábeleken például ez egyáltalán nincs is bekötve). Aki viszont használja: a C128 és az újabb drive-ok (1571 és 1581) között ezen a dróton zajlik le az ún. burst mode nevű adatátviteli protokoll. Dióhéjban: sokkal nagyobb (szoftver- helyett végre hardveralapú) átviteli sebességet lehet produkálni általa – kizárólag 128-as üzemmódban természetesen. (Ennek az egyéb részleteiről majd máskor beszélünk.)

Tehát ez csak akkor számít bármit, ha egy C128 és egy ilyen drive van összekapcsolva a láncban. (És márpedig nálam ilyen van.) Ebben az esetben egy kellemetlen velejárója a konfignak, hogy a mellé fűzött többi eszköz (1541, SD2IEC, 64HDD stb.) hatására a 1571-es kissé megzavarodik, és nem mindig működik úgy, ahogyan azt kéne ­– mondjuk nem sikerül róla betölteni a rajta lévő fájlokat (megmagyarázhatatlannak tűnő „file not found error”-okat kapunk helyette). Éppen ezen segít ez a kapcsoló: megszakítva általa a vonalat, a burst mode ugyan elvész, de legalább használható lesz a drive. Úgy látszik, ezt eredetileg még tervezték, ám végül (szintén nyilván „költséghatékonysági” okból) elhagyták a befejezett termékből. (Hogy lespórolták, elég logikus, tekintve, hogy a felhasználók nagy részének nemigen lesz szüksége rá sohasem. A négykapcsolós verzióban a nyomtatott áramkörön permanensen van egy összeköttetés a két pólus között, ha ezt meg akarnánk szakítani, át kell vágni azt egy pengével. Én azért ezt inkább nem tenném, és nem ajánlanám, csak saját felelősségre.)

qp3.jpg

Még tartozom egy magyarázattal, hogy az egész téma egyáltalán miért került elő itt. Olyan technológiai lehetőségeken töröm a fejem, ami által többszereplős/többjátékos (multiplayer) üzemmódot volna lehetséges megvalósítani a 64-esen. Egyik ötletem volt rá az IEC busz: nem közvetlenül (elviekben ugyan össze lehetne kötni vele két C64-et is egymással, azonban ehhez újra kéne programozni az egész Kernalt gyakorlatilag, és nem igazán érné meg a vesződséget semmiképp), hanem közvetetten: azaz floppy drive-on keresztül. (Ennek is van két módja: egy közös lemezt írva-olvasva fájlok formájában – vagy pedig a lemezegység RAM memóriájával.) Tehát egyik gép beír valamit a meghajtóba (akár a lemezre vagy a memóriába), majd a másik kiolvassa onnan. Némiképpen nehézkes és lassú, kényelmetlen adatcsere ugyan, mégis van egy rendkívüli előnye: nem kell hozzá semmi különleges hardver. Akármelyik lemezegység hátán két egyforma csatlakozó van, ahová épp kettő gépet lehet kötni egyszerre. (Ha többet szeretnénk csak, akkor szükséges egy ilyen QuadPortIEC adapter.)

qp4.jpg

Ugyanakkor van a módszernek egy súlyos hátránya: a soros buszos kommunikáció ugyanis egy szinkron protokoll, ami azt jelenti: semmi sem zavarhatja meg menet közben az átvitelt. (Más szóval: ki kell kapcsolni a megszakításokat és a sprite-okat.) Konkrétabban: minden egyes lemezműveletkor (mondjuk legalábbis néhány másodpercenként) el-el fognak tünedezni majd a képernyőről különféle képelemek: az egérmutató, a grafika… stb. Ez eléggé zavaróan lerontja a folyamatos játékélményt, ezért más, fejlettebb módszereket kell helyette keresni – későbbiek során szép apránként ezekre is rátérünk.

Címkék: usb commodore c64 floppy adapter iec hardverteszt 1541 c128 1571 quadportiec go4retro iec hub soros busz x-kábel burst mode ieee-488 bithunter handic vic-switch

A bejegyzés trackback címe:

https://rosetta.blog.hu/api/trackback/id/tr415399224

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.