| Post Your Message | |
| |
| Previous Messages | Posted By
siz on 2010-09-05 03:46:15
| Re: C16 memory layout
Basically when you write (or read!) memory on a C16 the real memory address will be address AND $3fff. So as you and Csabo wrote earlier: be careful when writing high memory addresses on configuration with less then 64k RAM. The I/O area from $fd00 to $ff3f is the exception because it never writes the underlying RAM. One interesting thing is that you can use the first two bytes of RAM that is normally hidden under the CPU I/O registers by addressing them at $4000-$4001/$8000-$8001/$c000-$c001.
|
|
Posted By
Csabo on 2010-09-03 15:26:51
| Re: C16 memory layout
You answered your own question. To write to FFFE/FFFF, you must page in the RAM (STA $FF3F). The RAM from $0000-$3FFF shows up from $4000, etc. - like you said. So, once you have that, STA $3FFE/F is the same as STA $FFFE/F. Bottom line is what you said last: avoid writing to $3FFE/F.
|
|
Posted By
KiCHY on 2010-09-03 14:43:16
| C16 memory layout
Hi There,
I never programmed the C16 but the Plussy earlier. All I knew that the $0000-$3FFF region is shown from $4000, $8000, $C000. I found that when I use my own interrupt ($FFFE-F) and the same time I write data to $3FFE or 3FFF, I realized that my interrupt breaks, it jumps to wrong address. I think you famous C16 demo coders already met this behaviour How did you solve it? Simply I shouldn't use $3FFE-F bytes?
Cheers, K.
|
|
| |
Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon |