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ě).
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 Po delším hledání jsem ZX80 našel, zapojil a co myslíte? Čárky jsou tam.
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ě.
Foto obrazovky z Timex 1000 mi poslal i LitilDivil. Rozlišení není nic moc, ale čárky nejsou.
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í.
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.
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.
PLOT na začátku obrazovky je také bez problému.
Na sinusovce se čárky ještě trochu projevují, ale jsou výrazně slabší.
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.
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.
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.
Nejaky 4116 a 4164ma Bucek v Brne. Tedy nez se tam zas vypravim :)))) . JInak popis na upgrade na 128k verzi (bez pridavne logiky 48K) i s potrebnyma preskrabama je tady http://hw.speccy.cz/128krebuild.html nebo tady http://darkbyte.bloguje.cz/252677-uprava-48k-128k.php . Osobne mam doma vsechny stroje predelany na 4164. Krome toho se odlehcil menic a celkove je ta masina stabilnejsi.
Nemate niekto v archive clanok „Uprava adresovani a zvetseni rozsahu pamětí počítače ZX Spectrum“ autorů ing. Pavla Trollera a Petra Císaře, publikovanu v ST. 11/87.
Niekde som to rokmi stratil a zda sa mi, ze moja uprava bola realizovana prave podla tohto clanku. Na nete som to neobjavil.
Ak to niekto najde a poskytne, budem rad. Vdaka.
Ahoj, diky EC1045, fofrem nasel a naseknoval. Dal jsem Ti to na web https://www.8bity.cz/files/Sinclair/Rozsireni_pameti_ZXSpectrum_ST-11-1987.pdf
Dakujem. To je prikladna spolupraca 🙂
Tu je navod na jednoduchu nahradu VideoRAM.
http://bitcycle.org/retro/spectrum/SRAM_replacement/
Najhorsia cast je vybrat von povodne 4116.
Pri pohlade mi napadlo ako prve, preco tam nie je pouzita 74573 namiesto 74574, cim by nebolo potrebne riesit invertor, ale viac som to neskumal.
Snad pomoze.
Náhrada 4116 RAM v SPECTRU 48 není žádný problém, stačí osadit 4164, nebo 41256 a zlikvidovat +12V a -5V napájení a piny uzemnit.
Dostatek vhodných náhrad je u mě k dispozici, cena symbolická od 1kč.
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.
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.
Pingback: Dalsi klon Sinclair ZX80 – ZX80 CORE | Martinův 8-bitový blog