mandag 9. april 2018

16-ish farger på Atari 800XL?

Jepp, har allerede kjøpt en Atari 800XL og så langt er jeg ikke spesielt imponert over Commodore sin dyreste konkurrent på 8bit-markedet. Det første problemet jeg måtte håndtere var selvsagt det faktumet at Atari bygde maskinene sine av det billigste mølet man kunne oppdrive av RAM-brikker (MT), allerede feil på en håndfull av dem så var det like greit å bare klippe ut og kvitte seg med resten. Problemet jeg satt igjen med var at fargene var rimelig forskrudd, eller i alle fall samtlige andre detaljer enn konsollens blåfarge - denne fungerer av en eller annen grunn...

... som jeg så langt har slitt med å finne! I utgangspunktet så hadde det vært en fordel hvis jeg hadde hatt en annen fungerende maskin jeg kunne benytte som referanseramme, derfor kjøpte jeg en ekstra Atari 800XL. Hjalp det? Overhodet ikke! Maskinen jeg mottok har de samme markeringene på utsiden, men på innsiden finner man et kraftig revidert hovedkort der man ikke en gang har det samme antallet komponenter, den nye Freddie-brikken håndterer nå adressering for minne samt at den roter til fargene på en helt ny måte. Hva man eventuelt har oppnådd så lang er å sikre seg to maskiner med sine egne grunner for at de ikke (lenger?) er i stand til å vise korrekte farger.

Problemet med Atari-maskinene er de ikke har det aktive miljøet man vil finne rundt maskiner fra eksempelvis Commodore eller Sinclair, så du er etterlatt til å finne ut av og fikle med disse tingene på egen hånd. Ikke det at brukermiljøet ikke finnes, det er bare fokusert rundt bruk og kast fremfor reparering av maskinvaren. Utgangspunktet for denne holdningen kan man bare spekulere i, men tror det kommer fra Atari sin tendens til å hemmelighetsstemple manualer (Service Manual) og eventuelle diagrammer man måtte ha bruk for å vedlikeholde disse maskinene i etterkant. Heldigvis så har disse dukket opp i etterkant så man i det minste har noe å se på underveis. Diagrammet fra den refererte siden anbefaler jeg å skrive ut i A3 format om mulig, hvis du ikke trenger den nå så vil du sikkert trenge det en dag.

Steg 1 er å finne ut hvordan maskinen er ment å skulle vise ting på skjermen, men siden jeg ikke har en fungerende maskin så man finne et kjent utgangspunkt på en annen måte. En av de snålere tingene med Atari-maskinene er at maskinene produserer litt forskjellige farger alt etter hvilken verdensdel den kom fra (PAL/NTSC/SECAM), men kombinert med et passende BASIC-skript og en fungerende emulator i form av Altirra så kan man kjapt få etablert en fungerende baseline.


Dette skriptet genererer først 16 kolonner i svart/hvitt med ulike grader av lys, deretter legges det på 16 rader av ulike farger. Sammenlagt så kan man nå se hvordan maskinen går frem for å vise 256 ulike farger, eventuelt 16 ulike nyanser av 16 farger. Refererer man til beskrivelsen av de ulike integrerte kretsene på hovedkortet så er ANTIC ansvarlig for gråskalaen mens det er GTIA som fargelegger resultatet. Følgende bilder illustrerer først skriptets resultat på emulatoren fulgt av det maskinen genererer.


Jepp, det var jo oppløftende må man si. Maskinen har en variabel resistor - R38 - som visstnok skal kunne benyttes for å justere fargene, men den er ment for å forskyve fargene, ikke trekke dem ut av en hatt og klistre dem på tilfeldige plasser. Økonomisk ufornuftig som jeg var så bestilte jeg en ny GTIA-brikke tilhørende PAL-regionen fra en Ebay-selger som sikkert tok dobbel pris for den, ved mottak så loddet jeg kjapt inn på plass en passende socket og satte på plass den nye brikken. Fikk jeg en fullt fungerende maskin for hundrelappene mine? Overhodet ikke, det samme gamle skrotet.

Hva neste steg skulle komme til å inkludere? Mer eller mindre jeg som bytter ut tilfeldige komponenter i håp om at man skulle få noen reelle endringer, den rette veien forhåpentligvis. Jeg byttet ut alle transistorene jeg kunne finne, kondensatorene forsvant litt senere og helt til sist forsvant signal-diodene (1n4148). Fortsatt ikke noe skrive hjem om. I det minste så vet jeg at man roter på korrekt plass ettersom den slutter å generere farger ved hvert av stegene der jeg midlertidig skapte et større rot enn det jeg hadde startet med. For å holde oversikten over hva jeg har fiklet med så markerte jeg i grønt de delene der jeg hadde byttet ut komponenter, den nedenfor til høyre er opptegning av hvor jeg fant fysisk fant de ulike delene på selve hovedkortet.


Den grønne raden øverst til venstre er GTIA, IC-en ansvarlig for generering av farger - denne forer signalene inn i HEX-bufferet  (CD4050BE)  i form av komponentene øverst til høyre. 4050-brikken byttet jeg ut når jeg først var i gang (etter 14 dagers postgang) i og med at denne er koblet til fargene, men ettersom den kun setter lysstyrken i et svart/hvitt signal så var det et billig forsøk sånn i tilfelle. Under 4050-en finner man et sett med transistorer - disse genererer de tre ulike fargene på toppen av svart/hvitt fra 4050, 

Et par uker senere og et par bortkastede helger med sammenhengende fikling så har jeg enda ikke kommet stort lenger i forsøket på å reparere feilen, men den tingen som jeg er usikker er hvorfor man finner så mye komponenter nedenfor GTIA i den skjematiske tegningen. Gitt at GTIA skal gjøre disse delene selv, hvorfor er klokken koblet inn i denne kretsen og hvorfor er ikke hele kretsen en enkel variabel motstand?

Av hva jeg har lest meg opp på, forstått lite av og vil lene meg på med 100% overbevisning er at den ene delen generer fargefrekvensen mens den andre håndterer forsinkelsen av signalet. Et eller annet om noe man kaller et PAL colorburst-signal, og en fluktuering i signalet innenfor de korrekte tidsrammene skaper fargene. Uansett, dette ga meg noe nytt å fikle med - alt relatert til den allerede sagnomsuste R38!


R38 er i utgangspunktet kun et 500k potentiometer av den gamle typen man ikke lenger får tak i, ikke hadde jeg liggende et potentiometer på 500k heller så ikke mye man kunne gjøre med det. Sånn sett bort fra at man i teorien skulle kunne være i stand til å putte inn et på 1M og bare sørge for å ikke skru det så høyt, så da gjorde jeg det. Snurret som faen på den jeg puttet inn, fortsatt samme feil.

Tryglet Atari-kjennere på AtariAge og Facebook om å i det minste gjøre et forsøk på å hjelpe til med konkrete målinger for å avdekke feil med denne kretsen, ikke et fnugg av respons utover et par likes på spørsmålet mitt! Like hjelpsomt som en sekk katter, så med det bildet i hodet vurderte jeg å kaste maskinen fra Tromsø-brua... om enn bare for å skremme den andre Atari-en min til å fungere.

Uansett, jeg har avdekket alle potensielle kilder bortsett fra min egen tekniske forståelse av hvordan verden forøvrig, og Atari-maskiner en plass inni der, fungerer. For å stjele og fordreie Conan Doyles læresetning så må feilkilden være noe helt annet, uavhengig av hvor enn liten sannsynligheten for disse feilene måtte være. Tegnet opp komponent-kartet allerede vist tidligere for å finne ut hvor alt var, gjorde deretter et forsøk på å nappe ut de jeg vet at jeg kan erstatte.

Uansett, det å måle resistorer med et multimeter burde være den lette delen av oppgaven. Fikler litt rundt i det samme området og får en del spesielle resultater slik at ikke alle deler kan bekreftes, sikkert en naturlig årsak jeg ikke har oversikten over så langt. Klok av tidligere skader så er tiden kommet for å teste delene utenfor kretsene, til slutt sitter jeg igjen med R45 som i henhold til koblingsskjemaet skal ha en verdi på 33K. Multimeteret klarer ikke å finne tegn på at den leder noe som helst, mistenkelig nok så antyder fargekoden at det er en resistor på 270K!

Hvordan gikk dette til? Jeg tror Atari brukte minst mulig på komponenter i håp om at de skulle fungere, deretter slengte de inn noe relativt tilfeldig ettersom den fysisk passet. Har ingenting på 33K så da får 47K være så nært som jeg kommer, i det minste så er det en komponent som er i stand til å lede strøm. Flikker på strømmen, trygler om at Atari ikke hadde rotet til enda flere detaljer med denne maskinen og bruker de minuttene det tar å taste inn det samme BASIC-skriptet igjen.


Endelig kan jeg skryte av å ha en fullt fungerende Atari 800XL i samlingen min, sånn for å ikke ødelegge statistikken så har jeg nå også en annen som ikke fungerer. Skriptet genererer nå de korrekte fargene og Donkey Kong ser ikke lenger ut som om han er radioaktiv, men når man gransker delen jeg erstattet så er det ingen tegn til varmeutvikling - min teori er at dette ikke har oppstått etter at maskinen forlot Atari, så den forrige eieren har mest trolig aldri hatt en fungerende maskiner! Enestående kvalitetskontroll, kvalitetskontroll og en hel haug andre egenskaper man ikke lenger kan assosiere med Atari!

Ingen kommentarer:

Legg inn en kommentar