Ye Ye ... wonder where the real ppl are, when this is the Scene board already ... sigh ...
Actually, 65536 bytes are available for at all.
-2 for the Registers $00 and $01 aswell as
ATLEAST - 8 or - 16 bytes for the stack area, which cannot be moved
and hardly limited.
As for the colorram areas, they are not usable properly ... BUT
you can extend your coding area by using the sprite pointers
$d000-$d010 for additional coding.
The IO1 and IO2 areas can be used for code on SOME 64s, depending
on the SHIELDING and interferences your system suffers.
Most 64s will not hold the data, some do ...
So to the uppermost you would have something like
$0000 - $ffff = $10000
$10000 - $02(dataport reg) - $10 (stack) + $10 sprites + $200(IO)
This makes more than 64k actually, not taking care of the different
memory configs and the necessary management.
Still, no reason to tell a game needs 65.x Kb ... hey ... there are disks and
packing techniques ...
Learnt the lesson ?