Login
Back to forumReply to this topicGo to last reply

Posted By

6502man
on 2016-05-07
23:23:11
 Switching off roms

Sorry if this is a basic question but is it possible to switch out the kernal rom of the plus4 so you have access to most of the machines memory and Zeropage?

I've been writing 6502 code for sometime on various machines and like to have full control over them without having to worry about the roms taking resources away.

On the C64 you point $fffe & $ffff to your own irq and $fffa & $fffb (nmi) to a RTI then switch off the roms to take full control.

Does this approach work with the plus4 or is it something you just don't do?

Posted By

gerliczer
on 2016-05-08
03:11:40
 Re: Switching off roms

Well, going by simple logic, as the +4 reports 60671 bytes available when turned on, it obviously has to have a mechanism to turn off ROMs. So, your basic question shouldn't have been asked. Take no offence, please.

As the [7|8]501 is a very-very close relative of the 6510|8500, the programming model is identical. Although our CPU has no NMI pin. Turning off the ROMs and taking full control is the standard procedure in demo code, and mostly with programs requiring more than 16kB of memory.

To do it, you have to perform an arbitrary write operation on the TED's $3F phantom register. To reverse it, you have to perform an arbitrary write operation on the TED's $3E phantom register. But this is usually written in the programming documentation. I'd recommend SVS's excellent Ultimate Map, which has many information organised in a handy Excel file.

Posted By

Litwr
on 2016-05-08
04:03:36
 Re: Switching off roms

I am adding the several details only. Areas 0,1, fff00-ff1f, ff3e, ff3f, fffe, ffff are special - don't use them. There are also areas at fd00-feff range dedicated for i/o operations.

Posted By

gerliczer
on 2016-05-08
05:41:26
 Re: Switching off roms

Litwr, you forgot the RESET vector $FFFC/$FFFD.



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024