Programming and Installing New ROMs on a BBC Model B
In my previous post, I installed a Sideways ROM/RAM board into my BBC Model B. That upgrade gave me several additional ROM sockets, allowing me to expand the machine with extra software without constantly swapping ROM chips. It also gave and extra 32k RAM.
Now it's time to put that upgrade to good use.
In this guide, I'll be programming two ROMs that I think every BBC Model B owner should consider installing:
- Advanced ROM Manager (ARM) – a powerful utility for managing your Sideways ROM board and Sideways RAM.
- BASIC Editor (EDIT) – a much friendlier editor for writing BBC BASIC programs.
I'll be programming both ROMs using my TL866II Plus Universal Programmer and XGpro software before installing them into the BBC Micro. Finally, I'll demonstrate one of ARM's most useful features by switching between the original Acorn DFS and Turbo MMFS filing systems.
What You'll Need
For this project I used:
- BBC Model B
- Sideways ROM Board
- Two AT28C256 EEPROMs
- TL866II Plus Universal Programmer EEPROM Flash Programmer
- XGpro v12.45 programming software
- ARM ROM image
- BASIC Editor ROM image
For the ROMs themselves, I'm using AT28C256 EEPROMs. Unlike older EPROMs, these can be erased and reprogrammed electrically, meaning they can be reused many times without requiring a UV eraser.
![]() |
| TL866II Plus Programmer With Blank ROM |
As per the picture ensure that the ROM is located correctly, with the notch on the IC in the same direction as indicated on the surface of the ROM burner.
Downloading the ROM Images
Before programming the EEPROMs, we first need the ROM images.
For this project I downloaded both the Advanced ROM Manager and BASIC Editor ROM images from TobyLobster's BBC Micro ROM Library, which contains a fantastic collection of BBC Micro software and documentation.
![]() |
| TobyLobster BBC ROM Library |
This library is easy to use, as per the picture search for the ROM you require, in the case the Advanced ROM manager. Do the same for the Basic Editor.
Programming the ROMs
With everything ready, I connected my TL866II Plus programmer to my PC and opened XGpro
The process is exactly the same for both ROMs.
First, select the correct device by searching for AT28C256..
![]() |
| Selecting AT28C256 |
Next click the load button and load you ROM image.
![]() |
| ARM ROM loaded into XGpro |
When loading the ROM, I loaded at both address 0 and 4000 Hex as this is a 32k ROM and the ROM images are 16k.
![]() |
| Programming EEPROM |
![]() |
| Verify Successful |
To ensure the ROM has been burnt correctly, click the Verify button in the menu bar, then again in the dialogue box. It will display if it has passed or failed.
Do the same for the Basic Editor ROM, ensuring a fresh ROM is used.
Installing the ROMs
Once both EEPROMs had been programmed successfully, it was time to install them.
Before opening the BBC Micro, make sure it is switched off and disconnected from the mains.
Carefully insert each EEPROM into a free ROM socket, making sure the notch on the chip lines up with the notch on the ROM board.
First I installed the ARM ROM on the main board, I want this in a lower-numbered socket leaves the filing systems grouped together. with DFS then MMFS next.
![]() |
| Installing ARM |
Next I installed the Basic Editor ROM onto the sideways ROM/RAM board.
![]() |
| Installing BASIC Editor |
The full setup can be seen in the picture below, with ARM ROM highlighted RED and the Editor highlighted YELLOW
![]() |
| Completed Sideways ROM Board |
Checking Everything Works
After switching the BBC Model B back on, it's always worth checking that the ROMs have been recognised correctly.
Typing:
*HELP
lists all of the installed ROMs and the commands they provide.
Both ARM and EDIT now appeared in the list, confirming that the installation had been successful.
![]() |
| HELP showing ARM and EDIT |
Listing Installed ROMs
One of the first commands you'll probably use with ARM is:
*ROMS
This displays every ROM installed in the machine together with its ROM number and whether it is currently enabled.
Knowing the ROM numbers is important because ARM uses these numbers for many of its commands.
![]() |
| ROMS output |
Exploring Advanced ROM Manager
To see all of the commands available, type:
*HELP ARM
This displays the full list of commands provided by Advanced ROM Manager.
Some of the most useful commands include:
| Command | Description |
|---|---|
*ROMS | Lists every installed ROM. |
*KILL <ROM Number> | Disables a ROM. |
*GOROM | Boots directly into another ROM. |
*RLOAD | Loads a ROM into Sideways RAM. |
*RSAVE | Saves a ROM from Sideways RAM. |
*RREMOVE | Removes a ROM from Sideways RAM. |
ARM contains many more features than I'll cover here, so I'll be writing a dedicated article exploring it in much greater detail.
![]() |
| HELP ARM |
Switching Between DFS and Turbo MMFS
One of the reasons I wanted ARM installed was to make switching between filing systems incredibly simple.
My BBC Model B has both the original Acorn DFS and Turbo MMFS installed.
When I want to use original floppy disks with my dual Acorn disk drive, I use DFS.
When I want the convenience of loading software from an SD card, I switch over to Turbo MMFS.
Rather than opening the computer or swapping ROM chips, ARM lets me simply disable one ROM.
For example:
*KILL <ROM Number>
For example, if Turbo MMFS was ROM 13:
*KILL 13
After pressing Break or restarting the BBC Micro, the remaining filing system becomes active automatically.
This is one of my favourite ARM features and makes using both storage systems effortless.
The picture below shows me disabling MMFS so I can use DFS file system and my floppy drive.
![]() |
| ARM disabling a ROM |
This is the BBC re-booted showing MMFS Disabled.
![]() |
| BBC booted into DFS |
Exploring DFS
Once DFS is active, typing:
*HELP DFS
shows all of the commands available for managing floppy disks.
These include commands for:
- Formatting disks
- Copying files
- Renaming files
- Deleting files
- Selecting drives
- Viewing free space
- Verifying floppy disks
It's a reminder just how capable the BBC Micro's original disk operating system still is today.
![]() |
| HELP DFS |
Next I formatted a disc so I can create a small program and save it with the new editor ROM
![]() |
| FORMAT DISC |
![]() |
| Title and Contents |
BASIC Editor
The second ROM I installed was BASIC Editor.
BBC BASIC already has an excellent built-in line editor, but larger programs can quickly become difficult to manage.
BASIC Editor provides a much friendlier editing environment, making it easier to move around your source code and make changes.
As I plan on writing plenty of BBC BASIC programs, I know this ROM is going to become one of my most-used additions.
I'll be covering BASIC Editor properly in a future article.
First I created a new file and then entred editor using the following:-
NEW
![]() |
| NEW FILE |
![]() |
| HELLO WORLD! |
![]() |
| SAVE PROGRAM TO DISC |
![]() |
| LOAD FROM DISC |
![]() |
| PROGRAM RUNNING |
Final Thoughts
Installing the Sideways ROM board was only the first step. Programming and installing useful ROMs is where the upgrade really starts to shine.
Using the TL866II Plus Universal Programmer together with XGpro made programming both EEPROMs incredibly straightforward, and the AT28C256 chips can easily be reprogrammed in the future as I experiment with even more ROMs.
Advanced ROM Manager has already become one of my favourite utilities. Being able to manage installed ROMs and quickly switch between Acorn DFS and Turbo MMFS without opening the machine is a fantastic quality-of-life improvement.
There are still plenty of empty ROM sockets waiting to be filled, so this certainly won't be the last BBC Model B upgrade on the blog!
Video
If you'd like to see the complete process, from programming the EEPROMs in XGpro installing the ROMs, and using Advanced ROM Manager to switch between Acorn DFS and Turbo MMFS, you can watch the full video below.
What's Next?
In my next post I have another spare model B which is working and a sideways RAM board to install for it.
See you in the next post!
Thanks
Matty






















Comments
Post a Comment