Uprzątanie śmieci z ekranu
Niejeden użytkownik Amigi 1200 zauważył denerwujące migające „śmieci” pojawiające się na ekranie w trybach graficznych takich jak DblPAL czy Multiscan. W powszechnej opinii przyczyną tego zjawiska jest przegrzewanie się układów AGA przy zwiększonej w tych trybach ilości danych do przetworzenia.
Opinia ta jest tak powszechna, że nawet Jens Schönfeld w instrukcji do scandoublera Indivision AGA zaleca założenie radiatora na układ Alice w przypadku pojawiania się krzaków. Niestety ten sposób nie działa, o czym przekonałem się osobiście.
W wielu Amigach problem nie występuje zaraz po włączeniu komputera, pojawia się dopiero po kilkunastu minutach. To faktycznie sugeruje przyczynę związaną z nagrzewaniem się układów. Jednakże jeżeli odczekamy mniej więcej 45 minut, śmieci znikają z ekranu, a przecież układy nie stają się wtedy zimniejsze. Założenie radiatora na Alice odsuwa w czasie pojawienie się problemu, odsuwa też w czasie jego zniknięcie. Dodatkowy problem to samo założenie radiatora na układ w obudowie PLCC 84. Można go przykleić klejem termoprzewodzącym. Sam spróbowałem termoprzewodzącej taśmy dwustronnej, ale nie okazało się to trwałym rozwiązaniem. Sprawy nie ułatwia to, że między Alice a klawiaturą jest mało miejsca.
Prawie przypadkiem natknąłem się na Aminecie na archiwum umieszczone tam w 1997 roku przez Denisa Sotchenko. W dokumencie stwierdza się, że śmieci pojawiają się na ekranie tylko wtedy, gdy składowe RGB któregoś z kolorów na ekranie mają w zapisie binarnym co najmniej 23 bity „1”. W szczególności dotyczy to koloru białego, znajdującego się praktycznie w każdej palecie Workbencha. Jeżeli mamy kontrolę nad paletą ekranu, problem załatwia delikatna zmiana odcienia problematycznego koloru. Kolor biały (255, 255, 255) można zmienić na (254, 254, 254), co jest praktycznie niezauważalne.
Dość sceptycznie podszedłem do opisanego sposobu, z drugiej strony co szkodzi spróbować. Zmieniłem paletę Workbencha i... problem zniknął! Śmieci nie pojawiają się na ekranie w ogóle, nawet po kilkunastogodzinnej pracy komputera. Sposób znakomity, ale pozostawia pewien niedosyt. Po pierwsze nie zawsze mamy możliwość kontroli palety ekranu. Po drugie zaś, jak to, moja Amiga nie może poprawnie wyświetlić dowolnego koloru z palety?
Na szczęście w archiwum jest opisany jeszcze jeden sposób rozwiązania problemu. Tym razem sprzętowy. Autorzy sugerują mianowicie zwarcie kawałkiem przewodu elementu E127R. Jest to opornik o rezystancji 27 Ω i wraz z kondensatorem E127C tworzy filtr dolnoprzepustowy. Przez filtr przechodzi sygnał zegarowy CCK, który jest z Alice wysyłany do układu Lisa i steruje generowaniem obrazu. Zadaniem filtru jest ograniczenie oscylacji na zboczach sygnału zegarowego, niestety przy tym wprowadza do tego sygnału opóźnienie. Najwidoczniej w trybach, gdzie piksel trwa tylko 35 ns (PAL SuperHighRes, DblPAL, Multiscan, DblNTSC) to opóźnienie jest już za duże i chipset pracuje na granicy stabilności. Jaki to ma związek z ilością jedynek w składowych koloru? Szczerze mówiąc nie mam pojęcia, dokument też tego nie wyjaśnia.
Nie jestem entuzjastą grzebania w Amidze dla samego grzebania. Z drugiej strony, pierwszy opisany trick zadziałał, mimo, że na pierwszy rzut oka wyglądał nieprzekonująco. Koniec końców postanowiłem wykonać hack sprzętowy. Niestety element E127R znajduje się na spodzie płyty, więc trzeba ją wymontować całkowicie. Jego położenie pokazałem strzałką na pierwszym zdjęciu (mniej więcej pod układem Alice). Oba końce opornika posmarowałem topnikiem, dodałem świeżej cyny i przylutowałem górą drucik, co widać na zdjęciu drugim.
Po złożeniu Amigi i włączeniu jak zwykle chwila ulgi, wszystko działa. Przywróciłem zatem maksymalną biel Workbenchowi. Sukces! Amiga pracuje już 5 godzin i żadne śmieci nie pojawiły się. Poprawnie działają DblPAL, Multiscan, również tryb HighGFX (1024 × 768) i dedykowany Indivision tryb Xtreme (1280 × 1024).