{"id":252677,"date":"2006-01-06T20:27:00","date_gmt":"2006-01-06T20:27:00","guid":{"rendered":"http:\/\/darkbyte.bloguje.sk\/252677-uprava-48k-128k.php"},"modified":"2026-04-16T13:24:27","modified_gmt":"2026-04-16T11:24:27","slug":"252677-uprava-48k-128k-php","status":"publish","type":"post","link":"https:\/\/blog.darkbyte.sk\/?p=252677","title":{"rendered":"\u00daprava 48k > 128k"},"content":{"rendered":"<p>Prv\u00e1 verzia \u00fapravy od Zilogatora.<!--more--><\/p>\n<div style=\"text-align: justify\">Neviem \u010di som ten prav\u00fd, kto by mal t\u00fato \u00fapravu popisova\u0165, ale ke\u010f\u017ee som pravdepodobne prv\u00fd kto ju realizoval, nezost\u00e1va mi asi ni\u010d in\u00e9. N\u00e1vrh \u00fapravy vznikol u\u017e d\u00e1vnej\u0161ie, ke\u010f sme na konferencii &#8216;Speccy&#8217; Ziloga tak vyto\u010dili, \u017ee sa dokopal k navrhnutiu tejto DeLuxe \u00fapravy. Na podrobnosti oh\u013eadom funkcie sa mus\u00edte sp\u00fdta\u0165 Ziloga, ale zjednodu\u0161ene sa d\u00e1 poveda\u0165, \u017ee sa d\u00e1 zamontova\u0165 do ak\u00e9hoko\u013evek 48k ZXS, ke\u010f\u017ee GAL obsahuje v\u0161etko \u010do treba na obsluhu RAMky plus deprch\u00e1tor a fastIO. \u00daprava samozrejme neobsahuje AY interface a 128k ROM, ale kto je schopn\u00fd si tak\u00fato \u00fapravu vstava\u0165 do Spektr\u00e1\u010da, je schopn\u00fd si zbastli\u0165 aj nejak\u00e9 AY a dorobi\u0165 32k EPROM. Kto by si chcel e\u0161te zjednodu\u0161i\u0165 robotu, m\u00f4\u017ee e\u0161te vy\u010dka\u0165, lebo Zilog mi na IRC spom\u00ednal, \u017ee testuje nov\u00fa \u00fapravu, kde bude u\u017e aj logika pre AY, tak\u017ee \u00faprava by bola t\u00fdm p\u00e1dom all inclusive. No ale sp\u00e4\u0165 k veci.<\/p>\n<p>Najprv by sme si mohli poveda\u0165, \u010do budete k \u00faprave potrebova\u0165. Tak v prvom rade to bude nejak\u00fd 48k Spektr\u00e1\u010d. U m\u0148a to je Plusko (lep\u0161ie povedan\u00e9 Delta) s doskou issue6a. Potom budete potrebova\u0165 RAMky 4164 a to 16ks (budeme meni\u0165 v\u0161etky RAM chipy v ZXS), jeden GAL 20V8, jedno 74LS174, doporu\u010dujem p\u00e4tice na RAMky a na GAL, tri 3k3 odpory, 3 switche, p\u00e1r vodi\u010dov, k\u00fasok univerz\u00e1lneho plo\u0161\u00e1ku, mer\u00e1k a pr\u00edslu\u0161n\u00e9 vybavenie na sp\u00e1jkovanie, \u010di\u017ee mikrop\u00e1jku, ods\u00e1va\u010dku, \u0161picat\u00e9 cvaka\u010dky, pinzetu, tak\u00fd ten ods\u00e1vac\u00ed p\u00e1sik (tweaking wire sa to tu\u0161\u00edm vol\u00e1), lieh a nejak\u00fa m\u00e4k\u0161iu podlo\u017eku, ja pou\u017e\u00edvam ten molitan, \u010do b\u00fdva v krabici s MB do PC.<\/p>\n<p>Prv\u00fd a naj\u0165a\u017e\u0161\u00ed krok \u00fapravy je v\u00fdmena p\u00f4vodn\u00fdch RAM chipov 4116(VRAM) a 4532(FASTRAM) za nov\u00e9 4164, ide\u00e1lne MHB4164, ale ak nem\u00e1te, posl\u00fa\u017eia ak\u00e9ko\u013evek in\u00e9 64x1bit so 7-bitov\u00fdm refreshom. T\u00fato v\u00fdmenu som robil u\u017e viackr\u00e1t (oprava od\u00edden\u00e9ho meni\u010da ob\u010das obn\u00e1\u0161a aj v\u00fdmenu VRAM) a najviac sa mi osved\u010dil nasleduj\u00faci postup. Opatrne rozoberieme Spektr\u00e1\u010da, odpoj\u00edme kl\u00e1vesnicu, vyberieme plo\u0161\u00e1k a polo\u017e\u00edme na podlo\u017eku. Odmotujeme chladi\u010d zo stabiliz\u00e1tora 7805 aby n\u00e1m nezavadzal. Teraz nasleduje najhor\u0161ia \u010das\u0165 \u00fapravy a tou je vybratie spom\u00ednan\u00fdch p\u00f4vodn\u00fdch RAM chipov. Naj\u0161etrnej\u0161ie k plo\u0161\u00e1ku je opatrne vycvaka\u0165 v\u0161etk\u00fdch 16 chipov a potom jemne, pomocou ods\u00e1va\u010dky, tweaking wire a pinzety povybera\u0165 no\u017ei\u010dky (spolu 16&#215;16 \u010di\u017ee 256 no\u017ei\u010diek, tak\u017ee \u017eel\u00e1m pevn\u00e9 nervy). Ke\u010f to m\u00e1me hotov\u00e9, liehom o\u010dist\u00edme ne\u010distoty po ods\u00e1van\u00ed. Teraz je treba upravi\u0165 nap\u00e1janie pre nov\u00fa VRAM. P\u00f4vodn\u00e9 chipy 4116 maj\u00fa viac nap\u00e1jac\u00edch nap\u00e4t\u00ed (konkr\u00e9tne -5V, +5V a +12V) a na \u00faplne in\u00fdch pinoch ako nov\u00e9 4164. Tie si vysta\u010dia iba s +5V. Tak\u017ee pre\u0161krabneme spoje -5V, +5V a +12V v bl\u00edzkosti VRAM chipov ale tak, aby n\u00e1m vetvy spojov k chipom ostali v celku. Tam kde bolo na chipoch predt\u00fdm -5V privedieme GND, kde bolo +12V privedieme +5V a kde p\u00f4vodne bolo +5V je teraz A7 novej VRAM tak\u017ee tam pripoj\u00edme do\u010dasne GND aby sa n\u00e1m n\u00e1hodne neprep\u00ednali banky, ale nesk\u00f4r sem pripoj\u00edme sign\u00e1l VRAMA7 z GALu. V\u0161etko d\u00f4kladne skontrolujte, napr\u00edklad si to prep\u00edsknite mer\u00e1kom. Orienta\u010dne sa mrknite na obr\u00e1zok \u010d.1:<a href=\"http:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr1.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr1-1024x768.jpg\" alt=\"\" width=\"1024\" height=\"768\" class=\"aligncenter size-large wp-image-929778\" srcset=\"https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr1-1024x768.jpg 1024w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr1-300x225.jpg 300w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr1-768x576.jpg 768w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr1.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a>Je to tam vyzna\u010den\u00e9 pre issue6a.<\/p>\n<p>Ak to m\u00e1te dobre, m\u00f4\u017eete prist\u00fapi\u0165 k osadeniu p\u00e4t\u00edc, najlep\u0161ie prec\u00edznych. \u017del\u00e1m v\u00e1m druh\u00fdkr\u00e1t pevn\u00e9 nervy pri sp\u00e1jkovan\u00ed 256-tich no\u017ei\u010diek. Pre FASTRAM sa \u017eiadna \u00faprava nap\u00e4t\u00ed nerob\u00ed, lebo p\u00f4vodn\u00e9 4532 s\u00fa vlastne 4164 s vadnou niektorou polovicou, tak\u017ee pinout sed\u00ed. Nakoniec osad\u00edme do p\u00e4t\u00edc nov\u00e9 RAMky, primontujeme chladi\u010d a sk\u00fasime zapn\u00fa\u0165. Spektr\u00e1\u010d by mal norm\u00e1lne nabehn\u00fa\u0165. Ke\u010f v\u00e1m nabieha, m\u00f4\u017eete si vyd\u00fdchnu\u0165. Najhor\u0161ie je za vami a 128k RAMky je v Spektr\u00e1\u010di. Vypneme ho a znova odmontujeme chladi\u010d.<\/p>\n<p>\u010eal\u0161\u00ed krok je osadenie logiky od Ziloga. Vezmeme univerz\u00e1lny plo\u0161\u00e1k a osad\u00edme 74LS174, p\u00e4ticu pre GAL, odpory, switche a \u010do treba poprep\u00e1jame pod\u013ea <a style=\"font-style: italic\" href=\"https:\/\/hw.speccy.cz\/pics\/48kto128k.png\">sch\u00e9my<\/a>. Potom na ZXS plo\u0161\u00e1ku e\u0161te pre\u0161krabneme A15 \u010do vedie od CPU k MULLARDu a k ULA. Jeden pre\u0161krab na issue6a je v bl\u00edzkosti MULLARDa: <a href=\"http:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr2.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr2-1024x768.jpg\" alt=\"\" width=\"1024\" height=\"768\" class=\"aligncenter size-large wp-image-929779\" srcset=\"https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr2-1024x768.jpg 1024w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr2-300x225.jpg 300w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr2-768x576.jpg 768w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr2.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a> a jeden odspodu: <a href=\"http:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr3.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr3-1024x768.jpg\" alt=\"\" width=\"1024\" height=\"768\" class=\"aligncenter size-large wp-image-929780\" srcset=\"https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr3-1024x768.jpg 1024w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr3-300x225.jpg 300w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr3-768x576.jpg 768w, https:\/\/blog.darkbyte.sk\/wp-content\/uploads\/2006\/01\/obr3.jpg 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a> Potom e\u0161te privedieme A15 od CPU na zbernicu. Podstata t\u00fdchto \u010dachrov s A15 je v tom, \u017ee GAL podvrhuje ak\u00fdsi fake A15 len pre MULLARDa a pre ULU, ale na zbernici mus\u00ed by\u0165 plnokrvn\u00e1 A15 od CPU kv\u00f4li perif\u00e9ri\u00e1m, \u010di\u017ee mus\u00edme MULLARDa a ULU od A15 na CPU a zbernici odpoji\u0165. Kto m\u00e1 to \u0161\u0165astie, \u017ee m\u00e1 MULLARDA a ULU v p\u00e4ticiach, sta\u010d\u00ed vyhn\u00fa\u0165 pr\u00edslu\u0161n\u00e9 A15 no\u017ei\u010dky a netreba pre\u0161krab\u00e1va\u0165 ni\u010d. Ke\u010f m\u00e1me tieto pr\u00edpravy hotov\u00e9, m\u00f4\u017eeme prist\u00fapi\u0165 k napatchovaniu plo\u0161\u00e1ka s logikou do ZXS. Najlep\u0161ie je nadr\u00e1tova\u0165 to na rovno na CPU, kto m\u00e1 CPU v p\u00e4tici, m\u00f4\u017ee si vyrobi\u0165 nejak\u00fd medzikus a sign\u00e1ly vytiahnu\u0165 pomocou neho. FSEL a VSEL napoj\u00edme priamo na MULLARDa, pri VRAM odstr\u00e1nime do\u010dasn\u00fa prepojku z A7 na GND a pripoj\u00edme sign\u00e1l VRAMA7 z GALu. FRAMA7 je jedin\u00fd sign\u00e1l ktor\u00fd sa prip\u00e1ja odspodu plo\u0161\u00e1ku, lebo navrchu som na issue6a nikde A7 pre FASTRAM nena\u0161iel. Sign\u00e1l NEWA15 potom privedieme z GALu iba k MULLARDu a ULA, alebo na na tie vyhnut\u00e9 no\u017ei\u010dky kto m\u00e1 p\u00e4tice &#8211; opakujem IBA k MULLARDu a ULA. Ke\u010f m\u00e1te v\u0161etko poprip\u00e1jan\u00e9, osa\u010fte do p\u00e4tice <a style=\"font-style: italic\" href=\"http:\/\/hw.speccy.cz\/files\/p_gal.zip\">naprogramovan\u00fd GAL<\/a> a poriadne si to skontrolujte, najmenej 10x. Ak sa v\u00e1m to zd\u00e1 OK, namontujte sp\u00e4\u0165 chladi\u010d.<\/p>\n<p>Teraz sa pok\u00fasime upraven\u00fd Spektr\u00e1\u010d na\u0161tartova\u0165. Switche \/FASTIO a \/UNRAIN nechajte zatia\u013e rozpojen\u00e9 &#8211; ma\u0161ina bude ako klasick\u00e1 128k. Pripojte zdroj &#8211; upraven\u00e9 ZXS mus\u00ed na\u0161tartova\u0165 na prv\u00fd \u0161up. Mne s\u00edce na\u0161tartovalo, ale ke\u010f som pripojil divIDE s TBIOSom, zistil som, \u017ee sa hl\u00e1si k \u017eivotu iba 48k pam\u00e4te. Po d\u00f4kladnej anal\u00fdze som zistil, \u017ee ja blbec som pripojil vodi\u010d, \u010do mal \u00eds\u0165 na \/IORQ, niekam \u00faplne inam (konkr\u00e9tne na \/RD), tak som to opravil a h\u013ea, razom sa v\u0161etko rozbehlo. Asi za 5 min\u00fat som v\u0161ak zasa v nervoch rozoberal Spektr\u00e1\u010da znova, lebo sa to cel\u00e9 chovalo akosi podivne. Str\u00e1nky sa z\u00e1hadn\u00fdm sp\u00f4sobom kadejako zdvojovali a ma\u0161ina bola nestabiln\u00e1 ako prasa. Po druhej d\u00f4kladnej anal\u00fdze som zistil, \u017ee pre\u0161krab sign\u00e1lu A15 k MULLARDu a ULA je ak\u00fdsi vodiv\u00fd a tak sa mi NEWA15 a A15 veselo ml\u00e1tili. Ke\u010f som odstr\u00e1nil aj t\u00fato chybu, Spektr\u00e1\u010d sa kone\u010dne rozbehol ako sa patr\u00ed, akur\u00e1t sem tam mu sne\u017eilo, za \u010do mohla e\u0161te jedna chybi\u010dka v GALe. Zilog poradil ako opravi\u0165 rovnice, a tak som naprogramoval GAL nanovo a bolo. Moja b\u00fdval\u00e1 Delta sa p\u00fd\u0161ila 128k RAMkou. V lep\u0161om pr\u00edpade sa t\u00fdm m\u00f4\u017ee pochv\u00e1li\u0165 aj v\u00e1\u0161 upraven\u00fd Spektr\u00e1\u010d. Ak v\u00e1m pri rozpojen\u00fdch switchoch funguje v\u0161etko ako m\u00e1, sk\u00faste to e\u0161te pri spojen\u00fdch switchoch. Zapnete t\u00fdm v\u0161etky features, fastIO a deprch\u00e1tor. Ak funguje v\u0161etko aj tak, m\u00f4\u017eete si poda\u0165 ruku. \u00da\u017eitkov\u00e1 hodnota v\u00e1\u0161ho po\u010d\u00edta\u010da vzr\u00e1stla o pekn\u00fd kusisko.  A na z\u00e1ver e\u0161te p\u00e1r <a href=\"https:\/\/z00m.speccy.cz\/?file=galleries&#038;module=albums&#038;page=viewalbum&#038;album=delta-128k\" rel=\"noopener\" target=\"_blank\">screenshotov<\/a>.<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Prv\u00e1 verzia \u00fapravy od Zilogatora.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"class_list":["post-252677","post","type-post","status-publish","format-standard","hentry","category-zx-spectrum"],"_links":{"self":[{"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=\/wp\/v2\/posts\/252677","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=252677"}],"version-history":[{"count":4,"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=\/wp\/v2\/posts\/252677\/revisions"}],"predecessor-version":[{"id":929782,"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=\/wp\/v2\/posts\/252677\/revisions\/929782"}],"wp:attachment":[{"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=252677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=252677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.darkbyte.sk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=252677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}