I once had a BBC Model B Microcomputer

Back in 2002 I unearthed my old “BBC Model B Microcomputer“, an impressive (in the early 1980s) 6502-based machine made by Acorn Computers in the UK. I obtained one when it was new, did a lot of programming on it until the late 1980s and then hid it under a bed. While I moved house a few times over the ensuing years, the BBC Model B stayed hidden along with all my old notes, printouts and genuine 5-1/4” floppies. In 2002 I made a partially-successful attempt to recover my old software from the 5-1/4″ floppies, and documented my experience.  (I made some good progress until my floppies literally started falling apart inside my old drives, clogging the heads. These floppies were around 20 years old, and the magnetic particles started stripping off where the drive head touched the disk surface.) I revisited the task of recreating floppy images in 2005, and now (2011) I have finally gotten around to documenting what I’ve recovered.

The BBC Model B Microcomputer

The BBC Model B Microcomputer (or just the “Beeb”) was based around a 2MHz 6502 processor, had bit-mapped and Teletext graphics modes, came with 16K or 32K of RAM, and supported the use of 8K and 16K ROMS to hold various languages, operating systems, and applications. The keyboard and motherboard shared the same box, with UHF output for displaying on TV screens and an RGB output for monitors.

More detailed technical specs (and a whole lot more) can be found at Rob Schmidt’s “The BBC Lives!” website.

My own Beeb

My particular Beeb had 32K RAM, OS 1.2, BASIC 2, Disk Filing System (DFS) 0.9E, four-channel analog to digital converter (ADC)  interface, casette interface, parallel printer port, an 8271-based disk interface and two 5-1/4″ floppy drives. I had also developed and installed a ROM-based memory editor/disassembler known as OZMON. The keyboard connector was a bit loose after all these years, but after a few wiggles the Beeb booted up like new! The disk drives still appeared to work, and I was able to format and read/write a blank 5-1/4″ flppy. So far so good.


Emulating a BBC Model B Micro

As of July 2011 my personal favorite emulator is BeebEm 4.13 (BeebEm413.exe) — I have utilised the Windows version of BeebEm under Windows 7 and also under PC-BSD 8.2 using Wine 1.3.21 (specifically the PC-BSD PBI for Wine) .  A longer list of emulators is available at http://www.stairwaytohell.com/emulators/homepage.html as of July 2011.

Some of my own software

I worked on a range of projects for my own entertainment back in the mid-1980s. Here is a short list, with links to some binaries, source code and/or documentation in a few cases.

  • OZMON — I wrote my own 8K ROM-based Assembler/Disassembler/Monitor.
    • Very useful for inspecting, moving and editing memory, disassembling machine code, and assembling fragments of machine code on the fly. Notable features:
      • Single stepping through machine code routines
      • Reading and writing may be independently performed on RAM, selected ROM slots, files or disk sectors. For example, even if OZMON lived in, say, ROM slot 13 you could use OZMON itself to read from (dump/disassemble) any othe ROM slot’s contents.
    • Version 1.0 was finished in 1984, version 1.1 was released in 1986 with the ability to also write to a different ROM slots (useful when editing ROM slots populated by RAM chips).
    • OZMON 1.1 ROM image — released in 1986, retrieved from the middle 2764 EEPROM in this picture using the cassette port and bbctapedisc. The image can be used directly in an emulator such as BeebEm.
    • OZMON 1.1 User guide — Raw text as emitted by the VIEW wordprocessor. (Despite the “(c) 1984” on first page, this manual is my 1986 version, edited to include OZMON 1.1’s new feature of writing to selectable ROM slots.)
    • Screen shots using BeebEm 4.13:
    • clips using BeebEm 4.13 and vlc (~1Mbyte to 2Mbyte, h264): reading two different ROM slots, single pass assembler then single stepping, reading from disc sector then from file, editing memory
    • Review in “Your Computer” magazine, July 1985
  • LIFE — Didn’t everyone implement Conroy’s “Game of LIFE” early in their programming career? Here is one of mine. from 1982, a mix of BBC Basic and in-line assembler.
  • TurtleGraphics
  • FORTH — well, my own idiosyncratic variant whose main claim to fame was rudimentary multitasking.

Historical note: This blog entry was actually made on June 11th 2012, to archive a web page I wrote on July 17th 2011.  Although largely for my own benefit, I’ve archived it in the hope it will be useful to others (like you, if you’re reading this page and you aren’t me).

Leave a comment