Nie nevrátil som sa z materskej škôlky. Dnes bude reč o deprchátore pre 48k i 128k Spectrum. Všetci poznajú ten (d)efekt, keď si spustíte nejaké ruské demo a na obrazovke sa začnú diať veci, ktoré silne pripomínajú pršanie. Sú to také vodorovné čiaročky behajúce po obraze. Na vine je hardvérová chybička, ktorá tento jav spôsobuje, keď je register I nastavený na hodnotu 64 až 127 a súčasne CPU vykonáva program vo VRAM, teda typicky v demách, keď je prerušnie nastavené do spomalenej časti pamäte. Najhoršie je, že tým trpia aj niektoré hry, väčšinou od španielskych programátorov (napr. Strider), pretože tí pracovali zväčša na +2b/+3 strojoch, kde sa tento jav už nevyskytuje a to isté platí aj pre ruské klony. Nedostupnosť originálnych Sinclair mašín v Rusku a Španielsku spôsobila, že tamojší coderi nemali o tejto chybe ani potuchy a nám, vlastníkom strojov s touto chybou ostali len oči na plač a postihnuté programy hneď po nahraní resetujeme, v horšom prípade rovno mažeme z disku, čo je škoda, lebo niektoré inak bezchybné kúsky stoja za zhliadnutie.
Našťastie tu máme barličku, ktorá nám od tohto nešváru pomôže. Na 48k i 128k mašine to funguje na rovnakom princípe. Musíme predžuť signály A14 a A15 pre ULA tak, že ich ANDujeme so signálom /RFSH. Na 48k ZXS je to jednoduché. Vezmeme jedno 74LS08, pripájkujeme ho napájacími nožičkami na chrbát iného obvodu v počítači, ostatné nožičky ohneme do vodorovnej polohy, preškrabneme A14 a A15 vedúce do ULA, obvod prepojíme s počítačom podľa schémy, ktorá by tu niekde mala byť a máme od dažďa pokoj.
Na 128k mašine je principiálne rovnaké, avšak prevedením odlišné, keďže A14 a A15 pre ULA je už raz predžuvané obvodom HAL. Tuto máme dve možnosti. Tú prvú som dlho používal, kým P0ke nespravil Umbrellu. Proste sa zasa vezme 74LS08 a pomocou neho ANDujeme signály ULA14 a ULA15 (vychádzajúce z HALu) so signálom /RFSH a podhodíme ich ULA. Môžete kľudne aj bez preškrabov. 74LS08 je zjavne podstatne tvrdšia ako HAL a tak pôvodné signály z HALu sú proste nulaosmičkou prebúchané. Mám to odskúšané na dvoch +2 mašinách a jednej klasickej 128k. Všetci sa divili ako je to možné, ale je to tak.
Tá druhá, zložitejšia možnosť je použiť POkeho Umbrellu. Čo všetko treba spraviť? Tak v prvom rade si kúpte GAL16V8, potom si stiahnite od Velesofta JED súbor do GALu a niekde si to do toho GALu naprogramujte (pre bastličov malý help). Potom treba vybrať pôvodný HAL obvod z počítača, osadiť namiesto neho päticu, na nožičku č.11 treba od CPU priviesť signál /RFSH, osadiť naprogramovaný GAL a hotovo. Aj tu máte od dažďa naveky pokoj.
Umbrella je podstatne elegantnejšia na pohľad a je aj elektricky čistejšia ako hack pomocou 74LS08, takže silne doporučujem práve toto riešenie. Naviac Noby máva Umbrellu v e-shope, takže nebáť sa, naštartovať spájkovačky a do toho.
Stránka byla už zobrazena: 102 ×
Aktualizováno: 2. 5. 2018, 18:43
Stránka načtena za 0.00156 sekund.