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

Burn the ROM by clicking the PROG button highlighted in the menu, then the program button highlighted in the dialogue box.
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:

CommandDescription
*ROMSLists every installed ROM.
*KILL <ROM Number>Disables a ROM.
*GOROMBoots directly into another ROM.
*RLOADLoads a ROM into Sideways RAM.
*RSAVESaves a ROM from Sideways RAM.
*RREMOVERemoves 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

To do this I used the commands: - 
*DRIVE 0 40
*FORM 40 0

Then I gave the disc a Title and viewed contents to confirm formatting
Title and Contents
Now I am ready to write a program.

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

I then pressed the ESCAPE KEY to enter the new BASIC Editor ROM and typed in the following program: -
10 PRINT "Hello World!"
10 GOTO 20
A classic program for a classic machine.
HELLO WORLD!

I then pressed ESCAPE to go back to the terminal.
I typed the following to save the program to disc: -
SAVE "HELLO"
SAVE PROGRAM TO DISC

I then rebooted the BBC by pressing break, which clears the memory too.
Then I typed the following commands to load the program back into memory: -
LOAD "HELLO"
LOAD FROM DISC

Then I typed the following command to run the program:-
RUN
PROGRAM RUNNING

This then ran the program that has been created.

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

Popular posts from this blog

BBC Model B + MMFS: Command Guide

BBC Model B – Installing Turbo MMFS

Op-Amp Series – Part 1: Operational Amplifier Basics