The descriptions of the differences between various versions of Commodore
Basic that I have seen have not been very complete. I therefore decided
to make my own list of differences (see below).
This is a list of Basic differences, not hardware or memory differences.
I am missing some information on the CBM-II(B series). The missing
information is indicated by question marks. I am also missing the
intensity information on the C128 80 column mode.
If anyone has this information or any other, please add it to the list.
-------------------------------------------------------------------------
Commodore Basic Differences
Original PET
Arrays are limited to 256 elements.
GOTO cannot have a space.
RND(0) repeats the same number, use RND(TI).
Text mode upper and lower case letters are exchanged.
The zero at 1024 is saved as part of the program. Other versions cannot
relocate these programs, they must be loaded at 1024. If that is not
possible, replace the "00 04 00" at the beginning of the program file
with "01 04".
PET/CBM
CHR$(14) and CHR$(142) are only supported in Basic 4.0.
To change the character set, POKE 59468,14 for text mode,
POKE 59468,12 for graphic mode.
PET's with a CRTC usually have extra space between lines in text mode.
To remove the extra space: PRINT CHR$(142);:POKE 59468,14.
Character 92 is a backslash.
Characters 96-127 are the same as 32-63.
Programs are loaded only at their saved address, but Basic only runs
programs loaded at 1025.
CBM-II
BANK can be done as POKE 599,bank.
TI is not the jiffy clock, use VAL(TI$).
Load address??? Relocate while loading???
Characters 96-127 are the same as ????
4064
Sprites are disabled.
To enable, OR location 646 (current character color) with 128.
C128
BANK can be done as POKE 981,bank.
SYS m,a,x,y,s is only in C128, use SYS m.
General
To avoid differences in line wrap and blank line insertion,
do not print to or past the last column on the screen.
Basic 4.0 and above can set a screen window.
To cancel, print two consecutive HOME characters.
Colors of the same intensity are not distinguishable on a monochrome
monitor.
Commands that reference memory locations:
PEEK POKE SYS USR WAIT
Commands not in all versions (do not use as variables):
APPEND CIRCLE DO FAST LOOP RECORD SCRATCH TROFF
AUTO COLLECT DOPEN FETCH MONITOR RENAME SLEEP TRON
BACKUP COLLISION DRAW FILTER MOVSPR RENUMBER SLOW UNTIL
BANK COLOR DS GO TO OFF RESUME SOUND USING
BEGIN CONCAT DS$ GRAPHIC PAINT RGR SPRCOLOR VOL
BEND COPY DSAVE GSHAPE PEN RLUM SPRDEF WHILE
BLOAD DCLEAR DVERIFY HEADER PLAY RREG SPRITE WIDTH
BOOT DCLOSE EL HELP POINTER RSPCOLOR SPRSAV WINDOW
BOX DEC ELSE HEX$ POT RSPPOS SSHAPE XOR
BSAVE DELETE ENVELOPE INSTR PUDEF RSPRITE STASH
BUMP DIRECTORY ER JOY QUIT RWINDOW SWAP
CATALOG DISPOSE ERR$ KEY RCLR SCALE TEMPO
CHAR DLOAD EXIT LOCATE RDOT SCNCLR TRAP
Control codes not in all versions:
2 underline 129 orange/d purple
5 white 130 flash/underline off
7 bell 132 bottom right/flash off
8 lock 133 F1
9 tab/unlock 134 F3 149 insert line/brown/d yellow
14 text 135 bell/F5 150 erase end/l red/yl-grn
15 top left/flash 136 F7 151 d gray/pink/d cyan
21 delete line 137 set tab/F2 152 m gray/bl-grn
22 erase start 138 F4 153 l green/l blue
24 set tab 139 F6 154 l blue/d blue
27 escape 140 F8 155 escape/l gray/l green
28 red 142 graphics 156 purple
30 green 143 flash off 158 yellow
31 blue 144 black 159 cyan
Colors arranged by intensity with (default background color):
VIC20 C64/C128 40 Column Plus4/C16
--------- ------------------ -----------------------
black black(4064) black
blue, red brown, blue(C64) brown, d blue
red, d gray(C128) red, green
purple purple, orange purple, orange, blue
m gray, l blue
green green, l red yl-grn, bl-grn, l green
cyan cyan, l gray cyan, pink, l blue
yellow yellow, l green
(white) white(SX64) yellow, (white)
Line draw characters to use for uniform line thickness:
PET/CBM-II/VIC20 Plus4/C16/C64/C128
---------------- ------------------
left vertical bar 165 165 or 180
center vertical bar 221 221 or 194
right vertical bar 167 167 or 170
top horizontal bar 163 183
center horizontal bar 192 192 or 195
bottom horizontal bar 164 175
Memory available for Basic programs:
C16 12287 bytes
VIC 20 3583-28159 bytes
PET/CBM 3071-31743 bytes
C64 38911 bytes
Plus4 60671 bytes
C128 122365 bytes
CBM-II ?????-????? bytes
-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tcm.hut.fi.
Archive generated by hypermail 2.1.1.