Amiga 1200

Uprzątanie śmieci z ekranu

Mowa będzie o śmieciach sprzętowych, zamiatać będę lutownicą
Grzegorz Kraszewski, 15 maja 2016

Nie­je­den użyt­ko­wnik Ami­gi 1200 zau­wa­żył de­ner­wu­ją­ce mi­ga­ją­ce „śmie­ci” po­ja­wia­ją­ce się na ekra­nie w try­bach gra­f‌icznych takich jak Dbl­PAL czy Mul­ti­scan. W pow­szech­nej opi­nii przy­czy­ną te­go zja­wis­ka jest prze­grze­wa­nie się ukła­dów AGA przy zwięk­szo­nej w tych try­bach iloś­ci da­nych do prze­two­rze­nia.

Opi­nia ta jest tak po­wszech­na, że na­wet Jens Schön­feld w in­struk­cji do scan­doub­le­ra In­di­vis­ion AGA za­le­ca za­ło­że­nie ra­dia­to­ra na układ Ali­ce w przy­pad­ku po­ja­wia­nia się krza­ków. Nie­ste­ty ten spo­sób nie dzia­ła, o czym prze­ko­na­łem się oso­biś­cie.

Położenie opornika E127RW wie­lu Ami­gach prob­lem nie wy­stę­pu­je za­raz po włą­cze­niu kom­pu­tera, po­ja­wia się do­pie­ro po kil­ku­na­stu mi­nu­tach. To fak­tycz­nie su­ge­ru­je przy­czy­nę zwią­za­ną z na­grze­wa­niem się ukła­dów. Jed­nak­że je­że­li od­cze­ka­my mniej wię­cej 45 mi­nut, śmie­ci zni­ka­ją z ek­ra­nu, a prze­cież ukła­dy nie sta­ją się wte­dy zim­niej­sze. Za­ło­że­nie ra­dia­to­ra na Ali­ce od­su­wa w cza­sie po­ja­wie­nie się pro­ble­mu, od­su­wa też w cza­sie jego znik­nię­cie. Do­dat­ko­wy pro­blem to sa­mo za­ło­że­nie ra­dia­to­ra na uk­ład w obu­do­wie PLCC 84. Moż­na go przy­kle­ić kle­jem ter­mo­prze­wo­dzą­cym. Sam spró­bo­wa­łem ter­mo­prze­wo­dzą­cej taś­my dwu­stron­nej, ale nie oka­za­ło się to trwa­łym roz­wią­za­niem. Spra­wy nie ułat­wia to, że mię­dzy Ali­ce a kla­wia­tu­rą jest ma­ło miej­sca.

Pra­wie przy­pad­kiem nat­kną­łem się na Ami­ne­cie na ar­chi­wum umiesz­czo­ne tam w 1997 roku przez De­ni­sa Sot­chen­ko. W do­ku­men­cie stwier­dza się, że śmie­ci po­ja­wia­ją się na ekra­nie tyl­ko wte­dy, gdy skła­do­we RGB któ­re­goś z ko­lo­rów na ekra­nie ma­ją w za­pi­sie bi­nar­nym co naj­mniej 23 bi­ty „1”. W szcze­gól­noś­ci do­ty­czy to ko­lo­ru bia­łe­go, znaj­du­ją­ce­go się prak­tycz­nie w każ­dej pa­le­cie Work­ben­cha. Je­że­li ma­my kon­tro­lę nad pa­le­tą ekra­nu, pro­blem za­łat­wia de­li­kat­na zmia­na od­cie­nia pro­ble­ma­tycz­ne­go ko­lo­ru. Ko­lor bia­ły (255, 255, 255) moż­na zmie­nić na (254, 254, 254), co jest prak­tycz­nie nie­za­u­wa­żal­ne.

Dość scep­tycz­nie pod­szed­łem do opi­sa­ne­go spo­so­bu, z dru­giej stro­ny co szko­dzi spró­bo­wać. Zmie­ni­łem pa­le­tę Work­ben­cha i... pro­blem znik­nął! Śmie­ci nie po­ja­wia­ją się na ekra­nie w ogó­le, na­wet po kil­ku­na­sto­go­dzin­nej pra­cy kom­pu­te­ra. Spo­sób zna­ko­mi­ty, ale po­zo­sta­wia pe­wien nie­do­syt. Po pierw­sze nie za­wsze ma­my mo­żli­wość kon­tro­li pa­le­ty ekra­nu. Po dru­gie zaś, jak to, mo­ja Ami­ga nie mo­że po­praw­nie wyś­wiet­lić do­wol­ne­go ko­lo­ru z pa­le­ty?

Opornik E127R z nalutowaną zworkąNa szczę­ście w ar­chi­wum jest opi­sa­ny jesz­cze je­den spo­sób roz­wią­za­nia pro­ble­mu. Tym ra­zem sprzę­to­wy. Auto­rzy su­ge­ru­ją mia­no­wi­cie zwar­cie ka­wał­kiem prze­wo­du ele­men­tu E127R. Jest to opor­nik o re­zy­stan­cji 27 Ω i wraz z kon­den­sa­to­rem E127C two­rzy f‌iltr dol­no­prze­pus­to­wy. Przez f‌iltr prze­cho­dzi syg­nał ze­ga­ro­wy CCK, któ­ry jest z Ali­ce wy­sy­ła­ny do ukła­du Li­sa i ste­ru­je ge­ne­ro­wa­niem obra­zu. Za­da­niem f‌ilt­ru jest ogra­ni­cze­nie os­cy­la­cji na zbo­czach syg­na­łu ze­ga­ro­we­go, nie­ste­ty przy tym wpro­wa­dza do tego syg­na­łu opóź­nie­nie. Naj­wi­docz­niej w try­bach, gdzie pik­sel trwa tyl­ko 35 ns (PAL Su­per­High­Res, Dbl­PAL, Multi­scan, Dbl­NTSC) to opóź­nie­nie jest już za du­że i chip­set pra­cu­je na gra­ni­cy sta­bil­noś­ci. Ja­ki to ma zwią­zek z iloś­cią je­dy­nek w skła­do­wych ko­lo­ru? Szcze­rze mó­wiąc nie mam po­ję­cia, do­ku­ment też te­go nie wy­jaś­nia.

Nie jes­tem en­tuz­ja­stą grze­ba­nia w Ami­dze dla sa­me­go grze­ba­nia. Z dru­giej stro­ny, pierw­szy opi­sa­ny trick za­dzia­łał, mi­mo, że na pierw­szy rzut oka wy­glą­dał nie­prze­ko­nu­ją­co. Ko­niec koń­ców po­sta­no­wi­łem wy­ko­nać hack sprzę­to­wy. Nie­ste­ty ele­ment E127R znaj­du­je się na spo­dzie pły­ty, więc trze­ba ją wy­mon­to­wać cał­ko­wi­cie. Je­go po­ło­że­nie po­ka­za­łem strzał­ką na pierw­szym zdję­ciu (mniej wię­cej pod ukła­dem Ali­ce). Oba koń­ce opor­ni­ka po­sma­ro­wa­łem top­ni­kiem, do­da­łem świe­żej cy­ny i przy­lu­to­wa­łem gó­rą dru­cik, co wi­dać na zdję­ciu dru­gim.

Po zło­że­niu Ami­gi i włą­cze­niu jak zwyk­le chwi­la ul­gi, wszyst­ko dzia­ła. Przy­wró­ci­łem za­tem mak­sy­mal­ną biel Work­bench­owi. Suk­ces! Ami­ga pra­cu­je już 5 go­dzin i żad­ne śmie­ci nie po­ja­wi­ły się. Po­praw­nie dzia­ła­ją Dbl­PAL, Multi­scan, rów­nież tryb High­GFX (1024 × 768) i de­dy­ko­wa­ny Indi­vis­ion tryb Xtreme (1280 × 1024).