Make your own free website on Tripod.com

                 COMMODORE PET BASIC QUICK REFERENCE CARD

                 --------- --- ----- ----- --------- ----



  (adapted from Commodore 64 Programmer's Reference Guide from Project 64)

  Link: Project 64 Page





  SIMPLE VARIABLES



  Type     Name     Range



  Real     XY       +/- 1.70141183E+38

                    +/- 2.93873588E-39

  Integer  XY%      +/- 32767

  String   XY$      0 to 255 characters



    X is a letter (A-Z), Y is a letter or number (0-9). Variable names

  can be more than 2 characters, but only the first two are recognized.



  ARRAY VARIABLES



  Type                  Name

  Single Dimension      XY(5)

  Two-Dimension         XY(5,5)

  Three-Dimension       XY(5,5,5)



  Arrays of up to eleven elements (subscripts 0-10) can be used

  where needed. Arrays with more than eleven elements need to be

  DIMensioned first.





  SYSTEM VARIABLES



  Time                   TI    Display the system clock in jiffy ticks

                         TI$   Display/Set the system time in 24 hour clock

                               format i.e. TI$="030012" ("HHMMSS")



  I/O Status             ST    Tape/File access status number.



  Pi                     (, Pi symbol)    Value of Pi.



  4.0 BASIC Disk Status  DS    Reads Current Disk Error Condition from dev 8

                         DS$   Reads Complete Error Condition to string

                               "##, ERR TXT, Track, Sect"





  ALGEBRAIC OPERATORS             RELATIONAL AND LOGICAL OPERATORS



  = Assigns value to variable     =   Equal

  - Negation                      < >  Not Equal To

  ^ Exponentiation                <   Less Than

  * Multiplication                >   Greater Than

  / Division                      <=  Less Than or Equal To

  + Addition                      >=  Greater Than or Equal To

  - Substraction                  NOT Logical "Not"

                                  AND Logical "And"

                                  OR  Logical "Or"

                                  Expression equals 1 if true, 0 if false



  SYSTEM COMMANDS



  LOAD"NAME"    Loads a program from tape

  SAVE"NAME"    Saves a program on tape

  LOAD"NAME",8  Loads a program from disk

  SAVE"NAME",8  Saves a program to disk

  VERIFY"NAME"  Verifies that program was SAVEd without errors

  RUN           Executes a program

  RUN xxx       Executes program starting at line xxx

  STOP          Halts execution

  END           Ends execution

  CONT          Continues program execution from line where

                program was halted

  PEEK(X)       Returns contents of memory location X

  POKE X,Y      Changes contents of location X to value Y

  SYS xxxxx     Jumps to execute a machine language program,

                starting at xxxxx

  WAIT X,Y,Z    Program waits until contents of location X,

                when EORed with Z and ANDed with Y, is nonzero.

  USR(X)        Passes value of X to a machine language subroutine can also

                return value from m/l subroutine (is used like a function

                i.e. Y=USR(X))



  EDITING AND FORMATTING COMMANDS



  LIST          Lists entire program

  LIST A-B      Lists from line A to line B

  REM Message   Comment message can be listed but is ignored during

                program execution

  TAB(X)        Used in PRINT statement. Spaces X positions on screen

  SPC(X)        PRINTs X blanks on line

  POS(X)        Returns current cursor position



  EDITING AND FORMATTING KEYS



  CLR/HOME      Positions cursor to left corner of screen

  SHIFT+CLR/HOME Clears screen and places cursor in "Home" position

  SHIFT+INST/DEL Inserts space at current cursor position

  INST/DEL      Deletes character at current cursor position

  CTRL          When used with numeric color key, selects text color.

                May be used in PRINT statement.

  CRSR keys     Moves cursor up, down, left, right on screen

  SHIFT         Access Graphics characters in upper case/graphics mode

                and upper case characters in upper/lower case mode.



  ARRAYS AND STRINGS



  DIM A(X,Y,Z)  Sets maximum subscripts for A; reserves space for

                (X+1)*(Y+1)*(Z+1) elements starting at A(0,0,0)

  LEN(X$)       Returns number of characters in X$

  STR$(X)       Returns numeric value of X, converted to a string

  VAL(X$)       Returns numeric value of X$, up to first

                non-numeric character

  CHR$(X)       Returns ASCII character whose code is X

  ASC(X$)       Returns ASCII code for first character of X$

  LEFT$(A$,X)   Returns leftmost X characters of A$

  RIGHT$(A$,X)  Returns rightmost X characters of A$

  MID$(A$,X,Y)  Returns Y characters of A$ starting at character X



  INPUT/OUTPUT COMMANDS



  INPUT A$ or A PRINTs "?" on screen and waits for user to enter

                a string or value

  INPUT "ABC";A PRINTs message and waits for user to enter value.

                Can also INPUT A$

  GET A$ or A   Waits for user to type one-character value; no

                RETURN needed

  DATA A,"B",C  Initializes a set of values that can be used by

                READ statement

  READ A$ or A  Assigns next DATA value to A$ or A

  RESTORE       Resets data pointer to start READing the DATA list again

  PRINT"A= ";A  PRINTs string "A=" and value of A

                ";" suppresses spaces - "," tabs data to next field

  PROGRAM FLOW



  GOTO X        Branches to line X

  IF A=1 TO 10  IF assertion is true THEN execute following part of

                statement. IF false, execute next line number

  FOR A=1 TO 10 STEP 2   Executes all statements between FOR and

                         corresponding NEXT, with A going from 1 to 10

                         by 2. Step size is 1 unless specified

  NEXT A        Defines end of loop. A is optional

  GOSUB 2000    Branches to subtoutine starting at line 2000

  RETURN        Marks end of subroutine. Returns to statement following

                most recent GOSUB

  ON X GOTO A,B Branches to Xth line number on list. If X=1 branches

                to A, etc.

  ON X GOSUB A,B Branches to subroutine at Xth line number in list


Back to PET FAQ.
Back to Table of Contents.