A turbó kártyáról
Még tavaly az SMD Team egy turbó kártyát készített az ENTERPRISE-hoz. A kultúrált kinézetű és szerelésű kártya lehetővé teszi, hogy gépünk 6 MHz sebességű legyen. Beszerelése egyszerű, kivéve azt a pontot, amikor két helyen át kell vágnunk a nyákot. A kártyáról 11 db vezeték jön le, ebből ötöt a megadott helyekre kell forrasztani, 3 a kapcsolóhoz megy, a másik 3 pedig a LED-ekhez. A kapcsolóval 4 és 6 MHz között tudunk kapcsolni. Az aktuális állapotról a zöld és piros LED-ek tájékoztatnak. A kártyához adott útmutatás szerint a gépben ki kellene cserélni a Z80A-t Z80B-re, de ez a tapasztalat szerint teljesen felesleges, az általam átalakított 7 gép tökéletesen működik Z80A-val is. A géppel csak egyetlen probléma lehet, a video memória sebessége (Ezt onnan lehet tudni, hogy egy kis bemelegedés után elszáll, RESET-nél ERROR-t ír ki FE-FC között, vagy el se indul a teszt, csak a keret villog), ekkor az R12-es ellenálláskisebb értékűre cseréje (az eredeti 220 Ohm) megoldja a problémát. A memóriabővítős EXDOS kártyákkal lehet még probléma. Ezt az IC-k gyorsabbakra való cseréje oldja meg, de már találkoztam olyan kártyával is, amelyik csak a CMOS EPROM-okat szereti. Végezetül egy normális órajel mérő program (nem lehet becsapni a 191-es port állítgatásával):
Enterpress IV. évfolyam 1-2. szám 1993 január-április
Az SMD turbókártya eredeti használati utasítása: |
Szép jó estét, itt az illetékes elvtárs :-)
Szóval a turbósítások rejtelmeiről:
Az EP-ben többféle órajel van, van egy 14megegykicsi:-) MHz a Nicknek, biztosítva a az állandó sebességű videójelet. Ezenkívül van a rendszer órajel, ami az alapgépben 8MHz, ez a Dave-be, ill. a rendszerbuszra megy. A Z80 a Dave-től kapja az órajelet, a rendszer órajel felét. Még egy trükk jön itt be: Z80 a memóriákkal sincs közvetlen összekötetésben, a memória elérést is a Dave vezérli, így ő oldja meg a videómemórián való osztozást is, egy roppant egyszerű módon: amikor a Nick akar a memóriához férni, akkor a Z80-at megállítja, az órajel szüneteltetésével. Ezért van az, hogy a videómemóriában futó program lassabb, az órajelmérő programmal nézve, kb 3.5 MHz jött ki ha jól emlékszem.
Visszatérve a turbósításhoz: ehhez a rendszerórajelet kell megemelni. Legegyszerűbb módszer kicserélni az alaplapon lévő 8MHz-es kvarcot.
Ezzel két probléma adódik: EXDOS kártya használata esetén a WD-nek szüksége van a 8Mhz-es órajelre, különben nem tudja olvasni a lemezeket. De erre még visszatérünk, mi lesz ha a WD nem 8 Mhz-et kap.
A másik az, hogy a programok fix órajelre készültek, nem igen használnak időzítést az állandó sebesség eléréséhez, vagyis nagyobb órajelen gyorsabban fut a játék, az van amikor jó, pl. a Race Aceban csak a játékos autója gyorsul :-), van amikor játszhatatlanná teszi.
Vagyis:
-Meg kell tartani az eredeti 8Mhz-et előállító áramkört a rendszerbusz részére
-jó lenne, ha átkapcsolható lenne a sebesség
Így egy fokkal bonyolultabb lesz a dolog, mert nem csak egy másik kristály kell, hanem amellé az ebből órajelet előállító pár alkatrész is.
Elvben a tervezők 6 Mhz-es turbosításra gondoltak is, a Dave egyik regiszterében meg is adható neki, hogy 8 vagy 12MHz a rendszerórajel, ez a hangképzésnél számít. Az SMD féle Turbó Kártya ezért is 6MHz-re turbósított.
Viszont ha meg akarjuk spórolni az új rendszer órajel előállításával járó alkatrészeket, rögtön adódik a gondolat: már úgyis ott kódorog egy 14MHz körüli órajel a gép belsejében a Nick miatt, mi lenne ha ezt használnánk turbo-rendszerórajelnek? Az lenne, hogy ekkor kapjuk a 7.12MHz-es gépet :-)
Tehát a teendők:
-az alaplapon a 8MHz-et előállító rész kivezetését elvágni
-SYSTEM BUS csatlakozón a 8MHz-es kimenetet elvágni a rendszerbusztól
-az alaplapi 8MHz-et összekötni a SYSTEM BUS csatlakozó 8MHz kimenet lábával
így biztosítottuk az EXDOS kártya számára a szükséges normál órajelet.
Ezután:
-az alaplapi 8MHz-et, ill. a kiválasztott turbó órajelet (ami jöhet külön áramkörből, ill. egyszerűbb módon az alaplapi 14MHz vezetékből) bevezetni egy kapcsolóba, annak a kimenetét oda, ahova eddig ment az alaplapi 8MHz, és máris kész az átkapcsolható órajelű EP :-)
További problémák a memóriák sebességével adódik, ehhez egyrészt rövidre kell zárni két ellenállás, aminek gyárilag az a feladata, hogy a beépített lassabb memória IC-knek megfelelően elnyújtott engedélyező jeleket állítson elő.
Másrészt könnyen lehet, hogy ezeket a gyárilag beépített lassabb memória IC-ket rövid úton ki kell hajítani :-)
Meglehetősen vegyes IC-kkel szerelték a gépeket, 250-150 nanos IC egyaránt előfordulhatnak, de láttam már 300-as borzalmat is...
A 7.12 Mhz eléréséhez 200-150-es IC-kkel a legjobbak az esélyeink, igazából próba-cseresznye a dolog, meg kell csinálni, és ha nem megy, akkor jön a RAM csere... ha felső panelen állunk neki a RAM-okat cserélni, akkor már célszerű egybekötni az akciót a 320K-sra való átalakítással, és célszerű minél gyorsabb 100-80-as RAM-okat beépíteni.
Bővítő kártyákkal is lehet gond, az itt található RAM ill. EPROM IC-knek is megfelelő sebességűeknek kell lenniük, mivel ezek már plusz alkatrészeken keresztül érik el a rendszerbuszt, így minimum 120-asaknak kell lenniük, de minél gyorsabb annál jobb! Anno különösen elég gyors EPROM-ok beszerzésével volt gond, manapság már 70 nanosat se nehéz beszerezni.
Szintén bővítőkártyák: a többi logika IC-t se árt a sima 74LS sorozatúakról 74HCT-sekre lecserélni, ezek sokkal gyorsabbak, ill. jóval kisebb fogyasztásúak, amit a stabilizátor IC-k hőmérsékletén le lehet mérni.
Még valami van hátra: a kapcsoló
Legegyszerűbb esetben egy sima háromlábú kétállású kapcsoló, és kész :-)
Ezzel a módszerrel kb. 80%-os eséllyel le fog fagyni a gép az órajel átkapcsolásánál :-)
Bonyolultabb megoldás egy 74F157-et felhasználva, az órajelet ez az IC kapcsolja, a kapcsoló csak ezt vezérli. Ezzel már egész jó arányban megoldható a fagyásmentes kapcsolás.
Ezt lehet még tovább fejleszteni pár logikai IC-vel, hogy az átkapcsolás csak akkor történjen meg, ha mindkét órajel éppen 0-ban van, ezzel már szinte soha nem fog fagyni átkapcsolásnál.
Az SMD Team féle Turbo Kártya még bonyolultabb szinkronizációt tartalmaz az átkapcsolás precíz végrehajtásához, de hogy mit azt soha nem fogjuk megtudni, mivel gondosan lereszelték az IC-k tetejéről a típusjelzést :-(
Elvileg a Z80A-t is ki kéne cserélni a nagyobb órajelre tervezett Z80B (6MHz) vagy Z80C (8MHz) procira, de gyakorlati tapasztalatok azt mutatták, hogy ez felesleges.
Zozosoft