Skip to content

Commit 7c3d5f6

Browse files
authored
Merge pull request #997 from zoltanvb/bbc_micro
Documentation for b2 core (Acorn BBC Micro emulation)
2 parents 527b041 + ecfa0b0 commit 7c3d5f6

File tree

4 files changed

+151
-0
lines changed

4 files changed

+151
-0
lines changed
45.7 KB
Loading
74.5 KB
Loading

docs/library/b2.md

Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
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+
![](../image/core/b2/bbc-micro-keyboard.png)
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+
![](../image/core/b2/iso-mapping-for-bbc-micro.png)
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

mkdocs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,8 @@ nav:
109109
- '3DO Emulation':
110110
- 'The 3DO Company - 3DO (Opera)': 'library/opera.md'
111111
- '3DO Compatibility List': 'library/compatibility/3do.md'
112+
- 'Acorn Emulation':
113+
- 'Acorn - BBC Micro (b2)': 'library/b2.md'
112114
- 'Amstrad Emulation':
113115
- 'Amstrad - CPC (Caprice32)': 'library/caprice32.md'
114116
- 'Amstrad - CPC (CrocoDS)': 'library/crocods.md'

0 commit comments

Comments
 (0)