¢ ZLEP③EN GTIA-M♪D A VIDEOV⑨STUPU¢ =================================¢ ╱autor: Ji@) Bern*&ek - BEWESOFT$¢¢ Po mnoha letech pou()v*n) Atari 800XL jsem se rozhodl zakoupit druh` po')ta' ╱kv+li testov*n) jist[ho programu$. Z)skal jsem nejpozd%j&) verzi Atari 800XE, tento po')ta' ale bohu(el zobrazoval na televizoru n%jak "divn%". Jednalo se o dva probl[my, kter[ jsem potkal u( d@)ve na r+zn`ch srazech u(ivatel+, ale a( te⇦ jsem m%l &anci prozkoumat celou v%c trochu podrobn%ji. Nakonec se mi poda@ilo ob% vady napravit - pro ty, kte@) maj) stejn[ pot)(e, zde p@edkl*d*m popis pot@ebn`ch ]prav.¢¢ Prvn) probl[m se t`k* chybn[ho zobrazov*n) tzv. "GTIA md+" ╱v Basicu GRAPHICS 9 a( 11$, ke kter[mu doch*z) snad na v&ech po')ta')ch XE vyroben`ch v ⇨)n%. Jedn* se o chybu uvnit@ obvodu GTIA, kter* p@id*v* do 16-ti odst)nov`ch obr*zk+ ╱hlavn% nov%j&) dema$ sv%tl[ te'ky nebo svisl[ '*ry. Kdo nev), jak se jeho po')ta' v t%chto re(imech chov*, a④ si zkus) ╱v Basicu$:¢¢10 GRAPHICS 9:FOR X=0 TO 15:COLOR X:PLOT X,0:DRAWTO X,64:NEXT X¢20 GOTO 20¢RUN¢¢ Objev) se 'tverec plynule p@ech*zej)c) od 'ern[ ╱vlevo$ po b)lou ╱vpravo$. Je-li p@echod plynul` ╱jen s nepatrn`mi "sch+dky"$, je po')ta' v po@*dku a popisovan* ]prava by byla zbyte'n*. Pokud se ale vyskytuj) &ed[ a b)l[ svisl[ '*ry ╱hlavn% v lev[ '*sti$, m*me v po')ta'i vadn` obvod. Nejlep&)m @e&en)m by bylo vym%nit ho za dobr`, ten ale v%t&inou nen) k dispozici ╱leda(e by m%l n%kdo ve sk@)ni jin` - nechod)c) - po')ta'$.¢¢ Zde popisovan* ]prava pom*h* i bez v`m%ny vadn[ho obvodu GTIA - sta') p*r levn`ch integrovan`ch obvod+ ╱kter[ lze b%(n% koupit$, a n%jak[ je&t% levn%j&) drobnosti. Obraz nebude ani pak na 100ù spr*vn`, ale ty nejhor&) poruchy zmiz) - na prvn) pohled bude obraz zcela v po@*dku. Opravena bude sv%tlost pixel+ ╱v grafice 9 a 10$, nikoliv v&ak jejich barva ╱t`k* se grafiky 10 a 11$ - to u( tak jednodu&e nejde.¢ V&echno m* i sv[ stinn[ str*nky - bude m)rn% ovlivn%na PMG grafika. Na pohybliv`ch objektech ╱p@es GTIA mdy$ asi nic moc podez@el[ho neuvid)me, ale nepohybliv[ obrazce budou pon%kud "rozpl*cl[" ╱spojen[ dvojice pixel+$. Pokud by se snad v PMG zobrazoval n%jak` hodn% drobn` text ╱co( se t[m%@ nevyskytuje, ale mo(n[ to je$, m+(e b`t t%(ko 'iteln` - pr*v% proto lze ]pravu vy@adit z funkce vyp)na'em. ə*dn[ jin[ grafick[ re(imy ne( 9 a 10 nejsou ovlivn%ny.¢¢ K proveden) ]pravy budeme pot@ebovat nejen n%jak[ ty sou'*stky, ale tak[ vhodn[ n*@ad), p*je'ku, trochu zku&enosti s p*jen)m na plo&n`ch spoj)ch a v neposledn) @ad% trp%livost. Kdo nen) na pr*ci s p*je'kou zvykl`, m%l by rad%ji sh*n%t pomoc u n%koho jin[ho. Autor tohoto textu odm)t* jakoukoliv odpov%dnost za &kody vznikl[ chybnou mont*(), nebo nespr*vn`m zach*zen)m s n*@ad)m a sou'*stkami!¢¢ Co budeme pot@ebovat: 74HCT00, 74HCT74, 74HCT75, 74HCT86, 74HCT138, Odpor 10 kiloohm+, kondenz*tor 100nF, miniaturn) vyp)na' ╱nemus) b`t$, kousek univerz*ln)ho plo&n[ho spoje ╱70x28mm$, 1 a( 2 metry tenk[ho izolovan[ho dr*tu a p*r centimetr+ siln%j&)ho neizolovan[ho dr*tu ╱pr+m%r n%co p@es milimetr$.¢¢ Pokud nese(eneme obvody 74HCT..., lze pou()t i norm*ln) 74LS... ╱"(erou" trochu v)c proudu, ale jinak se neli&). Tak[ 74ALS... jsou mo(n[, a snad i 74HC... by mohly fungovat, to ale nen) jist[. Star[ typy 74... a 74S... nepou()v*me, proto(e "(erou" p@ece jenom trochu moc.$ 74HCT... jsou patrn% nejlep&), a nejsou p@itom o nic dra(&) ne( ostatn) druhy ╱alespo v Praze$. Na odpor a kondenz*tor nejsou (*dn[ zvl*&tn) n*roky - vyhov) jak`koliv typ dostate'n% mal`ch rozm%r+.¢ Desku vol)me univerz*ln), s otvory v rastru 2.5x2.5mm a s izolovan`m p*jec)m o'kem okolo ka(d[ho z nich. Pot@ebujeme obd[ln)k 28x11 otvor+. ╱⑤prava se d* "slepit" i bez desky, to je ale mnohem pracn%j&), a tak[ n*chyln%j&) na po&kozen).$¢ Vyp)na' ╱nepovinn`$ mus) b`t p@edev&)m mal`, aby se dal zamontovat do zadn)ho panelu po')ta'e. Sta') jednoplov` "zapnuto-vypnuto".¢¢ Za prv[ si p@iprav)me roz&i@uj)c) desti'ku podle obr*zku 1. ╱Obr*zky jsou pops*ny anglicky, ale nep)&e se tam skoro nic, co by nebylo v tomto textu.$ Ust@)hneme desti'ku na pot@ebn` rozm%r a osad)me na ni sou'*stky dle obr*zku ╱integrovan[ obvody, odpor, kondenz*tor a t@i dr*tov[ propojky - rad%ji izolovan[$. V`vody na spodn) stran% zaletujeme a p@e'n)vaj)c) '*sti pe'liv% od&t)peme. Pak ud%l*me spoje na stran% p*jen) - m+(eme na desku polo(it ╱a p@ip*jet!$ tenk[ neizolovan[ dr*tky, posta') ale i pouh[ propojen) p*jen)m ╱kope'kem c)nu$. ⇨)slovan[ body zat)m nech*me b`t. V&echny dr*ty a jin[ vodiv[ '*sti na stran% sou'*stek mus) b`t schovan[ pod ]rovn) pouzder integrovan`ch obvod+. Nakonec ud%l*me dv% "nohy" pro p@ipevn%n) deti'ky a p@)vod nap*jec)ho nap%t). Ohneme asi centimetr siln[ho dr*tu do prav[ho ]hlu a p@ip*j)me na desku ╱ze strany p*jen)$ tak, aby jedna polovina dr(ela za n%kolik p*jec)ch bod+, a druh* vy'n)vala asi 5mm kolmo do prostoru. Na z*v%r v&echno p@ekontrolujeme - rad%ji dvakr*t.¢¢ Mus)m upozornit, (e obvody 74HCT... jsou choulostiv[ na statickou elekt@inu, stejn% jako mnoh[ obvody uvnit@ po')ta'e. M%li bychom je p*jet kvalitn) p*je'kou - NE transform*torovou. Spr*vn% bychom m%li spojit zemn) bod desky, na kter[ pracujeme, s p*je'kou a se svou rukou n%jak`m vodi'em - nebo alespo na zemn) bod s*hnout ╱tak[ p*je'kou$ v(dy po p@eru&en) pr*ce. Nem%li bychom pracovat v od%vech z um%l`ch vl*ken, ani se p@)li& "posunovat" po podlahov`ch krytin*ch z PVC. Integrovan[ obvody se daj) po&kodit i teplem, proto nep*j)me p@)li& dlouho na jednom obvodu ╱je-li obvod na omak hork`, je nejvy&&) 'as p@estat$. Kdo se t%mito radami ne@)d), m+(e n%kter` integrovan` obvod poni'it ╱99-kr*t se to m+(e pov[st bez katastrofy, ale po@*d existuje riziko (e po st[ n%komu "zlikvidujeme" po')ta'$.¢¢ Tak(e te⇦ otev@eme XE-'ko. Vy&roubujeme 4 &rouby na spodn) stran%, sund*me vrchn) kryt a kl*vesnici. ╱Tu mus)me odpojit z konektoru - opatrn%! V`vody na ohebn[ flii se daj) snadno po&kodit, zato opravit je t[m%@ nelze.$ D*le vy&roubujeme 7 &roubk+ p@i okraj)ch desky a vynd*me ji ven. Narovn*me do p@)m[ polohy 7 zaji&④ovac)ch pl)&k+ a sund*me plechov` kryt.¢ Podle obr*zku 2 si najdeme na desce pot@ebn[ body. ╱Obr*zek by snad m%l odpov)dat - nev)m, zda existuj) i jin[ verze desky.$ Opatrn% podle obr*zku p@eru&)me 3 spoje vedle obvodu 4050 ╱bl)zko GTIA$ - jeden z nich je na spodn) stran%! Pe'liv% z desky odstran)me uvoln%n[ zbytky m%d%n[ flie.¢ D*le si p@iprav)me 18 kousk+ izolovan[ho dr*tu, kter[ zaletujeme na o')slovan[ body 1-18 na&) desti'ky. D[lku dr*tk+ p@izp+sob)me pot@ebn[mu propojen). ╱Dr*tky by nem%ly b`t zbyte'n% dlouh[.$ Pokud budeme montovat vyp)na', zaletujeme je&t% jeden vodi' do bodu 19 - tak dlouh`, aby dos*hl na m)sto budouc)ho vyp)na'e ╱nejl[pe n%kde nad konektorem pro monitor$.¢ Najdeme dle obr*zku body "⇩" a "-" ╱"⇩" vede na v`vod 21 obvodu ANTIC, "-" na v`vod 1 - rad%ji si to ov%@)me$, a zkus)me novou desti'ku usadit na m)sto. P@ihneme trochu "nohy" ze siln[ho dr*tu - tak, aby p@esn% pasovaly na p*jec) body v po')ta'i. Zkontrolujeme tak[ v`&ku - "nohy" se mus) dot`kat p@)slu&n`ch bod+, ale nov* desti'ka ╱vrcholky p*jen)$ nesm) b`t v)ce ne( asi 1mm nad ANTICem ╱to je ten velk` integrovan` obvod dole na desce$. P*jen) na na&) desti'ce se m+(e dot`kat plastov[ho pouzdra ANTICu, mus) v&ak b`t dostate'n% daleko od jeho v`vod+. Po kontrole p@iletujeme "nohy" na desku po')ta'e. ╱Db*me p@itom na zvl*&④ dobrou kvalitu p*jen) - na t%chto dvou bodech bude dr(et cel* nov* desti'ka.$¢ Pak p@ipoj)me v&echny dr*tky na odpov)daj)c) m)sta v po')ta'i, op%t podle obr*zku 2. Dlouh` dr*t k vyp)na'i zat)m nech*me voln` ╱jen ho ohneme n%kam mimo desku$.¢¢ V&echno ╱dvakr*t$ p@ekontrolujeme, p@ipoj)me nap*jec) zdroj a televizor ╱kl*vesnici ne - jej) v`vody se snadno po&kod)$, a zkus)me po')ta' ╱'i sp)&e desku$ zapnout. M%l by norm*ln% fungovat, tak(e uvid)me "READY". Z+stane-li obrazovka 'ern*, vypneme nap*jen) a za'neme hledat chybu, &patn[ p*jen), zkrat, nebo n%co podobn[ho.¢ Kdy( po')ta' funguje, p@ipoj)me disketovou jednotku. Vlo()me do n) samostartuj)c) ╱bootovou$ disketu s n%')m, co m* tituln) obr*zek v 16-ti odst)nov[ grafice ╱GRAPHICS 9$, nebo je&t% l[pe v prokl*dan[m re(imu HIP ╱obsahuje grafiku 9 i 10$, a zap)n*me. Obr*zek si dob@e prohl[dneme - m%l by b`t zobrazen` spr*vn%, bez on%ch sv%tl`ch te'ek a 'ar ╱v n%kter`ch p@)padech mohou z+stat slabounk[ &edav[ zbytky - to pokud obr*zek v HIPu pou()v* tak[ r+zn[ barvy$. Zkus)me se opatrn% koncem dlouh[ho dr*tu ╱pro vyp)na' - pokud ho m*me$ dotknout zem% ╱m)sta pro upevn%n) plechov[ho krytu$. Funkce by se t)m m%la vr*tit do p+vodn)ho stavu, tak(e se op%t objev) te'ky a '*ry v obraze.¢¢ Kdy( v&echno funguje, vypneme po')ta', odpoj)me kabel*( a pust)me se do mont*(e vyp)na'e ╱pokud ho chceme$. Do zadn)ho panelu na ╱pr*zdn[$ spodn) '*sti krytu po')ta'e vyvrt*me p@)slu&nou d)ru a osad)me vyp)na'. Budeme-li d%lat tak[ d*le popsanou ]pravu videov`stupu, d*me se do toho pr*v% te⇦ ╱nebo tak[ na sam[m za'*tku$.¢ Pak vezmeme plechov[ kryty a p@ilo()me je zp%t na desku po')ta'e. P@esv%d')me se, (e v&echno pasuje - dr*t k vyp)na'i by m%l vych*zet zpod krytu n%kde vedle modul*toru ╱plechov* krabi'ka s konektorem pro televizor$, a nesm) b`t p@isk@)pnut`. Pohledem skrz v%trac) otvory zkontrolujeme polohu na&eho vylep&en) - alespo 1-2mm pod plechem, se v&emi dr*ty a vodiv`mi '*stmi v bezpe'n[ vzd*lenosti ╱jinak rad%ji p@ilep)me na plech kousek izola'n) p*sky$. Ohnut)m 7 pl)&k+ kryt zajist)me. ╱V(dycky je lep&) st)nic) kryt vr*tit na p+vodn) m)sto - pokud to jde - a ne ho zahodit, jak rad) auto@i mnoha jin`ch ]prav. Zd* se to zbyte'n[, ale a( n*m za'ne t@eba radiop@ij)ma' bl)zko po')ta'e ╱nezakrytovan[ho$ nep@)jemn% chrastit, pochop)me, co je to vysokofrekven'n) ru&en).$¢ D*le desku posad)me do spodn) '*sti krytu a p@ipevn)me p+vodn)mi &roubky. Dr*t vedouc) od roz&)@en) p@iletujeme na sp)na', jeho( druh` konec spoj)me se zem) ╱velk[ vodiv[ plochy na desce spojen[ se st)nic)m krytem, kter` jsme pr*v% nasadili$. Opatrn% p@id*me kl*vesnici a zasuneme jej) v`vody do konektoru. ╱Vodiv[ cesty na flii mus) p@esn% pasovat na kontakty konektoru. Flii p@i zasouv*n) dr()me co nejbl)(e konektoru, a nepou()v*me ostr[ n*stroje ani nehty.$ Nakonec nasad)me vrchn) kryt a p@i&roubujeme ho 4 &rouby na spodn) stran%. Pokud po')ta' je&t% po@*d funguje ╱o tom se rad%ji znovu p@esv%d')me$, m*me hotovo!¢¢ Te⇦ je na @ad% p*r informac) "pro pokro'il[". Funkce popisovan[ho roz&)@en) je zalo(ena na faktu, (e vadn[ obvody GTIA zobrazuj) levou polovinu ka(d[ho pixelu spr*vn%, a teprve prav* polovina je chybn* ╱ni(&) dva bity p@i'ten[ do vy&&)ch funkc) OR$. Roz&)@en) tedy zachyt) levou polovinu pixelu a "prot*hne" ji vpravo p@es chybnou '*st.¢ Sch[ma je na obr*zku 3. Jasov* informace vych*z) z obvodu GTIA v podob% 4 ')slicov`ch v`stup+ ╱bit+$. Tyto sign*ly proch*zej) obvodem 74HCT75, co( je vlastn% 4-bitov` registr typu "D", kter` je ov&em po celou dobu hodinov[ho impulsu pr+choz) ze vstupu p@)mo na v`stup. Tato vlastnost umo(uje snadn[ vy@azen) ]pravy z provozu pouh`m uveden)m hodinov[ho sign*lu do trvale aktivn)ho stavu. Do obvodu jsou zavedeny jen 3 sign*ly, proto(e nejni(&) bit ╱LUM0$ nen) t@eba opravovat ╱v grafice 9 je v po@*dku, v grafice 10 je v(dycky nulov`$.¢ Hodinov[ impulsy ╱aktivn) v prvn) 'tvrtin% pixelu$ vznikaj) kombinac) sign*l+ OSC a Phi1. Proto(e jsou pixely v grafice 10 posunut[ o polovinu vpravo, sign*l Phi1 je podle aktivn)ho re(imu p@)padn% invertov*n. ╱V rohu obr*zku 3 jsou zn*zorn%ny n%kter[ hodinov[ sign*ly dostupn[ v po')ta'i. Phi2 bohu(el pro n*& ]'el pou()t nelze, proto(e jeho posun oproti Phi1 nen) dost stabiln), tak(e by mohly vznikat chybn[ impulsy.$ Jsou-li horn) dva bity registru PRIOR ╱◆D01B$ stejn[ ╱grafika 11 nebo (*dn` GTIA md$, anebo je-li sepnut` sp)na', hodinov` sign*l je trvale aktivn), tak(e 74HCT75 proch*zej)c) sign*ly nijak neovlivuje.¢ 74HCT74 je dvoubitov` registr, kter` vytv*@) kopii horn)ch dvou bit+ registru PRIOR. Cel` zb`vaj)c) obvod kolem 74HCT138 slou() u( jen k rozpozn*n) okam(iku, kdy procesor zapisuje na adresu ◆D01B.¢¢ Barvov` sign*l se bohu(el podobn`m jednoduch`m zp+sobem napravit ned*, proto(e opou&t) obvod GTIA u( jako kompletn) barvonosn` sign*l PAL.¢¢ ----------------------¢¢ Druh` z probl[m+ zm)n%n`ch na za'*tku se t`k* synchronizace televizn)ho obrazu. Pokud v)m, vyskytuje se na v&ech po')ta')ch @ady XE. Podle toho, jak` kdo pou()v* televizor 'i monitor, m+(e b`t obraz nestabiln), nebo dokonce rozbit` na &ikm[ pruhy - hlavn% je-li obr*zek sv%tl`. S v%t&inou televizor+ k tomu nedoch*z), ale zrovna ten m+j je na podobn[ komplikace zvl*&④ citliv`...¢ P@)'ina je v po')ta'i - v`stupn) sign*l nen) zcela v po@*dku. Nejhor&) je to v p@)pad% videosign*lu v monitorov[m v`stupu ╱konektor DIN$, ale ant[nn) v`stup je tak[ zasa(en. Naproti tomu 'ernob)l` sign*l ╱na konektoru DIN$ je v po@*dku. Po')ta'e XL zobrazuj) spr*vn%.¢¢ K odstran%n) t[to vady budeme pot@ebovat odpor 220 Ohm+ a tranzistor PNP ╱j* jsem pou(il typ BC556, proto(e je snadno dostupn` a levn`, vyhovovat by v&ak m%l t[m%@ ka(d` univerz*ln) tranzistor PNP$.¢ Otev@eme po')ta' ╱jako u p@edchoz) ]pravy$ a na desce se soust@ed)me na oblast kolem modul*toru. Jak ukazuje obr*zek 4, p@eru&)me jeden spoj na spodn) stran%, a pak p@id*me odpor a tranzistor. Tyto sou'*stky p@ip*j)me na v`vody modul*toru a p@ipoj)me ╱dr*tem$ na druh` konec p@eru&en[ho spoje - v&e podle obr*zku. Sou'*stky nesm) p@e'n)vat nad modul*tor - tam pat@) st)nic) kryt! Po vyzkou&en) funkce po')ta' op%t zav@eme, jak u( bylo pops*no d@)ve. ╱M)sto spoje na desce by se tak[ dala p@eru&it jedna "noha" od modul*toru, a pou()t m)sto pom%rn% dlouh[ho dr*tu zbyl` pah`l na desce. "Nohy" jsou ale dost siln[ a tvrd[, tak(e se bez kvalitn)ho vybaven) jen t%(ko st@)haj).$¢ ⑤prava by m%la fungovat bez pot)(). Videosign*l je nyn) v po@*dku, a m%l by tedy vyhovovat v&em televizor+m, kter[ u kamar*d+ nebo na srazech u(ivatel+ potk*me.¢¢ Dopluj)c) informace: Probl[m p+vodn)ho v`stupu z XE spo')v* ve zmen&en[ velikosti synchroniza'n)ch impuls+. Zat)mco 'ernob)l` v`stup ╱spr*vn`$ je stejn` jako v XL, pro p@im)ch*n) barvonosn[ho sign*lu je v XE pou(it m)sto d@)v%j&)ch n%kolika odpor+ jin` obvod - obsa(en` v modul*toru. Je to sice lep&) @e&en) ╱barvonosn` sign*l se nevrac) zp%t do 'ernob)l[ho v`stupu jako v XL$, ale pot)( je v tom, (e modul*tor m* na vstupu dal&) tranzistor ╱viz. obr*zek$, kter` posunuje cel` videosign*l o v)ce ne( 0.5V dol+. Synchroniza'n) impulsy se tak teoreticky dost*vaj) do z*porn`ch nap%t) - to ale v praxi nejde. V`stup proto z+st*v* na nule a synchroniza'n) impulsy tak vlastn% zmen&uje.¢ P@idan` tranzistor prost% jen posunuje sign*l na vstupu modul*toru ╱zase asi o 0.5V$ nahoru, tak(e se oba posuvy navz*jem p@ibli(n% ode'tou a v`stup je v po@*dku.¢¢ ----------------------¢¢P.S. Pokud je tento text &)@en na disku, obr*zky se nach*zej) v samostatn`ch souborech - jsou v grafice 8.¢¢