I have a BBC Master 128 with the standard ROM installed. This includes ADFS v1.50 in slot "D". I want to replace this ADFS in ROM with a patched version, loaded from disk, into Sideways RAM. It is a 16K .bin file. The patched version is needed to support my IDE interface. I think the standard ADFS in ROM just supports SCSI.

It seems I can UNPLUG the ROM version of ADFS, but I haven't found the right command to replace it using SRLOAD. I don't know which address to use or what ID to give it.

What would be the correct sequence of MOS commands (or, better, OSCLI commands that I can put into a BASIC program)?


I think it should go something like this. (I don't know where I can find a ROM image that'll load into an online emulator to check.)

You can check which ROMS are in which bank.


ADFS should be in bank D (i.e. 13).


That should now show that ADFS is unplugged.

Load your image into one of the sideways RAM banks 4, 5, 6, or 7 (apparently also known as W, X, Y and Z).

*SRLOAD image 8000 7

Next, configure this to be the file system. (Probably not absolutely necessary.)


I think if you also unplugged DFS it would be selected as first available FS, but you'll also lose the *SR commands.

Now the tricky bit. You need to reset in order for the MOS to pick up the image. I am not sure if this need to be a hard reset (CTRL-BREAK).

If it's a soft reset, you can just call the reset vector.

CALL !-4

(! reads two bytes. -4 is truncated to &FFFC which is the 6502 reset vector.)

You can arrange to continue execution of your program.

*KEY 10 OLD|MGOTO 1000|M

I'm not too sure how to go about fiddling with the MOS to make it pick up ROMs without the CTRL-BREAK.

Your Answer

