[ Megoldva ] Homelab 3 hullámzó kompozít kép

Fórumok

Van egy eredeti Homelab 3-as gépem, amit szeretnék életre lehelni. A kompozít kimenetről jövő kép függőleges oldala hullámos, így érdemben nem olvasható. Az üres képernyőn megjelenő "Homelab 3" felirat nagy nehezen kivehető.

Szeretném megtalálni a hullámzás okát, és ha lehet orvosolni.

A TV, ami a kompozít bemenetén fogadja a jelet, más kompozít jeleket stabilan jelenít meg.

A tápegység - eredeti Homelab - kimenetein +5V, +12V és -5V mérhető, terheletlenül (néhány század volt eltéréssel).

Ha bekapcsolt állapotban mérem ezeket az értékeket, a befutó kábeleknél, úgy egészen meglepő értékeket kapok.

+12V terhelés alatt 4.5V lesz, a -5V terhelés alatt +2.2V. A +5V befutó csatlakozójához még nem fértem hozzá.

Lehetnek-e egészséges értékek ezek, vagy érdemes lennem egy régebbi PC tápegységgel megkínálnom (amiben még volt -5V)?

Vagy hol érdemes keresnem a hullámzás okát?

Megoldás

A kompozit kimenetét a Homelab-nak egy 470uF-os kondenzátorral leválasztottuk a TV kompozit bemenetétől. (Sorba kötöttem a jel kábelen.) Sajnos a TV jel még mindig nem stabil, de a kompozit kép így már élvezhető.

A tápegység is meggyógyult. Az egyik graetz-ben volt benne egy kiégett dioa. Ennek a cseréje óta stabilan meghajtja a gépet.

A hibakeresésben nagyon nagy hasznomra volt egy TTGO ESP32-re írt szkóp, ami 1Msps mintavételezést állít magáról.

Hozzászólások

Fotózd már le kérlek

Vortex Rikers NC114-85EKLS

Gondolom, a képernyőképre gondoltál. Pl.: ilyen

De ezek mellett függőlegesen is fut felfelé a kép, így kis felirat esetén nehéz elkapni látszó foltokat. Van, hogy a megjelenő rész egyszerre többször is látható, más-más helyeken. Biztos valami szinkronjel probléma bújhat meg a háttérben.

Továbbá van a gép hátulján egy 32/64 karakteres átkapcsoló, amiről nem tudom még melyik állása melyik, így néha semmi sem látszik, talán ettől is függően.

Az is biztos, hogy ezen kívül még van baja a gépnek, de akkor tudnék továbblépni, ha már legalább látom, hogy mit ír ki.

Ha a 12 V leesik 4.5 V-ra, az egyáltalán nem egészséges. (Ha jól mérted.)

Mielőtt meghajtanád egy bika táppal, jó lenne áramot mérni, látni, hogy a gép terheli agyon a tápot, vagy az gyenge.

 

Ha nem folynak amperek, akkor szóba jöhet egy másik táp.

"Normális ember már nem kommentel sehol." (c) Poli

Nem emlékszem már ilyen részletekre, de a kép alapján a digitális rész működik.
Viszont a kompozit jelet "ki kell keverni" és ott lesz néhány elko vagy kondi ott nézz körül.
(Ennyi év után minden elko csere)

* Én egy indián vagyok. Minden indián hazudik.

Sajnos azok a kis kerámia hidegítők, szerte-széjjel a lapon szintén tudnak csúnya dolgokat okozni.
A táp ellenőrzése nagyon jó ötlet - dedikált ugye?
A trimmerrel eljátszottál? Ha a kimenő szint nem jó az is tud ilyet okozni.

* Én egy indián vagyok. Minden indián hazudik.

Szerkesztve: 2022. 01. 17., h – 23:17

Ha hullámzás, akkor a képszinkron 50 Hz-e interferál a hálózati egyenirányítás után kapott 100 Hz-cel. Azaz kiszáradt a tápegység puffer elkója, így a tápfeszültség 100 Hz-es lüktetése modulálja a videojelet, ezért hullámzik a kép.

A jobb alsó sarokban azt a nagy kék uborkás üveget cseréld ki! :)

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Nem olvastalak elég figyelmesen, csak most látom, hogy válaszoltál magadnak:

A tápegység - eredeti Homelab - kimenetein +5V, +12V és -5V mérhető, terheletlenül (néhány század volt eltéréssel).

Ha bekapcsolt állapotban mérem ezeket az értékeket, a befutó kábeleknél, úgy egészen meglepő értékeket kapok.

+12V terhelés alatt 4.5V lesz, a -5V terhelés alatt +2.2V. A +5V befutó csatlakozójához még nem fértem hozzá.

Lehetnek-e egészséges értékek ezek, vagy érdemes lennem egy régebbi PC tápegységgel megkínálnom (amiben még volt -5V)?

Javítsd meg azt a tápegységet! Terheletlenül a kapacitásvesztett kondenzátorok a néhány ms időt áthidalják még néhány mA-rel, terhelve ez a mutatvány már nyilván nem megy. Elkókat cseréld ki!

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Köszönöm az eddigi tanácsokat! Egyelőre ott tartok, hogy az eredeti homelab tápot - felelőtlenül, kisbetu tanácsával ellentétben, árammérés nélkül - lecseréltem egy régebbi PC táppal, amin van -5V is.

Az eredmény nagyon jó!

Az alaplapon most a befutó pontokon mért feszütségértékek terhelve is megegyeznek a terheletlen értékekkel, így az eredeti tápja biztos, hogy javításra szorul. (Remélem, csak az elkókat kell majd cserélni.)

Az eddigi bekapcsolás utáni sok sípolás és újraindulás helyett, a bejelentkezéskor egyetlen sípszóval stabilan megjelenik a bejelentkező szöveg ... továbbra is hullámzóan és futóan, olvashatatlanul. Azonban a szövegfoltok felismerhetőek, kevésbé ugrál a kép, inkább már csak fut. Vakban bepötyögtem egy kis programot, ami rendben le is futott. A gépeléskor rendben megszólalnak a billentyűlenyomást visszajelző hangok.

Tehát már csak az alaplapon lévő 1000uF/25V-os elkó uborkát kellene kicserélnem, de ilyen egyelőre nincs itthon. Gondolom, feszültségben nagyobbat tehetek bele, kapacitásban eltérőt nem.

Az nem baj, hogy amit ma a boltban látok 1000uF/25V az sokkal kisebb, mint ami benne volt? Vagy van még paraméter, amit figyelnem kell?

Köszönöm, megnyugtattál, mert a mostani álló kondenzátor kb olyan magas, mint a régi fekvő vastagsága.

A lényeg azonban, hogy sikerült az alaplapon is kicserélnem az 1000uF/25V-os kondenzátort egy újra. Sajnos a képernyő továbbra is ugyanúgy fut. :(

A táp egyelőre a PC tápja, bár a tápegységben is kicseréltem már azt a 3 elektrolit kondenzátort, ami benne volt.

Az alaplapon az egyetlen trimmer potmétert tekergetve a függőleges oldalak hullámainek vízszintes irányú sebessége változik, néha az irány is megfordul, de nem egyenesedik ki a kép széle, még mindig nem olvasható. Bár 32 karakteres módban, lassú mozgás mellett már egyes betűk kivehetőek.

Na, innentől már tippem sincs, mi lehetne a következő lépés.

Árnyékolt videó kábelen, amilyeneket adnak gép és TV közé. De más gépekből kijövő jel szép stabil.

Közben találtam még 2 darab 2.7uF-os elektrolit kondenzátort. Ezeket is kicseréltem újra, bár már csak 2.2uF van. Mivel az eredeti 20%-os tűrésű volt, gondoltam belefér. Azonban ez sem változtatott semmin. És már tényleg nincs több elko a gépben.

Még azon gondolkoztam, lehet-e, hogy a VHF modulátor visszafelé belezavar a videó jelbe is? Ha leválasztanám a VHF modulátort a videó jelről, az segíthet?

Próbálok a hardver leírásban szereplő video részből (14-18. oldal) és a kapcsolási rajz (8-9. oldal) alapján okosabb lenni, hol is lehet a probléma.

Egy régi mobiltelefonra feltelepítettem az oscilloscope appot, és ezzel próbálok mérni, ameddig bírja.

Elsőre a 30-as IC (7408) 11-es lábát mértem ki, mert a leírás alapján ez a sorszinkron. Itt nem mérhető semmilyen érték, azaz folyamatos vonalat látok. Azonban az IC 31. (7404) 5. lábán mérhető a jel, pontos frekvenciát nem tudok kiolvasni az appról, de szép, sűrű hullám látható. Kétszer ekkora frekvenciát kellene látnom az IC 26. (SN74393) 8. lábán. Itt szintén csak folytonos vonalat látok. Ugyanezen IC 9. lábán újra duplázva kellene látnom a frekvenciát. Ez szépen mérhető is.

Egyrészt jól gondolom, hogy ezek mind TTL jelek, azaz ha az egyiket tudom mérni, akkor a másikat is kellene tudnom mérni, ha jó lenne? (Vagyis a telefon jack dugója elé jó méretű ellenállást tettem, ez így tényleg használható mérésre?)

Lehet, hogy tényleg az a baj, hogy egyszerűen nincs sorszinkron jel? Az hasonló jelenséget okozna?

Nem igazán tudom elképzelni, hogy egyes jelek miért vannak meg, mások miért hiányoznak. Valamelyik IC mehetett tönkre? Ezek az egyszerű IC-k is idővel be tudják adni a kulcsot? Van esélyem megtalálni, melyiket kell kicserélni (mármint így, laikusként)?

Így laikusként. ;)

Egyszerűbb lenne logikai analizátorral mérni és oszcilloszkóppal. Az app is jó lehet, de nem tudom mire. :-D

Így ránézésre van ott még régi elkó, könnyen lehet, hogy néhány hibás forrasztás, "lukgalván" szakadás, sérült ellenállás vagy kondenzátor is. Látszik, hogy amatőr rakta össze. Az IC-k ritkábban romlanak el, hacsak nem sütötték meg.

Ha bp-i vagy, segíthetek megmérni.

Akármennyire is nézegettem, nem látok több elektrolit kondenzátort, mint azt a hármat, amit kicseréltem. Nem tudom, mire gondolsz, hol van még régi elko. A forrasztások tényleg csúnyák, itt-ott már rozsdás is, de akkor is jó lenne megtalálni, hol száll el a jel. Vagy arra gondolsz, hogy egy jel bizonytalanul egy át, én látok jelet a scope appon, de igazából az nem megfelelő frekvencia?

Sajnos nincs oszcilloszkópom, bár megtetszett annyira ez a hibakeresés, hogy elkezdtem nézelődni használt scope-ok között. Bár sokat nem költenék rá, 10Mhz alattit meg gondolom nem érdemes ilyen célra venni, tehát nem tudom, mi lesz.

A logikai analizátorról azt sem tudom, micsoda, de majd utánanézek.

Budapesten küzdök ezzel, tehát ha nem jutok előbbre, lehet, hogy el fogom fogadni a segítségedet, köszönöm! (Főleg, hogy még két beteg Primo a64-esem is van, aminek a képe ugyan stabil, működik is, de a generált kép az egyikben csíkos, a másikban pedig néha hiányos. Így látatlanban memóriahibára tippelek, de még nem mélyedtem bele. Egyelőre a Homelab-ot akarom megjavítani.)

Aki a kisujját nyújtja...

A logiakai analizátor - de kereshetsz kínából ugyanilyet olcsóbban. Az az előnye, hogy egyszerre vizsgálhatsz 8 csatornát, az összefüggéseit és van hozzá protokoll analizátor is. Pl. SPI, serial, I2C, USB stb. Ezzekkel közvetlenűl olvashatod a buson folyó adatforgalmat.

Ott az a nagy kék fekvő kondenzátor. Itt a távolság is számít!

Egy telefonban legfeljebb a hangfrekvenciás rész alkalmas oszcilloszkópnak. Azzal meg nem fogsz megmérni  még egy 16 kHz-es négyszögjelet sem. Nekem csak egy 80 MHz-es van, viszont a 80-as években sokat mértem 500 MHz-es, félig digitális Textronix szkóppal. Ezért a többit kitalálom. ;)

A vezeték hosszát, mert annak induktivitása van: Nagyon közelítőleg 1 nH/mm.

Pl. egy processzornál előírják, hogy kell 100 nF hidegítő kondenzátor a táp és a föld közé. Mégpedig legfeljebb 5-6 mm távolságra, avagy a hozzávezetési induktivitás nem lehet több 5-6 nH-nél.

Természetesen a sorrend is fontos: áramforrás -> kondenzátor -> fogyasztó

Ezért kezdődik minden kábelvég kondezátorral. ;)

Csendben jegyzem meg, a nagy kéknek az induktivitása és belső ellenállása is tetemes, szóval ott majdnem mindegy a távolság, ami igazán számít, az a kerámia hidegítés. Persze egy kapcsolóüzemű tápegységben elhelyezett low-ESR elektrolit kondenzátoroknál már nem mindegy. A dolog pikantériája, hogy ott viszont túl mereven nem is szabad hidegíteni, mert elfogyhat a szabályozó fázistartaléka, s akkor begerjed az egész. Tehát van, amikor kell néhány, vagy néhány 10 mΩ belső ellenállás.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Azt látom, hogy ti értitek miről van szó, de ne feledjétek el, hogy én nem vagyok ebben ennyire otthon.

Konkrétan a nagy kék esetében én azt tudom, hogy van két pont az alaplapon, ahova be volt kötve, és az új kondenzátort ugyanoda tudtam csak kötni. Ez esetben nem tudom értelmezni, a távolság és a hossz kifejezéseket, mert az adott két ponthoz vagyok kötve. Máshova nem tehetem. Így is épp hogy csak elért az új kondenzátor két lába a két bekötési ponthoz, ahova az eredeti volt bekötve.

Lehet, hogy rosszul csináltam ezt a cserét?

Szerkesztve: 2022. 01. 21., p – 09:25

-

buta kérdés, de akkoriban nem más tévé kép szabvány volt itthon?

Szerintem, SECAM, de ez gondolom, fekete-fehér, interlaced, 312.5 páros, ugyanennyi páratlan sor, így lesz függőlegesen 625 sor, tehát ennyi képpont. A képarány 4:3, tehát vízszintesen 833.333 képpont van, de nem diszkrét határokon, mint a TFT-ken, hiszen analóg. A képfrekvencia 50 Hz, de ezek páros és páratlan félképek - ugye interlaced -, szóval 25 kép másodpercenként. Viszont a félképek között lehet a tartalomban mozgás, így a szem nem 25 fps-nek fogja érzékelni, hanem 50-nek. A sorfrekvencia 625 * 25 = 15625 Hz. A video sávszélesség 15625 * 625 * 4 / 3 / 2 = 6.51 MHz. Azért van ott a kettővel való osztás, mert legrosszabb esetben egy fekete és egy fehér képpont van egymás mellett, tehát két képpont egy periódus. Persze a kép-visszafutás, illetve a sor-visszafutás is idő, így kevesebb lesz a hasznos sorok száma, meg a hasznos képpontoké is soronként.

Gondolom, nem a HDMI csatlakozóba akarta szuszakolni ezt a videojelet. :) Mert az tényleg nagyon más.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Legyen az a következő lépés, hogy a jel és a föld vezetékbe is beraksz 1-1 db, 220 nF...1 μF MLCC (kerámia) kondenzátort!

Az a 470 μF nem igazán való a videojelbe.

Konkrétan az történt, hogy a kompozit monitor minimális ellenállása lehúzta a homelab-ban generált kompozit videójel szintjét kb 0.2V környékére. Emiatt mindenképpen le kellett választani a monitorról. Egy ilyen dolgokban nálamnál erőteljesen jártasabb ember ajánlotta a 470uF-ot, hogy a + vége menjen a jel felé, a - vége meg a monitor felé. Beletettem, és azóta gyönyörűen megy.

Ezután leltem rá, hogy a homelab hardver leírása is valami hasonlót mond, csak 10-50uF-ot és nem nevesíti hozzá, hogy elektrolit kondenzátor. Azonban már be van forrasztva a 470uF-os, így nem nyúltam hozzá. Nem tudom, érdemben mit módosíthat, ha lecserélem egy másféle kondenzátorra. Tovább javíthat a kép minőségén? Most elég jó, bár 64 karakteres üzemmódban azért nem tűélesek a betűk. Érdemes még egyszer szétberhelnem, vagy azért ezzel is elmegy?

Párhuzamosan kötöttem egy 100nF-os kerámia kondenzátort a mostani 470uF-os elektrolittal. A megjelenített kép nem változott.

Azonban van egy ennél szomorúbb hibajelenség. A TV ugyanis - amit monitornak használok - 4 perc után automatikusan lekapcsol.

Eddig azt hittem, ez a TV hibája, de most rákötöttem egy másik retro gépet, és azzal nem kapcsol le. Akkor sem, ha magárahagyom órákra, azaz nem változik a kép. Mindkettő kompozit monitorként használja a TV-t, de a homelab jelénél akkor is kikapcsol 4 perc után, ha közben használom, azaz folyamatosan változik a kép.

Reméltem, ez a kondenzátor elméretezésének a hibája, de így a 100nF-os kondival párhuzamosan kötve is ugyanez a jelenség.

:(

Van erre ötleted, mi lehet a két jelben a különbség? Mit kellene tennem, hogy a homelab-nál se kapcsoljon le a TV?

Van rendes kép- és sorszinkron jeled? Arra tippelek, hogy a TV szinkronjel hiányában azt gondolja, nincs a bemenetén jel, aztán elalszik.

A másik ez a kapacitív csatolás. Jó volna megnézni a szabványt, a jelszinteket, s egy tisztességes DC erősítőt, szintillesztőt csinálni. Értem én, hogy kondenzátor, de éppen ezért nem fogja átvinni a DC komponenst.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

A nem túl szofisztikált egy szép eufemizmus. A szinkron jelek alacsony szintűek D9 és D10 által, T2, P, R34 egy szintmegfogó. A video tartalom D11 felől jön, az anódjánál lévő jumper dönti el, hogy fekete alapon fehér, vagy fehér alapon fekete karakterek legyenek. Viszont D11 felhúzási kísérletének T2 ellenáll majd, ami rendesen terheli a shift regiszter kimenetét. Szóval gány megoldás. Gondolom, P-vel a fehér szint nagyságát, illetve a modulációs mélységet lehet beállítani. Amikor a diódák zártak, nem vezetnek, az a közepes fekete szint. Amikor D11 vezet, T2 megfogja a szintet, az a magas fehér, s amikor D9 vagy D11 vezet, az az alacsony szinkron szint. Kellemetlen, hogy fehér hátterű módra jumperelve szinkron alatt D11 próbálja a jelet magas szinten tartani, szóval a shift regiszter negált kimenete, D11, D9 vagy D10, valamint IC29 alacsony szintű kimenetei által létrehozott kör lényegében egy nem túl izmos rövidzár, szembe hajtás. Gondolom, abból indultak ki, hogy lefelé izmosabb a húzás egy totem pole kimeneten. De, hogy ez mekkora egy gány, fusi megoldás...

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ez egy Petőfi-díjas első mondat! ;)

Topicnyitónkkat mintha máshol is okítanák, de a megállapítások ott is hasonlók. Mindenesetre a TTL belső kapcsolására alapozni DC szinteket elég nagy bátorságra vall. Különösen egy olyan korszakban, amikor még egy ennél komolyabb gyártmányba is véletlenszerűen kerültek bele a Texas, Fairchild, szovjet, stb. áramkörök. Mert azok már nem egyformák, még a kapcsolást tekintve sem.

Akkoriban a SCART sem volt gyakori a tévén, a modulátoros megoldás meg eleve rosszabb minőségű képet eredményezett. Persze ettől még korrekt módön össze lehetne adni a kompozit jel elemeit.

Az én monitorom is egy átberhelt Junoszty volt. Ha lekapcsoltam a villanyt, akkor a kép egy pillanatra függőlegesen 0 méretűvé zsugorodott. Az ex-orionos kolléga a kapcsolási rajzra pillantva csak ennyit mondott: Lehet két tranzisztorból szinkronleválasztót építeni, de nem így. ;)

Beleástam magam a témába: Építettem egy TBA950 szinkron áramkört ÉS hozzáraktam egy Pilips színestévé szinkron és video végfok áramkörét. A végeredmény brutális lett. Tévé vételnél a kép még nem is látszott, de már állt! :-D Persze a kép minősége is javult. Amikor rövid időre a kezembe került egy Homelab - talán 2-es - tökéletes képe volt.

Visszakanyarodva a topicra: "azért kell a kondenzátor, mert a monitor bemenetén levő ellenállás elhúzza a DC szintet"

Ez az áramkör legnagyobb hibája. Ki kellene egészíteni egy olyan kimeneti fokozattal, ami képes meghajtani az 1V DC videojellel a 75 Ω-os szabványos lezárást. Az áramkör bemenetén némi számolgatással össze lehetne adogatni a komponenseket, és rögtön előállna a csoda.

Egyik sem jó, és az ilyen részletek nem mutatnak semmit.

A bal oldali áramkör "felfelé" 75 Ω "lefelé" 1575 Ω. Így aztán ez nem 75 Ω.

A felfelé-lefelé magyarázata: A monitor bemenete 75 Ω, a videó kábel szintén annyi, de ún. elosztott paraméteres hálózat. Az itt szükséges  teljesítményillesztés úgy valósul meg, hogy az adó, a kábel és a vevő impedanciája megegyezik. A kábel csak bizonyos frekvenciatartományban mutat 75 Ω impedanciát, de van induktív és kapacitiív komponense is. (Pl.) Ha nagyobb a meghajtó impedancia, akkor a kapacitív komponens válik dominánssá. Ekkor a kábel kapacitását kb. áramgenerátor tölti a kelleténél hosszabb idő alatt. Magyarul a jel éle lassabban a kelleténé fut fel, mintegy elkenődik.

Lehet okoskodni az optimális illesztéstől való eltérés esetén, de az ilyen mindig kompromisszumos és bonyolult. A gyakorlatban általában  megvalósítják a pontos teljesítményilesztést. Ebben az esetben el lehet felejteni az összes további okoskodást, mert az ármkör jó.

Van egy új komponensük is: a frekvencia. A meghajtó erősítő sávszélessége ~ a szükséges sávszélesség. Ezt könnyű kitalálni, mert számítható a pont (pixel) frekvenciájából. Ha kisebb a kelleténél akkor elmosódik a kép. Ha nagyobb, akkor a fogadó erősítő képességeinek függvényében túllövés keletkezhet. Az utóbbi a kép éleinél jelentkező, hullámzó intenzitás változásként jelentkezik. Olyan, mintha a függőleges vonalnak árnyékai lennének.

No az agymosás után lássuk a konkrétumokat!

A mai technikával a legegyszerűbb egy elegendő sávszélességű, 5V tápról működő, rail-to-rail ki- és bemenetű műveleti erősítővel megoldani a komponensek összeadását.

Sávszélesség a leírás alapján 6 MHz ill. 3 Mhz a tévé üzemmódban. Egy ilyen (egységnyi erősítésre beállított) erősítő bemenetén össze lehet adogatni az egyes komponenseket. Csak egy kicsit számolgatni kell hozzá. A kimenetére jöhet egy 68 Ω-os ellenállás, amiről lehet hajtani a kábelt vagy a modulátort. A szinteket úgy érdemes beálítani, hogy a jel max. 1 V szintű legyen.

Megvan ennek valahol a ROM tartalma? És az IC7 PROMé? Gondoltam megcsinálom FPGA-n.

ROM-ot én is keresek, hogy ne kelljen kimentenem magamnak, de az EPROMOK megvannak. Amúgy van rá teljes emulátor is, abban biztosan benne van a ROM is. Ha megvan a ROM, szólhatnál. Ha nekem lesz meg előbb, és is jelzem.

Egy élő oldal, ahol infók érhetők el róla:

https://homelab.retrosarok.hu/

Valamint egy másik fájlgyűjtemény a géphez tartozó programokkal, dokumentumokkal:

https://drive.google.com/open?id=1fyfxm6e0J1ux3vxHRRo1Yz_CivNp5dgI

Szerintem a fenti két link mindegyikében ott vannak az EPROMOK.

IC7-et megtaláltam a hardverleírásban, látom több változat is lehetséges, attól függően, hogy milyen memory mapet szeretnél. Megnézem ezt az emulátort, valahogy biztos ki lehet bányászni a ROM-ot az EXE-ből.

Upd.: https://drive.google.com/drive/folders/1RWL4lgzAEEISzTBoVgAMjjlraYdGuNFL

A githubon elérhető a MAME emulator projekt, ami tartalmazza a homelab emulációját is.

Ebben a homelab.cpp fájlból nekem úgy tűnik, hogy 4 xROM IC-t tölt be meg a karaktergenerátort (meg még valamit, de azt nem tudom, mi.). A 0 címre a hl3_1.ic tartalmát tölti. (Ezt nem találtam meg a projektben.) De a google drive-ról letöltött SD zip-ben van egy HL3_eprom.zip, ami szintén 5 (4+1) EPD fájl - legyen az bármi is.

Ebből pedig arra tippelek, hogy ebben a zip-ben a HL3_1.EPD fájl a bekapcsoláskor induló ROM - már, ha 0-ról indul a z80 boot ... ezt sem tudom.

3 ROM tartalom van, IC 1-6 max. 12K ROM, ez a firmware, BASIC-kel, miegymással.

Van az IC7, ez 32 byte, és a címdekóder szerepét tölti be.

IC21 pedig a karakter ROM, aminek a kimenete az IC22 shift regiszterre megy, az tolja ki a video kimenetre a kiválasztott karaktert.

Amúgy nagyon egyszerű a video áramkör, vannak a vízszintes és függőleges raszter számlálók, ez multiplexelve a CPU címbusszal megcímzi a videoramot (IC20), aminek a kimenete címzi a karakter ROM alsó 8 bitjét.

A CPU a videoram tartalmát egy 245-ös bi-dir bufferen (IC19) keresztül tudja írni-olvasni.

A fölső 3 bit pedig a sorszámláló 3 (alsó elvileg) bitje, így egy karakter 8 sor magas. Látszólag a sorszámláló bitjei eléggé meg vannak kavarva, de ez biztos értelmet nyer, ha jobban beleássa magát az ember.

 

Szerk.: IC2-6 lehet RAM is és ROM is, IC1 az csak ROM, mert valamiből bootolni is kell (igen, a Z80 a 0-s címről indul).

Persze van, de nyilván az alkalmazott boardhoz kell alkalmazkodni. Nekem egy MiST-em van, azon van lehetőség egy digitális bemenetre, ilyen programbetöltős WAV-okhoz jó. Benne is van a kódban, csak még nem próbáltam ki. Más boardokon lehet, hogy van ADC bemenet, az még jobb.

A fő video output pedig VGA, ehhez nem árt külön szolgáltatni a szinkronjeleket, meg alaból van benne egy R2R DAC. Kompozit kimenethez külön hardware kellene hozzá, pl. egy AD724 alapú. SCART RGB az nem probléma.

Szerk.: az is igaz, hogy az eredeti géphez hasonló "digitális kompozit" kimenetet meg lehet simán valósítani, van egy szabad digitális kimenet pin. Annyi lenne a különbség, hogy 3.3V-os az FPGA IO-ja, nem 5V.

Két kimenettel 4 féle feszültségszint valósítható meg. Ha azonos ellenállásokat használunk, akkor 3 féle, mert az 10 és a 01 ugyanazt eredményezi. Nekünk ennyi is elég, mert van a szinkron, fekete és fehér szint.

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE