Venster sluiten -  X -  

Applesoft BASIC • Handleiding

Snel op weg ...

Verklaring elementen

Controle variabelen

CLEAR
Alle variabelen wissen.
[LET] variabele = omschrijving
Toewijzing variabelen.
DIM variabele( size [, size ...] ) [, variabele( size [, size ...] ) ...]
Reeks(en) van variabelen toewijzen met gegeven waarde(en).
DEF FN naam(variabele) = getalwaarde
Definieer de functie van een enkele variabele.

Controle gegevensdoorvoer

GOTO lijnnummer
Ga naar lijnnummer.
GOSUB lijnnummer
Voer subroutine in bij regelnummer.
RETURN
Keer terug van subroutine.
ON getalwaarde GOTO lijnnummer [, lijnnummer ...]
Ga naar onderdeel op basis van getalwaarde (waarde = 1, 2, ...).
ON getalwaarde GOSUB lijnnummer [, lijnnummer ...]
Ga naar onderdeel op basis van getalwaarde (waarde = 1, 2, ...).
POP
Zet laatste waarde GOSUB om in een GOTO.
FOR variabele = getalwaarde TO getalwaarde [ STAP getalwaarde ]
Lus met tellervariabele.
NEXT [variabele [, variabele ...] ]
Einde van de lus(sen).
IF omschrijving THEN voer actie uit
IF omschrijving GOTO lijnnummer
Voorwaarde; Als de omschrijving niet waar is, de rest van de lijn overslaan.
END
Correct afsluiten programma.
STOP
Pauze/onderbreking, als er een fout is opgetreden.

Foutafhandeling

ONERR GOTO lijnnummer
Bij fout ga naar.
RESUME
Probeer opnieuw vanaf foutlocatie ONERR GOTO.

Tekst Invoer/Uitvoer

PRINT omschrijving [ [;,] omschrijving ... ] [;]
Tekstuitvoer. ; Aaneenschakeling, , gaat door naar de volgende tabstop. Bij achterstand ; wordt nieuwe lijn actief. Omschrijving inclusief SPC(getalwaarde) meerdere spaties, of TAB(getalwaarde) kolominsprong.
INPUT [tekenreeks ;] variabele [, variabele ...]
Lees regel met door komma's gescheiden invoer, met optionele prompt.
GET variabele
Lees enkelvoudige toetsenbordinvoer.
HOME
Maak scherm leeg.
HTAB getalwaarde
Cursorpositie → horizontaal (1...40 of 1...80).
VTAB getalwaarde
Cursorpositie → verticaal (1...24).
INVERSE
Stel uitvoer 'zwart op wit' in.
FLASH
Stel uitvoer 'knipperend' in.
NORMAL
Stel uitvoer 'wit op zwart' in.
TEXT
Zet scherm in tekstmode.

Lage grafische resolutie

GR
Stel schermweergave in op gemengde tekst/lage resolutie ("lores") grafische modus, helder scherm op zwart.
COLOR= getalwaarde
Stel lage resolutiekleur in (0...15).
PLOT getalwaarde, getalwaarde
Teken in lage resolutie een punt (x = 0...39, y = 0...39/47).
HLIN getalwaarde, getalwaarde AT getalwaarde
Teken horizontale lijn (x1, x2 op positie y).
VLIN getalwaarde, getalwaarde AT getalwaarde
Teken verticale lijn (y1, y2 at x).

Hoge grafische resolutie

HGR
Stel schermweergave in op gemengde/hoge resolutie ("hires") grafische modus, helder scherm op zwart.
HGR2
Stel schermweergave in hoge resolutie mode (pagina 2), maak scherm leeg en zwart.
HPLOT [TO] getalwaarde, getalwaarde [ TO getalwaarde, getalwaarde ] ...
Teken hoge resolutie punt/lijn (x=0...279, y=0...191).
HCOLOR= getalwaarde
Stel hoge resolutiekleur in (0...7).

Interne gegevens

DATA waarde [, waarde ...]
Definieer gegevens. Waarden kunnen tekens (tekenreeksen zonder aanhalingstekens), tekenreeksen of getallen zijn.
READ variabele [, variabele ...]
Lees de volgende gegevenswaarde.
RESTORE
Herstel de gegevensreeks vanaf waarde 1.

Allerlei

REM [commentaar]
Omschrijving in programma. Documentatie. De lijn wordt verder genegeerd bij programma-uitvoering.
TRACE
Schakel de traceermodus in (regelnummers worden weergegeven).
NOTRACE
Schakel traceermodus uit.

Hoge resolutie vormtabellen - NIET GEÏMPLEMENTEERD

ROT= getalwaarde
Stel vormtabel en specifieke draaihoek in (0...63).
SCALE= getalwaarde
Stel schaal van vormtabel in (1...255).
DRAW getalwaarde [ AT getalwaarde, getalwaarde ]
Teken de vorm volgens de tabel in kleur.
XDRAW getalwaarde [ AT getalwaarde, getalwaarde ]
Teken hoge resolutie volgens vormtabel met XOR-functie.

Uitvoerding en programmastatus - NIET GEÏMPLEMENTEERD

CONT
Ga verder na STOP.
DEL
Verwijder programmalijnen.
LIST [ lijnnummer [, lijnnummer ] ]
Tonen programmalijnen.
NEW
Programma en variabelen wissen.
RUN [ lijnnummer ]
Programma uitvoeren vanaf bepaalde lijn.

Oorspronkelijke platformactie - NIET GEÏMPLEMENTEERD

HIMEM: getalwaarde
Zet adrestoewijzing van RAM hoog.
IN# getalwaarde
Rechtstreekse invoer vanaf poort.
LOMEM: getalwaarde
Zet adrestoewijzing van RAM lager.
WAIT getalwaarde, getalwaarde [, getalwaarde]
Een voorwaardelijke pauze inlassen tot geheugenlocatie door tweede argument gelijk is aan derde argument (of nul).

Cassettebandje - NIET GEÏMPLEMENTEERD

LOAD
Programma inladen vanaf cassette.
RECALL
Variabelen inladen van cassette.
SAVE
Programma bewaren op cassette.
STORE
Variabelen stockeren op cassette.
SHLOAD
Een vormtabel van hoge resolutie laden vanaf cassette.

Bibliotheek compatibiliteit schermfuncties

SPEED= getalwaarde
Stel de tekenuitvoervertraging in — zonder effect.
POKE getalwaarde, getalwaarde
Stel geheugenlocatie in met een waarde.
  • POKE 32,n — Linker tekstgrens.
  • POKE 33,n — Tekstbreedte.
  • POKE 34,n — Tekstgrens boven.
  • POKE 35,n — Tekstgrens onder.
  • POKE 36,n — Tekstcursorcooödinaat x.
  • POKE 37,n — Tekstcursorcoördinaat y.
  • POKE 216,n — ONERR waarde (n < 128 zet ONERR uit).
  • POKE 230,n — Hoge resolutie tekenpagina (32 = pagina 1, 64 = pagina 2).
  • POKE 49168,0 or POKE -16368,0 — Toetsenbord snel instellen op startinstelling.
  • POKE 49200,0 or POKE -16336,0 — Luidpsrekerschakelaar (no-op).
  • POKE 49232,0 or POKE -16304,0 — Grafische modus.
  • POKE 49233,0 or POKE -16303,0 — Tekstmodus.
  • POKE 49234,0 or POKE -16302,0 — Volledige grafische modus.
  • POKE 49235,0 or POKE -16301,0 — Gemengde tekst- en grafische modus.
  • POKE 49236,0 or POKE -16300,0 — Scherm pagina 1.
  • POKE 49237,0 or POKE -16299,0 — Scherm pagina 2.
  • POKE 49238,0 or POKE -16298,0 — Lage resolutie grafische modus.
  • POKE 49239,0 or POKE -16297,0 — Hoge resolutie grafische modus.
CALL getalwaarde
Oproepen specifiek onderdeel (Routine).
  • CALL 54915 or CALL -10621 — Wissen stapel (alle locaties FOR/NEXT, GOSUB/RETURN, en ONERR/RESUME invoer).
  • CALL 62248 or CALL -3288 — Locatie ONERR/RESUME invoer van stapel.
  • CALL 62436 or CALL -3100 — Toon hoge resolutie pagina 1.
  • CALL 62450 or CALL -3086 — Wis huidige hoge resolutipagina naar zwart.
  • CALL 62454 or CALL -3082 — Wis huidige hoge resolutiepaginan naar huidige kleur.
  • CALL 64500 or CALL -1036 — Beweeg de cursor naar rechts.
  • CALL 64528 or CALL -1008 — Beweeg de cursor naar links.
  • CALL 64538 or CALL -998 — Beweeg de cursor naar boven.
  • CALL 64578 or CALL -958 — Wis tekst vanf cursor tot onderaan scherm.
  • CALL 64614 or CALL -922 — Beweeg cursor naar beneden.
  • CALL 64668 or CALL -868 — Wis tekst van cursor tot op einde van lijn.
  • CALL 64780 or CALL -756 — Wacht op een toetsenbordaanslag.
  • CALL 65152 or CALL -384 — Zet tekst in inverse modus.
  • CALL 65156 or CALL -380 — Zet tekst in nomale modus.
PR# getalwaarde
Rechtsreekse uitvoer naar poort.
  • PR#0 — zet 40-kolommen-modus.
  • PR#3 — zet 80-kolommen-modus.

Functies

Numerieke functies

ABS( getalwaarde )
Absolute getalwaarde.
ATN( getalwaarde )
Boogtangens van een getal.
COS( getalwaarde )
Cosinus van een getal.
EXP( getalwaarde )
Machtsverheffen van een getal.
INT( getalwaarde )
Geheel getal afronden.
LOG( getalwaarde )
Natuurlijk logaritme van een getal.
RND( getalwaarde )
Willekeurig getal genereren. Als getalwaarde positief is geef dan een waarde tussen 0 to 0.999... Als getalwaarde nul is herhaal het laatste resultaat. Als getalwaarde negatief is, herstart de generator.
SGN( getalwaarde )
Tekenwaarde (-1, 0, 1).
SIN( getalwaarde )
Sinus van een getal.
SQR( getalwaarde )
Vierkantswortel van een getal.
TAN( getalwaarde )
Tangens van een getal.

Reeks functies

LEN( geneste lijstgegevens )
Lengte van de reeks.
LEFT$( geneste lijstgegevens, getalwaarde )
Linkerdeel van de (reeks, lengte).
MID$( geneste lijstgegevens, getalwaarde [, getalwaarde] )
Onderdceel van de (reeks, eerste teken, lengte).
RIGHT$( geneste lijstgegevens, getalwaarde )
Rechter deel van de (reeks, lengte).

Omzettingsfuncties

ASC( geneste lijstgegevens )
ASCII code voor het eerste teken van de reeks.
CHR$( getalwaarde )
Teken uit specifieke ASCII code.
STR$( getalwaarde )
Reeksvoorstelling van getal.
VAL( geneste lijstgegevens )
Zet omschrijving om in een getal.

Systeemfuncties - Actie hardware

FRE( getalwaarde )
Verzamelen restreeksen (levert 0 op).
PDL( getalwaarde )
Paddle positie (paddle nummer).
POS( getalwaarde )
Cursor positie horizaontraal.
SCRN( getalwaarde, getalwaarde )
Lage resolutiekleur voor specifieke pixel (x,y).
USR( getalwaarde )
Machinetaalcode van specifiek adres uitvoeren, gemaakte waarde tonen - NIET GEÏMPLEMENTEERD.

Definitie van gebruikersfuncties

FN naam( omschrijving )
Uitvoeren gebruikersfunctie.

Bibliotheek functiecompatibiliteit

PEEK( getalwaarde )
Value at memory location.

Bewerkingen

Vergelijkende bewerkingen

=
Is gelijk aan.
<
Kleiner dan.
>
Groter dan.
<=
=<
Kleiner dan of gelijk aan.
>=
=>
Groter dan of gelijk aan.
<>
><
Verschillend van.

Boolean functies - Strikt logisch functies

AND
EN → beide ingangen = 1 levert uitgang = 1 / één ingang of beide = 0 levert uitgang = 0.
OR
OF → ingangen in toestand = 1 levert uitgang = 1 / één 1 ingang 1 levert uitgang = 1 / beide ingangen = 0 levert uitgang = 0 .
NOT
Inverse → ingang = 0 levert uitgang = 1 / ingang = 1 levert uitgang = 0.

Wiskundige bewerkingen

^
Machtsverheffen.
*
Vermenigvuldigen.
/
Delen.
+
Optellen.
-
Aftrekken.

Reeksfuncties

+
Reekskoppeling.

Voorrangsregels

Deze worden verticaal weergegeven in volgorde van prioriteit, van hoog naar laag. Bewerkingen op dezelfde regel hebben dezelfde prioriteit en worden in een uitdrukking van links naar rechts uitgevoerd. Deze volgorde verschilt van de volgorde in sommige andere dialecten van BASIC, maar komt wel overeen met Applesoft.

Foutmeldingen

Foutmeldingen kunnen opgezocht worden met PEEK(222) in een ONERR-toestand.

0
'Next' zonder 'for'.
16
Syntax error (foutcode) — Niet gegenereerd.
22
'Return' zonder 'gosub'.
42
Buiten gegevensgrens.
53
Foute waarde.
69
Te hoge geheugengrens.
77
Buiten geheugengrens — Niet gegenereerd door alle browsers.
90
Ongedefineerde functie.
107
Foute omschrijving.
120
Opnieuw gedefinieerde reeks.
133
Deling door nul.
163
Tikfout.
176
Reeks te lang — Niet gegenereerd.
191
Formule te complex — Niet gegenereerd door alle browsers.
224
Ongedefineerde functie.
254
Opnieuw invoer.
255
Pause.

DOS 3.3 / ProDOS - Kort overzicht

DOS Commando's

MON[,C][,I][,O]
Traceert de DOS 3.3 commando's ('Commands', 'Input' and 'Output').
NOMON[,C][,I][,O]
Stopt het traceren van DOS 3.3 commando's ('Commands', 'Input' and 'Output').
OPEN bestandsnaam[,Llen]
Opent tekstbestand.
APPEND filename
Toevoeging bij tekstbestand.
CLOSE [filename]
Sluiten van een specifiek of alle geopende tekstbestand(en).
POSITION bestandsnaam[,Rnum]
Verdergaan in tekstbestand.
READ bestandsnaam[,Rnum][,Bbyte]
Lezen van een tekstbestand.
WRITE bestandsnaam[,Rnum][,Bbyte]
Tekstbestand schrijven.
DELETE filename
Bestand wissen.
RENAME naamorigineel,naamnieuw
Bestand hernoemen.
PR# poort
Zie BASIC voor identieke omschrijving.

Andere DOS-commando's zijn NIET GEÏMPLEMENTEERD.

DOS Foutmeldingen

Foutmeldingen kunnen opgevraagd worden via PEEK(222) in een ONERR-toestand.

1
Taal niet beschikbaar — Niet gegenereerd.
2
Buiten grenzen — Niet gegenereerd.
4
Schrijfbeveiligd — niet gegenereerd.
5
Einde reeks bereikt.
6
Bestand niet gevonden.
7
Stationconflict — niet gegenereerd.
8
I/O fout (Invoer/Uitvoer) — niet gegenereerd.
9
Schijf vol — niet gegenereerd.
10
Bestand vergrendeld — niet gegenereerd.
11
Ongeldige waarde.
12
Geen buffers ingesteld — niet gegenereerd.
13
Fout bestandstype — niet gegenereerd.
14
Programma te lang — niet gegenereerd.
15
Geen direct commando — niet gegenereerd.

ASCII Tabel

Dec  = Decimale Waarde
Char = Teken

Dec  Char                           Dec  Char     Dec  Char     Dec  Char
---------                           ---------     ---------     ----------
  0  NUL (nul)                      32  SPACE     64  @         96  `
  1  SOH (start of heading)          33  !         65  A         97  a
  2  STX (start of text)             34  "         66  B         98  b
  3  ETX (end of text)               35  #         67  C         99  c
  4  EOT (end of transmission)       36  $         68  D        100  d
  5  ENQ (enquiry)                   37  %         69  E        101  e
  6  ACK (acknowledge)               38  &         70  F        102  f
  7  BEL (bell)                      39  '         71  G        103  g
  8  BS  (backspace)                 40  (         72  H        104  h
  9  TAB (horizontal tab)            41  )         73  I        105  i
 10  LF  (NL line feed, new line)    42  *         74  J        106  j
 11  VT  (vertical tab)              43  +         75  K        107  k
 12  FF  (NP form feed, new page)    44  ,         76  L        108  l
 13  CR  (carriage return)           45  -         77  M        109  m
 14  SO  (shift out)                 46  .         78  N        110  n
 15  SI  (shift in)                  47  /         79  O        111  o
 16  DLE (data link escape)          48  0         80  P        112  p
 17  DC1 (device control 1)          49  1         81  Q        113  q
 18  DC2 (device control 2)          50  2         82  R        114  r
 19  DC3 (device control 3)          51  3         83  S        115  s
 20  DC4 (device control 4)          52  4         84  T        116  t
 21  NAK (negative acknowledge)      53  5         85  U        117  u
 22  SYN (synchronous idle)          54  6         86  V        118  v
 23  ETB (end of trans. block)       55  7         87  W        119  w
 24  CAN (cancel)                    56  8         88  X        120  x
 25  EM  (end of medium)             57  9         89  Y        121  y
 26  SUB (substitute)                58  :         90  Z        122  z
 27  ESC (escape)                    59  ;         91  [        123  {
 28  FS  (file separator)            60  <         92  \        124  |
 29  GS  (group separator)           61  =         93  ]        125  }
 30  RS  (record separator)          62  >         94  ^        126  ~
 31  US  (unit separator)            63  ?         95  _        127  DEL

ASCII Tabel - Uitgebreide versie

Programmeerrinstructies