Memory Map:
$0000-$0100 = ZERO PAGE
$0100-$0200 = STACK
$0400-$0800 = TEXT/GR PAGE0
$0800-$0C00 = TEXT/GR PAGE1
$0C00-$0fff = we use this as TEXT/GR offscreen buffer
$1000-$1fff = 4k free
$2000-$3fFF = HGR1 page ; note we never use HGR2 ($4000-$6000)
$4000-$9600 = roughly 20k(?)
$9600-$BFFF = DOS3.3
$C000-$FFFF = peripherals/ROM
Largest can load from $4000 to $9600 = 22,016
Largest can load from $1000 to $9600 = 34,304
$4000-$C000 = 32768
C64:
Apple II:
Starring:
Three pages page flipping. Hires colors subset of Lores so
can replicate a blocky color image. Could in theory animate this
at 60Hz. Also could flip between 4 pages, but need the 8k of
HGR page2.
For cycle-counting timing, jmp one into a bit $C055 instruction
which is EOR $C0,X (4 cycles)
Note, discover that the LORES and HIRES pages aren't exact matches
for each other, even when using same color. Half-pixel off?
E-mail:
Half screen text, half 40x96 lores.
Text is also interlaced top/bottom to create new chars (including
some lowercase) on Apple II+ and before w/o lower case.
Trouble as the built-in font is offset a frame on II vs IIe?
Also annoyance, my GR compressor uses Grey2 (color $a) as encoding,
which means can't use a GR image to hold plain black spaces (char $a0)