By default, the area $80-$D3 is free for applications and users.
There's no reason at all to use the FP Package, so throw $D4-$FF in as well.
For most games the only FP work you would want is converting a binary number to something displayable, or doing simple BCD addition - something you can easily do yourself with a few dozen bytes of code.
The OS has $00-$7F but if you're careful you can use a good part of it.
Note: all values below are hex addresses.
00-14 best left alone since powerup/restart and VBI uses them. However it would probably be safe to use locations 4-8.
15-41 used by SIO, CIO and tape handler. If they are not in use, you would be OK to use these addresses.
42 CRITIC flag. Don't touch, affects OS VB routines.
43-4B used by SIO and PBI - probably OK to use.
4C-4F used by VBI - best left alone
50-5F used by E: and S: handlers. OK to use if those devices aren't needed
60-61 FKDEF - funtion key mapping. Best left alone
62 PALNTS - best left alone
63-78 - used by E:, S: - OK to use if devices not needed.
79-7A KEYDEF - points to the key definition map. Best left well alone.
7B-7F used by E:, S: - OK to use if devices not needed.
Note that locations $00-$7F will either be altered or cleared on a warmstart.
On the 130XE, you just have to write the appropriate bank into bits 2 and 3 of PORTB, then set bit 4 and 5 depending on if you want the CPU and/or ANTIC to address the banks for $4000-$7FFF.
For maximum compatibility, it is always best to use AND/OR - don't store discrete values there.
Edited by Rybags, Mon Jun 5, 2006 2:04 AM.