If you can't update, or this seems wrong, please get in touch:
matt@godbolt.org.
Your browser has suspended audio -- mouse click or key press for sound.
Rewind
Shared session
Who
How it's going
Round trip
Behind
Disc surface
caps lock
shift lock
econet tx/rx
virtual MHz
Drop a disc, tape or save state
Media
powerdata
counter000
jsbeebdata recorder
rewplaystopeject
Into
eject
jsbeebdrive
6845 state
:
6845 regs
:
00001122334455667788AAAAAAAA
000011 22 33ABCLDA (&70), X
CZIDVN
A: 00
X: 00
Y: 00
S: 00
PC: 0000
g run · n step · m step over · o step out · t breakpoint · j/k move
· b back · u/i memory ±8 · U/I memory ±64
System VIA
:
User VIA
:
About jsbeeb
By Matt Godbolt, based on Sarah Walker's
b-em: huge thanks to her for open sourcing it, and to Richard
Talbot-Watkins for his help and support. The Acorn Atom emulation is
Andrew Hague's. The cycle-accurate emulation owes a great
deal to the fantastic Visual 6502 project, who are well worth a
donation. The disc loaded by default is the amazing Elite, made available by
Ian Bell.
jsbeeb uses Google Analytics, which sets cookies, to count how the site is used and to find what goes
wrong. There are no server logs and nothing is kept on the jsbeeb servers; this is a static page served
from an AWS bucket. What is sent:
the page's address, with anything of your own taken out: a disc from your Google Drive, this browser
or your computer is named only by where it came from, and a shared session's room and names are
removed;
each disc or tape loaded: where from, how it was picked, and whether it loaded or why not in general
terms. Public discs are named; your own are not;
how the emulator started: the machine model, keyboard layout, whether it is embedded in another
page, how it was asked to boot, and whether WebGL and sound are working;
which parts of jsbeeb are used, such as the media window, the debugger, rewind or Help;
errors in jsbeeb itself: the start of the message, with quoted text and addresses removed, and where
in jsbeeb's code it happened;
shared sessions being hosted, joined, failing and ending, and roughly how many took part;
pressing Break, and a few of jsbeeb's shortcut keys.
Not sent: what you type into the emulator, the contents of any disc or tape, or the names of your own
files. Google Analytics also records what it records on any site, such as your browser, device type and
rough location.
No personal information is kept. Logging in to Google Drive stores only what is needed to reach your own
discs, and that is never shared with the jsbeeb developers.
Use of jsbeeb is at your own risk, for whatever lawful purpose you wish. Reasonable efforts are used to
keep the site up to date and working.
Would you rather run your own copy? The source is on
GitHub.
Help
jsbeeb emulates the BBC Micro Model B and Master
128, and the Acorn Atom that came before them.
Choose the machine and the keyboard layout in the settings: click the model name on the top bar.
Elite, the classic 3D space trading game, is already in drive 0. Press
SHIFT+BREAK
(Shift+F12) to boot it. Other discs and tapes load from the media window: click
Media on the top bar. Pasting text types it into the BBC.
Keyboard
A BBC keyboard has its symbols in different places from yours. The default Physical layout
goes by position: most keys press the BBC key in the same place, so the BBC's
: * key is your ' key. Natural goes by
character instead, so what you type is what the BBC gets; it suits typing, and games want Physical or
Gaming. Gaming puts the BBC's CAPS LOCK and
CTRL on your left Ctrl and
Alt, for games that steer with them; jsbeeb's Alt shortcuts still come first.
Any key can be
remapped from the URL.
BBC and Master keys yours lacks (Physical and Natural layouts)
BBC key
Press
F0
F10
BREAK
F12
COPY
End (on a Mac laptop,
fn+→)
SHIFT LOCK
Home
@
` in Physical
_ £
Page Up in Physical; in Natural, ` gives
£
On a Mac, hold fn for the function keys. Games there can't use
Caps Lock to move or fire, as browsers never report it being let go; the
Gaming layout puts the BBC's CAPS LOCK on Ctrl.
Shortcuts
Alt-S
Stop or start; when stopped, the debugger shows
Alt-P
Pause or resume, no debugger
Alt-T
Turbo, or back to real speed
Alt-W
Rewind: pick an earlier moment to go back to
Alt-B
Open the printer output
Alt-M
Media window for drive 0
Alt-Shift-M
Media window for drive 1
Alt-C
Media window for the cassette
Alt-1 to Alt-8
Hold switch 1 to 8 on the user port (PB0 to PB7)
Paused or debugging
After Alt-P, g resumes and
n runs one frame. In the debugger (Alt-S):
g
Resume running
n
Step one instruction
m
Step over a subroutine call
o
Run until the current subroutine returns
t
Set or clear a breakpoint on the highlighted instruction
jk
Move the highlight down or up
b
Back after clicking a jump target
ui
Memory forward (u), back (i), 8 bytes
UI
Memory forward (U), back (I), 64 bytes
Econet file server
Shared session
Play on one BBC Micro with friends, each in their own browser. Everyone types into the same machine; use a
voice call alongside.
What the others see you as.
Host
Share this machine as it is now, discs and all. You get a link to send round, and whoever opens it
joins in.
Benchmark
An error occurred - sorry!
While :
Are You Sure?
settings
The model and peripherals shown here take effect when the emulator next restarts.