open encyclopedia * Article Search: * *
*
*

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: PEEK command 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$
  • 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 DATA read: 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 a SYS)
    • 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,VIEWPORT
      PASTE,CUT

See also

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

Contribute Found an omission? You can freely contribute to this Wikipedia article. Edit Article
Copyright © 2003-2004 Zeeshan Muhammad. All rights reserved. Legal notices. Part of the New Frontier Information Network.