[ main | what's new | search | software | emulators | archive | documentation | links ]

Fools Guide to getting BBC ROMs

(original author James Pritchard - e-mail unavailable)
Note! This section is now obsolete (see the FAQ), but is kept here for nostalgic reasons.

Acorn's refusal to release copyright on their ancient ROM code for the BBC makes it difficult to get the ROM images required for most emulators (OS12.ROM and BASIC2.ROM). However due to various helpful souls you can now extract the required files from a file available at Acorns web site. Sadly the method has not been made particularly clear for poor sods like me who just wanted to get nostalgic about 'Frak' on their PC. So here is a detailed explanation of the process.

Files Required:

APP2.ARC - ARC Archive File (Acorn's 'RISC OS 3.1 Support Disk 2')

NSPARK.TAR - ARC Extraction Utility. A version compiled for DOS can be found at ftp.demon.co.uk.

RIPROMS-P.C - ROM extraction 'c' program. A version compiled with DJGPP for DOS can be found here - to run it requires a DPMI driver.

Utilities Indirectly Required (unless you can use the compiled versions above):

C - A C compiler of some nature featuring a 'make' utility

Tar - Archive program for.. erm 'tar' files. For Windows users, WinZip also handles 'tar' files.

N.B. This process should work on any computer - theoretically (ha) - with the appropriate files and utilities. The process below definitely works on a Unix type computer, ('cos I thats all I had access to), and then transferring the ROM files to your computer.


1) Make a convenient temporary directory and copy NSPARK.TAR to it. Using the 'tar' utility type:

tar -xvf NSPARK.TAR

This should dearchive various files/source code of the NSPARK utility into its own subdirectory 'nspark-1.7.5'. There are some directories there with binaries for various systems - including one for Windows 95/NT. If you find a binary that works on your system, you may skip the next step.

2) Change to the 'nspark-1.7.5' directory and using your C compilers 'make' utility type:


This should - after a while - leave you with a compiled executable file 'nspark'

3) Copy the APP2.ARC file to your nspark directory. Dearchive the required !RunImage file using:

nspark -x APP2.ARC !65host/!RunImage

N.B. The symbol '!' in file names makes UNIX act like grandma on acid (yes, that's not good), so on UNIX systems you need to 'escape' the exclamation characters with backslashes:

nspark -x APP2.ARC \!65host/\!RunImage

This should dearchive the file '!RunImage' into the subdirectory !65host.

4) Now you need to use the riproms utility on !RunImage. Using your C compiler (for example gcc) do:

gcc riproms-p.c -o riproms

This should leave you with an executable 'riproms'

N.B. I was unable to compile it error free with anything other than 'gcc' and only on one particular Unix system. Perseverance/Crying may be required.

5) With the !RunImage file in the same directory as riproms, extract the ROMs:

riproms !65host/!RunImage BASIC2.ROM OS12.ROM

(Use "\!" instead of "!" on UNIX systems, as above.) This should leave you with the 2 ROM files.

6) Copy the ROM files to your emulator directory (read the emulator's documentation), run emulator, play Strykers Run, become teary eyed, complain about how much better games were back then, load up Quake and return to planet Earth.


Riproms - Original written by Darren Salt, debugged version by Saint someone.

BBC Lives page - Originator of this method and an excellent BBC page

Robert Schmidt - rsc@nvg.org.