ZX Spectrum är en 8-bitars persondator som släpptes 1982 av det brittiska teknikföretaget Sinclair Research. Modellen var en avsevärt förbättrad uppföljare till Sinclairs tidigare minimalistiska succedatorer ZX80 och ZX81, och blev Storbritanniens bäst säljande persondator. Den kraftigt kostreducerade datorn är helt inbyggd i ett mycket litet tangentbord med gummitangenter och ansluts till en TV-apparat för bild. Lagring sker på en vanlig kassettbandspelare som tillhandahålls av användaren. Expansionsmöjligheter såväl som inbyggd funktionalitet är mycket begränsade, men priset på 125 pund vid introduktionen gjorde ZX Spectrum till en mycket stark konkurrent till bland annat Commodore 64. ZX Spectrum kom ut i två varianter, med 16Kbyte respektive 48Kbyte minne, och gav sedan upphov till en hel serie uppföljarmodeller, som från 1986 tillverkades av Amstrad, som köpt Sinclairs datortillverkning.
CPU | Z80 @ 3,5MHz | Lagring | Kassettband (standard) |
---|---|---|---|
RAM | 16Kbyte / 48Kbyte | ZX Microdrive (tillköp) | |
ROM | 16Kbyte | I/O | Bussgränssnitt |
Bild | Grafik 256×192 pixlar | Kassettbandsgränssnitt | |
15 färger | Ljud | Klick via inbyggd högtalare | |
TV-utgång |
Datorn är mycket liten, som synes i bilden intill. Tangentbordet är också mycket litet, och har tengenter av gummi som inte är särskilt praktiska att skriva på. För att underlätta för användaren har BASIC-tolken ett ovanligt sätt att mata in programkod, där tangenterna skriver hela BASIC-nyckelord istället för enskilda bokstäver. Varje tangent är märkt med flera olika funktioner, som fås i olika situationer, och som kan växlas emellan med olika skifttangenter. Detta minskar antalet tangenttryckningar som krävs för att skriva ett program, men är förvirrande för den som inte är van.
Kretskortet är mycket enkelt, med få komponenter. I bilden till höger är de flesta av chippen minne; detta är en modell med 48Kbyte RAM. I övrigt finns en Z80-processor, ett ROM, samt en specialtillverkad grindarray, s.k. ULA, som implementerar all den övriga funktionaliteten: bild, kassettgränssnitt, tangentbord, samt det ljud som finns.
Datorns baksida har ett mycket begränsat antal anslutningsmöjligheter. Det finns en anslutning för en 9V nätdel (men ingen strömbrytare för att slå av datorn); en kontakt för bussexpansion för t.ex. ROM-cartridges, RAM-expansion, och olika I/O-expansioner; två 3,5mm ljudjack för att ansluta kassettbandspelare (in- respektive ut, för hörlurs- och mikrofonkontakterna på bandspelaren); samt en TV-utgång.
Det finns ingen möjlighet till anslutning av skärm annat än TV, vilket begränsar bildkvaliteten. Ljud kommer heller inte genom TV:n, utan från en liten högtalare inuti tangentbordet. Detta gör inte så mycket eftersom ljudmöjligheterna inte sträcker sig bortom en flip-flop som kan slås på och av för att göra klickljud, med vilka ett vältajmat program i bästa fall kan spela en ton.
Anslutning av joysticks för spel kräver en expansion som ansluts till bussexpansionsporten, liksom i stort sett all annan kringutrustning. Flera varianter av joystickgränssnitt fanns, som inte var kompatibla.
BASIC-tolken har som tidigare nämnt ett märkligt sätt att hantera inmatning av programkod för att försöka lindra kvalen som det dåliga tangentbordet åsamkar programmeraren. Tangenterna är märka som i bilden här intill, med en bokstav, ett BASIC-kommando i vitt, ett alternativt tecken eller BASIC-ord i rött, och ett par ytterligare BASIC-ord i rött och grönt under och ovanför tangenten. Dessa gäller olika inmatningslägen.
Markören som BASIC-tolken visar på skärmen visar vilket inmatningsläge tolken befinner sig i; till en början är markören ett “K”, och det är då det vita BASIC-kommandot som skrivs om man trycker på en tangent. Trycker man till exempel på “P” skriver datorn “PRINT”. Kommandot PRINT växlar också inmatningen till ett läge där markören blir ett “L”, och där det är bokstaven på tangenten som skrivs. För att få det alternativa, röda, tecknet eller ordet på tangenten trycker man på den röda “Symbol Shift”-tangenten, osv.
Markören är placerad i botten av skärmen, vilket är var inmatningen sker. Programmet visas dock längst upp på skärmen, med en liten pil som visar aktuell rad. Piltangenterna kan användas för att flytta pilen upp och ner i programmet. Kommandot EDIT kan användas för att redigera den aktuella raden. En kopia av raden visas då längst ner på skärmen, och användaren kan flytta makören höger och vänster genom raden med piltangenterna, lägga till och ta bort text, och sedan spara raden med Enter-tangenten.
En valfri del av programmet kan listas på skärmen med LIST-kommandot, som kan följas av ett radnummer. En rad kan tas bort ur programmet genom att skriva dess radnummer följt av Enter.
Alla rader måste börjas med ett radnummer, liksom i många andra dialekter av BASIC. Det finns inga labels eller funktioner, utan alla hopp i programmet sker till angivna radnummer. Liksom i andra BASIC-dialekter är det klokt att lämna glapp mellan sina radnummer, typiskt sett genom att numrera raderna i steg om 10, så att det finns plats att foga in ytterligare rader mellan befintliga rader när man kommer på att man behöver lägga till någonting i programmet.