Kőkobak
Ennek a címnek kevesebb az értelme, mint a legutóbbinak, de mégsem rugaszkodtam el teljesen a rögvalóságtól: ahogy ígértem, az EPROM/SRAM-bővítő kártyáról fogok írni. Az EPROM pedig arról ismert széles e világon, hogy marha nehezen tanul (külön EPROM-égető készülék kell a beprogramozásához), igaz, amit egyszer megtanult, azt elég nehéz kiverni a fejéből; sokáig kell "napoztatni" (azaz ultraibolya fénnyel bevilágítani az ablakán), amíg megfő az agya, mindent elfelejt, írhatnám: buta lesz, mint a tök, és akkor lehet kezdeni a tanítását elölről. De nem ezért szeretjük, hanem mert a számítógép kikapcsolása után is megmarad benne a nagy fáradsággal beleírt program, így az a gép következő bekapcsolásakor újra kéznél van. Ilyen Csak Olvasható Memóriába (angolul: Read Only Memory, azaz ROM) célszerű elhelyezni a gép operációs rendszerét, hiszen annak bekapcsoláskor azonnal üzembe kell lépnie: a legeslegelső utasítást valahonnan olvasnia kell a processzornak. De más programok is elhelyezhetők ROM-ban, különösen a jó öreg ENTERPRISE kínál könnyű lehetőséget kedvenc sakkprogramunk, lemezkezelőnk, szövegszerkesztőnk és egyéb gépnyúzó programjaink állandó készenlétben tartására és villámgyors előrántására, mindenféle lemezről, vagy pláne kazettáról (fúj!) történő betöltögetés nélkül.
Hogy lesz a ROM-ból EPROM? Az E az, hogy Erasable, azaz Törölhető, a P az, hogy Programmable, azaz Programozható, tehát többször is fölhasználható, bár kissé macerás módon (lásd fent). Hogy megszabaduljunk az ősi magyar nyelvet elöntő angolszász mételytől, hívhatjuk a tárgyalt áramkört TPCSOM-nak is, de nem árt, ha ezt először otthon, tükör előtt, majd szűk családi körben gyakoroljuk, csak ezután lépünk ki vele a nyilvánosság elé.
A kártya nevében szerepel még a SRAM betűszó is, amelyet két részletben fogok magyarázni. A RAM elnevezés bizonyára ismert, a számítógépek szabadon írható-olvasható memóriáját jelöli. Az ENTERPRISE-ban ebből 128 KBájt található, mégpedig Dinamikus RAM-ok, azaz DRAM-ok formájában. A "dinamikus" jelző azt jelenti, hogy a memória-áramkör állandó frissítést igényel, ami ha elmarad, az adatok elvesznek. Miért használják mégis az ilyen memóriákat? Mert olcsók, és kis helyen elférnek: egy bit tárolóáramköre egyetlen térvezérlésű tranzisztorból (MOS-FET) áll. Egy közönséges húszlábú keskeny IC-tokban elfér egy 4 Mbites memória, ami testvérek között is négymillió tranzisztort jelent. (Körülbelül ennyi van a tenyérnyi Pentium mikroprocesszorban.) Az ENTERPRISE-ban az említett frissítésről maga a Z-80, a RAM-bővítő kártyán egy pár IC-ből álló segédáramkör gondoskodik.
Na most térhetünk rá az S betűre, amely a "Sztatikus" szó rövidítése. Éppen ellentéte a dinamikusnak, úgy is fogalmazhatnék, hogy normálisan működik: beírom az adatot, és benne van, bármikor kiolvashatom, persze amíg a gép be van kapcsolva. Hátrányai: (relatíve) nagy, drága, és kikapcsoláskor felejt. Az első kettőn sajnos nem nagyon lehet változtatni. Egy 32 KB-os SRAM (62256) 28-lábú széles tokban lakik, ára boltban kb. 1200 Ft, nálam (használtan) 600 Ft. A felejtésen segít viszont egy megfelelően alkalmazott elem, vagy akkumulátor, ugyanis ezek a SRAM-ok 3 V tápfeszültségen olyan keveset fogyasztanak, hogy akár évekig is vidáman megőrzik az adatokat (persze ehhez jó minőségű akku kell). A SRAM egy-egy nyitóirányba kapcsolt diódán keresztül kapja a tápfeszültséget mind a géptől, mind az akkutól. Ha a gép be van kapcsolva, az o tápfeszültsége magasabb, ezért a diódán keresztül o táplálja a SRAM-ot, az akku diódája zárva van. Ha kikapcsoljuk a gépet, a tápfeszültsége leesik nullára, ilyenkor lép be az akku. A diódák arra kellenek, hogy elválasszák egymástól az akkut és a gép tápfeszültségét. Egy ellenállás és egy harmadik dióda segítségével megoldható az is, hogy a gép bekapcsolt állapotában töltse az akkut (különben használhatnánk elemet is).
Ezek után a fentiekből levezethető: az EPROM/SRAM-bővítő olyan kártya, amelybe EPROM-ot, ill. SRAM-ot tehetünk be, és akkumulátorral is föl van szerelve a SRAM tartalmának megőrzése végett. A memóriákat vegyesen alkalmazhatjuk, összesen hat darabot egyszerre. Az EPROM-ok lehetnek 8K-tól 64K-ig jumperelhetően bármekkorák, a SRAM célszerűen 32K-s lehet. Választhatunk 8 K-s SRAM-ot is, csak akkor nagyon kell vigyáznunk, mert az adott szegmensen belül kétszer, az alsó és a felső felében fog látszani egyszerre ugyanaz a memória. A 32 K-snál ez a probléma nem lép fel, hiszen az teljesen kitölt két szegmenst; itt csupán két másik gond lép fel. Az egyik, hogy hiába védjük akkuval a SRAM tartalmát, a gép bekapcsolásakor a memóriateszt szempillantás alatt kinullázza a drága jó előre feltöltött memóriánkat. A másik, hogy a kártyán minden IC egy 64 K-s címtartományban látszik, tehát a 32 K-s SRAM kétszer, ugyanúgy, ahogy a 8 K-sról fentebb írtam. Hát akkor mire jó ez az egész? - kérdezhetné az esetleg már nem is olyan nyájas olvasó.
A válaszhoz új bekezdést nyitottam, mert logikailag különálló egység következik. Ugyanis a hardver mit sem ér megfelelő szoftver nélkül, sőt, lehet, hogy sok szoftvermágus, wizard, és egyéb varázsló számára újdonságot mondok, de ez fordítva is igaz. Ezért felvettem a kapcsolatot két tűrhető szoftvercéggel, úgymint ZozoSofttal és HSofttal. (Nem rossz ajánlólevél, mi? Mármint az ő számukra, hogy nekem dolgozhattak...) Nem pont az én kártyám miatt, de a ZozoSoft-féle EXOS 2.3 nem teszteli azokat a szegmenseket, amelyekben rezidens rendszerbővítőt talál, valamint kiszűri a kétszer szereplő szegmenseket is. Tehát megtehetjük, hogy közönséges RAM-nak használjuk a SRAM-ot, de ha beletöltünk egy EPROM-ba való programot, akkor az EXOS 2.3 ezt felismeri és nem írja felül. További előnye a programnak, hogy minden szegmenst végignéz rezidens rendszerbővítő után kutatva, így egy EPROM-ban, vagy SRAM-ban több programot is tárolhatunk. (Az eredeti EXOS 2.1 csak a nullára végződő hexadecimális című szegmenseket nézte át.)
HSoft a várva-várt (természetesen egérrel kezelhető) EPDOS 2.0-ban használja majd ki a 32 K nem felejtő RAM által adott lehetőséget. Nem akarok elébe vágni a témának, ha publikus lesz, HSoft megírja, hogy mi minden beállítást, kezdeti értéket, és egyebet tárol majd az EPDOS 2.0 ezen a területen, ismereteim szerint lehetővé téve, hogy ott folytassuk a munkánkat, ahol előző alkalommal kikapcsoláskor abbahagytuk. HSoft memória-tesztelője is ismeri az EXOS 2.3-nál felsorolt trükköket, így teljesen kihasználhatjuk vele is az EPROM/SRAM-kártya előnyeit.
A kártya címdekódolásra az előző cikkben tárgyalt GAL16V8 áramkört használja. Alapvetően kétféle címzés létezik: a gyári EXOS 2.1, ill. az újabb memória-tesztelő programok számára. Az előbbi a 10h-13h, 30h-33h, 40h-43h, 50h-53h, 60h-63h, 70h-73h; az utóbbi a 60h-77h címtartományt foglalja el. (Természetesen már születtek egyéni változatok, minden szabványosítási kísérlet dacára.) Látható, hogy a második megoldás sokkal kompaktabb, sőt, némi változtatással lehetővé teszi az esetleges RAM-bővítő kártya megzavarása nélkül újabb EPROM/SRAM-bővítők behelyezését. A kártya spártaian egyszerű, hasonlóan az előző EPROM-bővítő kártyához: van rajta hat foglalat a típusbeállító jumperekkel, egy 74LS245-ös adatbusz-meghajtó, némi dióda, ellenállás, egy 7805-ös stabilizátor és a GAL16V8. Opcionálisan lítium-akkumulátor is rendelhető hozzá (700 Ft). A végére jön a csúf önreklám: ha valamely kedves olvasónak fölfelé keltette az érdeklődését a kártya iránt eme kis ismertető, az hozzám fordulhat további információkért és/vagy megrendeléssel (szépen kérem, ha valaki kérdéseket tesz föl, és még választ is vár rájuk, mellékeljen egy felbélyegzett válaszborítékot... Köszi!)
Mészáros Gyula
Enterpress V. évfolyam 2. szám 1994. március-április
Kis kiegészítés:
Így kell megszüntetni azt a hibát, hogy az üres foglalatok BAD RAM-nak látszódjanak. Egy 4.7K-s ellenállás hídat (4.7K BUS, SIL8 vagy SIL9) kell odaforrasztani a 245-ös aljára (11-18 (-19), ill. a közös láb a 20-asra (+5V)) Az a funkciója, hogy az adatvezetékeket felhúzza +5V-ra ha nincsenek meghajtva, vagyis ha nincs adat, FF-nek látszódjon.
Emlékszem anno vitatkoztam is a Klubban Mészárossal, hogy ezt miért nem tervezte rá a kártyára... Ha megnézed az 1M kártyát, arra már rá lett szerkesztve egy ilyen, hasonló módon. A RAM kártyán megszemlélhető ez a megoldás.
. . .
Bogarászom a Mészáros féle rajzot. Mindegyik foglalat lehet SRAM. Tartsuk úgy a kártyát, hogy lent legyen a csatlakozó.
A középső jumper választja ki a táplálást. Lenti állásban a normál 5V-ról, fentiben az aksiról.
A baloldali jumpersor a foglalat 27-es lábát állítja be. A 27-es láb felülről a 2. luk. Felülről az elsővel összekötve az IC +5V-ja megy a 27-es lábra is, ez a 16K-s EPROM-okhoz való beállítás. Felülről a harmadikkal összekötve az A14-et kapja meg, az való a 32/64K-s EPROM-okhoz. A legalsó lukkal összekötve pedig a WR jelet kapja meg, ez való az SRAM-hoz.
A jobboldali jumper blokk pedig az 1-es lábat állítja be, a láb szintén a felülről második luk. Legfelső lukkal összekötve +5V, ez való a 16/32K-s EPROMokhoz. Felülről a 3. lukkal összekötve pedig az A15, ez való a 64K-s EPROM-okhoz. Legalsó luk az A14, ez pedig SRAM-hoz való.
Zozosoft
Ez pedig az általam átalakított kártya: