Skip to content

beebem - RetroBIOS

Type standalone
Classification Other
Source https://github.com/stardot/beebem-windows
Version 4.19
Profiled 2026-08-11
Cores beebem
Systems bbc-micro-b, bbc-micro-bplus, bbc-master-128, bbc-master-et
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 \BeebEm and falls back to \UserData; it holds BeebFile/ and the .cfg and .kmap files. GetAppPath() is the program directory and holds Teletext.fnt and the sound samples. ref: Src/BeebWin.cpp:5813-5851

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

DNFS.rom required in repo bundled
Acorn DFS 1.20 and NFS 3.34 combined

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

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

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

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

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

RelayOff.snd optional in repo bundled
Cassette relay release sample

DriveMotor.snd optional in repo bundled
Disc drive motor sample

HeadLoad.snd optional in repo bundled
Disc drive head load sample

HeadUnload.snd optional in repo bundled
Disc drive head unload sample

HeadSeek.snd optional in repo bundled
Disc drive head seek sample

HeadStep.snd optional in repo bundled
Disc drive head step sample

Roms.cfg required in repo bundled
ROM slot table, one OS ROM plus 16 paged banks per model

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

Logical.kmap optional in repo bundled
Logical keyboard mapping

Default.kmap optional in repo bundled
Default keyboard mapping

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

AUNMap optional in repo bundled
Econet network to IP subnet map

Generated on 2026-08-23T16:12:06Z