Skip to content

Acorn - BBC Micro (b2-libretro)

Background

Emulate the BBC Micro and Master, a series of microcomputers designed and built by Acorn Computers Limited in the 1980s for the Computer Literacy Project of the BBC.

The b2-libretro core has been authored by:

  • Tom Seddon (b2)
  • Zoltan Balogh (libretro core specific modifications)

The b2 core is licensed under GPL v3. A summary of the licenses behind RetroArch and its cores can be found here.

Requirements

No special requirements. To be tested yet on low end platforms.

Extensions

Content that can be loaded by the b2 core have the following file extensions:

  • .ssd/.dsd - Floppy disk image

RetroArch database(s) that are associated with the b2 core:

  • None yet

Features

Frontend-level settings or features that the b2 core respects.

Feature Supported
Restart
Saves
States
Rewind
Netplay
Core Options
Memory Monitoring (achievements)
RetroArch Cheats
Native Cheats
Controls
Remapping -
Multi-Mouse
Rumble
Sensors
Camera
Location
Subsystem
Softpatching
Disk Control
Username
Language
Crop Overscan
LEDs

Directories

No additional directories used, only content disk image is needed.

Geometry and timing

  • The b2 core's core provided FPS is 50
  • The b2 core's core provided sample rate is 250 kHz (to be optimized)
  • The b2 core's base width is 768
  • The b2 core's base height is 288
  • The b2 core's max width is 768
  • The b2 core's max height is 576 (interlace mode)
  • The b2 core's core provided aspect ratio is 4:3

Usage

Load any supported content file. Content type will be autodetected, and if possible, started:

  • If disk image name contains an executable file name in brackets (such as [CHUCKIE]), a CHAIN command will be issued shortly after initial booting
  • If disk image name does not contain such indication, Shift key press will be simulated during boot to trigger autoboot function

In case of multi-disk games, use the Disk Control menu to add the subsequent images and switch between them. For BBC Master games, set emulated machine type to Master, and close the core, then re-open again with the content.

Core options

The b2 core has the following option(s) that can be tweaked from the core options menu.

  • Emulated machine
    • B/Acorn 1770
    • B/Watford 1770 (DDB2)
    • B/Watford 1770 (DDB3)
    • B/Opus 1770
    • B/Opus CHALLENGER 256K
    • B/Opus CHALLENGER 512K
    • B+
    • B+128
    • Master 128 (MOS 3.20)
  • Autoboot (on|off)
  • Keyboard assignments for each RetroPad button

Joypad mapping

The analogue joysticks are mapped to the left analog stick and face button A for RetroArch player 1 and 2 slots.

Joypad is fully assignable to keyboard keys in core options.

Keyboard

Keyboard layout of the BBC Master (BBC Micro is the same, apart from cursor key arrangement and the lack of keypad):

Most mappings are straightforward positionally from an ISO UK keyboard:

  • Dark green: natural mapping, both position and function matches nicely
  • Light green: either position or function is slightly different
  • Yellow: function is different
  • Red: extra mapping
  • Dark grey: keys intentionally reserved for RetroArch / OS functions

Exceptions are marked in the following table:

RetroKeyboard Inputs BBC Micro/Master keyboard input
Keyboard F10 f0
Keyboard F11 Break
Keyboard Pause Break
Keyboard Backspace Delete
Keyboard Backquote ` Escape (alternative mapping)
Keyboard Equals = ^ (caret)
Keyboard Oem 102 \ (backslash)
Keyboard Home \ (alternative mapping)
Keyboard Backspace Delete
Keyboard Left Bracket [ @ (at)
Keyboard Right Bracket ] [ (left bracket)
Keyboard End _ (underline)
Keyboard Quote ' : (colon)
Keyboard Backslash \ ] (right bracket) (shown as # in ISO map)
Keyboard Delete Delete
Keyboard PgUp Caps Lock
Keyboard PgDn Shift Lock
Keyboard NumLock Shift Lock
Keyboard Insert Copy
--- (no PC keyboard mapping) Numpad , (comma)
--- (no PC keyboard mapping) Numpad #
--- (no PC keyboard mapping) Numpad Delete

If there is a need to press those 3 keys that have no mapping, use core options to map them to a RetroPad button.