MEMORY MAP
ADDRESS RANGE | MMU BLOCK NUMBERS | USES |
---|---|---|
00000 - 5FFFF | 00-2F | 128K CoCo3: 3 Mirrors of MMU Blocks 30-37 |
512K+ CoCo 3: Additional 384K | ||
60000 - 61FFF | 30 | CoCo 3 Super Extended BASIC High Resolution Graphics Page 1 |
62000 - 63FFF | 31 | CoCo 3 Super Extended BASIC High Resolution Graphics Page 2 |
64000 - 65FFF | 32 | CoCo 3 Super Extended BASIC High Resolution Graphics Page 3 |
66000 - 67FFF | 33 | CoCo 3 Super Extended BASIC High Resolution Graphics Page 4 |
68000 - 69FFF | 34 | CoCo 3 Super Extended BASIC HGET/HPUT buffers |
6A000 - 6BFFF | 35 | CoCo 3 Second Stack area |
6C000 - 6DFFF | 36 | CoCo 3 High Resolution Text Screen |
6E000 - 6FFFF | 37 | CoCo 3 Unused area |
70000 - 71FFF | 38 | First 8K of MPU workspace / BASIC RAM :: PCLEAR 0 |
_0000 - _03FF | BASIC direct page variables | |
_0019 - 001A | TXTTAB Beginning of BASIC program | |
_001B - 001C | VARTAB Start of Variables | |
_001D - 001E | ARYTAB Start of Arrays | |
_001F - 0020 | ARYEND End of Arrays +1 | |
_0021 - 0022 | FRETOP Start of String storage (top of free RAM) | |
_0023 - 0024 | STRTAB Start of String Variables | |
_0025 - 0026 | FRESPC Utility String Pointer | |
_0027 - 0028 | MEMSIZ Top of String Space | |
_0400 - _05FF | VDG default text screen buffer | |
_0600 - _0DFF | Disk Extended Color BASIC buffers | |
_0E00 - _1FFF | BASIC program space or Semigraphics / PMODE graphics buffers | |
72000 - 73FFF | 39 | BASIC program space or Semigraphics / PMODE graphics buffers |
74000 - 75FFF | 3A | BASIC program space |
76000 - 77FFF | 3B | BASIC program space |
78000 - 79FFF | 3C | Extended Color BASIC ROM or mappable RAM |
_8378 | COS Return cosine of an angle given in radians | |
_8381 | TAN Returns tangent of angle given in radians | |
_83B0 | ATN Returns arctangent in radians | |
_8446 | LOG Returns natural logarithm | |
_8480 | SQR Returns the square root of a number | |
_84F2 | EXP Returns natural exponential of number | |
_8524 | FIX Returns truncated (whole number) value | |
_8533 | EDIT Allows editing of program line | |
_86A7 | TRON Turns on program tracer | |
_86A8 | TROFF Turns off program tracer | |
_86AC | POS Returns current print position | |
_86BE | VARPTR Returns address of pointer to the specified variable | |
_874E | STRING Returns a string of characters of specified length | |
_877E | INSTR Searches for the first occurrence of target string | |
_8871 | DEF Defines numeric function | |
_8968 | TIMER Returns contents or allows setting of timer | |
_8970 | DEL Deletes program lines | |
_8A09 | RENUM Allows program line renumbering | |
_8BDD | HEX$ Computes hexadecimal value | |
_8C18 | DLOAD Loads BASIC program at specified baud | |
_9339 | PPOINT Tests whether specified graphics cell is on or off | |
_9361 | PSET Sets a specified point (x,y) to specified color c | |
_9365 | PRESET Reset a point to background color | |
_93BB | LINE Draw a line from (x1,y1) to (x2,y2) | |
_9532 | PCLS Clears screen with specified color c | |
_9546 | COLOR Sets foreground and background color | |
_9621 | PMODE Selections resolution and first memory page | |
_9670 | SCREEN Selects either graphics (1) or text (0) screen and color-set (0 or 1) | |
_968B | PCLEAR Reserves b number of 1.5K graphics memory pages | |
_9723 | PCOPY Copy graphics from source page to destination page | |
_9755 | GET Reads the graphic contents of a rectangle into an array for future use by PUT | |
_9758 | PUT Stores graphics from source into start/end rectangle on the screen | |
_98EC | PAINT Paints graphic screen starting at a point (x,y) withh specified color c stopping at border b | |
_9A22 | PLAY Plays music of specific note, octave, note-length, tempo, pause | |
_9CB6 | DRAW Draws a line beginning at specified starting point of specified length and color | |
_9E9D | CIRCLE Draws a circle with center at point (x,y) radius r, specified color c and height/width ratio | |
7A000 - 7BFFF | 3D | Color BASIC ROM or mappable RAM |
_A027 | RESVEC Reset vector - system starts here | |
_A074 | BACDST BASIC Cold Start | |
_A0E8 | BAWMST BASIC Warm Start | |
_A0F6 | BFRQSV Fast Interrupt (FIRQ) service handler - “fast” interrupts jump here | |
_A153 | Color BASIC version $31, $2E, then $30 = 1.0, $31 = 1.1, $32 = 1.2, $33 = 1.3 | |
_A176 | Console In | |
_A1B1 | Blink Cursor | |
_A1CB | KEYIN Get a keystroke | |
_A182 | PUTCHR Console Out | |
_A416 | CLOSE Close files | |
_A44C | CSAVE Cassette save | |
_A498 | CLOAD Cassette load | |
_A53E | EXEC EXECute code at address | |
_A564 | INKEY$ Get a key | |
_A5CE | EOF End of file | |
_A5EC | SKIPF Skip tape file | |
_A5F6 | OPEN Open a file | |
_A7BD | MOTOR Tape drive motor control | |
_A880 | SET Draw a semigraphics pixel | |
_A8B1 | RESET Clear a semigraphics pixel | |
_A8F5 | POINT Check color of a semigraphics pixel | |
_A910 | CLS Clear screen | |
_A94B | SOUND Beep the speaker | |
_A990 | AUDIO Control the audio source | |
_A9B3 | BIRQSV Interrupt service handler | |
_A9C6 | JOYSTK Read and report joysticks | |
_AD17 | NEW Initialize the BASIC memory map | |
_AD47 | FOR Start a loop | |
_ADE4 | RESTORE Start back at the first DATA item | |
_AE02 | END The end of the program | |
_AE09 | STOP Stop the program at the current line | |
_AE30 | CONT Continue the program from a stop | |
_AE41 | CLEAR Clear RAM for string space | |
_AE75 | RUN Start the program running | |
_AE86 | GO Jump to line number | |
_AEC0 | RETURN Return from a subroutine | |
_AEE0 | DATA Store data within a program | |
_AEE3 | REM ' Comments or remarks - Else uses this too? | |
_AF14 | IF Start a conditional check | |
_AF42 | ON Start of multi-way branch | |
_AF89 | LET Assign a variable | |
_AFF5 | INPUT Read a line of text at a time | |
_B046 | READ Read a piece of data | |
_B0F8 | NEXT End of a loop | |
_B141 | EVAL Evaluate a numeric expression | |
_B227 | EXP Generates ?SN in Color BASIC, implemented in Extended Color BASIC | |
_B2D4 | OR Boolean / Logical OR operator | |
_B2D5 | AND Boolean / Logical AND operator | |
_B34E | DIM Set aside memory for arrays | |
_B44A | USR User defined function | |
_B4EE | MEM Free memory | |
_B4FD | STR$ Convert a number to a string | |
_B681 | LEN Length of a string | |
_B68C | CHR$ Convert number to Control, ASCII, or graphics code string | |
_B6A0 | ASC ASCII code of first letter of string | |
_B6AB | LEFT$ Left part of a string | |
_B6C8 | RIGHT$ Right part of a string | |
_B6CF | MID$ Middle of a string | |
_B716 | VAL Convert a string to a number | |
_B750 | PEEK Read a value from a memory address | |
_B757 | POKE Write a value to a memory address | |
_B75E | LLIST List program to printer | |
_B764 | LIST List program to screen | |
_B8F7 | PRINT Write to the screen | |
_BC7A | SGN Get the sign of a number positive or negative | |
_BC93 | ABS Get absolute value of a signed number | |
_BCEC | INT Convert a number to an integer | |
_BF1F | RND Pseudo-random number generator | |
_BF78 | SIN Sine of an angle | |
_BFF0 | Vector copy Search for cassette file A681 | |
_BFF2 | Vector copy 0100 SW3VEC - | |
_BFF4 | Vector copy 0103 SW2VEC - | |
_BFF6 | Vector copy 010F FRQVEC A0F6 | |
_BFF8 | Vector copy 010C IRQVEC A9B3 | |
_BFFA | Vector copy 0106 SWIVEC - | |
_BFFC | Vector copy 0109 NMIVEC - | |
_BFFE | Vector copy A027 RESVEC - | |
7C000 - 7DFFF | 3E | Disk Extended Color BASIC ROM or 8K Cartridge ROM or 16K Cartridge lower 8K bank or Mappable RAM |
_C6EF | KILL Deletes the filename you specify from the disk directory | |
_C9E0 | SAVE Saves filename on disk | |
_CA39 | MERGE Loads the specified program file from disk and merges it with the program that exists in memory | |
_CA48 | LOAD Loads the specified program file into memory from disk | |
_CCA9 | DIR Displays a directory of the disk in the drive you specify | |
_CDF4 | CVN Convert a 5-byte coded string created by MKN$ back to the number it represents | |
_CE02 | MKN$ Convert a specified number into a 5-byte coded string for storage in a formatted disk file | |
_CE10 | LOC Returns the current record number of the buffer you specify | |
_CE37 | LOF Returns the highest-numbered record of the buffer you specify | |
_CE9C | FREE Returns to the number of free granules on the disk in the drive you specify | |
_CEC5 | DRIVE Changes the default drive to the drive you specify | |
_D01B | RENAME Renames a disk file | |
_D066 | WRITE Writes the data to the buffer you specify | |
_D0BC | FIELD Organizes the space within a direct access buffer into fields | |
_D101 | RSET Right-justifies the data within the field you specify | |
_D102 | LSET Left-justifies the data within the field you specify | |
_D15C | FILES Tell the computer the number of buffers to reserve in memory | |
_D233 | UNLOAD Close any open files on the disk in the drive you specify | |
_D262 | BACKUP Duplicates the contents of the disk in the source drive on the disk in the destination drive | |
_D3B9 | COPY Copies the contents of filename1 to filename2 | |
_D4ED | DSKI$ Inputs data from a particular sector with in a particular track on the disk in the drive you specify | |
_D562 | DSKO$ Writes string data on sector, track, and drive number you specify | |
_D599 | DSKINI Formats a disk in the drive you specify | |
_D6EC | DOS With the OS-9 system diskette in drive 0, the DOS command boots the OS-9 operating system | |
_D74E | VERIFY Turns the verify function on or off | |
7E000 - 7FDFF | 3F | Super Extended BASIC ROM or 16K Cartridge upper 8K bank or Mappable RAM |
_E3D4 | ERR Jumps to line number when an error occurs | |
_E3E6 | BRK Jumps to line number when the [BREAK] key is pressed | |
_E4E9 | ERNO Return the BASIC error number for the error that has occurred | |
_E4FD | ERLIN Returns the BASIC line number where an error has occurred | |
_E545 | LPOKE Stores a value (0-255) in a virtual memory location (0-524287 decimal or 0-$7FFFF hexadecimal) | |
_E573 | LPEEK Returns a value (0-255) in a virtual memory location (0-524287 decimal or 0-$7FFFF hexadecimal) | |
_E5B1 | BUTTON Returns 1 if Joystick Button n is being pressed | |
_E5F0 | PALETTE Resets the palette registers to the standard colors for a composite monitor or a television set or for an RGB monitor | |
_E674 | RGB Resets the palette registers to the standard colors for an RGB monitor | |
_E676 | CMP Resets the palette registers to the standard colors for a composite monitor or a television set | |
_E688 | HSCREEN Selects a high-resolution graphics screen mode | |
_E6CF | HCLS Clears the high-resolution graphics screen to a specified color | |
_E6F4 | HCOLOR Sets foreground and background color on the high-resolution graphics screen | |
_E761 | HSET Sets point x,y on the high-resolution graphics screen to color c. | |
_E765 | HRESET Resets a point on the high-resolution graphics screen to the background color | |
_E85C | HPOINT Returns information on point x,y from the high-resolution graphics screen | |
_E882 | HLINE Draws a line on the high-resolution graphics screen | |
_EA49 | HCIRCLE Draws a circle on the high-resolution graphics screen | |
_EBF5 | HPAINT Paints an area on the high-resolution graphics screen | |
_ED58 | HBUFF Reserves an area in memory for high-resolution graphics | |
_EDE5 | HGET Stores a rectangle that is on the high-resolution graphics screen into a buffer previously set up by the HBUFF command for future use by the HPUT command | |
_EDED | HPUT Copies graphics from a buffer to a rectangle on the high-resolution graphics screen | |
_EF3F | HPRINT Prints message on high-resolution graphics screen | |
_F39D | HDRAW Draws a line on the high-resolution graphics screen as specified by string | |
_F636 | WIDTH Sets the text screen to resolution n | |
_F8D2 | LOCATE Moves the hhigh-resolution text screen cursor to position x, y | |
_F925 | HSTAT Returns information regarding the high-resolution text screen cursor to variables v1, v2, v2, and v4 | |
_F9B9 | ATTR Sets display attributes of a high-resolution text screen | |
_FD00 - _FD81 | Boomerang RAM controls | |
7FE00 - 7FEFF | 3F | CoCo 3 Additional Vectors |
7FF00 - 7FFFF | 3F | Memory Mapped Hardware I/O Range |
_FF00 - _FF03 | Peripheral Interface Adapter 0 (PIA0) MC6821 / MC6822 / LSC81001P | |
Keyboard :: Scan keyboard and Joystick Buttons keyscn keyscn2 | ||
Joystick Comparator | ||
HSYNC Interrupt control and flag | ||
VSYNC Interrupt control and flag | ||
Audio Multiplexer Control / Joystick Select | ||
_FF04 - _FF1F | Addressing mirrors of FF00 - FF03 | |
_FF20 - _FF23 | Peripheral Interface Adapter 1 (PIA1) MC6821 / MC68B21P / MB8874HM-G / HD68B21P | |
Cassette Data Input | ||
Cassette Motor Control | ||
RS232 Data Input / Output :: Serial Printers :: Modems :: DLOAD :: Digitizer :: Drivewire :: BBS :: Rainboard | ||
RS232C CD FIRQ Interrupt control and flag | ||
DAC :: Six Bit Sound | ||
One Bit Sound Output | ||
RAM Size Input | ||
MC6847 MC6847T1 VDG Color Set Select (CSS) | ||
VDG Graphics Mode 0-2 (GM0-GM2) | ||
VDG Alpha/Graphics (A/G) | ||
Cartridge FIRQ Interrupt control and flag | ||
Sound Enable control | ||
_FF24 - _FF3F | Addressing mirrors of FF20 - FF23 | |
_FF40 - _FF4B | Floppy Disk Controller (FDC) :: WD1793 :: DSKREG | |
_FF40 - _FF4B | CoCoSDC | |
_FF40 - _FF4F | CoCoNIC CS8900A Network Adapter | |
_FF40 - _FF41 | Game Master Cartridge (GMC) by John Linville with TI DCSG (SN76489AN) | |
_FF42 - _FF42 | Becker Port :: Gary Becker's I/O port for emulators and FPGA designs | |
_FF50 - _FF54 | MEGA Mini Multi-Pak Interface (MMMPI) YMF-262 control | |
_FF5A - _FF5F | CoCoPSG by Ed “Zippster” Snider's with Yamaha SSG (YM2149) | |
_FF60 - _FF62 | X-Pad | |
_FF60 - _FF63 | Philharmonic-12 by Jim Brain with MC6821 PIA interface to 4 x GI PSG (AY-3-8910) | |
_FF60 - _FF6B | CoCoIO Serial SC16550 and WizNet 9100s Ethernet Interface | |
_FF68 - _FF6B | Deluxe RS-232 Pak (26-2226) | |
_FF6C - _FF6F | Direct Connect Modem Pak (26-2228) | |
_FF6E - _FF6F | MIDI Maestro by Jim Brain with MC6850 ACIA interface | |
_FF70 - _FF72 | Stereo Composer | |
_FF7A - _FF7B | Orchestra 90/CC Cartridge (26-3143) | |
_FF7D - _FF7E | Speech Sound Cartridge (SSC) (26-3144A) | |
_FF7F | Multi-Pak Interface (MPI) (26-3024, 26-3124, 26-3124A) Slot Select | |
_FF90 - _FF9F | ACVC / GIME Control | |
_FFA0 - _FFAF | ACVC / GIME MMU | |
_FFB0 - _FFBF | ACVC / GIME Palette | |
_FFC0 - _FFDF | ACVC / GIME / SAM | |
_FFE0 - _FFEF | Reserved | |
_FFF0 - _FFFF | 6809 MPU Vectors | |
_FFF0 - _FFF1 | Vector - 6809: Reserved 6309: Error Trap | |
_FFF2 - _FFF3 | Vector - Software Interrupt 3 (SWI3) | |
_FFF4 - _FFF5 | Vector - Software Interrupt 2 (SWI2) | |
_FFF6 - _FFF7 | Vector - Fast Interrupt Request (/FIRQ) | |
_FFF8 - _FFF9 | Vector - Interrupt Request (/IRQ) | |
_FFFA - _FFFB | Vector - Software Interrupt (SWI) | |
_FFFC - _FFFD | Vector - Non-Maskable Interrupt (/NMI) | |
_FFFE - _FFFF | Vector - /RESET |
RTS
Return to Tandy Color Computer