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:
Az 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:
- https://www.glitchwrks.com/2017/11/23/xt-ide-rev4
- https://code.google.com/archive/p/xtideuniversalbios
Fájlok:
Views: 1795
É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…
Szia.
Enis egy hasonlo kartyat probalgatok egy compaq portable Plus XT-be beszerelni.
Nekem az a gondom tamadt hogy egy hibas beallitas miatt rajta maradt a write enable az eeprom-on, es valahogy egy lefagyas utan ugy nez ki torlodott az eeprom-om.
Nem tudod esetleg ha az ix ide kartya ugymond nincs felismerve akkor is fel lehet irni a firmware-t ?
Ezt azert kerdezem mert valahogy probalnam feltamasztani a kartyat, de mivel nincs semmi felig modern-nek mondhato isa busos gepem, 360k floppy meghajto meg csak az xt-ben van szoval eleg bonyolult lenne ezt osszehozni, szoval ha nem menne akkor inkabb vennek valahol egy programozott eepromot 😀
Igen, simán megy. Csak tudni kell a beállításokat. Ha ugyanilyen a kártya, akkor kb. 5 perc alatt megvan. Ha nem boldogulsz vele, akkor ha tudod, hogy milyen BIOS-t szeretnél, akkor szívesen beégetem, nem tart semeddig.
Koszi szepen a felajanlast. Szerintem tudok keriteni P1-es korabelu gepet amin mar van minosegi halozati kartya, plusz meg 1-2 isa slot is, szoval szerintem azzal majd megoldom valahogy. Mivel en veszpremi vagyok nem tudom mennyi a realis eselye annak hogy esetlegesen te programozt fel az eeprom-ot 🙂
Postán levélben el tudom küldeni, írj egy emailt és megbeszéljük.
Szia.
Irnek neked emailt, csak nem igazan talalom a cimet pedit nagyjabol atneztem az oldalt, igaz nem az osszes szegletet. Viszont en itt a comment form-ba megadom az email cimem, szoval ha tenyleg tudnal segiteni akkor tudnal egy sort kuldeni nekem hogy meglegyen a cimed ? Amugy is lehet hogy kerdeznek meg 1-2 dolgot, mert egy compaq portable plus-t probalok feltamasztani, es van par tervem, de egyik resze kicsit kerdeses 🙂
Koszi
Istvan
Szia.
Szeretnem nagyon megkoszonni a segitseget. Az eeprom amit kuldtel elinult a gepemben igaz aztan ujra kelett irni, de sikerult mar vele sok boldog percet toltenem. Sajnos az utolso ket e-mailemre semmi valaszt nem kaptam, pedig nagyon szeretnem meghalalni a segseget. Koszi szepen.
Istvan
Hi,
Sure thing if the hungarian language is not a problem. Anyhow you can try to reach me in english and in case there is a question I try to answer.