Quantcast
Channel: stardot.org.uk
Viewing all articles
Browse latest Browse all 5572

8-bit acorn hardware • Re: Solidisk 256k 2/4Meg - &FE30/32

$
0
0
÷?&FE30 return &FE, not &0F as expected.
FE30 is write-only. The read value isn't useful. That's why we have &F4 and why routines that change FE30 need to ensure F4 is correct. Do it in the right order; set F4 before FE30 (to handle possible race conditions with interrupts).

eg

Code:

\ Save current value of which ROM is selectedLDA &F4PHA\ Page in ROM 10LDA #10STA &F4STA &FE30\ Do something.  In this case read and print the copyright stringLDX &8007  \ copyright offset.loopLDA &8001,XBEQ endJSR &FFEEINXBNE loop.end\ Restore the original ROMPLASTA &F4STA &FE30RTS
Attempting to chance FE30 in Monitor still fails.
That's because Monitor is also a ROM, so if you use it to change FE30 you will page the ROM out.

Manipulating FE30 is typically done from assembler code running in RAM, or from the OS ROM. You can't do it from another ROM ('cos it will page itself out) except in very very special circumstances (both ROMs have the same code in the same location).

Statistics: Posted by sweh — Tue Jan 27, 2026 11:15 pm



Viewing all articles
Browse latest Browse all 5572

Trending Articles