A cím rögtön elárulja, hogy miről fog szólni az írás. Három dolog motivált, hogy belevágjak. Az első, hogy sok gépnél megoldották az órajel emelését, akkor a Videoton TV Computer sem maradhat ki a sorból. A második, hogy mivel sima TTL IC-kből épül fel, ezért bár egy alkatrésztemető, de legalább minden vezérlőjelhez hozzá lehet férni. A harmadik hajtóerő az volt, hogy eléggé elbonyolították az órajel generálást a TVC-ben, ezért többen is azt mondták, hogy nem lehet megoldani. Szerencsére minden dokumentáció részletes és hozzáférhető a tvc.homeserver.hu-n. A leírás részletes, de két mellékletet kell párhuzamosan nézni, mert az ábrák a könyv végén, az áramköri rajzok meg külön doksiban találhatóak meg. Ez utóbbi segített a legtöbbet.
Az órajelet előállító rajzon a jobb alsó sarok az érdekes. A J10 6-os lábán jelenik meg a CPU-hoz eljutó 3.125MHz-es órajel. Az ötlet az volt, hogy ezt az áramkörnek kell magasabb órajelet adni. Eredetileg a J7 3-as lábáról érkező /6M25 jelet felezi le. Azonos fázisú, de kétszeres órajelet a J6 6-os lábáról lehet levenni. A NYÁK-ot elvágtam a J10 mellett és rákötöttem a /12M5 órajelet. A gép gyorsult, de a képet teleszemetelte, ugyanis a CRCT és az egész megjelenítés a H3-4 felől még mindig az eredeti órajelet kapta. Ezt így is terveztem, de nem számoltam azzal, hogy így egymásra tud csúszni a CPU és a CRCT címbuszon megjelenő jele. A következő ötlet az volt, hogy csak a sor és képvisszafutás idejére gyorsítom, hasonlóan a Plus/4-hez. De ennél én többet akartam és a megoldás ott volt az orrom előtt. Ütközés akkor lehet, ha a CRCT vagy a proci a VRAM-ot címzi. Ilyen vezérlőjelet már előállít a gép, a fenti képen bal alul érkezik be a /VRAM. Amikor ezzel kezdtem el kapuzni a két órajelet, akkor a kép kitisztult és a gép hiba nélkül indult el. Az áramkört egy próbanyákon taknyoltam össze és két itthon talált TTL IC alkotta. Azt számoltam, hogy 4 NAND kapuval is meg lehet ezt oldani, elég lesz egy 7400 az egészhez. Azzal nem számoltam, hogy a CPU órajelét kapja a cartridge port is, ezért az adatok betöltése gondot okozhat. Végül a /CART jelet is bevettem a kapuzásba, de így kellett még egy 7408 is ami a vezérlőjelet állítja elő.
Az U5-ös 7408-as AND kapu bemenetére kerül a /CART és /VRAM. Ha bármelyik logikai 0, akkor az U1-es 7400 NAND 1-es kapujára 0 érkezik. Ebben az esetben az U1_4-en keresztül a 6.25MHz-es órajel, ellenkező esetben az U1_2-es kapun keresztül ennek kétszerese jut az U1_3-ra. Egyszerű ugye? A megvalósítás sem sokkal bonyolultabb.
Az átalakítást mindenki a saját felelősségére végezze el! Nekem sikerült kiüríteni egy multicart v2 teljes tartalmát, azzal például nem kompatibilis az átalakítás. Az esetleges hibákért felelősséget nem vállalok!
A CPU-t nem biztos, hogy le kell cserélni, nekem a Z80A fél óráig bírta az emelt órajelet fagyás nélkül. A 20 MHz-es új processzor már biztos nem lesz szűk keresztmetszet, hacsak nem egy hamisítványt fogtam ki. A 7400-a lábait a galériában látható módon hajtogattam meg, hogy összekössem a kapukat. A célnak HCT vagy LS áramkör felel meg, az utóbbival nekem működött, de 1-2 programnál volt pár pixel szemetelés a kijelzőn ami a 74S00-val eltűnt. Mielőtt a forrasztópákához nyúltam az eredeti órajelet le kellett választani. Ezt a J10-től balra a fólia átvágásával értem el.
Az 7400 lábait a J10-re forrasztottam, összefoglaló a további bemenetekkel együtt:
- 2. és 4. láb vezérlő jel az AND kaputól
- 5. láb /12M5 a J6 5. lábától
- 7. GND, a J8 7-re forrasztva
- 8. órajel kimenet a J10 9-es lábához forrasztva
- 13. láb 6M25 a J7 2. lábától
- 14. 5V a J8 14-re forrasztva
A J8-ra került a 74LS08 amiből csak egy kaput használtam fel. A lábak bekötése a következő:
- 4. /CART vezérlő az F4 8-ról
- 5. /VRAM J8 5-re forrasztva
- 6. vezérlőjel kimenet a 7400 2és 4. lába felé
- 7. GND, a J8 7-re forrasztva
- 14. 5V a J8 14-re forrasztva
Mivel TVC-re nincs olyan benchmark, mint a mai PC-kre, ezért több egy primitív BASIC programmal, néhány játékkal és két demóval igyekeztem kipuhatolni a sebesség különbséget. Végül kipróbáltam, hogy a PCM hanglejátszásnál mennyit számít a tuning. Egy videón próbáltam összefoglalni a különbséget, elég jól bemutatja, hogy mennyit számít az emelt órajel.
A próbák közben kiderült, hogy a sima v1 Multicarttal rendben működik a tuning, de a v2-vel nem. Azzal az SD kártya adapterrel amivel rendelkezem is hibátlanul működött a gép. Átmásoltam még kb. 2-3 MB-ot, hogy az írást is leteszteljem. PC-n ellenőrizve az állományok checksumja megegyezett, persze ez nem garancia a tökéletes működésre, de 4-5 óra tesztelés alatt nem találtam hibát. Menet közben a tuningot ki-be kapcsolni elég lutri, kb 10-ből 7 alkalommal sikerül, ha elég gyors vagyok. Erre az lenne a jó megoldás, ha egy latch-et vezérelnék, de az még egy IC-t igényelne… Hogy mire lehet jó az átalakítás? Hobbi projektnek nem volt utolsó, de reálisan nézve azt gondolom, hogy demónál vagy új játékoknál jöhet jól az extra teljesítmény.
Views: 2265
Hello!
Hihetetlen ez a gyorsulás, amit sikerült kicsikarnod ebből a lassan 35 éves gépből! Gratulálok!
A BASIC-beli grafikai gyorsulás döbbenetes, kár, hogy anno nem volt ilyen gyors ez a remek gép.
Magunk között szólva, mintha egy-két dolgot szándékosan elszúrtak volna:
– két fekete – az egyik lehetett volna barna is
– kissé VIC-20 / Spectrum koppintás a színek fényerősség-különbsége – végül is Spc emulátor is van hozzá, igaz, egyetlen egy db kártya
– csak egyetlen hangcsatorna – szerencsére V Sándor ezt a „problémát” már megoldotta
Na mindegy, nem akarlak feltartani vele, de a lényeg: van értelme a tuningnak, csak pár régi program nincs rá felkészítve, lásd a Bery féle Valleyball.
Szerinted a Driller / Total Eclipse és ilyen 3D-s játékok viszonylag jól futnának a TVC-n? Nem vagyok programozó, csak vauzom a témát, szóval bocs, ha zöldséget kérdeztem volna.
Szia!
Köszönöm, de szerintem több is van a gépben. Úgy gondolom, hogy el lehet érni ennek akár a dupláját is, egyedül a videó RAM elérés lehet a korlátozó tényező. Még ellenőriznem kell a feltételezésem, hogy a VRAM frissítést elintézi a CRCT mielőtt belevágok a fejlesztésbe. Az álmom az, hogy a lapon lévő RAM-ot és ROM-ot kiváltva átlépjem a 10 MHz-et.
A TVC-t licenceltük és meglátszik, hogy még csak egy félkész gép az EP128-hoz képest. A listához hozzátenném a 4 bites színregisztert is. Minimális patkolással lehetett volna 256 szín, elég lett volna hozzá 16 byte-nyi gyors regiszter. Mondjuk egy kis méretű SRAM beépítésével megoldható lett volna, próbapanelen már hónapokkal ezelőtt kipróbáltam és szépen működött.
A TVC tudásra, teljesítményre a CPC szintjét karistolja. A Spectrumnál én legalábbis jobbnak tartom. Tehát ami a fut ezeken a gépeken azt lehetne portolni. Főként, ha kap egy kis tuningot a gép. 12 MHz-es processzorral és kicsit a grafikai részt is megtupírozva még jobb programok is futnának rajta.
A Total Eclipse át van írva TVC-re, meg lehet nézni a sebességét.