Memory model

The following addresses are subject to change, even between minor versions.

Zeropage

$02-$15 19 bytes XC=BASIC Pseudo-registers
$16-$53 61 bytes Free space for FAST variables
$57-$7C 37 bytes Floating point workspace

Other reserved areas

$033C-$03FC 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 String stack (growing downwards)

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 (growing downwards)

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 (growing downwards)

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 (growing downwards)

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 (growing downwards)