There were four versions of the Color BASIC ROM for the Tandy Color Computers.
One of the key differences between versions comes from different SAM chip setups for different RAM types and configurations.
1980 1.0 MC6883
1980 1.1 MC6883
1982 1.2 '783 SAM
1982 1.3 '785 SAM
Addresses taken from v1.2 of Color BASIC
ADDRESS | TOKEN | KEYWORD | DESCRIPTION |
---|---|---|---|
AD47 | 80 | FOR | Start a loop |
AE86 | 81 | GO | Jump to line number |
AEE3 | 82-84 | REM ' | Comments or remarks - Else uses this too? |
AF14 | 85 | IF | Start a conditional check |
AEE0 | 86 | DATA | Store data within a program |
B8F7 | 87 | Write to the screen | |
AF42 | 88 | ON | Start of multi-way branch |
AFF5 | 89 | INPUT | Read a line of text at a time |
AE02 | 8A | END | The end of the program |
B0F8 | 8B | NEXT | End of a loop |
B34E | 8C | DIM | Set aside memory for arrays |
B046 | 8D | READ | Read a piece of data |
AE75 | 8E | RUN | Start the program running |
ADE4 | 8F | RESTORE | Start back at the first DATA item |
AEC0 | 90 | RETURN | Return from a subroutine |
AE09 | 91 | STOP | Stop the program at the current line |
B757 | 92 | POKE | Write a value to a memory address |
AE30 | 93 | CONT | Continue the program from a stop |
B764 | 94 | LIST | List program to screen |
AE41 | 95 | CLEAR | Clear RAM for string space |
AD17 | 96 | NEW | Initialize the BASIC memory map |
A498 | 97 | CLOAD | Cassette load |
A44C | 98 | CSAVE | Cassette save |
A5F6 | 99 | OPEN | Open a file |
A416 | 9A | CLOSE | Close files |
B75E | 9B | LLIST | List program to printer |
A880 | 9C | SET | Draw a semigraphics pixel |
A8B1 | 9D | RESET | Clear a semigraphics pixel |
A910 | 9E | CLS | Clear screen |
A7BD | 9F | MOTOR | Tape drive motor control |
A94B | A0 | SOUND | Beep the speaker |
A990 | A1 | AUDIO | Control the audio source |
A53E | A2 | EXEC | EXECute code at address |
A5EC | A3 | SKIPF | Skip tape file |
A4 | TAB | Tabulation | |
A5 | TO | Token for TO in GO TO | |
A6 | SUB | Completion token for GOSUB | |
A7 | THEN | Completion token for IF | |
A8 | NOT | Boolean / Logical negation | |
A9 | STEP | FOR loop control | |
AA | OFF | AUDIO and MOTOR control token | |
B9C5 | AB | + | Addition operator |
BACC | AC | * | Multiplication operator |
B9BC | AC | - | Subtraction operator |
BB91 | AE | / | Division operator |
B227 | AF | EXP | Generates ?SN in Color BASIC, implemented in Extended Color BASIC |
B2D5 | B0 | AND | Boolean / Logical AND operator |
B2D4 | B1 | OR | Boolean / Logical OR operator |
B2 | > | Greater Than operator | |
B3 | = | Equality operator | |
B4 | < | Less Than operator | |
A9B3 | - | BIRQSV | Interrupt service handler |
B141 | - | EVAL | Evaluate a numeric expression |
BC7A | FF80 | SGN | Get the sign of a number positive or negative |
BCEC | FF81 | INT | Convert a number to an integer |
BC93 | FF82 | ABS | Get absolute value of a signed number |
B44A | FF83 | USR | User defined function |
BF1F | FF84 | RND | Pseudo-random number generator |
BF78 | FF85 | SIN | Sine of an angle |
B750 | FF86 | PEEK | Read a value from a memory address |
B681 | FF87 | LEN | Length of a string |
B4FD | FF88 | STR$ | Convert a number to a string |
B716 | FF89 | VAL | Convert a string to a number |
B6A0 | FF8A | ASC | ASCII code of first letter of string |
B68C | FF8B | CHR$ | Convert number to Control, ASCII, or graphics code string |
A5CE | FF8C | EOF | End of file |
A9C6 | FF8D | JOYSTK | Read and report joysticks |
B6AB | FF8E | LEFT$ | Left part of a string |
B6C8 | FF8F | RIGHT$ | Right part of a string |
B6CF | FF90 | MID$ | Middle of a string |
A8F5 | FF91 | POINT | Check color of a semigraphics pixel |
A564 | FF92 | INKEY$ | Get a key |
B4EE | FF93 | MEM | Free memory |
Example code of how to disable the BASIC ROM and use the RAM underneath:
CMOC with nobasic example code
64K TRS-80 CoCo memory test | Sub-Etha Software
PCLEAR 0 to get more CoCo BASIC memory | Sub-Etha Software