Čárky, čárky, čárky … na Sinclair ZX80 a replikách s ROM ZX81

Už dříve jsem si na svojí replice ZX80 všimnul, že se mi, při použití ROM ze ZX81, v pseudografice dělají krátké tenké vertikální čárky tam, kde by být neměly. Moc jsem to neřešil. Přisuzoval jsem to svému LCD (fuj :-)) monitoru, který má úžasnou vlastnost, kdy posiluje hrany a dělá to i když se tato funkce vypne (jen o trochu méně).

ZX80_with_NMI_PACMAN_74LS165   ZX80_with_NMI_PLOT-1-0_74LS165   ZX80_with_NMI_PLOT-1-0_74HCT165

Později jsem vyzkoušel i analogový monitor a čárky byly stále tam. Začal jsem z toho podezřívat nejdříve ZXpand, později NMI generátor a nakonec moji „bastlrepliku“, na které všechny tyto pokusy dělám a která je už pořádně „rozvrtaná“. Protože si nikdo jiný nestěžoval, tak jsem se s posledním závěrem tak nějak na docela dlouho spokojil.

Když jsem však rozcházel novou verzi NMI generátoru, pomáhal mi Jirka Koutný (NOSTALCOMP) a položil mi dotaz, zda mi to také dělá. A to už nebylo jen u mně. Jirka tomu věnoval i část svojí stránky o softwaru pro ZX80 s NMI generátorem.

Nějak se mi pořád nedařilo najít dost času k serióznějšímu zkoumání, ale postupně jsem sbíral různé střípky, které pomalu dávám dohromady. Mám i určité řešení, ale zatím není dokonalé. Uvítám tedy jakékoli vaše zkušenosti, návrhy, nápady, protože určitě budou zajímavé i pro ostatní.

Originální Sinclair ZX80 s originální ZX81 ROM

První pokusy směřovaly k tomu vyzkoušet ZX81 ROM na originálním ZX80. Tady jsem měl štěstí i neštěstí. Dobré bylo, že svoje ZX80 jsem koupil právě oficiálně „upgradované“ na ZX81 prostřednictvím ZX81 ROM. Smůla byla, že jsem ho nemohl najít. Dobře jsem ho totiž schoval, aby se mu nic nestalo Mrkající veselý obličej Po delším hledání jsem ZX80 našel, zapojil a co myslíte? Čárky jsou tam.

ZX80_original_with_ZX81_ROM_LINE-7   ZX80_original_with_ZX81_ROM_LINE-10

ZX80_original_with_ZX81_ROM_PLOT-0-1   ZX80_original_with_ZX81_ROM_PLOT-1-0

ZX80_original_with_ZX81_ROM_SINUS_PRG   ZX80_original_with_ZX81_ROM_SINUS

Jistě si všimnete, že čárky jsou jen někde. Pokud kouknete na popis obrázků (podržte myš nad obrázkem, aby se zobrazil ALT text), zjistíte, že čárka je jen nad body, které kreslíte v sudých řádcích a lichých sloupcích.

Originální Sinclair ZX81

Na originálním ZX81 se uvedená závada neprojevuje nebo jen velmi velmi neznatelně.

ZX81_PLOT-0-1   ZX81_PLOT-1-0

Foto obrazovky z Timex 1000 mi poslal i LitilDivil. Rozlišení není nic moc, ale čárky nejsou.

IMG_7221a

Replika ZX80

Obrázky z mojí repliky vidíte v úvodu tohoto článku a i dále ve srovnáních. Čárky jako z praku.

Jak jsem se již zmiňoval, čárky na svojí replice zaznamenal i Jirka Koutný. K shlédnutí na NOSTALCOMP.

Svůj obrázek z repliky mi poslal i LitilDivil. Je zajímavé, že čárky na ní nejsou, zato je sinusovka pěkně zmršená. Zřejmě se jedná o první verzi ZX81 ROM s chybou v dělení. Musím dokopat můj programátor k pálení MCM68764, protože toto bych určitě rád vyzkoušel (nebo to holt dám nestylově do 27512 a mojí redukce). Ovšem zajímavé je, že se čárky nekonají.

IMG_7218a

Další obrázek a i poměrně obšírný názor mi poslal Louis Seidelmann. Tomu se čárky projevují hlavně v inverzním režimu a považuje je za vlastnost tehdejšího návrhu. Také zmiňuje použití TV modulátoru, který tyto ruchy poměrně slušně eliminuje.

Test 1kB RAM - OK

Pokusy a částečná náprava

Samozřejmě mi to nedalo, abych se čárky nepokusil eliminovat. Neměl jsem zatím moc času (kdo mám, že?) a tak jsem se tomu nevěnoval nějak moc a abych se přiznal trochu doufám, že někdo z vás se tomuto problému pověnuje víc a přijde s lepším řešením.

Od začátku jsem hledal okolo serializátoru 74LS165. Podezříval jsem RC článek u něj, ale tam jsem se ničeho nedopídil. Malé změny kapacity přinášely nevelké změny v obraze a větší změna pak zase změny nežádoucí. Ovšem po řadě různých pokusů jsem zkusil prohodit 74LS165 za 74HCT165 a voilà čárky pryč. Teda ne úplně, když mrknete na titulku Pacmana, tak čárka úplně vpravo nahoře nad Pacmanem zůstala, ale většina ostatní jsou pryč a obraz je fajn.

ZX80_with_NMI_PACMAN_74LS165   ZX80_with_NMI_PACMAN_74HCT165

PLOT na začátku obrazovky je také bez problému.

ZX80_with_NMI_PLOT-1-0_74LS165   ZX80_with_NMI_PLOT-1-0_74HCT165

Na sinusovce se čárky ještě trochu projevují, ale jsou výrazně slabší.

ZX80_repl_with_NMI_expset_ZX81-ROM_SINUS   ZX80_repl_with_NMI_expset_ZX81-ROM_SINUS_74HCT165

Ta čárka úplně vpravo nahoře u PACMANa mě vrací k úvahám o časování, prostě na konci řádku je to ujeté víc, budu se dál pídit, čím by to mohlo být, ale jsem rád, že mám aspoň nějaký směr. Když budete mít chvilku, prosím zkuste to a napište vaše zkušenosti, nápady, ať se podělíme s ostatními.

Příspěvek byl publikován v rubrice Sinclair, ZX80, ZX81. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

11 komentářů: Čárky, čárky, čárky … na Sinclair ZX80 a replikách s ROM ZX81

  1. zz_indigo napsal:

    Kedze vymena posuvneho registra zabrala. By som to typoval na problem nabeznej hrany CLK signalu tohto registra. Vyzera to ako keby sa sem tam stalo ze load impulz pride az kratko po deviatom CLK tiku.

    frekvencia oscilatora je upravena pomocou C9 a R2. Takze si by som sa pohral s nimi.

    Podobne je upravena aj freq generovania Load signalu. uprava pomocou C11 a R25. Ale navyse za nimi je este hradlo 74LS10 zo svojim oneskorenim.

  2. Petr napsal:

    Pokud si pamatuju, když jsme si s originálním ZX81 s RAM packem hráli na škole (gympl Sladkovského Praha 3), tak ty čárky se objevovaly (a měnily) když CPU pracovalo. Pokud program neběžel, tak byly zobrazeny nějaké někde a pokud běžel, tak se čárky různě stěhovaly a tetelily. Tuším (je to už 30 let) jsme se tenkrát domnívali, že je to špatným zasunutím modulu do konektoru. Takže asi tak. Závěry nechávám na čtenářích. Stejně to byla krásná hračka. Diskrétní součástky, vzorový návrh zapojení a jak krásně to chodilo. Dneska jsou to stonohé černé lívance a člověk o nich ví prd. Jo, kdyby někdo měl 16kb RAM čipy do video RAM Spectrum 48k+ (odešly mi) nebo návod na náhradu za moderní 5V čipy (ať to nemusím vymýšlet), ozvěte se. Dík.

  3. danhard napsal:

    Zdravím Martina,
    pokud by byl nějaký problém s odladěním „čárek“ což bude nějaký dynamický hazard, tak se stačí na mě obrátit.
    Danhard

    ps. taktéž přepsání toho hardware do nějakého CPD a použití dostupnějších hypermoderních součástek „jen“ 20 let starých je záležitost jednoho příjemného odpoledne.
    Když tady lepíte „původní“ repliku a pak do ní znásilňujete pracně různé rozšiřující přístavky, tak je mi trochu smutno.
    Předvádět komplikace tam kde nejsou snad není ten správný záměr.

    • Martin napsal:

      Ahoj,

      no, doufám, že se k tomu někdy dostanu. Pár nápadů mám kudy na to. Kdyby byly trable, určitě se ozvu, děkuji za nabídku.

      Jasan, že by to přepsat do nějakého CPLD nebo spíš FPGA přepsat šlo (teda já bych to zatím neuměl, moje maximum jsou aktuálně GALy) a taky už to pár lidí udělalo, ale pocitvá logika, kde si můžeš chování každého pinu změřit je prostě větší zábava. Znásilňujeme přesně v tom stylu, jako se to dělalo dřív, prostě retro. Chlapi ze SAPI konference mně málem ukamenovali, když jsem na desku sběrnice chtěl dát ATtiny13 na ovládání PC ATX zdroje 😉

      Ahoj, Martin.

  4. Pingback: Dalsi klon Sinclair ZX80 – ZX80 CORE | Martinův 8-bitový blog

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *