====== 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 | | [[PALETTE|RGB]] Resets the palette registers to the standard colors for an RGB monitor| | _E676 | | [[PALETTE|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:]]