|
| 1 | +# Acorn - BBC Micro (b2-libretro) |
| 2 | + |
| 3 | +## Background |
| 4 | + |
| 5 | +Emulate the BBC Micro, a series of microcomputers designed and built by Acorn Computers Limited in the 1980s for the Computer Literacy Project of the BBC. |
| 6 | + |
| 7 | +The b2-libretro core has been authored by: |
| 8 | + |
| 9 | +- Tom Seddon (b2) |
| 10 | +- Zoltan Balogh (libretro core specific modifications) |
| 11 | + |
| 12 | +The b2 core is licensed under [GPL v3](https://github.com/zoltanvb/b2-libretro#licence). A summary of the licenses behind RetroArch and its cores can be found [here](../development/licenses.md). |
| 13 | + |
| 14 | +## Requirements |
| 15 | + |
| 16 | +No special requirements. To be tested yet on low end platforms. |
| 17 | + |
| 18 | +## Extensions |
| 19 | + |
| 20 | +Content that can be loaded by the b2 core have the following file extensions: |
| 21 | + |
| 22 | +- `.ssd/.dsd` - Floppy disk image |
| 23 | + |
| 24 | +RetroArch database(s) that are associated with the b2 core: |
| 25 | + |
| 26 | +- None yet |
| 27 | + |
| 28 | +## Features |
| 29 | + |
| 30 | +Frontend-level settings or features that the b2 core respects. |
| 31 | + |
| 32 | +| Feature | Supported | |
| 33 | +|-------------------|:---------:| |
| 34 | +| Restart | ✔ | |
| 35 | +| Saves | ✕ | |
| 36 | +| States | ✕ | |
| 37 | +| Rewind | ✕ | |
| 38 | +| Netplay | ✕ | |
| 39 | +| Core Options | ✔ | |
| 40 | +| RetroAchievements | ✕ | |
| 41 | +| RetroArch Cheats | ✕ | |
| 42 | +| Native Cheats | ✕ | |
| 43 | +| Controls | ✔ | |
| 44 | +| Remapping | - | |
| 45 | +| Multi-Mouse | ✕ | |
| 46 | +| Rumble | ✕ | |
| 47 | +| Sensors | ✕ | |
| 48 | +| Camera | ✕ | |
| 49 | +| Location | ✕ | |
| 50 | +| Subsystem | ✕ | |
| 51 | +| [Softpatching](../guides/softpatching.md) | ✕ | |
| 52 | +| Disk Control | ✔ | |
| 53 | +| Username | ✕ | |
| 54 | +| Language | ✕ | |
| 55 | +| Crop Overscan | ✕ | |
| 56 | +| LEDs | ✕ | |
| 57 | + |
| 58 | +## Directories |
| 59 | + |
| 60 | +No additional directories used, only content disk image is needed. |
| 61 | + |
| 62 | +## Geometry and timing |
| 63 | + |
| 64 | +- The b2 core's core provided FPS is 50 |
| 65 | +- The b2 core's core provided sample rate is 250 kHz (to be optimized) |
| 66 | +- The b2 core's base width is 768 |
| 67 | +- The b2 core's base height is 288 |
| 68 | +- The b2 core's max width is 768 |
| 69 | +- The b2 core's max height is 576 (interlace mode) |
| 70 | +- The b2 core's core provided aspect ratio is 4:3 |
| 71 | + |
| 72 | +## Usage |
| 73 | + |
| 74 | +Load any supported content file. Content type will be autodetected, and if possible, started: |
| 75 | + |
| 76 | +- If disk image name contains an executable file name in brackets (such as `[CHUCKIE]`), a `CHAIN` command will be issued shortly after initial booting |
| 77 | +- If disk image name does not contain such indication, Shift key press will be simulated during boot to trigger autoboot function |
| 78 | + |
| 79 | +In case of multi-disk games, use the Disk Control menu to add the subsequent images and switch between them. |
| 80 | + |
| 81 | +## Core options |
| 82 | + |
| 83 | +The b2 core has the following option(s) that can be tweaked from the core options menu. |
| 84 | + |
| 85 | +- Emulated machine |
| 86 | + - `B/Acorn 1770` |
| 87 | + - `B/Watford 1770 (DDB2)` |
| 88 | + - `B/Watford 1770 (DDB3)` |
| 89 | + - `B/Opus 1770` |
| 90 | + - `B/Opus CHALLENGER 256K` |
| 91 | + - `B/Opus CHALLENGER 512K` |
| 92 | + - `B+` |
| 93 | + - `B+128` |
| 94 | +- Autoboot (on|off) |
| 95 | +- Keyboard assignments for each RetroPad button |
| 96 | + |
| 97 | +## Joypad mapping |
| 98 | + |
| 99 | +The analogue joysticks are mapped to the left analog stick and face button A for RetroArch player 1 and 2 slots. |
| 100 | + |
| 101 | +Joypad is fully assignable to keyboard keys in core options. |
| 102 | + |
| 103 | +## Keyboard |
| 104 | + |
| 105 | +Keyboard layout of the BBC Micro: |
| 106 | + |
| 107 | + |
| 108 | +Most mappings are straightforward positionally from an ISO UK keyboard: |
| 109 | + |
| 110 | +- Dark green: natural mapping, both position and function matches nicely |
| 111 | +- Light green: either position or function is slightly different |
| 112 | +- Yellow: function is different |
| 113 | +- Red: extra mapping |
| 114 | +- Dark grey: keys intentionally reserved for RetroArch / OS functions |
| 115 | + |
| 116 | + |
| 117 | + |
| 118 | +Exceptions are marked in the following table: |
| 119 | + |
| 120 | +| RetroKeyboard Inputs | BBC Micro keyboard input | |
| 121 | +|------------------------------|---------------------------| |
| 122 | +| Keyboard F10 | f0 | |
| 123 | +| Keyboard F11 | Break | |
| 124 | +| Keyboard Pause | Break | |
| 125 | +| Keyboard Backspace | Delete | |
| 126 | +| Keyboard Backquote ` | Escape (alternative mapping) | |
| 127 | +| Keyboard Equals = | ^ (caret) | |
| 128 | +| Keyboard Oem 102 | \\ (backslash) | |
| 129 | +| Keyboard Home | \\ (alternative mapping) | |
| 130 | +| Keyboard Backspace | Delete | |
| 131 | +| Keyboard Left Bracket [ | @ (at) | |
| 132 | +| Keyboard Right Bracket ] | [ (left bracket) | |
| 133 | +| Keyboard End | _ (underline) | |
| 134 | +| Keyboard Quote ' | : (colon) | |
| 135 | +| Keyboard Backslash \ | ] (right bracket) (shown as # in ISO map) | |
| 136 | +| Keyboard Delete | Delete | |
| 137 | +| Keyboard PgUp | Caps Lock | |
| 138 | +| Keyboard PgDn | Shift Lock | |
| 139 | +| Keyboard NumLock | Shift Lock | |
| 140 | +| Keyboard Insert | Copy | |
| 141 | + |
| 142 | +## External Links |
| 143 | + |
| 144 | +- [Official b2-libretro core repository](https://github.com/zoltanvb/b2-libretro) |
| 145 | +- [Libretro b2 Core info file](https://github.com/libretro/libretro-super/blob/master/dist/info/b2_libretro.info) |
| 146 | +- [Report Libretro b2 Core Issues Here](https://github.com/zoltanvb/b2-libretro/issues) |
| 147 | +- [Original b2 Implementation](https://github.com/tom-seddon/b2) |
| 148 | +- [Complete BBC Micro Games Archive](https://www.bbcmicro.co.uk/) |
| 149 | +- [Stardot forums](https://www.stardot.org.uk/forums/) - BBC Micro community |
0 commit comments