Posts: 1,841
Threads: 54
Joined: Jul 2005
Looking at CPU reg C:
You will use the nibs 6543210 of C, nibs [6:3] are always used as
address field, and nibs [2:0] are (almost) always used as data field.
For more details, please take a look into the SDK41 manual.
Here's a code snippet which may be of help.
R= 6
LD@R 4
LD@R 1
LD@R 0
LD@R 0 (note that the active pointer will be decremented automatically after the LD)
LDI S&X hhh (where hhh is the HEX val you want to write)
WROM
That's it;-)
HTH
Raymond
Posts: 774
Threads: 93
Joined: Aug 2005
Hi Geir,
Although some people might think the opposite way, I'm *not* the most authoritative person to respond this question... mostly because I have no idea of the supposed behavior of that POKE function.
Assuming it does what every other POKE I've ever seen does. It will fill the given address with the given contents... right?
Ok, then simply place an H'000 into H'4100 to turn RAM block 0 (zero) on, or H'001 to turn on block 1 (one).
Anyhow, I'll have to check de NoV-32 code to confirm if this will work into a running program, or you'll need to go to "stand by" (set PWO line Low) to physically achieve the block swapping. Should this was the case, chances are that NoV-32 internal code would have to be modified to get RAM block swapped "on the fly". Yes, if we reach that point I may well be the most auhoritative person for the job... (well... er... hope so ;-))
Best wishes.
Diego