Memory model
The following addresses are subject to change. Visit this page for updates.
Zeropage
PET VIC-20 C64 C16 Plus/4 C128 M65
| $02-$14 | 19 bytes | XC=BASIC Virtual Registers |
| $15-$3A | 38 bytes | Floating point workspace |
| $3B-$69 | 47 bytes | Free space for FAST variables |
X16
| $22-$34 | 19 bytes | XC=BASIC Virtual Registers |
| $35-$7F | 75 bytes | Free space for FAST variables |
| $A9-$CE | 38 bytes | Floating point workspace |
Other reserved areas
VIC-20 C64 C16 Plus/4 C128
| $033C-$03FB | 192 bytes | Temporary storage during string operations |
PET
| $033A-$03F9 | 192 bytes | Temporary storage during string operations |
X16
| $0400-$04BF | 192 bytes | Temporary storage during string operations |
Program code and data
Commodore-64
| $0801 - $080C | 12 bytes | BASIC Loader (can be disabled) |
| $080D - ???? | | Program code |
| ???? - ???? | | Library |
| ???? - ???? | | Variables |
| ???? - $CEFF | | Function stack (growing downwards) |
| $CF00 - $CFFF | 256 bytes | String stack |
Commodore VIC-20 (Unexpanded)
| $1001 - $100C | 12 bytes | BASIC Loader (can be disabled) |
| $100D - ???? | | Program code |
| ???? - ???? | | Library |
| ???? - ???? | | Variables |
| ???? - $1CFF | | Function stack (growing downwards) |
| $1D00 - $1DFF | | String stack |
Commodore VIC-20 (3K Expansion)
| $0401 - $040C | 12 bytes | BASIC Loader (can be disabled) |
| $040D - ???? | | Program code |
| ???? - ???? | | Library |
| ???? - $1CFF | | Function stack (growing downwards) |
| $1D00 - $1DFF | | String stack |
Commodore VIC-20 (8K expansion)
| $1201 - $120C | 12 bytes | BASIC Loader (can be disabled) |
| $120D - ???? | | Program code |
| ???? - ???? | | Library |
| ???? - ???? | | Variables |
| ???? - $3EFF | | Function stack (growing downwards) |
| $3F00 - $3FFF | | String stack |
Commodore-16
| $1001 - $100C | 12 bytes | BASIC Loader (can be disabled) |
| $100D - ???? | | Program code |
| ???? - ???? | | Library |
| ???? - ???? | | Variables |
| ???? - $3EFF | | Function stack (growing downwards) |
| $3F00 - $3FFF | | String stack (growing downwards) |
Commodore Plus/4
| $1001 - $100C | 12 bytes | BASIC Loader (can be disabled) |
| $100D - ???? | | Program code |
| ???? - ???? | | Library |
| ???? - ???? | | Variables |
| ???? - $7EFF | | Function stack (growing downwards) |
| $7F00 - $7FFF | | String stack |
Commodore-128
| $1001 - $100C | 12 bytes | BASIC Loader (can be disabled) |
| $100D - ???? | | Program code |
| ???? - ???? | | Library |
| ???? - ???? | | Variables |
| ???? - $BEFF | | Function stack (growing downwards) |
| $BF00 - $BFFF | 256 bytes | String stack |
Commander X16
| ???? - $06FF | | Function stack (growing downwards) |
| $0700 - $07FF | 256 bytes | String stack |
| $0801 - $080C | 12 bytes | BASIC Loader (can be disabled) |
| $080D - ???? | | Program code |
| ???? - ???? | | Library |
| ???? - ???? | | Variables |