2. ATT KOMMA IGÅNG

2.1 TANGENTBORDET

Nu när du fått allt justerat och i ordning kan du spendera lite tid på att bekanta dig med tangentbordet. Detta är ditt viktigaste hjälpmedel vid kommunikation med din Commodore 64.

Du kommer att upptäcka att tangentbordet liknar det som finns på vanliga skrivmaskiner. Det finns dessutom ett antal nya tangenter som kontrollerar speciella funktioner. Det som följer är en kort beskrivning av de olika tangenterna och dess funktion. En mer detaljerad genomgång kommer längre fram i bruksanvisningen

[Bild på en C64]

RETURN
RETURN-tangenten meddelar datorn att studera den information du skrivit på skärmen och flytta den in i datorns minne.
SHIFT
SHIFT-tangenten fungerar på samma sätt som på en vanlig skrivmaskin. Flertalet tangenter kan skriva 2 bokstäver eller symboler och två grafiska tecken. I läget "stora/små bokstäver" får du stora bokstäver när SHIFT-tangenten är nedtryckt. I läget "stora bokstäver/grafik" skrivs det högra grafiska tecknet när SHIFT-tangenten trycks ned. När det gäller de speciella funktionstangenterna, får man med SHIFT nedtryckt den funktion som är markerad på respektive tangents framsida.

REDIGERING

Ingen är perfekt och Commodore 64 är noga med detaljerna. Ett antal redigeringstangenter hjälper dig rätta till skrivfel och flytta runt information på skärmen.

CRSR
Det finns två tangenter märkta CRSR (CuRSoR), en med pilar upp och ned, den andra med vänster/höger-pilar. Du kan använda dessa tangenter för att flytta markören upp och ned, vänster och höger. I oskiftat läge flyttar cursor-tangenterna markören nedåt och åt höger. Med SHIFT nedtryckt flyttar cursor-tangenterna markören upp eller till vänster. Cursortangenterna har en speciell repeterfunktion som fortsätter markörflyttningen så länge tangenterna är nedtryckta.
INST/DEL
Om du trycker ned INST/DEL flyttar sig markören ett steg till vänster och skriver över (raderar) det senaste skrivna tecknet. Om markören befinner sig mitt på en linje raderas tecknet närmas till vänster om markören och tecknen till höger flyttar efter ett steg och fyller ut tomrummet. SHIFT och INST/DEL medger att du kan lägga till tecken på en rad. Om du exempelvis upptäckt ett skrivfel i början av en raden -- kanske du glömt en del i ett namn -- kan du använda CRSR VÄ/HÖ-tangenten att flytta tillbaka markören till felet och sedan använda INST/DEL för att skapa ett utrymme för tecknet. Skriv sedan in den saknade bokstaven.
CLR/HOME
CLR/HOME flyttar markören till skärmens övre vänstra hörn (home positionen). Om SHIFT trycks ned tillsammans med CLR/HOME raderas dessutom skärmen.
RESTORE
RESTORE återställer datorn till utgångsläget du hade innan du förändrade saker med program eller kommandon. Detta kommer att behandlas noggrannare längre fram.

FUNKTIONSTANGENTERNA

De fyra tangenterna till höger på tangentbordet (f1-f8), är funktionstangenter, vilka du kan programmera att utföra många olika funktioner.

[Bild på en C64]

CTRL
CTRL (ConTRoL)-tangenten används för att styra färg och andra speciella funktioner. CTRL-tangenten hålls nedtryckt tillsammans med någon annan bestämd tangent för att ge en speciell funktion. Du hade möjlighet att prova CTRL-tangenten när du ändrade teckenfärg och när du skapade en "testbild" vid färginställning av din TV.
RUN/STOP
Vanligtvis avbryts ett BASIC program när RUN/STOP tangenten trycks ned. Den signalerar till datorn att avbryta vad den håller på med. Om RUN/STOP användes tillsammans med SHIFT laddas program in från en yttre kassettstation.
C= COMMODORE-TANGENTEN
C=-tangenten används för olika funktioner. I första hand medger den växling mellan TEXT och GRAFIK-läge.

När datorn startas är den i stora bokstäver/grafik-läge. Detta betyder att allt du skriver skrivs ut på skärmen med stora bokstäver. Som vi nämnt tidigare kommer om SHIFT trycks ned samtidigt, det grafiska tecknet som syns till höger på tangent att skrivas ut.

Om du nu trycker ned SHIFT och C=-tangenten ändras skärmen till stora/små bokstäver-läget. Håller du nu ned C=-tangenten och trycker ned en tangent med grafisk symbol kommer den symbol som finns till vänster på tangenten att visas på skärmen.

Dessutom används C= -tangenten för att göra en andra färgsats om 8 färger tillgänglig. Genom att hålla ned C=-tangenten och trycka på någon av siffertangenterna kommer all text därefter att vara i ny färg bestämd av den tangent du trycker ned. I kapitel 5 finns en lista på de färger som finns tillgängliga genom respektive tangent.

2.2 ÅTER TILL NORMALLÄGE

Nu när du haft möjlighet att bekanta dig med tangentbordet låt oss gå vidare med några av Commodore 64's övriga möjligheter.

Om du fortfarande har kvar färgbalkarna på skärmen, vilka vi använde vid inställningen av TV'ns färgkontroller, tryck ned SHIFT och CLR/HOME. Skärmen ska nu vara ren och markören befinna sig i övre vänstra hörnet (home position).

Tryck nu samtidigt på C= och 7. Detta återställer textfärgen till ljusblå. Det återstår en sak till för att komma tillbaka till normalläge. Tryck ned CTRL och 0 (noll inte bokstaven O!). Detta återställer skärmutskriften till normal. Som du minns, ändrade vi till omvänd (reverserad) skrift tidigare med CTRL och 9 för att göra färgbalkar. Dessa färgbalkar var i verkligheten reverserade blanktecken (mellanslag). Om vi hade varit i normalläge och försökt rita färgbalkarna skulle markören flyttat sig men enbart lämnat tomrum.

TIPS:

Nu när du har gjort återställningen till normal den svåra vägen ska vi visa ett enklare sätt. Tryck samtidigt ned:

RUN/STOP och RESTORE

Detta raderar skärmen och återställer datorn till utgångsläget. Om det finns ett program i datorn kommer detta att lämnas orört. Detta är bra att känna till speciellt om du sysslar mycket med programmering.

Om du önskar att återställa apparaten så som om den stängts av och satts på på nytt, skriv då: SYS64759 och tryck på RETURN. Använd detta kommando med eftertanke! Det kommer att radera ut de program och variabler som vid tillfället finns i datorn.

2.3 HÄMTA OCH SPARA PROGRAM

En av de viktigaste egenskaperna hos Commodore 64 är dess förmåga att hämta (LOAD) och spara (SAVE) program från och till kassettbandspelare eller diskettstation.

Denna egenskap tillåter att du sparar program du skrivit för användning vid senare tillfälle. Du kan också köpa färdiga program klara att användas till din Commodore 64.

Övertyga dig om att eventuell band- eller flexskiveenhet är riktigt ansluten. Se bruksanvisning som medföljer respektive enhet.

LOADING (inläsning) AV FÄRDIGA PROGRAM

För de av er som endast är intresserade av de färdiga program som finns tillgängliga på plugg-in kassetter, kassettband eller flexskivor. Här följer hur du ska gå tillväga:

  1. PLUGG-IN KASSETTER: Till Commodore 64 finns ett stort antal program och spel lagrade i pluggfin kassetter. För att ladda in dessa program, gör följande: Starta TV'n. Kontrollera att datorn är avstängd. Den måste vara avstängd under tiden du sätter in eller tar ur en plugg-in kassett. Om inte kan kassetten förstöras! Sätt nu in plugg-in kassetten. Starta datorn. Slutligen startas programmet enligt den instruktion som medföljer programmet.
  2. BANDKASSETTER: Använd 1530 kassettbandspelare och den vanliga ljudkassetten som ingår i programpaketet. Övertyga dig om att bandet är helt återspolat till början av första sidan. Skriv därefter LOAD. Datorn svarar då: "PRESS PLAY ON TAPE" (tryck på bandspelarens PLAY-tangent). Gör nu detta. Skärmen raderas och förblir ren tills dess datorn finner början av programmet. Datorn skriver då "FOUND (PROGRAM NAMN" = funnet (programnamn). Tryck nu ned C=-tangenten. Detta medför att programmet läses in i datorns minne. Om du önskar avbryta inläsningen tryck på RUN/STOP-tangenten.
  3. FLEXSKIVOR/DISKETTER: När du använder flexskivor ska dessa stoppas in försiktigt, med etiketten uppåt och närmast dig. Lägg märke till ett hack i skivhöljet, (det kan vara täckt av tape). Om du for in skivan rätt är detta hack till vänster. Stäng luckan när skivan är helt inne. Skriv nu LOAD "PROGRAM NAMN", 8 och tryck därefter på RETURN. Du hör nu diskettenheten arbeta och på skärmen står det:
      SEARCHING FOR PROGRAM NAME
      LOADING
      READY.
      _
    

    När datorn skrivit READY och markören tänds ska du skriva RUN. Ditt program är nu klart att användas.

HÄMTA PROGRAM FRÅN BAND

Hämta tillbaka program från band eller skiva är lika enkelt. När det gäller band: Återspola bandet till början och skriv:

  LOAD "PROGRAM NAMN"

Om du inte minns programnamnet skriv enbart LOAD och det första programmet datorn hittar kommer att läsas in i datorns minne. Efter du tryckt på RETURN svarar datorn med:

  PRESS PLAY ON TAPE

När du tryckt ned PLAY-tangenten raderas skärmen och ramfärgen ändras under den tid datorn söker efter programmet. När den funnit programmet visar skärmen:

  FOUND PROGRAM NAMN

För att verkställa inläsningen av programmet måste du trycka på C=-tangenten. Om du önskar avbryta inläsningen kan du trycka på RUN/STOP När du trycker på Commodore-tangenten ändras kantfärgen under tiden programmet läses in i datorn.

Efter inläsningen är avslutad återgår kantfärgen till sin vanliga färg och markören återkommer.

HÄMTA PROGRAM FRÅN SKIVA

Att hämta program från flexskiva görs på samma sätt. Skriv:

  LOAD "PROGRAM NAMN",8
Efter du tryckt på RETURN börjar flexskivan snurra och skärmen visar:
  SEARCHING FOR PROGRAM NAMN
  LOADING

  READY.
  _

OBS

När du läser in ett nytt program i datorns minne raderas alla tidigare instruktioner. Övertyga dig om att det program du tidigare arbetat med är sparat innan du läser in ett nytt program. Direkt efter att programmet lästs in i datorns minne, kan det köras (RUN), listas (LIST) eller förändras för att åter sparas i ny version.

SPARA PROGRAM PÅ TAPE

Om du efter att ha skrivit ett program önskar spara det på band, skriv:

  SAVE "PROGRAM NAMN"

"PROGRAM NAME" kan vara en kombination av upp till 16 tecken. Efter att du tryckt RETURN svarar nu datorn:

  PRESS PLAY AND RECORD ON TAPE

Tryck ned både RECORD och PLAY-tangenterna på bandspelaren. Skärmen raderas och ramfärgen ändras.

Efter programmet är sparat på bandet återkommer markören och indikerar att du kan börja arbeta med ett annat program eller stänga av datorn för en tid.

SPARA PROGRAM PÅ FLEXSKIVA

Att spara program på flexskiva är ännu enklare. Skriv:

  SAVE "PROGRAM NAMN",8

Siffran 8 är koden för flexskiveenheten, så du har just talat om för datorn att du önskar få programmet sparar på flexskiva. Efter att du tryckt RETURN börjar flexskivan snurra och datorn svarar med:

  SAVING "PROGRAM NAMN"
  OK
  READY.
  _

2.4 PRINT OCH BERÄKNINGAR

Nu när vi gått igenom ett antal komplicerade instruktioner som behövs för att spara de program du vill behålla, låt oss börja att göra några program du kan spara.

Försök att skriva följande exakt så som det visas:

  PRINT "COMMODORE 64"     ←--- Skriv denna rad och tryck på RETURN
  COMMODORE 64            ←---- Datorns utskrift

  READY.
  _

Om du gör ett skrivfel, använd då INST/DEL-tangenten för att radera tecknet närmas till vänster om markören. Du kan radera så många tecken du önskar.

Låt oss nu se på vad som hände i exemplet ovan. Först instruerade (kommenderade) du datorn att skriva (PRINT) det som står innanför citationstecknen. Genom att trycka ned RETURN bad du datorn att verkställa din instruktion och Commodore 64 skrevs därefter på skärmen.

När du använder PRINT-kommandot på detta sätt skrivs allt innanför citationstecknen ut exakt som du skrivit det.

Om datorn svarar med:

  ?SYNTAX  ERROR
kontrollera om du gjort ett skrivfel eller glömt citationstecken.

Datorn är pedantisk och förväntar sig instruktioner i exakt förutbestämd form.

Men bli inte orolig, kom bara ihåg att skriva i minsta detalj så som visas i exemplen och ditt samarbete med Commodore 64 kommer att gå bra.

Kom också ihåg att du kan inte skada datorn genom att skriva på den. Det bästa sättet att lära BASIC är att prova olika saker och se vad som händer.

PRINT är ett av de mest användbara och kraftfulla kommandona i BASIC-språket. Med det kan du visa på skärmen nästan vad du vill inklusive grafik och svaren på beräkningar.

Prova exempelvis följande. Radera först skärmen genom att trycka ned SHIFT och CLR/HOME och skriv (siffran 1 inte bokstaven I):

  PRINT 12 + 12            ←--- Skriv denna rad och tryck RETURN
  24                      ←---- Datorn skrev svaret

  READY.
  _

Nu har du upptäckt att datorn är en räknemaskin i dess grundläggande form. Resultatet "24" beräknades och skrevs ut automatiskt. Du kan också utföra subtraktion, multiplikation, division, exponentiering och avancerad matematiska funktioner såsom beräkning av kvadratrot mm. Du är inte begränsad till en enkel beräkning på en enda rad. Mer om detta längre fram.

Lägg märke till att PRINT-instruktionen uppförde sig annorlunda nu än i det tidigare exemplet. I detta fallet visades ett värde eller resultat istället för exakt det meddelande du skrivit in beroende på att citationstecken nu var utelämnade.

ADDITION

Plustecknet (+) betyder addition: vi bad datorn att skriva resultatet av 12 adderat till 12. Andra matematiska beräkningar utförs liknande. Kom ihåg att alltid trycka på RETURN-tangenten efter att du skrivit PRINT och beräkningen.

SUBTRAKTION

Vid subtraktion används det vanliga minus (-)-tecknet. Skriv:

  PRINT 12 - 9             ←--- Tryck RETURN
  3

MULTIPLIKATION

Om du önskar multiplicera 12 med 12, använder du asterisken (*) för att representera multiplikation. Du skriver då:

  PRINT 12 * 12            ←--- Tryck RETURN
  144

DIVISION

Division använder den bekanta "/". Exempelvis dividera 144 med 12, skrivs:

  PRINT 144 / 12           ←--- Tryck RETURN
  12

EXPONENTIERING

På ett liknande sätt kan exponentiering utföras. (Detta är detsamma som att multiplicera ett tal med sig själv ett bestämt antal gånger). Pil upp (↑)-tecknet används för exponentiering.

  PRINT 12 ↑ 5
  248832
Detta är detsamma som att skriva:
  PRINT 12 * 12 * 12 * 12 * 12
  248832

TIPS:

Basic innehåller ett antal genvägar. En sådan genväg är att använda förkortade BASIC-kommandon. Ett "?" kan exempelvis användas istället för PRINT. När vi nu går vidare presenteras ett flertal kommandon. Appendix D visar förkortningarna for dessa och vad som syns på skärmen när du skriver kommandon i förkortad form.

Ett sista exempel visar på en annan viktig punkt: flera beräkningar kan göras på en rad och de kan vara en blandning av olika räknesätt. Du kan beräkna detta problem:

  ? 3 + 5 - 7 + 2          (Detta '?' ersätter ordet PRINT)
  3

Vi har visat datorns förmåga att räkna med hjälp av enkla exempel. Commodore 64 är emellertid kapabel att utföra avsevärt mer komplicerade beräkningar. Du kan exempelvis addera ett antal stora tal. Pröva följande, men använd inte komma (,) då får du ett felmeddelande.

  ? 122.45 + 345.78 + 7895.687
  8364.917

Det ser bra ut. Pröva nu följande:

  ? 12123123.45 + 345.78 + 7895.687
  12131364.9

Om du tog tid på dig och adderade ovanstående för hand skulle du fått ett annat resultat.

Vad är det som händer? Även för en kraftfull dator finns det en begränsning i hur många siffror den kan hantera. Commodore 64 kan handskas med tal upp till 10 siffror. När talet skrivs ut visas emellertid endast 9 siffror.

Därför har talet i vårt exempel rundats av. Commodore 64 rundar av uppåt när nästa siffra är 5 eller större, och rundar av nedåt då nästa siffra är 4 eller mindre.

Tal mellan 0.01 och 999 999 999 skrivs ut som vanligt. Tal utanför detta område skrivs ut i exponentform.

Exponentform är enbart ett sätt att skriva ut mycket stora eller mycket stora tal med en siffra och 8 decimaler följt av et E och därför ett tal som är 10-exponenten av talet.

Om du skriver:

  ? 123000000000000000
  1.23E+17

Detta är detsamma som 1.23*10↑17 och används för att göra utskriften hanterbar.

Det finns en begränsning för hur stora tal datorn kan hantera även vid exponentiering.

  1. Största +/- 1.70141183E+38
  2. Minsta +/- 2.93873588E-39

2.5 PRIORITET VID BERÄKNINGAR

Om du försökt utföra en blandad beräkning annat än de vi använt i exempel, kan det ha inträffat att du fått ett oväntat resultat. Orsaken är att datorn utför beräkningar i en speciell ordningföljd.

I denna uppställning:

  20 + 8 / 2
kan man inte säkert veta om svaret ska vara 24 eller 14 utan att veta i vilken ordningsföljd beräkningen ska utföras. Om du lägger samman 20 och 8 delat med 2 (=4) får du svaret 14. Prova exemplet och se vad du får. Orsaken att du får 24 är att Commodore 64 utför beräkningar från vänster till höger enligt följande ordningsföljd:

  1. minustecknet indikerande negativa tal
  2. exponentiering, vänster till höger
  3. multiplikation och division, vänster till höger
  4. addition och subtraktion, vänster till höger
Om man följer denna ordningsföljd för det tidigare exemplet beräknar datorn divisionen först och därefter additionen varför resultatet blir 24.

Gör några olika egna problem och se om du kan följa med i beräkningarna och förutsäga resultatet med räkneföljdsreglerna ovan.

Det finns också ett enkelt sätt att ändra ordningsföljden vid beräkningar. Genom att använda parenteser kan man bestämma vilken beräkning som ska utföras först.

Om du exempelvis vill dela 35 med 5 plus 2 skriver du:

  ? 35 / 5 + 2
  9

du får 35 delat med 5 med 2 adderat till svaret, vilket inte är vad du önskade. Försök följande:

  ? 35 / (5 + 2)
  5

Vad som nu hänt är att datorn utvärderar det som finns inom parenteserna först. Om det finns parenteser inom parenteser beräknas den innersta parentesen först.

Om det finns ett flertal parenteser på en rad, såsom:

  ? (12 + 9) * (6 + 1)
  147
beräknas parenteserna från vänster till höger. Här blir 21 multiplicerat med 7 och resultatet blir 147.

2.6 KOMBINERAD UTSKRIFT OCH BERÄKNING

Trots att vi har lagt ned mycket tid i områden som inte verkar särskilt viktiga, kommer många detaljer att visa sig betydelsefulla när du börjar att skriva egna program.

För att ge dig en idé om var de olika sakerna passar in, föreställ dig följande: Hur kan de två olika typer av PRINT-kommando vi har studerat användas för att skriva något meningsfullt på skärmen?

Vi känner ju till att det som skrivs inom citationstecken skriv ut exakt som det skrevs, och genom att använda matematiska instruktioner kan beräkningar utföras. Så varför inte kombinera dessa 2 typer av PRINT-kommando på följande sätt:

  ? "5 * 9 = "; 5 * 9      (Semikolon = inget mellanrum)
  5 * 9 = 45

Även om detta verkar en aning överflödigt, vad vi har åstadkommit är att helt enkelt använda båda typerna av PRINT-kommando tillsammans. Den första delen skriver ut "5*9 = " exakt som det är skrivet. Den andra delen gör den verkliga beräkningen och skriver ut resultatet, med ett semikolon emellan för att avskilja meddelandedelen från beräkningsdelen.

Du måste alltid separera de olika delarna i en blandad PRINT-instruktion med någon typ av mellantecken. Prova med ett komma istället för semikolon och se vad som händer.

För den vetgirige, semikolon orsakar att den senare delen skrivs ut i direkt anslutning till den tidigare delen. Komma åstadkommer något annat. Även om det kan användas som separator, sprider det ut utskriften mera. Om du skriver:

  ? 2,3,4,5,6   ←------------------------------ Tryck RETURN
  2            3            4             5
  6
siffrorna skrivs ut över hela raden och ned på nästa rad.

Commodore 64's skärm är uppdelad i fyra områden med 10 kolumner vardera. Kommat fabulerar varje resultat i närmast följande lediga tabulatorposition. Eftersom vi bad datorn skriva ut mer information än vad som får plats på en rad (vi försökte att få plats med 5 st 10-kolumner på en rad) flyttades den sista siffran ned till nästa rad.

Denna grundläggande skillnad mellan komma och semikolon vid uppställning av PRINT-instruktioner kan med fördel användas för att skapa mera komplicerade uppställningar; det hjälper oss att skapa sofistikerade resultat mycket enkelt.

[ ← Föregående | Innehållsförteckning | Nästa → ]
[HTML 4.01]
Peter Krefting / $Date: 2009-08-13 18:55:29 $ / peter@softwolves.pp.se