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 - FIXME 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