Commodore BASIC
Encyclopedia
Commodore BASIC, also known as PET BASIC, is the dialect of the BASIC programming language used in Commodore International
Commodore International
Commodore is the commonly used name for Commodore Business Machines , the U.S.-based home computer manufacturer and electronics manufacturer headquartered in West Chester, Pennsylvania, which also housed Commodore's corporate parent company, Commodore International Limited...

's 8-bit
8-bit
The first widely adopted 8-bit microprocessor was the Intel 8080, being used in many hobbyist computers of the late 1970s and early 1980s, often running the CP/M operating system. The Zilog Z80 and the Motorola 6800 were also used in similar computers...

 home computer
Home computer
Home computers were a class of microcomputers entering the market in 1977, and becoming increasingly common during the 1980s. They were marketed to consumers as affordable and accessible computers that, for the first time, were intended for the use of a single nontechnical user...

 line, stretching from the PET
Commodore PET
The Commodore PET was a home/personal computer produced from 1977 by Commodore International...

 of 1977 to the C128
Commodore 128
The Commodore 128 home/personal computer was the last 8-bit machine commercially released by Commodore Business Machines...

 of 1985. The core was based on 6502
MOS Technology 6502
The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured microprocessor on the market by a considerable margin, costing less than one-sixth the price of...

 Microsoft BASIC
Microsoft BASIC
Microsoft BASIC was the foundation product of the Microsoft company. It first appeared in 1975 as Altair BASIC, which was the first BASIC, and the first high level programming language available for the MITS Altair 8800 hobbyist microcomputer....

, and as such it shares most of the core code with other 6502 BASICs of the time, such as Applesoft BASIC
Applesoft BASIC
Applesoft BASIC was a dialect of Microsoft BASIC supplied with the Apple II series of computers. It superseded Integer BASIC and was the BASIC in ROM in all Apple II series computers after the original Apple II model. It was also referred to as FP because of the command used to invoke it instead...

.

History

Commodore licensed BASIC from Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

 on a "pay once, no royalties" basis for US$25,000 (Different sources range this amount between $10,000 and $30,000). Bill Gates
Bill Gates
William Henry "Bill" Gates III is an American business magnate, investor, philanthropist, and author. Gates is the former CEO and current chairman of Microsoft, the software company he founded with Paul Allen...

 first offered it at a $3 per unit royalty fee but Jack Tramiel
Jack Tramiel
Jack Tramiel is an American businessman, best known for founding Commodore International - manufacturer of the Commodore PET, Commodore 64, Commodore 128, Commodore Amiga, and other Commodore models of home computers.-Biography:...

 turned it down stating "I'm already married", said he would pay no more than $25,000 for a perpetual license and Gates later came back and accepted the deal. Commodore took the source code of the flat-fee BASIC and further developed it internally for all their other 8-bit home computers. It was not until the Commodore 128 (with V7.0) that a Microsoft copyright notice was displayed. However, Microsoft had built an easter egg
Easter egg (media)
Image:Carl Oswald Rostosky - Zwei Kaninchen und ein Igel 1861.jpg|250px|thumb|right|Example of Easter egg hidden within imagerect 467 383 539 434 desc none...

 into the version 2 or "upgrade" Commodore Basic that proved its provenance: typing the (obscure) command WAIT 6502, 1 would result in Microsoft! appearing on the screen. (The easter egg was well concealed—the message did not show up in any disassembly
Disassembler
A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. A disassembler differs from a decompiler, which targets a high-level language rather than an assembly language...

 of the interpreter.)

Technical details

A convenient feature of Commodore's ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

-resident BASIC interpreter and KERNAL
KERNAL
The KERNAL is Commodore's name for the ROM-resident operating system core in its 8-bit home computers; from the original PET of 1977, followed by the extended but strongly related versions used in its successors; the VIC-20, Commodore 64, Plus/4, C16, and C128...

 was the full-screen editor
Visual editor
Visual editors or full screen editors are editing programs which display the text being edited on the screen as it is being edited, as opposed to line-oriented editors ....

, which allowed users to enter direct commands or to input and edit program lines from anywhere on the screen—simply by pressing the RETURN key whenever the cursor
Cursor (computers)
In computing, a cursor is an indicator used to show the position on a computer monitor or other display device that will respond to input from a text input or pointing device. The flashing text cursor may be referred to as a caret in some cases...

 happened to be on a line containing a valid BASIC statement. This marked a significant change in program entry interfaces compared to other common home computer BASICs at the time, which typically used line editor
Line editor
A line editor is a text editor computer program that manipulates text primarily by the display, modification, and movement of lines. Line editors precede screen-based text editors and originated in an era when a computer operator typically interacted with a teleprinter , with no video display, and...

s, invoked by a separate EDIT command, a "copy cursor," Escape sequence
Escape sequence
An escape sequence is a series of characters used to change the state of computers and their attached peripheral devices. These are also known as control sequences, reflecting their use in device control. Some control sequences are special characters that always have the same meaning...

s, or the like.

It also had the capability of saving named files to any device, including the cassette
Compact Cassette
The Compact Cassette, often referred to as audio cassette, cassette tape, cassette, or simply tape, is a magnetic tape sound recording format. It was designed originally for dictation, but improvements in fidelity led the Compact Cassette to supplant the Stereo 8-track cartridge and reel-to-reel...

 – a popular storage device in the days of the PET
Commodore PET
The Commodore PET was a home/personal computer produced from 1977 by Commodore International...

. Most systems of the era only supported filenames on diskette, which made saving multiple files on other devices more difficult. The user of one of these systems was required to note the recorder's counter display at the location of the file, but this was inaccurate and prone to error. Many non-Commodore users worked around the problem by only recording one file per tape. With the PET, when the user requested to load a file by name from the cassette, the device would read data sequentially, ignoring any non-matching filenames until the named file was reached and read into memory. The file system was also supported by a powerful record structure
Storage record
In computer science, a storage record is:* A group of related data, words, or fields treated as a meaningful unit; for instance, a Name, Address, and Telephone Number can be a "Personal Record"....

 that could be loaded or saved to files. Another difference between the cassette transfer implementations of the Commodore and other systems was that Commodore tapes were encoded digitally, where other manufacturers used a less expensive analog interface which enabled the use of a standard tape recorder, but was much less reliable.

Like the original Microsoft BASIC
Microsoft BASIC
Microsoft BASIC was the foundation product of the Microsoft company. It first appeared in 1975 as Altair BASIC, which was the first BASIC, and the first high level programming language available for the MITS Altair 8800 hobbyist microcomputer....

 interpreter, on which it is based, Commodore BASIC is slower than native machine code
Machine code
Machine code or machine language is a system of impartible instructions executed directly by a computer's central processing unit. Each instruction performs a very specific task, typically either an operation on a unit of data Machine code or machine language is a system of impartible instructions...

. Test results have shown that copying 16 kilobytes from ROM
Read-only memory
Read-only memory is a class of storage medium used in computers and other electronic devices. Data stored in ROM cannot be modified, or can be modified only slowly or with difficulty, so it is mainly used to distribute firmware .In its strictest sense, ROM refers only...

 to RAM
Random-access memory
Random access memory is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are therefore not random access, as data is read in...

 takes less than a second in machine code, but over a minute in BASIC. To execute faster than the interpreter, programmers started using various techniques to speed up execution. One was to store often-used integer values in variables rather than using literal values, as interpreting a variable name was faster than interpreting a literal number. When speed was important, some programmers converted sections of BASIC programs to 6502
MOS Technology 6502
The MOS Technology 6502 is an 8-bit microprocessor that was designed by Chuck Peddle and Bill Mensch for MOS Technology in 1975. When it was introduced, it was the least expensive full-featured microprocessor on the market by a considerable margin, costing less than one-sixth the price of...

 assembly language and executed them from BASIC using the SYS command; at other times, when speed was too fast, programmers dropped back to BASIC, and polled various addresses in memory (such as $A6 for the C-64, or $D0 for the C-128, denoting size of the keyboard queue) before they could start executing again.

Commodore BASIC keyword
Keyword (computer programming)
In computer programming, a keyword is a word or identifier that has a particular meaning to the programming language. The meaning of keywords — and, indeed, the meaning of the notion of keyword — differs widely from language to language....

s could be abbreviated by entering first an unshifted keypress, and then a shifted version of the next keypress. These two characters were then parsed according to a lookup table, and accepted as a substitute for typing the entire command out. However, as BASIC keywords were stored in memory as single byte tokens, this was a convenience for statement entry rather than an optimization.

In the default uppercase-only character set, shifted characters appear as a graphics symbol; e.g. the command, GOTO, could be abbreviated G{Shift-O} (which resembled GΓ onscreen). Most such commands were two letters long, but in some cases they were longer. In cases like this, there was an ambiguity, so more unshifted letters of the command were needed, such as GO{Shift-S} (GO♥) being required for GOSUB
GOSUB
GOSUB is a command in many versions of the BASIC computer programming language. A GOSUB statement jumps to a line elsewhere in the program. That line and the following lines up to a RETURN are used as a simple kind of a subroutine without parameters or local variables.The GOSUB command may be used...

. Some commands had no abbreviated form, either due to brevity or ambiguity with other commands. For example, the command, INPUT had no abbreviation because its spelling collided with the separate INPUT# keyword, which was located nearer to the beginning of the keyword lookup table
Lookup table
In computer science, a lookup table is a data structure, usually an array or associative array, often used to replace a runtime computation with a simpler array indexing operation. The savings in terms of processing time can be significant, since retrieving a value from memory is often faster than...

.

By abbreviating keywords, it was possible to view more code than would otherwise be possible on a single line (line lengths were usually limited to 2 or 4 screen lines, depending on the specific machine). This allowed for a slight saving on the overhead to store otherwise necessary extra program lines, but nothing more. All BASIC commands were tokenized and took up 1 byte (or two, in the case of several commands of BASIC 7 or BASIC 10) in memory no matter which way they were entered.

In the rare situation when commercial BASIC software was meant to be LIST-ed, each token's keyword was spelled out in full, leading to a line that extended over more screen lines than could be handled by the Logical Line Link Table. If programmers intended editing of their software by users, the user might nevertheless have found it daunting to edit with the on-screen editing capabilities. LISTing these long lines on early Commodore 64
Commodore 64
The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...

s near the bottom of the screen could trigger the "push-wrap-crash" bug in the 40 column screen editor, causing the machine to crash or return an OUT OF MEMORY error.

Commodore BASIC lines did not need any spaces except where omitting one would be ambiguous, and many Commodore BASIC programs were written with no spaces, e.g., 100IFA=5THENPRINT"YES":GOTO160. Omitting spaces as such would lead to a more compact program, since the tokenizer never removes any space inserted between keywords: the presence of spaces results in extra 0x20 bytes in the tokenized program which are merely skipped during execution.

The order of execution of Commodore BASIC lines was not determined by line numbering; instead, it followed the order in which the lines were linked in memory: much like a modern singly linked list, each program line was stored in memory as a line number, a pointer, and then the tokenized code for the line. The pointer contained the address in memory of the next program line. While a program was being entered, BASIC would constantly reorder program lines in memory so that the line numbers and pointers were all in ascending order. However after a program was entered, manually altering the line numbers and pointers with the POKE
PEEK and POKE
In computing, PEEK is a BASIC programming language extension used for reading the contents of a memory cell at a specified address. The corresponding command to set the contents of a memory cell is POKE.-Statement syntax:...

 commands could allow for out-of-order execution or even give each line the same line number. In the early days, when software written in BASIC was available commercially, this was a software protection technique used to discourage casual modification of the program.

Variable names were only significant to 2 characters; thus the variable names VARIABLE1, VARIABLE2 and VA all referred to the same variable.

The native number format of Commodore BASIC, like that of its parent MS BASIC, was floating point
Floating point
In computing, floating point describes a method of representing real numbers in a way that can support a wide range of values. Numbers are, in general, represented approximately to a fixed number of significant digits and scaled using an exponent. The base for the scaling is normally 2, 10 or 16...

. Most of the contemporary BASIC implementations used one byte for the characteristic (exponent) and three bytes for the mantissa
Significand
The significand is part of a floating-point number, consisting of its significant digits. Depending on the interpretation of the exponent, the significand may represent an integer or a fraction.-Examples:...

. This led to problems in business applications since the accuracy of a floating point number using a three-byte mantissa is only about 6.5 decimal digits, and round-off error
Round-off error
A round-off error, also called rounding error, is the difference between the calculated approximation of a number and its exact mathematical value. Numerical analysis specifically tries to estimate this error when using approximation equations and/or algorithms, especially when using finitely many...

 is common. Commodore, however, used MS BASIC's four-byte mantissa, which made their BASIC much more adapted for business than most other BASICs of the era.

Also akin to MS BASIC, 16-bit signed integer
Signed number representations
In computing, signed number representations are required to encode negative numbers in binary number systems.In mathematics, negative numbers in any base are represented by prefixing them with a − sign. However, in computer hardware, numbers are represented in binary only without extra...

s (i.e. in the range -32768 to 32767) were available by postfixing a variable name with a percent symbol, and string variables were represented by postfixing the variable name with a dollar sign. Despite the 2 character limit on variable names, the variables AA$, AA, and AA% would each be understood as distinct.

Many BASIC extensions were released for the Commodore 64, due to the relatively limited capabilities of its native BASIC 2.0. One of the most popular extensions was the DOS Wedge
DOS Wedge
The DOS Wedge was a popular piece of Commodore 64 system software. Written by Bob Fairbairn, it was included by Commodore on the 1541 disk drive Test/Demo Disk and also packaged with the C64 Macro Assembler...

, due to its inclusion on the Commodore 1541 Test/Demo Disk. This 1 KB extension to BASIC added a number of disk-related commands, including the ability to read a disk directory without destroying the program in memory. Its features were subsequently incorporated in various third-party extensions, such as the popular Epyx FastLoad
Epyx FastLoad
The Epyx FastLoad is a floppy disk fast loader cartridge made by American software company Epyx in 1984 for the Commodore 64 home computer. It was programmed by Epyx employee Scott Nelson, who later designed the Epyx Vorpal fastloading system for the company's games.Epyx FastLoad allowed programs...

 cartridge. Other BASIC extensions added additional keywords to make it easier to code sprites, sound, and high-resolution graphics like Simons' BASIC
Simons' BASIC
Simons' BASIC was an extension to BASIC 2.0 for the Commodore 64 home computer. Written by 16-year-old British programmer David Simons in 1983, it was distributed by Commodore in cartridge format.-Features:...

.

From a modern programming point of view, the earlier versions of Commodore BASIC presented a host of bad programming traps for the programmer. As most of these issues derived from Microsoft BASIC, virtually every home computer BASIC of the era suffered from similar deficiencies. BASIC line-numbering meant that with bad planning, inserting lines in a program often meant restructuring the whole program (later BASIC versions included a DELETE and RENUMBER command, as well as an AUTO line numbering command that would automatically insert line numbers based on a selected increment). In addition, all variables are treated as global variables. Clearly defined loops are hard to create, often causing the programmer to rely on the GOTO
Goto
goto is a statement found in many computer programming languages. It is a combination of the English words go and to. It performs a one-way transfer of control to another line of code; in contrast a function call normally returns control...

 command (this was later rectified in BASIC 3.5 with the addition of the DO, LOOP, WHILE, UNTIL, and EXIT commands). Flag variables often needed to be created to perform certain tasks. Furthermore, the 80 character line limit in earlier versions of Commodore BASIC often meant splitting tasks up into multiple routines, often resulting in spaghetti code
Spaghetti code
Spaghetti code is a pejorative term for source code that has a complex and tangled control structure, especially one using many GOTOs, exceptions, threads, or other "unstructured" branching constructs. It is named such because program flow tends to look like a bowl of spaghetti, i.e. twisted and...

. Earlier BASICs from Commodore also lack debugging commands, meaning that bugs and unused variables are hard to trap.

Versions and features

A list of CBM BASIC versions in chronological order, with successively added features:

Released versions

  • V1.0: PET 2001
    Commodore PET
    The Commodore PET was a home/personal computer produced from 1977 by Commodore International...

     with chiclet keyboard
    Chiclet keyboard
    A chiclet keyboard or island-style keyboard is a computer keyboard built with an array of small, flat rectangular or lozenge-shaped rubber or plastic keys that look like erasers or "Chiclets", a brand of chewing gum manufactured in the shape of small squares with rounded corners...

     and built-in Datassette
    Datassette
    The Commodore 1530 Datasette , was Commodore's dedicated computer tape drive.It provided access to an inexpensive storage medium for Commodore's 8-bit home/personal computers, notably the PET, VIC-20, and C64...

     (original PET)
    • arrays limited to 256 elements
    • PEEK
      PEEK and POKE
      In computing, PEEK is a BASIC programming language extension used for reading the contents of a memory cell at a specified address. The corresponding command to set the contents of a memory cell is POKE.-Statement syntax:...

       command explicitly disabled over BASIC ROM locations above $C000
  • V2.0 (first release): PET 2001
    Commodore PET
    The Commodore PET was a home/personal computer produced from 1977 by Commodore International...

     with full-travel keyboard & upgrade ROMs
    • add IEEE-488
      IEEE-488
      IEEE-488 is a short-range digital communications bus specification. It was created for use with automated test equipment in the late 1960s, and is still in use for that purpose. IEEE-488 was created as HP-IB , and is commonly called GPIB...

       support
    • improved the garbage collection
    • fix array bug
    • Easter egg – entering WAIT6502,1 displays MICROSOFT!
  • V4.0: PET/CBM 4000/8000
    Commodore PET
    The Commodore PET was a home/personal computer produced from 1977 by Commodore International...

     series (and late version PET 2001s)
    • disk operations
      Commodore DOS
      Commodore DOS, aka CBM DOS, was the disk operating system used with Commodore's 8-bit computers. Unlike most other DOS systems before or since—which are booted from disk into the main computer's own RAM at startup, and executed there—CBM DOS was executed internally in the drive: the DOS...

      : DLOAD,DSAVE,COPY,SCRATCH, etc. (15 in all)
    • disk error-channel variables: DS,DS$
  • V2.0 (second release, after 4.0): VIC-20
    Commodore VIC-20
    The VIC-20 is an 8-bit home computer which was sold by Commodore Business Machines. The VIC-20 was announced in 1980, roughly three years after Commodore's first personal computer, the PET...

    ; C64
    Commodore 64
    The Commodore 64 is an 8-bit home computer introduced by Commodore International in January 1982.Volume production started in the spring of 1982, with machines being released on to the market in August at a price of US$595...

  • V4+ : CBM-II
    Commodore CBM-II
    The Commodore CBM-II series was a short-lived range of 8-bit personal computers from Commodore Business Machines , intended as a follow-on to the Commodore PET series, released in 1982.-Technical description:...

     series (aka B, P range)
    • memory management: BANK
    • more disk operations
      Commodore DOS
      Commodore DOS, aka CBM DOS, was the disk operating system used with Commodore's 8-bit computers. Unlike most other DOS systems before or since—which are booted from disk into the main computer's own RAM at startup, and executed there—CBM DOS was executed internally in the drive: the DOS...

      : BLOAD, BSAVE,DCLEAR
    • formatted printing: PRINT USING,PUDEF
    • error trapping: DISPOSE
    • alternative branching: ELSE
    • dynamic error handling: TRAP,RESUME,ERR$
    • flexible DATA read: RESTORE [linenumber]
    • string search function: INSTR
  • V3.5: C16/116
    Commodore 16
    The Commodore 16 was a home computer made by Commodore with a 6502-compatible 8501 CPU, released in 1984. It was intended to be an entry-level computer to replace the VIC-20 and it often sold for 99 USD...

    , Plus/4
    Commodore Plus/4
    The Commodore Plus/4 was a home computer released by Commodore International in 1984. The "Plus/4" name refers to the four-application ROM resident office suite ; it was billed as "the productivity computer with software built-in"...

    • sound and graphics commands
    • joystick
      Joystick
      A joystick is an input device consisting of a stick that pivots on a base and reports its angle or direction to the device it is controlling. Joysticks, also known as 'control columns', are the principal control in the cockpit of many civilian and military aircraft, either as a center stick or...

       input: JOY
    • decimal
      Decimal
      The decimal numeral system has ten as its base. It is the numerical base most widely used by modern civilizations....

       ↔ hexadecimal
      Hexadecimal
      In mathematics and computer science, hexadecimal is a positional numeral system with a radix, or base, of 16. It uses sixteen distinct symbols, most often the symbols 0–9 to represent values zero to nine, and A, B, C, D, E, F to represent values ten to fifteen...

       conversion: DEC,HEX$
    • structured looping: DO,LOOP,WHILE,UNTIL,EXIT
    • function key assignment: KEY (also direct mode)
    • program entry/editing: AUTO,DELETE,RENUMBER
    • debugging (tracing): TRON
      TRON command
      TRON is a debugging command in the BASIC programming language. It is an abbreviation of TRace ON. It is used primarily for debugging line-numbered BASIC GOTO and GOSUB statements. In text-mode environments such as the TRS-80 or DOS, it would print the current line number which was being executed,...

      , TROFF
      Troff
      troff is a document processing system developed by AT&T for the Unix operating system.-History:troff can trace its origins back to a text formatting program called RUNOFF, written by Jerome H. Saltzer for MIT's CTSS operating system in the mid-1960s...

    • MLM
      Machine code monitor
      A machine code monitor is software built into or separately available for various computers, allowing the user to enter commands to view and change memory locations on the machine, with options to load and save memory contents from/to secondary storage.Machine code monitors became something of a...

       entry command: MONITOR
    • C(1)16, Plus/4 Easter egg – enter SYS 52650
  • V7.0: C128
    Commodore 128
    The Commodore 128 home/personal computer was the last 8-bit machine commercially released by Commodore Business Machines...

    • more sound and graphics commands, including sprite
      Sprite (computer graphics)
      In computer graphics, a sprite is a two-dimensional image or animation that is integrated into a larger scene...

       handling
    • built-in sprite editor: SPRDEF
    • multi-statement blocks for IF THEN ELSE structures: BEGIN,BEND
    • paddle
      Paddle (game controller)
      A paddle is a game controller with a round wheel and one or more fire buttons, where the wheel is typically used to control movement of the player object along one axis of the video screen...

      , lightpen input: POT,PEN
    • exclusive or
      Exclusive disjunction
      The logical operation exclusive disjunction, also called exclusive or , is a type of logical disjunction on two operands that results in a value of true if exactly one of the operands has a value of true...

       function: XOR
    • get variable address: POINTER
    • text mode windowing: WINDOW
    • controlled time delay: SLEEP
    • memory management: SWAP,FETCH,STASH,FRE(1)
    • used the 128's bank switching
      Bank switching
      Bank switching is a technique to increase the amount of usable memory beyond the amount directly addressable by the processor. It can be used to configure a system differently at different times; for example, a ROM required to start a system from diskette could be switched out when no longer...

       to store program code separately from variables. Variable values would be preserved across program executions if the program was started with the GOTO command.
    • more disk operations
      Commodore DOS
      Commodore DOS, aka CBM DOS, was the disk operating system used with Commodore's 8-bit computers. Unlike most other DOS systems before or since—which are booted from disk into the main computer's own RAM at startup, and executed there—CBM DOS was executed internally in the drive: the DOS...

      : BOOT,DVERIFY
    • CPU speed adjustment: FAST,SLOW (2 vs 1 MHz)
    • enter C64 mode: GO64
    • undocumented, working: RREG (read CPU registers after a SYS)
    • unimplemented commands: OFF,QUIT
    • C128 Easter egg – enter SYS 32800,123,45,6

Unreleased versions

  • V3.6 : Commodore LCD
    Commodore LCD
    The Commodore LCD was an LCD-equipped laptop made by Commodore International. It was presented at the January 1985 Consumer Electronics Show, but never released...

     (unreleased prototype). Almost identical to V7.0, with the following differences:
    • VOLUME instead of VOL
    • EXIT instead of QUIT
    • FAST,SLOW commands not present
    • Additional command: POPUPS
  • V10 : Commodore 65
    Commodore 65
    The Commodore 65 was a prototype computer created by Fred Bowen and others at Commodore Business Machines in 1990–91...

     (unreleased prototype)
    • graphics/video commands: PALETTE,GENLOCK
    • mouse input: MOUSE,RMOUSE
    • text file (SEQ) utility: TYPE
    • program editing: FIND,CHANGE
    • memory management: DMA, FRE(2)
    • unimplemented commands: PAINT,LOCATE,SCALE,WIDTH,SET,VIEWPORTPASTE,CUT

Notable extension packages

  • Super Expander
    Super Expander
    The VIC-1211 Super Expander was a cartridge for the Commodore VIC-20 home computer. It was designed to provide several extensions to the BASIC interpreter on the computer, mostly to help with programming graphics and sound. It also provided 3KB of extra RAM...

     (VIC-20; delivered on cartridge) (Commodore)
  • Super Expander 64
    Super Expander 64
    The Super Expander 64 was a cartridge-based extension to the built in BASIC V2 interpreter of the then immensely popular Commodore 64 home computer: Since the 64 was developed in a hurry, Commodore simply adapted the BASIC V2 from the PET line of computers and the VIC 20 for their new machine, with...

     (C64; cartridge) (Commodore)
  • Simons' BASIC
    Simons' BASIC
    Simons' BASIC was an extension to BASIC 2.0 for the Commodore 64 home computer. Written by 16-year-old British programmer David Simons in 1983, it was distributed by Commodore in cartridge format.-Features:...

     (C64; cartridge) (Commodore)
  • Graphics BASIC
    Graphics BASIC
    Graphics BASIC is a third-party extension to the Commodore BASIC V2.0 programming language of the Commodore 64 computer. It was originally written in 1983 by Ron Gilbert and Tom McFarlane. The program was licensed to Hesware, who briefly sold the program in 1984 as part of their product line before...

     (C64; floppy disk) (Hesware
    HESware
    HESware was an American home computer software and hardware developer/publisher during the 1980s, who concentrated on the Commodore 64 and the Atari 8-bit.-History:...

    )
  • BASIC 8
    BASIC 8
    BASIC 8 — "The Enhanced Graphics System For The C128" — developed by Walrusoft of Gainesville, Florida and published in 1986 by Patech Software of Somerset, New Jersey, USA, was an extension of Commodore's BASIC 7.0 for the C128 home/personal computer...

     (C128; floppy disk and optional internal ROM chip) (Walrusoft
    Walrusoft
    American software company Walrusoft, Inc., of Gainesville, Florida, was founded and staffed by research chemist Louis R. Wallace and computer scientist David P. Darus. The company name was a portmanteau of their surnames, i.e...

    )
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK