Hur datorer gjorde mig smartare, del 2

Kommentera och läs våra kolumner. Endast skribenter kan skapa nya trådar här.
Post Reply
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Hur datorer gjorde mig smartare, del 2

Post by IcePic »

Efter de sorgliga åren med 1k ram och svartvit grafik som default kom
en helt ny era. Vic-20 hade höjt ribban en del med sitt ljud och sin
färggrafik, men det var C64:an som lyfte upp hemdatorn som plattform.
När den kom kostade den ca. 5990:-, vilket var massor på den tiden.
Det var inget man tjatade till sig av föräldrarna precis.

Dock lyckades min far hålla en datakurs på jobbet och fick därmed chansen
att köpa en av kursdatorerna för 1200:-, vilket var ett enormt kap.
Slog till med en gång, och vips var man ägare av en färgdator med 64k
ram. De som fortfarande minns miljön från del 1 av min kolumn minns
att man suttit med 1k ram, och i bästa fall 16k expansionsminne.
Dessutom vart man mera "mainstream", vilket kunde vara skönt efter att
ha levt med Sinclairs elände till Basic.

Då kommer nästa chock. C64'ans BASIC var ju extremt blek. Inga grafik-
kommandon alls, inga ljudkommandon, no nothing. Istället hade de valt
att låta allt styras med kommandot POKE, som sätter ett värde på en
minnesaddress. Med PEEK som läste, och POKE för skrivningar skulle man
få fram all den där coola grafiken som broschyrerna lovat.
Ändlösa rader av POKE 53280,1:POKE53281,14:POKE... osv osv.
Ser det ut som ljudkod ovan? Eller grafik? Bara de som haft en C64 vet
att det där sätter ramens färg och bakgrundens färg. På det viset fick man
memorera och slå upp siffra efter siffra för att försöka göra de enklaste
saker. Massor av delar var odokumenterade i åratal, och än mer magi
förblev hemligheter eftersom chip:en hade massor av okända features som
kom fram allteftersom.

Jag ska återkomma till POKE-eländet strax, men först ta upp en detalj som
jag tror få personer förstår vad gäller C64:an som plattform, spelen.
Jäjäjä. Alla gamla stötar lipar om spelen på C64, det var så jämrans bra
förr osv. Men det som få vet idag är att det kom tusentals spel till C64,
kanske så många som 10000. Delar man det på de år som den var "het"
blir det i runda slängar 5 spel om dagen. Självklart var inte alla de bra.
Kanske enbart vart tionde var värt att spela, men det var *tusen* spel.
Av de var ytterligare 10% riktiga pärlor, vilket ger att det kom ungefär
100 riktiga höjdare. Spritt på säg, 5 år, ger det ungefär två riktiga höjdare
per månad. Det är ljusår från vad man ser idag. Idag är ribban satt så
högt att mellanskiktet, de där tusen spelen som var värda att spela försvunnit.
Pärlor kommer det ju fortfarande, men jag tycker att takten har sjunkit
enormt. Men det är ju så att den enes pärla är ju den andres skräp, och
av just den anledningen tror jag att det är så trist på spelmarknaden nu.
Bara det som anses (av marknadsföringsfolk och andra papphattar) kunna
bli storsäljare kommer ut i butik, resten dyker inte ens upp.
Alla nisch-spel som segelbåts-simulator, gyroskopsspel, textäventyr med
stillbilder och bilspel man ser uppifrån i är ju "all but gone" idag.
Samtidigt kostar spelen asmycket. Jag har ju råd att köpa det jag vill, men
jag kan ju till viss del förstå de som inte anser sig ha råd längre. Speciellt
på konsolsidan, där är det ju hemskt.
Om ni då tänker er ett läge där även skitspelen har en liten plats på hyllorna,
där det kommer ut ett antal spel som är "ok" varje månad och sen en/två
pärlor som man aldrig kommer glömma per månad, då förstår man kanske
varför alla som var "där" på C64-tiden längtar tillbaka till den tiden.
Inte för att jag vill spela mer, det har jag ändå inte tid med, men det var
en magisk tid.

Det fanns ju en del konkurrenter till C64, där ZX Spectrum troligen var den
värsta. PC var inte att tala om och konsolerna var så långt efter att man
bara köpte konsoler till de som var så små att de lika gärna spelade som
åt på konsolhandtagen. =)
ZX Spectrum var en underskattad dator som fick mycket skit för att dess
tangentbord hade gummitangenter. (suddgummi?)
Dock var det en relativt kraftfull maskin på sin tid som kom i ett ytterst
kompakt fordral. Den led å andra sidan av att inte ha joystickportar som
default. Man ska inte glömma att spel var 90% av hemdatorernas syfte.
Visst satt väl nån med ett skivregister, men spelandet var det som sålde.
Att inte ha joystick-interface på ZX Spectrumen ledde till en del lustiga
detaljer, såsom att Spectrum-ägare kunde spela spel som krävde att man
hade koll på 9-10 tangenter samtidigt. Som att spela Q3 med enbart
keyboard ungefär. Fyra tangenter till styrningen, två till strafe, två till att
skjuta och byta vapen och sen två till, för att öppna dörrar och trycka på
knappar. Man undrar om inte en hel generation pianister borde sprungit ur
ZX Spectrum-skaran, de hade definitivt koll på sina korvstumpar.

Men åter till C64:an. Efter att ha spelat ett tag infann sig lusten att programmera
på den. Jag hade ju skrivit en del program på min ZX81:a, men inget
seriösare. En kamrat till mig började skriva på ett program som han kallade
"slump" som skulle hjälpa till när man var spelledare under rollspelandet,
och det var ett menybaserat program med div. färdiga tärningsslag man
kunde beställa så slumpade den fram värden. Inom kort hade jag en egen
version hemma hos mig, och sen blev det väl en inofficiell tävling om att
lägga in div. konstiga finesser. Att kunna skriva in "2d12+7" och få den
att slumpa två sexsidiga tärningar och addera sju på resultatet var inga
problem. Utan att veta om det lärde man sig en massa om stränghantering
och programlogik.

Och där satt man med sina POKE hit och POKE dit och fick helt enkelt
acceptera att den BASIC man fått var bizarr och konstig.
Alla andra BASICar på den tiden som hade grafik hade kommandon för
att sätta upp HIRES (tänk gfxmod vs textmod, VGA vs DOS-mod) och
för att spela ljud, men C64:an envisades med att du skulle skriva POKE
överallt. Att mata siffror och kunna alla dessa addresser kändes
enormt baklänges, och även om det inte var samma typ av frustration
som ZX-81:ans unika dialekt så var det ändå jobbigt.
Under ZX-81-tiden hade jag inte sett åt maskinkod alls,
även om jag visste om att det existerade. Lagom innan jag fick min C64
hade jag fuskat lite med att traina VIC20-spel vilket förstås låter som om
man var über-l337 eller nåt, men när spelen är <3.5k är det inte så svårt
att reda ut vart liven ligger. =)
Hursomhelst, efter att ha knappat runt en massa BASIC vart det dags att
smita in på lite maskinkod. Assembler. Woo.
Så kändes det iaf.
Man hade nån sorts vanföreställning om att
"eftersom BASIC är skrivet i assembler, och man kan göra massor i
BASIC så måste man kunna göra _allt_ i assembler".

Det var verkligen som ett krypterat språk. Från att ha tyckt att det såg
nån sorts naturligt ut att läsa FORI=1TO25:POKE52380,I:NEXT som löpande
text fick man nu ett ännu eländigare språk att begripa:
LDA #$05 (hämta värdet 5 och lägg i ackumulatorn)
STA $D020 (lägg det som finns i ackumulatorn på addressen D020)
INC (öka värdet på ackumulatorn med ett)
osv.

Först fattade man inte ett smack. Kommandona var så otroligt klena.
De var liksom så långt från ordet "kraftfull" som man kunde komma.
Att addera två tal var en flerdelad operation. Hur kul är det?
Men förmodligen var man så envist inställd på att det var bättre att man
inte gav upp. Det fanns ju ingen dokumentation att tala om, och google
var inte ens påtänkt. På nåt sätt lyckades man inse lite grann hur det fungerade.
Och när man såg hur det hängde ihop så kom en insikt som en hink isvatten
över en. Alla dessa POKEs som man hatat men inte kunnat låta bli att lära
sig, det var ju BASICens sätt att prata "maskinkod".
En POKE var ju ett kommando för att sätta ett värde på en viss plats i
minnet, och det är precis så assembler fungerar. Assembler har inga
kommandon för att spela ljud, för att rita sprites eller byta färg. Den kan
bara manipulera minne och register. Så för att komma nån vart med
assembler var man tvungen att veta vart i minnet som allt låg, och det var
ju just det som POKE hade lärt en. Hade det varit så att man hade en BASIC
som hade alla tänkbara kommandon för att rita grafik och spela ljud så hade
man istället suttit och undrat "hur gör BASICen när man skriver SOUND 1,2,43,4"
och "hur gör jag samma sak i assembler?", men iom att BASICen var så
underutvecklad så låg de två språken på samma nivå vad det gällde
de skojiga sakerna i hårdvaran. Det var nog en av anledningarna till att
så många av C64-ägarna blev assemblerhackers. Från att hacka spel
till att hacka demos och utils. Det blomstrade något enormt i kreativiteten
hos de som hade C64. Att det dessutom sålts miljoner och åter miljoner
av dem gjorde ju inte utbudet mindre.

Helt plötsligt kunde man göra ruskigt coola effekter. Om man bytte bakgrundsfärg
i BASIC så fort man kunde så vart det bara ett segt flimmer. Gjorde man
det i assembler blev det ett jazzigt mönster. Allt var bättre i asm. Det tog
ju inte lång tid innan det stod på alla spelen att de minsann var skrivna i
asm, även om det hade varit sant länge. Att göra kopieringsskydd för BASIC
var ju inte att tala om, så asm användes för att obfuskera sitt program/spel.

Allt eftersom folk provade sig fram så dök det upp effekter som ingen kunde
föreställa sig. chippen som C64 var byggd på hade en massa sidoeffekter
som ofta kunde användas till att skapa grafiska eller akustiska detaljer
som ingen förstod sig på, men som gick att använda för spel och demos
för att imponera. Och när man kan koda lite lagom så inser man ju hur bra
gjort mycket av de senare C64-programmen var. Trots att det var en så
klen maskin med dagens mått så fanns det stora projekt. Trots att det var
en 1MHz-maskin så fanns det vektorgrafikspel med riktig 3d.
Spelen som hade varit av pacman/spaceinvaders-typ övergick till att bli
kompletta produktioner med massor av komplexitet. Att skjuta aliens gick
nu att göra på tusentals sätt. Det kom pusselspel, schack (som inte sög!)
och massor av programmeringsspråk för den som inte ville använda varken
BASIC eller assembler.
Den satte en ny grundnivå för hemdatorer, och den förtjänade en fast plats
i datorhistorien under sin livstid.
Jag skulle kunna skriva tusen rader till om hur denna guldålder gick förbi,
men min kolumn måste komma framåt. 1985 ser en ny dator dagens ljus.
Företaget Lorraine får ett lån av Atari och lyckas skapa en dator som kommer
att revolutionera lika mycket som C64:n. Kanske den sista datorn att göra
ett så stort kliv.

Amiga blir dess namn. De första amigorna började säljas i Sverige 1986,
och jag köper min första amiga 1987, och pensionerar min C64.
Jag ger mig med viss tvekan in på en plattform som inte ens HAR en
inbyggd basic.

Mer om det i del 3: Åren 1987->1992
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
Petro
Posts: 293
Joined: 2002-03-09 0:26:03

Post by Petro »

Härligt skrivet! Och mycket intressant.
När kommer nu del 3??? Senare ikväll eller ;D ?
Skriv tills det blöder om amigan, det var med den jag kom in i datorvärlden (-92 dock).
Den som spar, han har...inga vänner kvar.
4432174644
Posts: 1162
Joined: 2002-03-08 2:31:18

Post by 4432174644 »

Mkt intressant, väntar redan på nästa del... :)
User avatar
jarlen
Posts: 36
Joined: 2002-07-15 18:56:40
Location: Eskilstuna
Contact:

Post by jarlen »

*burr* får nostalgirysningar. även om jag inte var helt inne på asm på den tiden dår jag var liten och hade en c64 så körde jag en del basic..

synd att man inte började då med asm, då hade jag defenetivt kunnat mycket mer nu... men det är ju aldrig för sent att börja ;D

b.t.w. hoppas du tar upp det underbara programmeringsspråket Amos...
//JARLEN :: SHUTTLE SN85G4 | ATHLON64 3000+ S754 | 1024MB PC3200 CAS2.5 | SAPPHIRE X800 PRO | 2x120GB MAXTOR SATA-RAID0 | SB LIVE! 5.1 DIGITAL |

//NUMBER2 :: ASUS P4P800 DELUXE | P4 NW 2.8C HT | 512MB PC3200 | 40GB FUJITSU | SB 128 PCI | ASPIRE 500W |
User avatar
mr b0m
Posts: 1109
Joined: 2002-03-08 10:54:25
Contact:

Post by mr b0m »

Förstklassig läsning! :)
User avatar
ballkula
Posts: 2473
Joined: 2002-05-03 23:42:04
Location: Västerbotten

Post by ballkula »

Allt e ju helt klar bekant, minns bl.a 154x diskettstationerna vars ljud nästan gjorde att de rörde sig på bordet.. :)

Som tur är, har jag många gamla datorer kvar, flera 64:or, VIC20 etc.
Processor: Core 2 Quad QX9650
Grafikkort: Asus Geforce 8800GTS 512MB
Minne: 8192MB DDR2-800MHz
HD: 2xRaptor 150GB, 2x1TB Samsung F1
Moderkort: Asus P5E X38
User avatar
Illuwatar
Hedersbit
Posts: 2116
Joined: 2002-02-21 11:14:49
Location: Haninge
Contact:

Post by Illuwatar »

Mycket bra artikel - gamla minnen dyker upp när man läser detta. Väntar redan på nästa del om Amigan, det var då jag kom in i den underbara välden av datorer och allt därkring.
User avatar
poller
Hedersbit
Posts: 4387
Joined: 2002-03-11 10:33:23
Contact:

Post by poller »

Trevlig läsning, väntar på nästa del. :-*
Parmardil
Posts: 786
Joined: 2002-03-08 9:12:23
Location: Landskrona, ursprungligen Borås
Contact:

Post by Parmardil »

mycket lärorikt...varför inte försöka sälja det till en datortidning? det är ju definitivt tillräckligt bra skrivet.

väntar med spänning på del 3 :)
"Some days you just can't get rid of a bomb." -Batman
Dexxa20
Posts: 17
Joined: 2002-03-19 23:29:39
Location: Gävle
Contact:

Post by Dexxa20 »

UNderbart skrivet!

VÄntar redan med spänning på nästa del....
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

Parmardil wrote:mycket lärorikt...varför inte försöka sälja det till en datortidning? det är ju definitivt tillräckligt bra skrivet.
Nej, jag är nöjd med den typ av "tidning" där jag publicerar den redan.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
Lindfors
Posts: 640
Joined: 2002-03-09 16:26:52
Location: Fagersta
Contact:

Post by Lindfors »

Underbar artikel! väcker gamla minnen då jag redan som 5-6 åring satt och skrev basic i pappersform på dagis.. fröknarna trodde att jag var galen.. vilket jag säkert var också. synd att jag tröttnade på programering redan under mellanstadiet när PCn kom. hade varit kul att vara mer insatt i det nu.
väntar också med spänning på Amiga artikeln... amigan var enligt min mening den sista datorn som verkligen var underhållande att leka med. när PCn kom kändes det som man gick tillbaka till stenåldern... grått och trist
sedan minnet då jag hade playstation samtidigt som pc... och pcn var ju totalt underlägsen i spel. först nu på senare år som den har börjat hantera grafik bäst.
jämför resident evil med Quake;)
Last edited by Lindfors on 2002-10-17 16:59:50, edited 1 time in total.
Ljudingenjör - Örebro Universitet
User avatar
whiz
Hedersbit
Posts: 5154
Joined: 2002-02-14 22:43:32
Contact:

Post by whiz »

Är det inte rättvisare att jämföra Resident Evil med Quake? Doom var ju några år före dem.
» the empire never ended
User avatar
Pappa-Scan
Posts: 551
Joined: 2002-08-28 15:03:06
Location: Gävle

Post by Pappa-Scan »

Oohh, den där hade jag nästan väntat på :) Väcker inga nostalgikänslor alls för mig eftersom den första PC:n vi hade var en 133 mhz :) Kul att ändå läsa hur folket hade det "förr" i tiden :)
Jag är bättre än dig.
User avatar
Ghlargh
Posts: 10236
Joined: 2002-07-27 18:34:53
Location: Stockholm/Bromma
Contact:

Post by Ghlargh »

Jag börjde med en 286 där jag lärde mig starta en batfil och 3 spel... gick väl i 3:e klass eller så, när jag gick i femman eller sexan så fick jag en 486 som jag satt med en hel del, doch aldrig någon riktig programmering, gjirde en del avancerade laddersystem i .bat dock, fullständiga installationsprogram mm. :)

Jag skulle vilja lära mig lite programmering, men tror att det är lite sent påtänkt, hjärnan hårtdar ju som bekant vid 16årsåldern :)
Ghlargh ska inte hållas lagligen eller annars ansvarig om en 64bitare eller dennes utrustning dör eller skadas allvarligt efter att ha följt Ghlarghs tips, tipsen är avsedda endast som vägledning och inte som en exakt instruktion. Kan du inte, rör inte!
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

Fireman wrote: Jag skulle vilja lära mig lite programmering, men tror att det är lite sent påtänkt, hjärnan hårtdar ju som bekant vid 16årsåldern :)
Bah, det är aldrig försent. Gör som jag gjorde med "slump", hitta på ett
projekt och bygg ut det allteftersom.
Har du inget mål kommer du troligen inte greja det, men om du skaffar
ett projekt att sikta mot kan du ta små steg framåt hela tiden.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
Ghlargh
Posts: 10236
Joined: 2002-07-27 18:34:53
Location: Stockholm/Bromma
Contact:

Post by Ghlargh »

Jag har funderat på att göra ett enkelt program, gärna telnet eller httpbaserat, som kan styra utpinnarna på paralellporten, vilket språk är lättast att använda för att komma åt hårdvaran i linux (funderar på att ge mig på det)
Ghlargh ska inte hållas lagligen eller annars ansvarig om en 64bitare eller dennes utrustning dör eller skadas allvarligt efter att ha följt Ghlarghs tips, tipsen är avsedda endast som vägledning och inte som en exakt instruktion. Kan du inte, rör inte!
User avatar
IcePic
Hedersbit
Posts: 6061
Joined: 2002-03-08 16:09:38

Post by IcePic »

Fireman wrote:Jag har funderat på att göra ett enkelt program, gärna telnet eller httpbaserat, som kan styra utpinnarna på paralellporten, vilket språk är lättast att använda för att komma åt hårdvaran i linux (funderar på att ge mig på det)
Prata med parporten över filsystemet så spelar språket inte så stor roll.
(Dvs, /dev/par-nånting)
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
User avatar
Imagine
Posts: 804
Joined: 2002-03-08 17:35:46
Location: Strängnäs

Post by Imagine »

Ser fram emot nästa del...
Skönt med lite muppar som var med på den tiden när allt började!
Jag ångrar idag så grymt mycket att jag inte lärde mig basic mer grundligt och blev programerare, då hade jag inte vart arbetslös nu...
Spelade bara. Men att komma ikapp idag känns hopplöst, då det känns som att man aldrig kommer att lyckas, vet inte ens var man ska börja...
Skulle vilja åka tillbaks till 1977 och börja om.
Olsson
Posts: 134
Joined: 2002-03-11 8:07:13
Location: Skåne
Contact:

Post by Olsson »

ännu en enormt bra kolumn ifrån IcePic
väntar på del 3 ;)

Hadde varit kul att kunna programmera men jag är allmänt seg och har inte kunnat lärt mig nåt nytt språk sedan några år tillbaks... har funderat på c dock...
Ja jag har några datorer..
User avatar
xX
Hedersbit
Posts: 1576
Joined: 2002-03-10 15:19:53
Location: Stockholm

Post by xX »

Skitbra kolumen, mycket intressant att läsa :)

Väntar på del 3 ;)
User avatar
wille
Posts: 4039
Joined: 2002-03-10 19:08:58
Location: Göteborg, bor i Luleå
Contact:

Post by wille »

intressant att läsa hur det var på stenåldern... ;D själv blev jag introducerad med datorer första gången 1991 nån gång däromkring, en amiga som min syssling hade, sedan va de en mac hemma som jag trashade mjukvaran på ;D (den hade en funktion som gjorde att när man slängde något kom det upp en groda och sjöng, jag slängde alltihopa ;D)
"...det spelar ingen roll hur många gånger du lyckas få med "pseudo-" i svaret"
Vägen mot perfektion
User avatar
lillis
Hedersbit
Posts: 6841
Joined: 2002-03-08 18:03:45

Post by lillis »

mycket roligt och bra skrivet, synd man inte kom till förens 87 och började inte använda datorer förens 93 (en mac) ....
jag skulle vilja lära mig att göra typ basic eller så, inget svårt utan som t.ex. den där slumpgeneratorn och liknande, lätta saker. eller göra grafik och musik på min pc-speaker :) fan va kul de skulle vara.. ingen som vet nån bra "steg-för-steg"-kurs ? :)
ratatoouie
Posts: 80
Joined: 2002-09-22 17:52:09
Location: SkåneLand

Post by ratatoouie »

*snyft*, fy vad deprimerad jag blev nu... vad mycket man missat. Jag fick min första dator först 93 (eller nåt), en fin 486 var det, ahhh alla fina minnen.
FAFAFAFAFAFAFAFA FAFAFA FAFAFA FAFAFAFAFA!!! (Brainpool - "in a box")
Cluster
Posts: 10
Joined: 2002-12-24 1:27:12

Post by Cluster »

Har du glömt att man kunde poke programmera
Zx versionerna å?

Härliga tider de var på den tiden
Vänliga Hälsingar Cluster
Post Reply