Login
Back to forumReply to this topicGo to last reply

Posted By

Stinaris
on 2019-11-29
12:01:12
 Cartridge memory mapping

Hi,

So say I want to create a cartridge to run a 16k game on the C16. This appears at the 16k block at $8000. Does this effectively leave the memory 0-4000 accessible.
I guess it must do otherwise you would have no RAM. Or am I being a plum?
Effectively could I store most of my data in the cart and decompress and use it in 0-4000?

Thanks

Posted By

siz
on 2019-11-29
13:25:14
 Re: Cartridge memory mapping

Yes, your RAM will be intact. As you found cartridge ROM will be mapped at $8000. So your memory map will look like this:
- $0000-$0001 CPU I/O port (datasette and serial bus)
- $0002-$3fff RAM
- $4000-$7fff mirror of RAM
- $8000-$bfff cartridge ROM
- $c000-$fcff KERNAL ROM
- $fd00-$ff3f I/O area
- $ff40-$ffff KERNAL ROM

Posted By

Stinaris
on 2019-11-29
15:58:06
 Re: Cartridge memory mapping

So my current source code would need to be modified to handle being placed in a cartridge as I place my variables locally with the code (I'm a C++/C# programmer I can't help myself).
i.e. my variables would be in ROM so they won't work?

Posted By

Stinaris
on 2019-11-29
16:00:06
 Re: Cartridge memory mapping

I've built myself an EPROM programmer with an Arduino Mega and I fancy giving it a go.
I've also desolded a Strange Odyssey cartridge to be able to test my efforts.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon