9

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)?

4

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.

*ROMS

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

*UNPLUG 13
*ROMS

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.)

*CONFIGURE FILE 7

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

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.