Ti, kteří mají ZX80, dobře znají, že při stisku klávesy se na malou chvíli ztratí obraz. Na analogových monitorech je to skoro nepostřehnutelné, ale dnešní moderní digitální monitory mají občas problém. To stejné se děje, pokud běží Váš program. O vykreslování obrazu se totiž stará procesor a pokud provádí program nebo obsluhuje klávesnici, nic nestíhá zobrazovat
Sinclair ZX81, který ze ZX80 velmi úzce vychází, má obvod ULA, který nejen zjednodušuje diskrétní logiku (mnohem menší počet IO), ale navíc umožňuje ZX81 přepnout do tzv. „SLOW“ režimu, kde se obrazovka kreslí i během vykonávání programu v BASICu. Toto je způsobeno generováním NMI a vykreslováním obrazovky po dobu jeho obsluhy. Na tvorbě NMI generátoru kompatibilního se ZX81 již delší dobu pracuje Grant Searle. Jeho NMI generátor dospěl až do verze 4, která vypadá dokonale. Já jsem prozatím testoval verzi 3.
Na základě Grantova schématu jsem navrhnul DPS. S fuj zadrátováním z autorouteru mi pomohl EC1045 a desku udělal MATRON.
SLOW mode fungoval na první zapojení, ale ve FAST mode po stisku jakékoli klávesy vypadával SYNC, takže obrazovka zčernala. Resp. počítač jel a naslepo se psát dalo a i přepnout zpět do SLOW modu. Ovšem celou dobu aktivního FAST modu byla obrazovka černá. Vše jsem řešil s Grantem a docela dlouho jsem bádal. Jak už to bývá zasekal jsem se na blbině. Zkoušel jsem ZX80 rozjet s deaktivovaným NMI generátorem, ale neuvědomil jsem si, že mám stále připojené R4, D3 a C4 a co to způsobí. Jak by měl signál mez IC 11 pinem 10 a 11 vypadat ukazuje levý screenshot a co z něj udělá připojené R4, D3 a C4 ukazuje pravý.
Stejnou změnu signálu jsem pozoroval při nefunkčnosti FAST mode. Bohužel jsem nepřišel na příčinu. Jak jsem byl zmatený, že ZX80 nefunguje i když je NMI generátor odpojený, odpájel jsem všechny vodiče a vše zapojil znovu. A ejhle, všechno šlape. Chybka byla asi někde v pájení a sám bych rád věděl kde, protože jsem vše několikrát kontroloval a proměřoval.
Takže Grantův NMI Generátor V3 funguje! Velice příjemná je kvalita obrazu (mám zapojenou i část pro zlepšení bílé, resp. černou referenci – back porch). Obraz ve SLOW mode při stisku klávesy nepoblikává. ROM jsem samozřejmě použil ze ZX81, takže jsou k dispozici všechny rozšířené příkazy. Zkoušel jsem jak originální ZX81 ROM, tak i můj EPROM adaptér se ZX81 ROM v jedné z bank 27C256. Oboje šlape v pohodě.
Funkčnost jsem testoval na krátkém prográmku. Cyklus běží od 1 do 15 a vypsání čísla a jeho druhé mocniny.
10 CLS
20 FOR A=1 TO 15
30 PRINT A,A*A
40 NEXT A
Ve SLOW mode se výsledky průběžně vykreslují a celý program trvá cca 14s.
Ve FAST mode trvá běh programu cca 4,4s a po dobu jeho vykonávání je samozřejmě obrazovka černá (bez signálu, protože procesor nemá čas vykreslovat ji).
Další plán je zaktualizovat DPS na Grantovu verzi 4 a opět otestovat. Rád bych vše stihnul do BYTEFESTu, ale bude to hóóódně napnuté.
Pokud by se někdo chtěl pustit do stavby uvedené verze 3, můžete si stáhnout schéma i DPS do Eagle. V archivu jsou i PDF soubory, pokud se vám nechce instalovat Eagle (verze na prohlížení a tisk je zdarma).
Původně jsem ještě zapomněl přidat fotku zadrátování zezadu. je toho dost
Pingback: Rozšíření pro ZX80 – NMI generátor, RAM a EPROM adaptéry | Martinův 8-bitový blog