Torben Mogensen header

ZX Spectrum fylder 30

Sinclairs ZX Spectrum computer fylder i dag 30 år. The Register har en længere artikel om historien bag, så jeg vil fokusere på mine egne erindringer om Spectrum, som dog ikke rummer kodeskrøner, da jeg ikke selv havde en.

Som de fleste nok ved, havde jeg selv en BBC Micro, men nogle af mine venner havde Spectrums, så jeg kunne sammenligne. Spectrum var klart billigere, og havde en bedre distributør i Danmark en Acorn, så mens BBC Micro havde begrænset udbredelse, blev Spectrum meget populær -- på linje med Commodore 64. Det betød, at der var langt mere materiale til og om Spectrum i Danmark, f.eks. blade og bøger på dansk dedikeret til denne maskine. Sjovt nok dog (så vidt jeg kan se) ikke nogen bog af Neutzsky-Wullf, som ellers skrev bøger om BASIC-programmering til både ZX-81, Texas 99/4A, Commodore VIC 20, Amstrad CPC64 og Commodore 64 og senere en bog om COMAL 80 på Regnecentralens Piccoline.

Når sammenligningen faldt på BBC Micro, havde Spectrum nogle få tekniske fordele: 48KB RAM og 15 farver mod BBC'ens 8. Men den langt overvejende fordel var dog prisen. Dette var opvejet af en del tekniske begrænsninger, som ikke fandtes på BBC micro, samt en langt ringere produktionskvalitet -- en stor del af de solgte Spectrums måtte byttes, fordi de ikke virkede. Blandt de tekniske begrænsninger var, at farverne (ligesom på C64) ikke kunne sættes uafhængigt af hinanden i hver pixel, idet hvert 8x8 pixelfelt kun havde to farver. Der var også kun en lydkanal, hvor BBC Micro kunne blande fire kanaler og påtrykke lyden "envelopes", som angav variation af en tone over tid (angreb, sustain og decay). Dertil kom en ringere BASIC (både langsommere og mere begrænset) end på BBC Micro og den mere synlige forskel i tastatur og antallet af ekspansionsporte.

Men den lave pris gjorde bestemt, at Spectrum var alle pengene værd -- når først man havde fået en maskine, der virkede. Og ligesom C64 og BBC Micro havde Spectrum en lang levetid: Produktionen af Spectrummodeller fortsatte frem til 1990. I mellemtiden var gummitastaturet udskiftet med et "rigtigt" tastatur, lageret var udvidet til 128KB og der var indbygget kassetteoptager eller floppy. Men det var dog den oprindelige Spectrum 48, der gjorde en forskel, ligesom de oprindelige udgaver af C64 og BBC Micro havde langt større betydning end de senere opgraderinger af samme.

Relateret indhold

Kommentarer (24)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Lars Bjerregaard

Spectrum. Kan huske hvordan jeg slugte alt på skrift om den, og savlede over mulighederne. Det kløede i den grad i fingrene for at få fat i en, men jeg havde ikke pengene til det. Det var ret utroligt hvad folk fik lavet til den maskine, især når de gik i gang med assembler kodningen.

  • 3
  • 0
#2 Torben Mogensen Blogger

Det var ret utroligt hvad folk fik lavet til den maskine, især når de gik i gang med assembler kodningen.

Generelt skulle man dengang bruge assembler for at udnytte maskinerne optimalt, for BASIC fortolkere indebar et overhead på mellem 3 og 30 gange, afhængig af, hvad man ville. Mindst overhead var der på floating-point beregninger, tegning af linjer og andet, hvor en enkelt operation krævede en del beregning, mens simple heltalsoperationer havde stort overhead.

Dertil fandtes der ikke rigtigt gode oversættere: Dels var Z80 og 6502 ikke nemme at generere kode til, og dels fyldte ikke-trivielle oversættere for meget til at kunne køre på maskinerne selv.

Z80 (som blev brugt i Spectrum) var en smule lettere at programmere i assembler end 6502 (som fandtes i BBC Micro og C64), men BBC Micro havde den fordel, at BASIC-fortolkeren havde en indbygget symbolsk assembler, så man ikke selv skulle oversætte sin assemblerkode til tal. Den af de samtidige hjemmecomputere, som var nemmest at programmere i assembler, var dog Texas TI99/4A, som havde en 16-bit processor med et PDP11-lignende instruktionssæt. TI99/4A var dog hæmmet af en langsom BASIC-fortolker og et suboptimalt memorysystem.

  • 0
  • 0
#5 Baldur Norddahl

I mangler helt at nævne det mest specielle ved ZX-Spectrum: Basic var indbygget i keyboardet. Således var der påtrykt 2-3 kommandoer på hver tast. Hvis man trykkede P skrev den PRINT. Trykkede man på L skrev den LET. Og så videre.

Meningen var at gøre det super nemt at lære at programmere. Og det virkede også, ihvertfald til dels. Jeg sad som dreng og tastede programmer ind fra blade. Det har helt sikkert hjulpet at stavefejl som sådan ikke var mulige. Samtidig var man jo nysgerrig for at lære hvad alle kommandoerne gjorde.

Jeg husker at jeg lavede en bubble-sort og var meget stolt over at det lykkedes at optimere algoritmen ved at sortere forfra og bagfra på skift. Først mange år senere lærte jeg at bubble-sort er et slags skældsord :-).

ZX-Spectrum lærte mig at konvertere fra hexadecimal før de andre lærte at dividere i folkeskolen. Det skulle jeg bruge når jeg skrev assembler-programmer og i hånden konverterede til maskinkode. Min bog havde hex-koder for alle instruktionerne men jeg skulle bruge decimaltal til POKE kommandoen.

Det var primitivt men jeg er glad for at være opvokset med en arkitektur som kunne forstås af en dreng. I dag har vores børn ikke rigtig mulighed for at lære maskinen at kende på det niveau.

  • 1
  • 0
#6 Torben Mogensen Blogger

Det var primitivt men jeg er glad for at være opvokset med en arkitektur som kunne forstås af en dreng. I dag har vores børn ikke rigtig mulighed for at lære maskinen at kende på det niveau.

Det er netop en af ideerne med Raspberry Pi, at unge skal lære at programmere "tæt på metallet" uden at der er 30 systemlag mellem kode og maskine. Det er efter min mening kun lykkes delvist, da standardoperativsystemet er en Linuxvariant, og der er en kompliceret grafikprocessor, som kun kan programmeres gennem et API. Jeg ville foretrække et langt enklere OS og en rå framebuffer. Men det kan måske emuleres med noget virtualisering.

  • 0
  • 0
#7 Christian Nobel
  • 0
  • 0
#8 Peter Stricker

Det var primitivt men jeg er glad for at være opvokset med en arkitektur som kunne forstås af en dreng.

Hmm, til en vis grad. Det lykkedes mig at disassemblere godt og vel halvdelen af dens 8K ROM på ternet A4 papir. Men jeg måtte kaste håndklædet i ringen, da jeg nåede til de trigonometriske funktioner.

Jeg købte bogen The Complete Spectrum ROM Disassembly, hvor jeg kunne læse at der blev brugt Chebyshev polynomier. Trods adskillige timers læsning i CRC's gummibibel lykkedes det mig dog ikke helt at forstå matematikken bag.

Men det var et spændende kig ind i en matematisk verden, som jeg slet ikke var gammel nok til at forstå.

  • 0
  • 0
#9 Lars Tørnes Hansen
  • 2
  • 0
#10 Rasmus Morten Helbig Hansen

Jeg synes, at der var mange rigtig gode ting ved Spectrum'en. Først og fremmest havde jeg råd til at købe een.

Den havde farver, og Manic Miner. Det var fantastisk. ;-)

Og den indbyggede Basic havde egentlig også en anden fordel siden den i noget omfang kun tillod korrekt syntaks. Det var vist somme tider lidt omstændigt at skifte input-tilstand. Det var dog en lille pris at betale for at undgå syntaks-fejl.

Der var noget ved den billige konstruktion som indbød til at pille i elektronikken. Mit tastatur gik selvfølgelig i stykker, og det var da mere spændende at pille den fra hinanden og undersøge indmaden fremfor at sende maskinen til reparation. Jeg fik da også konstrueret noget som kunne sættes på udvidelsesporten, og det reagerede på de rette portkommandoer.

Somme tider er noget som er loddet på et sømbræt bare bedre. :-P

  • 2
  • 0
#11 Claus Støvring-Eriksen

Jeg havde en "stor" model som jeg koblede til fjernsynet, primært for at spille på den. Når jeg havde siddet med den i et stykke tid, kunne den blive så varm, at jeg ikke kunne sidde med den på lårene længere. Det kunne også være så varmt, at tasterne omkring processoren ikke kunne bruges. Jeg husker stadig det karaktereristiske "billedshow" på fjernsynet, når man loadede et program fra båndoptageren. Desværre kunne fjernsynet ikke fastholde kanalen, så med tiden fik min Spectrum plads i en papkasse :-(

  • 0
  • 0
#12 Lars Lundin

Jeg husker at jeg lavede en bubble-sort og var meget stolt over at det lykkedes at optimere algoritmen ved at sortere forfra og bagfra på skift. Først mange år senere lærte jeg at bubble-sort er et slags skældsord :-).

Jeg havde også mange gode, lignende oplevelser med min første computer (en BBC). Jeg brugte den (som sparsommelig studerende) frem til ca. '91, derefter en PC med DOS indtil '94, hvor jeg skiftede til Linux.

BBCen savner jeg nogen gange, fordi den var så simpel at jeg så ret godt kunne forstå hvordan den virkede.

Bubble-sort er så vidt jeg forstår udmærket til data hvor kun få elementer skal på plads.

Se forresten hvordan man kører Linux på en 8-bits CPU (med en passende emulator imellem):

http://dmitry.co/index.php?p=./04.Thoughts/07.%20Linux%20on%208bit

boot af kernen + Ubuntu tager 6 timer. :-)

  • 0
  • 0
#15 Thomas (bbb) Hansen

Når du nu siger det, så kunne det godt være det var Bilka den var købt i. Jeg tror det var omkring 600 kr. den blev købt for, men blev ret hurtig lagt tilbage i sin kasse til fordel for C64. Ikke at denne tråd skal handle om C64.

Ps. tak for svar.

  • 0
  • 0
#17 Martin Bøgelund

Hvem kan huske denne klon fra BR.

http://stokeontrent.global-free-classified-ads.com/listings/RARE-Lambda-...

Det var noget rigtigt møg.

Den var alletiders!

Det var min første computer, og var det helt rigtige hvis en knægt skulle lære at programmere. Den svenske manual havde mange gode eksempler, man kunne taste ZX81-programmer ind på den, og tastaturet gik ikke i stykker som på en ZX Spectrum.

Men ja, der var klodset grafik og ingen farver - gevinsten var så, at man var pisket til at kode og lave smarte kodetricks, hvis man ville hygge sig med computeren. Med en Spectrum kunne man bare spille Jetpac, eller et af de andre sindssygt gode spil til den maskine.

Problemet med nutidens computere er, at det er alt for let og alt for sjovt at lave alt muligt andet end at programmere dem.

Men det er så bare min gammeldags holdning :-)

  • 2
  • 0
#19 Bent Ojgaard

Der er en særlig glæde ved at beskæftige sig med noget fundmentalt.

Fint nok med kerner, 3900 Mhz CPU, 3D grafikbriller og avancerede API'er, men glæden ved at se et relæ klappe og en pære lyse fordi man har sendt et par kommandoer gennem et Z80 CPU/PIO board man selv har wrappet op - ja det er ægte lykke.

Ak ja, ungdommens minder vælter frem og man må glippe en tåre ;´-)

  • 3
  • 0
#22 John Jensen

Der er nostalgi på højeste plan det her, :) Jeg startede selv i 1977-1978 med en abc80 fra Luxor Min første farve maskine var ZX Spectrum 48K. Ja jeg er et luxus dyr ;) Så kom båndstationen til, nu kunne jeg genprogrammerer mine databaser fra abc80 til Spectrum og båndstationen,så nu gik det hurtigt med at søge data.

Dengang var man nødt til selv at programmerer hvis man ville have andet end spil, så man lærte en hel masse, der var udfordringer der skulle overvindes, grænser der skulle brydes osv. Det var på mange måder sjovere for os den gang, da det satte gang i den lille opfinder i os alle sammen.

Jeg sidder også mange gange os savner det, men så har jeg alle mine emulatore, ABC80, ZX Spretrum, Amstrad, Amiga og mange andre af de maskiner jeg havde gennem tiderne. Men det er kun gode minder, jeg ville nok ikke bytte mine selvbyggere og andre maskiner jeg har i dag med en ZX Spectrum.

MEN AAAAHHHH. Jeg spekulerer ofte på hvilke nostalgiske tilbageblik nutidens unge vil få når de bliver ældre, for de vil selvfølgelig også have deres minder.

  • 0
  • 0
#23 Torben Mogensen Blogger

Jeg startede selv i 1977-1978 med en abc80 fra Luxor

Den husker jeg godt. Jeg havde på et tidspunkt studiejob hos Danisco, som ville ind på skolemarkedet med nogle undervisningsprogrammer til ABC80. BASIC-fortolkeren var ret hurtig, men der var nogle besynderligheder -- blandt andet måtte variabelnavne kun bestå af et bogstav eller et bogstav efterfulgt af et ciffer (samt BASICs uundgåelige $ og % til at specificere teskt- og heltalsvariable). Sjovt nok skulle heltalskonstanter også have et %-tegn bagefter (så 42% er et heltal mens 42 er et flydende-kommatal). Det ville efter min ringe mening have været smartere at gøre konstanter til heltal med mindre de indeholdt decimalpunktum eller eksponent. Men de ville nok hellere være konsekvente.

Det var også et mindre problem at O og 0 så præcis ens ud på skærmen. Da tasterne ligger ved siden af hinanden, kunne man nemt trykke forkert men aldrig opdage det. Jeg kan huske at have brugt tid på at slette O'er og 0'er og genskrive dem for at være sikker på, at de var den rigtige slags. På efterfølgeren ABC800 kom der en prik i 0'et, så det problem blev løst. Men ABC800 blev aldrig den store succes -- den var for dyr i forhold til den lille forbedring, den var.

  • 1
  • 0
#24 John Jensen

Det var nemlig en ret hurtig fortolker, en streng variabel var på min ¤ og ikke $ og man kunne regne med 32 cifre (uden decimaler) med strengvariable. En streng kunne kun indeholde 80 tegn.

ASCII grafik med setdot xy , cleardot xy

En dag havde vi i ABC klubben arrangeret en computerudstilling på Dronning Olgas vej på Frederiksberg. Og der var der også udstillet en ZX Spectrum OOOHHH Sådan en måtte Jensen have.

Så måtte de surt tjente penge ud af foret og op på bordet, så man kunne få fat i " vilddyret:) " med 48k selvfølgelig.

  • 0
  • 0
Log ind eller Opret konto for at kommentere