Commodore BASIC
From open-encyclopedia.com - the free encyclopedia.
Commodore BASIC is the dialect of BASIC used in Commodore International's 8-bit home computer line, stretching from the PET of 1977 to the C128 of 1985. The core part was based on 6502 Microsoft BASIC, licensed from the young Microsoft on a "pay once, no royalties" basis.
A very convenient feature of Commodore's ROM-resident BASIC interpreter and KERNAL was the brilliantly implemented full screen editor, which allowed users to input, edit, and enter direct commands as well as program lines anywhere on the screen – simply by pressing the RETURN key whenever the cursor happened to be on a line containing a valid BASIC statement. This marked a huge leap forward in program entry interfaces compared to other common home computer BASICs at the time, which typically used a separate EDIT command for line editing.
| Contents |
Versions (in chronological order, with successively added features)
- V1.0: PET 2001 with chiclet keyboard and built-in Datassette (original PET)
- bug: arrays limited to 256 elements
- bug:
PEEKcommand won't work above memory location $C000
- V2.0: PET 2001 with full-travel keyboard & upgrade ROMs; VIC-20; C64
- most 1.0 bugs squashed
- PET Easter egg – enter
WAIT 6502,<x>and see what happens...
- V4.0: PET/CBM 4000/8000 series (and late version PET 2001's)
- disk operations:
DLOAD,DSAVE,COPY,SCRATCH,etc (15 in all) - disk error-channel variables:
DS,DS$
- disk operations:
- V4+ : CBM-II series (aka B, P range)
- information to be added
- V3.5: C16/116, Plus/4
- sound and graphics commands
- joystick input:
JOY - hexadecimal conversion:
DEC(),HEX$() - flexible
DATAread:RESTORE [linenumber] - string search function:
INSTR - formatted printing:
PRINT USING,PUDEF - alternative branching:
ELSE - structured looping:
DO,LOOP,WHILE,UNTIL,EXIT - function key assignment:
KEY(also direct mode) - program entry/editing:
AUTO,DELETE,RENUMBER - dynamic error handling:
TRAP,RESUME,ERR$() - debugging (tracing):
TRON,TROFF - MLM entry command:
MONITOR - C(1)16, Plus/4 Easter egg – enter
SYS 52650
- V7.0: C128
- more sound and graphics commands, incl sprite handling
- paddle, lightpen input:
POT,PEN - exclusive or function:
XOR - get variable address:
POINTER - text mode windowing:
WINDOW - controlled time delay:
SLEEP - memory management:
BANK,SWAP,FETCH,STASH - more disk operations:
BOOT,BLOAD,BSAVE,DVERIFY,DCLEAR - CPU speed adjustment:
FAST,SLOW(2 vs 1 MHz) - undocumented, working:
RREG(read CPU registers after aSYS) - undocumented, non-w.:
OFF,QUIT - C128 Easter egg – enter
SYS 32800,123,45,6
Unreleased versions
- V10 : Commodore 65 (unreleased prototype)
- graphics/video commands:
PALETTE,GENLOCK - mouse input:
MOUSE,RMOUSE - text file (
SEQ) utility:TYPE - program editing:
FIND,CHANGE - memory management:
DMA,FRE(<0>|<1>|<2>) - unimplemented commands:
PAINT,LOCATE,SCALE,WIDTH,SET,VIEWPORTPASTE,CUT
- graphics/video commands:
See also
- Simons' BASIC
- BASIC 8
References
- Angerhausen et.al. (1983). The Anatomy of the Commodore 64. (For the full reference, see the C64 article.) (BASIC 2.0)
- Jarvis, Dennis; Springer, Jim D. (1987). BASIC 7.0 Internals. Grand Rapids, Michigan: Abacus Software, Inc. ISBN 0-916439-71-2. (BASIC 7.0)
de:Commodore BASIC