retro gépek A-tól Z-ig

Glitch Works XT-IDE rev 4

A régi gépek használatánál előbb, vagy utóbb fájó ponttá szokott válni a háttértárolók kérdése. A 8 biteseknél nem véletlenül jelentek meg a különböző ROM és SD kártya adapterek. Az IBM PC-nél a kompatibilitás elég jó visszafelé egészen a 286-os gépekig. A 8 bites ISA busszal rendelkező PC-k és XT-k viszont már problémásabbak. Az MFM merevlemezek érzékenyek és nehézkesen használhatóak. A sebességet azért nem rovom fel nekik, mert a legnagyobb programok betöltése is pár másodperc maximum amit simán ki lehet várni. Az MFM-nél modernebb IDE merevlemezek használatát az nehezíti meg, hogy a parallel ATA csatlakozó 16 bites, de a 8088 alapú PC-k busza csak 8 bites. Ezt a gondot egy egyszerű áramkörrel és BIOS kiterjesztéssel lehet megkerülni. Valószínűleg azért nem használták eredetileg, mert mire az IDE merevlemezek elterjedtek az XT-k ideje már leáldozott. A továbbiakban egy ilyen, teljesen open source kártyát fogok bemutatni.

Több hardveres megoldás is ismert, én a The Glitch Works XT-IDE rev4-es kártyáját építettem meg. Az ehhez szükséges teljes dokumentáció szabadon letölthető a GitHub-ról. A linket a bejegyzés végén találhatjátok meg, de a biztonság kedvéért zip formátumban is belinkeltem. A kártya két lényegi részből áll. Egyrészt van egy EEPROM amibe a BIOS kiegészítés beégethető. Másrészt néhány TTL IC-vel megoldották a 8 bit-16 bit illesztést. A megépítés nagyon egyszerű, a gerber fájlok felhasználásával rendeltem NYÁK-ot és kb. 1 óra alatt kényelmesen beforrasztottam az alkatrészeket. Sajnos a hátlap kérdése még nem megoldott, eddig csak 2 helyen találtam, de mind a kettőnél az egyszerű fémdarab többe került volna, mint maguk az alkatrészek.

Az EEPROM-ba égetett XTIDE Universal BIOS is szabadon elérhető, a linket szintén megtaláljátok a bejegyzés végén. Ugyan 2013 óta nem jutott túl a v2.0.0 a Beta 3 verzión, de ettől függetlenül sikerrel próbáltam ki eredeti IBM PC-ben, XT klónban és 386-os gépben is. A BIOS kiterjesztés használata nem csak 8088-as gépek esetén lehet indokolt, ugyanis segítségével az LBA merevlemezek kezelése is megoldott. 286/386 gépeknél is jól jöhet és nem csak a 8 bites kártyával használható együtt. Ez utóbbi ugyanis visszafogja a sebességet ezekben a gépekben, de erre még visszatérek egy rövid teszt erejéig.

A kártyát a használat előtt még be kell állítani. Jumperrel lehet kiválasztani, hogy a sebesség (rev 2) vagy a kompatibilitás (rev 1) számít jobban. Alapból a az utóbbit favorizálom a sebesség miatt, a képen is ez látható. Ezen feltüntettem a két dip kapcsoló (SW1 és SW2) beállításait is:

XTIDE_jumperAz SW1 a port címet és a slot8 kompatibilitást állítja be. Ebből talán a második szorulhat kicsit magyarázatra. Tömören két IBM modellnél külön modullal kell bővíteni a kártyát, hogy a 8-as slotban működjön. Mivel csak kevés embert érinthet, ezért azt ajánlom, hogy a részletekért akinek szüksége van rá az az eredeti leírást olvassa el.

Az SW2 az EEPROM címét, méretét, írhatóságát és azt állítja be, hogy egyáltalán engedélyezve van-e. A képen kiemeltem az általam használt D0000 címet. A ROM méretet a felhasznált AT28C64 meghatározta, ez 8kB. Az írhatósághoz csak akkor kell nyúlni, ha új BIOS-t vagy beállítást kell beégetni az EEPROM-ba. A biztonság kedvéért ezt alapból ki szoktam kapcsolni.

A hardver után elérkeztem a szoftveres részhez. Az előre lefordított XTIDE Universal BIOS-ból több bináris is létezik. A beépített ROM mérete miatt a 8kB-os jöhet csak számításba. A pontos verziót a CPU határozza meg, de egy régebbi procira fordított bináris az újabbon is működik, csak esetlegesen lassabb lesz. A legfontosabb állományok:

  • xtidecfg.com – A kártya beállítására és az EEPROM beégetésére szolgáló DOS-os program
  • ide_xt.bin – 8086/8088-os processzorra fordított verzió (XT és PC)
  • ide_xtp.bin – 80186/80188 processzorra fordított verzió (pl. NEC V20)
  • ide_at.bin – 286-os  processzorra fordított verzió (AT és annál jobb gépek)

Az xtidecfg.com használatáról és egy új verzió vagy beállítás beégetéséről készítettem egy videót. A dokumentáció elég részletes, hogy milyen lehetőségeink vannak, ezért csak a legfontosabb beállításokat vettem végig.

Amit fontosnak tartok kiemelni itt is:

  • Érdemes egy boot floppy-t készíteni vész esetére
  • A WR kapcsolóval engedélyezni kell az írást
  • A jumpereknek megfelelő kártya típust kell választani (rev 1 vagy rev 2)
  • A megfelelő bináris méretet és ROM-ot lehet csak beégetni (28C64 = 8kB)
  • Az általam használt AT28C64-hez az SDP-t (Software Data Protection) ki kell kapcsolni

Zárásként néhány sebesség mérés eredménye. A beállítás (rev 1 vagy 2) és a CPU optimalizáció is befolyásolja az eredményt, ahogy természetesen az sem mellékes, hogy mi van a gépben. A teszteket egy 40MHz-es 386SX-en futtattam, de a turbo-t kikapcsolva is csak minimális változtak az értékek:

  • rev1, ide_xt.bin 159.4kB/sec
  • rev2, ide_xt.bin 268 kB/sec
  • rev2, ide_xtp.bin 528 kB/sec
  • rev2, ide_at.bin 544 kB/sec

Remélem hasznosnak találtátok ezt a kis bemutatót. A kártya és a BIOS nagyon jó kiegészítő főként XT mellé, ha a használhatóság fontosabb az eredetiségnél. Természetesen megvan a varázsa egy MFM merevlemeznek, nekem is van olyan gépem amiben az van. Ugyanakkor egy CF kártyát az XT-IDE-re kötve a gép használhatósága sokat javul, ezek közül példának a szoftverek átmásolását tudom kiemelni.

Linkek:

Fájlok:

Hits: 230



1 thought on “Glitch Works XT-IDE rev 4”

  • Érdekes módon, MFM vezérlőből többnyire csak 16 biteset találni, és nagyon nehéz volt egy valódi 8 biteset beszerezni.
    Az XT gépemben egyébként SCSI vezérlő és vinyó bújkált, kár hogy annak idején kiengedtem a kezemből mindkettőt…

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük