beebem - RetroBIOS¶
Technical notes
BBC Micro and Master Series emulator for Windows. Started by Dave Gilbert on Unix in 1994, ported to Windows. Five machine models: Model B, Model B with Integra-B board, Model B Plus, Master 128, Master ET. ref: Src/Model.h:24-32
Two file roots. GetUserDataPath() defaults to
ROM slots are read from Roms.cfg: one OS ROM plus 16 paged banks per model, each line naming a file under BeebFile/, or EMPTY, or RAM. Paths in the profile are the shipped default configuration, which matches the DefaultRoms table compiled into the binary. ref: Src/RomConfigFile.cpp:39-141 ref: Src/BeebMem.cpp:1277-1356
A missing Roms.cfg is not covered by DefaultRoms: Load() returns at the open failure, before the backfill loop, and RomConfigFile has no constructor and no Reset() caller, so every slot stays an empty string and no ROM loads. ref: Src/RomConfigFile.cpp:158-219
Roms_Torch.cfg is the alternate configuration for the Torch Z80 co-processor,
selected with BeebEm.exe -Roms Roms_Torch.cfg by the shipped BeebEmTorch.vbs.
It adds the MCP host-tube ROMs and swaps the Integra-B slots.
ref: UserData/Roms_Torch.cfg, BeebEmTorch.vbs:3
ReadRom derives a .map path from every ROM file name and hands it to the debugger symbol loader. Only BBC/OS12.map ships. ref: Src/BeebMem.cpp:1252-1254, 1311-1313
No hash is verified anywhere. The code checks sizes only, per entry below. Hashes here identify the dumps the emulator ships.
BeebFile/ also carries an application ROM library (word processors, drawing packages, language ROMs) and DiscIms/ carries the disc images supplied with the Master 512, ARM and Z80 co-processors. No code path names them; they load only through the file browser in Edit ROM Configuration, the same way a disc image does. ref: Src/RomConfigDialog.cpp:179-215
Alternate dumps ship under their own names for slots already listed here: BeebFile/M128-MOS3.5/ holds the MOS 3.50 set for the M128 slots, and BeebFile/Z80-1.20.rom is the Acorn v1.20 Z80 ROM. Both are used by renaming them onto the listed paths, so they are variants of those entries. ref: Help/roms.html, Help/z80copro.html
52 files | 20 required, 32 optional | 52 in repo, 0 missing
OS12.rom required in repo bundled
BBC Micro OS 1.20
- Path:
BeebFile/BBC/OS12.rom - System: bbc-micro-b
- Size: 16.0 KB
- SHA1:
0d9bcaf6a393... - MD5:
0a59a5ba15fe... - Validation: size
- Source:
Src/BeebMem.cpp:1291-1308,Src/RomConfigFile.cpp:43 - OS ROM slot. Read into 0xc000; an error is reported unless 16384 bytes are read.
BASIC2.rom required in repo bundled
BBC BASIC II
- Path:
BeebFile/BBC/BASIC2.rom - System: bbc-micro-b
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
4a7393f3a45e... - MD5:
2cc67be4624d... - Source:
Src/RomConfigFile.cpp:44,Src/BeebMem.cpp:1322-1356
DNFS.rom required in repo bundled
Acorn DFS 1.20 and NFS 3.34 combined
- Path:
BeebFile/BBC/DNFS.rom - System: bbc-micro-b
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
7e3c536baeae... - MD5:
5daed1039182... - Source:
Src/RomConfigFile.cpp:45,Src/BeebMem.cpp:1322-1356
OS12.map optional in repo bundled
Debugger symbol map for OS 1.20
- Path:
BeebFile/BBC/OS12.map - System: bbc-micro-b
- Size: 19.2 KB
- SHA1:
3fb4f63479a7... - MD5:
c335bb52e811... - Source:
Src/BeebMem.cpp:1311-1313 - Path derived from the ROM file name by ReplaceFileExt. Absence is silent.
OS12.rom required in repo bundled
BBC Micro OS 1.20, Integra-B configuration
- Path:
BeebFile/BBCINT/OS12.rom - System: bbc-micro-b
- Size: 16.0 KB
- SHA1:
0d9bcaf6a393... - MD5:
0a59a5ba15fe... - Validation: size
- Source:
Src/RomConfigFile.cpp:63,Src/BeebMem.cpp:1291-1308 - OS ROM slot for Model::IntegraB. Same dump as BeebFile/BBC/OS12.rom.
IBOS126.rom required in repo bundled
Integra-B IBOS 1.26
- Path:
BeebFile/BBCINT/IBOS126.rom - System: bbc-micro-b
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
d0153203802c... - MD5:
1b57c2ba920a... - Source:
Src/RomConfigFile.cpp:64
BASIC2.rom required in repo bundled
BBC BASIC II
- Path:
BeebFile/BBCINT/BASIC2.rom - System: bbc-micro-b
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
4a7393f3a45e... - MD5:
2cc67be4624d... - Source:
Src/RomConfigFile.cpp:65
DNFS.rom required in repo bundled
Acorn DFS 1.20 and NFS 3.34 combined
- Path:
BeebFile/BBCINT/DNFS.rom - System: bbc-micro-b
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
7e3c536baeae... - MD5:
5daed1039182... - Source:
Src/RomConfigFile.cpp:66
IBOS.rom optional in repo bundled
Integra-B IBOS 1.20
- Path:
BeebFile/BBCINT/IBOS.rom - System: bbc-micro-b
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
0f5b2a5bee23... - MD5:
8882e50d5d98... - Source:
UserData/Roms_Torch.cfg:24 - Integra-B slot under the Torch configuration.
WDFS.rom optional in repo bundled
Watford DFS 1.44
- Path:
BeebFile/BBCINT/WDFS.rom - System: bbc-micro-b
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
387d2468c6e1... - MD5:
1d250b0242e4... - Source:
UserData/Roms_Torch.cfg:26 - Filing system slot under the Torch configuration.
MCP120-CBL.rom optional in repo bundled
Torch MCP 1.20 host tube ROM, 8271 FDC
- Path:
BeebFile/BBC/MCP120-CBL.rom - System: bbc-micro-b
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
0edb0db70c95... - MD5:
42f92cb02602... - Source:
UserData/Roms_Torch.cfg:5,Help/z80torch.html - Host tube support for the Torch Z80 co-processor on a Model B.
B+MOS.rom required in repo bundled
BBC Model B Plus MOS 2.00
- Path:
BeebFile/BPLUS/B+MOS.rom - System: bbc-micro-bplus
- Size: 16.0 KB
- SHA1:
d9426dd7454c... - MD5:
978370cc7ab8... - Validation: size
- Source:
Src/RomConfigFile.cpp:83,Src/BeebMem.cpp:1291-1308 - OS ROM slot for Model::BPlus.
BASIC2.rom required in repo bundled
BBC BASIC II
- Path:
BeebFile/BPLUS/BASIC2.rom - System: bbc-micro-bplus
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
4a7393f3a45e... - MD5:
2cc67be4624d... - Source:
Src/RomConfigFile.cpp:84
DFS-2.26.rom required in repo bundled
Acorn 1770 DFS 2.26
- Path:
BeebFile/BPLUS/DFS-2.26.rom - System: bbc-micro-bplus
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
cf2ebc422a8d... - MD5:
f083f49d6fe6... - Source:
Src/RomConfigFile.cpp:85
ADFS-1.30.rom optional in repo bundled
Acorn ADFS 1.30
- Path:
BeebFile/BPLUS/ADFS-1.30.rom - System: bbc-micro-bplus
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
301fd05c475a... - MD5:
831ee90ac5d4... - Source:
Src/RomConfigFile.cpp:86
WDFS.rom optional in repo bundled
Watford DFS 1.44
- Path:
BeebFile/BPLUS/WDFS.rom - System: bbc-micro-bplus
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
387d2468c6e1... - MD5:
1d250b0242e4... - Source:
Help/roms.html,Src/RomConfigFile.cpp:83-99 - Named as a Model B Plus essential ROM by the emulator help, which predates the current default configuration: the DefaultRoms table and the shipped Roms.cfg fill the filing system slots with DFS-2.26.rom and ADFS-1.30.rom.
MOS.rom required in repo bundled
BBC Master 128 MOS 3.20
- Path:
BeebFile/M128/MOS.rom - System: bbc-master-128
- Size: 16.0 KB
- SHA1:
04d5876999f9... - MD5:
9087f7724470... - Validation: size
- Source:
Src/RomConfigFile.cpp:103,Src/BeebMem.cpp:1291-1308 - OS ROM slot for Model::Master128.
Terminal.rom required in repo bundled
Master 128 Terminal emulator ROM
- Path:
BeebFile/M128/Terminal.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
d990f41a3a06... - MD5:
7e053353b78b... - Source:
Src/RomConfigFile.cpp:104 - A different dump from the Master ET Terminal.rom of the same name.
BASIC4.rom required in repo bundled
BBC BASIC IV
- Path:
BeebFile/M128/BASIC4.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
c45fd3c0abdc... - MD5:
63a6f43cbf49... - Source:
Src/RomConfigFile.cpp:107
DFS.rom required in repo bundled
Master 128 DFS 2.24
- Path:
BeebFile/M128/DFS.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
cff80460954b... - MD5:
865a0f7a5d6f... - Source:
Src/RomConfigFile.cpp:110
ADFS.rom optional in repo bundled
Master 128 ADFS 2.03
- Path:
BeebFile/M128/ADFS.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
7557e99be10d... - MD5:
10f08b255d6a... - Source:
Src/RomConfigFile.cpp:106
View.rom optional in repo bundled
Acorn View word processor
- Path:
BeebFile/M128/View.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
14820174e8ea... - MD5:
178d09285727... - Source:
Src/RomConfigFile.cpp:105
Edit.rom optional in repo bundled
Acorn Edit text editor
- Path:
BeebFile/M128/Edit.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
96d209441f4c... - MD5:
cb3d762eaab6... - Source:
Src/RomConfigFile.cpp:108
ViewSheet.rom optional in repo bundled
Acorn ViewSheet spreadsheet
- Path:
BeebFile/M128/ViewSheet.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
b7e85a55f517... - MD5:
7d5a80a8ce92... - Source:
Src/RomConfigFile.cpp:109
ANFS-4.25-2201351.rom optional in repo bundled
Acorn Advanced NFS 4.25
- Path:
BeebFile/M128/ANFS-4.25-2201351.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
14f75d36ffe9... - MD5:
306cb8ff6622... - Source:
Src/RomConfigFile.cpp:111
MCP122-ABM.rom optional in repo bundled
Torch MCP 1.22 host tube ROM, Master
- Path:
BeebFile/M128/MCP122-ABM.rom - System: bbc-master-128
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
35843ace2814... - MD5:
bf3d2b0a61ba... - Source:
UserData/Roms_Torch.cfg:79,Help/z80torch.html - Host tube support for the Torch Z80 co-processor on a Master.
MOS400.rom required in repo bundled
BBC Master ET MOS 4.00
- Path:
BeebFile/Master ET/MOS400.rom - System: bbc-master-et
- Size: 16.0 KB
- SHA1:
c9483ef3ebd6... - MD5:
4d4afbf220ab... - Validation: size
- Source:
Src/RomConfigFile.cpp:123,Src/BeebMem.cpp:1291-1308 - OS ROM slot for Model::MasterET.
Terminal.rom required in repo bundled
Master ET Terminal emulator ROM
- Path:
BeebFile/Master ET/Terminal.rom - System: bbc-master-et
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
0b4425149ca9... - MD5:
456cb9035fd3... - Source:
Src/RomConfigFile.cpp:124 - A different dump from the Master 128 Terminal.rom of the same name.
ANFS425.rom required in repo bundled
Acorn Advanced NFS 4.25
- Path:
BeebFile/Master ET/ANFS425.rom - System: bbc-master-et
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
14f75d36ffe9... - MD5:
306cb8ff6622... - Source:
Src/RomConfigFile.cpp:125 - Filing system of the Econet terminal, which has no disc filing system.
BASIC4.rom required in repo bundled
BBC BASIC IV
- Path:
BeebFile/Master ET/BASIC4.rom - System: bbc-master-et
- Size: 16.0 KB (max 128.0 KB)
- SHA1:
c45fd3c0abdc... - MD5:
63a6f43cbf49... - Source:
Src/RomConfigFile.cpp:126
6502Tube.rom optional in repo bundled
Acorn 6502 second processor Tube OS 1.10
- Path:
BeebFile/6502Tube.rom - System: bbc-micro-b
- Size: 2.0 KB
- SHA1:
05980c296e1a... - MD5:
cd6ba85e22ad... - Validation: size
- Source:
Src/Tube.cpp:1534-1559 - Copied into tube RAM at 0xf800 on every 65C02 reset. An error is reported unless 2048 bytes are read.
Z80.rom optional in repo bundled
Acorn Z80 second processor ROM 1.21
- Path:
BeebFile/Z80.rom - System: bbc-micro-b
- Size: 4.0 KB
- SHA1:
d05de861922f... - MD5:
c4c72ceb7330... - Validation: size
- Source:
Src/Z80Support.cpp:243-267,Help/z80copro.html - Loaded for TubeDevice::AcornZ80. An error is reported unless 4096 bytes are read. Jonathan Harston's v1.21; the Acorn v1.20 ships as Z80-1.20.rom and is used by renaming it onto this path.
CCPN102.rom optional in repo bundled
Torch Z80 CCPN 1.02 second processor ROM
- Path:
BeebFile/CCPN102.rom - System: bbc-micro-b
- Size: 8.0 KB
- SHA1:
e6ee738e5f2f... - MD5:
f786d0647f97... - Source:
Src/Z80Support.cpp:268-299 - Size options: 2.0 KB, 4.0 KB, 8.0 KB
- Loaded for TubeDevice::TorchZ80. Up to 8192 bytes are read and a short image is mirrored to fill the 8 KB window: a 2 KB image is repeated four times, a 4 KB image twice. No size is rejected.
BIOS.rom optional in repo bundled
Master 512 80186 co-processor BIOS
- Path:
BeebFile/BIOS.rom - System: bbc-master-128
- Size: 16.0 KB
- SHA1:
eb2a043d139a... - MD5:
de72efe184f7... - Validation: size
- Source:
Src/Master512CoPro.cpp:3768-3797 - Loaded at 0xf0000 and mirrored three times to fill the top of the 1 MB space. An error is reported unless 0x4000 bytes are read.
ARMeval_100.rom optional in repo bundled
Acorn ARM Evaluation System ROM 1.00
- Path:
BeebFile/ARMeval_100.rom - System: bbc-master-128
- Size: 16.0 KB
- SHA1:
ba33eaf1a23c... - MD5:
751f615ccbef... - Validation: size
- Source:
Src/Arm.cpp:100-129,Src/Arm.h:254,Src/BeebWin.cpp:1017-1047 - Rejected as InvalidROM unless the file is exactly ROM_SIZE, which Arm.h defines as 0x4000. The dialog text at BeebWin.cpp:1043 says 4096 bytes and does not match the constant it reports on.
Sprow.rom optional in repo bundled
Sprow ARM7TDMI co-processor system software 0.40
- Path:
BeebFile/Sprow.rom - System: bbc-master-128
- Size: 512.0 KB
- SHA1:
babfb5bdb826... - MD5:
4da45778c150... - Validation: size
- Source:
Src/SprowCoPro.cpp:51-90,Src/SprowCoPro.h:49,Src/BeebWin.cpp:1058-1088 - 512 KB on-board flash carrying the system software and BASIC. Rejected as InvalidROM unless the file is exactly 0x80000 bytes.
Teletext.fnt required in repo bundled
Mode 7 SAA5050 teletext character set
- System: bbc-micro-b
- Size: 3.4 KB
- SHA1:
7d1d2a7321b2... - MD5:
007ba0c02374... - Source:
Src/BeebWin.cpp:491-502,Src/Main.cpp:62-66 - Read from the program directory. The only file whose absence stops the emulator: BuildMode7Font failure makes Initialise return false and Main.cpp then exits with status 1.
RelayOn.snd optional in repo bundled
Cassette relay engage sample
- System: bbc-micro-b
- Size: 297 B
- SHA1:
b6e7c8a33117... - MD5:
6e7137fbd354... - Source:
Src/Sound.cpp:65,Src/Sound.cpp:538-570,Src/Sound.cpp:805 - Read from the program directory. Missing samples are reported and playback is skipped.
RelayOff.snd optional in repo bundled
Cassette relay release sample
- System: bbc-micro-b
- Size: 400 B
- SHA1:
9c9a3d5ebf0e... - MD5:
0699cec768a8... - Source:
Src/Sound.cpp:66,Src/Sound.cpp:538-570
DriveMotor.snd optional in repo bundled
Disc drive motor sample
- System: bbc-micro-b
- Size: 43.1 KB
- SHA1:
cf496c677d34... - MD5:
a681147ce93e... - Source:
Src/Sound.cpp:67,Src/Sound.cpp:538-570
HeadLoad.snd optional in repo bundled
Disc drive head load sample
- System: bbc-micro-b
- Size: 8.6 KB
- SHA1:
2f7204df9536... - MD5:
cf30cf2585f9... - Source:
Src/Sound.cpp:68,Src/Sound.cpp:538-570
HeadUnload.snd optional in repo bundled
Disc drive head unload sample
- System: bbc-micro-b
- Size: 4.3 KB
- SHA1:
781692c24e73... - MD5:
d9b352abee95... - Source:
Src/Sound.cpp:69,Src/Sound.cpp:538-570
HeadSeek.snd optional in repo bundled
Disc drive head seek sample
- System: bbc-micro-b
- Size: 31.2 KB
- SHA1:
759d62a94e15... - MD5:
2672a7859355... - Source:
Src/Sound.cpp:70,Src/Sound.cpp:538-570
HeadStep.snd optional in repo bundled
Disc drive head step sample
- System: bbc-micro-b
- Size: 2.2 KB
- SHA1:
5e07a9720597... - MD5:
46c4fdb65f67... - Source:
Src/Sound.cpp:71,Src/Sound.cpp:538-570
Roms.cfg required in repo bundled
ROM slot table, one OS ROM plus 16 paged banks per model
- System: bbc-micro-b
- Size: 840 B
- SHA1:
a538968ecb96... - MD5:
33c5208252f3... - Source:
Src/BeebWin.cpp:334,Src/BeebWin.cpp:473,Src/RomConfigFile.cpp:158-219 - Without it Load returns before the DefaultRoms backfill, every slot stays an empty string and no ROM is loaded. Overridable with -Roms.
Roms_Torch.cfg optional in repo bundled
ROM slot table for the Torch Z80 co-processor
- System: bbc-micro-b
- Size: 817 B
- SHA1:
7b0827bd0fd9... - MD5:
4a3789eb3c79... - Source:
BeebEmTorch.vbs:3,Help/z80torch.html - Selected by the shipped BeebEmTorch.vbs as
BeebEm.exe -Roms Roms_Torch.cfg.
Preferences.cfg optional in repo bundled
Emulator preferences
- System: bbc-micro-b
- Size: 2.0 KB
- SHA1:
31291e6f9e2f... - MD5:
0108b1eb6833... - Source:
Src/BeebWin.cpp:296,Src/BeebWinPrefs.cpp:282-298,Src/Preferences.cpp:59-66 - Absence is reported and built-in defaults are used. Rewritten on save.
Logical.kmap optional in repo bundled
Logical keyboard mapping
- System: bbc-micro-b
- Size: 6.6 KB
- SHA1:
5817277bcb11... - MD5:
07b0e1d4cb32... - Source:
Src/BeebWin.cpp:560-563,Src/KeyMap.cpp:65-78 - Read at ApplyPreferences. The return value is ignored, leaving the built-in map.
Default.kmap optional in repo bundled
Default keyboard mapping
- System: bbc-micro-b
- Size: 6.6 KB
- SHA1:
63c72e11f6ce... - MD5:
199de64bdb59... - Source:
Src/BeebWin.cpp:565-567,Src/KeyMap.cpp:65-78
DefaultUser.kmap optional in repo bundled
Fallback user keyboard mapping
- System: bbc-micro-b
- Size: 6.6 KB
- SHA1:
63c72e11f6ce... - MD5:
199de64bdb59... - Source:
Src/BeebWinPrefs.cpp:934-957 - Read only when the user key map preference is unset or fails to load.
Econet.cfg optional in repo bundled
Econet station to address map
- System: bbc-micro-b
- Size: 5.6 KB
- SHA1:
faf55cd1eafa... - MD5:
7cb22b998d2d... - Source:
Src/BeebWin.cpp:526-537,Src/Econet.cpp:784-792,Src/Econet.cpp:1039-1042 - Read when Econet is enabled, which is off by default. A read failure makes EconetReset return false and Econet stays off. Overridable with -EconetCfg.
AUNMap optional in repo bundled
Econet network to IP subnet map
- System: bbc-micro-b
- Size: 1.8 KB
- SHA1:
efd505f45944... - MD5:
d2e4b22f9433... - Source:
Src/BeebWin.cpp:539-550,Src/Econet.cpp:931-938,Src/Econet.cpp:1059-1061 - Read only when AUN mode is on. Overridable with -AUNMap.
Generated on 2026-08-23T16:12:06Z