Retro: Atari ST byggde hans framtid

Troed Sångberg skulle kanske aldrig blivit den han är idag utan den lilla, idag oansenliga apparaten som hette Atari ST. Den öppnade dörren till datorernas och programmeringens värld.

Atari 1040 ST
Atari 1040 ST.

Jag skrev mitt första program elva år gammal, med papper och penna, efter att ha varit hemma hos en klasskamrat och sett hur han skrev av och körde en programlistning från en tidning på sin pappas företags Commodore 64. Från den stunden visste jag att det här var något för mig. Jag lånade alla böcker med klassificering “Data” som det lokala biblioteket hade och fann en helt ny värld med begrepp som ADB, Winchester-hårddiskar och bubbelminnen.

Ett år senare fick jag möjlighet att köpa min första egna dator, en Atari 520 ST med extern diskettstation. Jag visste inte så mycket om det här med olika datorer, men försäljaren sa att den hade aldrig tidigare skådad mängd färger på skärmen, massor med punkter och otroliga mängder minne.

Först med Atari ST

Under nästan ett års tid var mitt enda program det medföljande Atari ST Basic och jag kände ingen annan Atari-ägare. Det var 1986 och såvitt jag lyckats utröna var jag en av de absolut första i Sverige med en ST.

Det var fantastiskt. Jag skrev program efter program, skickade ut grafik till skärmen och ljud i högtalarna. Efter ett tag fick jag kontakt med likasinnade och upptäckte en värld av public domain-program, där de som kallades ”demos” fångade mitt intresse. Det satt andra och skapade likadana saker, fast så otroligt mycket snyggare och mer avancerade än mina. En del av dem gjorde det dessutom för att skryta med att de hade tagit bort kopieringsskydd på spel, så kallade “intron”.

Tolv år gammal utökade jag mitt Basic-kunnande med 68000 assembler. Det var där magin hände, på den absoluta lägsta nivån i datorn.

Atari ST hade 16 samtidiga färger på skärmen, 320 gånger 200 punkters upplösning och inga hjälpkretsar. Programmeringsmässigt sett kan den mer anses som en efterföljare till Commodore 64 än dess bittra rival Amigan, bland annat för de inbyggda begränsningar i hårdvaran som vi demokodare spenderade all vår tid på att ta oss runt.

Grafiktrix

En mycket enkel tillståndskrets avgör var skärmens grafik ska ritas ut och eftersom det mest populära på den tiden var att koppla datorer till tv-apparater bestämde sig Atari för att ha god marginal mellan grafiken och kanterna för att vara säkra på att alla punkter syntes. Besluten kring var skärmen ska börja och sluta tas två gånger per rad, (minst) 200 gånger per ruta, 50 rutor i sekunden.

Genom att synkronisera sitt program med videopekaren var det möjligt att genom att ändra videovariabler temporärt vid just de tidpunkterna tillståndskretsen gör sin kontroll, se till att hela skärmen och varje rad både började och slutade senare än vad Atari hade tänkt sig. På så sätt kunde man rita grafik över hela tv-bilden i en upplösning på 412 gånger 276 punkter. Motkravet var att hela programkoden var cykelexakt, utan interrupter, utan villkorliga hopp.

Där Atarin gav oss begränsningar, såg vi möjligheter. Ljudchippet som bara klarade tre samtidiga enkla stämmor började plötsligt spela upp fyrkanalig Amiga-musik bättre än originalet. C64ans SID-effekter implementerades. Helskärmsförflyttning av grafik, så kallad hårdvaruskroll, blev möjlig utan att kopiera grafikminne ord för ord med processorn.

Denna inställning att göra det omöjliga möjligt förenar demoprogrammerare. Efter några års skapande av demos (och intros …) gick jag vidare och läste till mjukvaruingenjör och anser mig ha vilat tungt under mitt arbetsliv på det tänkande kring optimering och förståelse av programexekvering på lägsta nivå jag lärde mig på Atarin.

Förra året skrev jag ett nytt demo till den. Det var mitt första på över 20 år och det var precis lika skoj nu som då.

av Troed Sångberg ”Red Fox of SYNC”

Post Comment