xbeaver (A Nascom and Gemini 80 bus emulator)

Beaver Booting xbeaver is a 80bus (nascom, gemini and others) emulator. It runs on a linux system (under curses and X). The makefile can also produce experimental versions based on SDL/SDL2 rather than X however these currently have reduced functionality.

The 80bus is a microprocessor bus standard which is derived from the Z80 microprocessor bus. Several companies produced boards for this bus which was quite popular in the UK.

xbeaver supports emulation of a considerable number of these boards and this allows many different system configurations to be emulated by combining different board combinations into a system. Several configurations are included in the download - each configuration being specified by a configuration file. The user is free to create their own configurations as desired.

New boards can be implemented by any C programmer by following these guidence notes. Please send the source code for any new boards implemented to . This address can also be used to send ideas for improvements and bug reports.

The code and pre-compiled Binary (tar file) is available for download as xbeaver.tgz. Two versions are available:-

  1. Stable version which has had some testing
  2. Development Version which represents the (almost) latest bug fixes.
Both are released under the GNU License.

This documentation pack can be downloaded as xbeaver_documentation.tgz for local reference. Also released under the GNU License.

For the MAC and PC John Newcombe has produced a Docker image of xbeaver. For details see https://glasstty.com/wiki/index.php/The_Gemini_80-Bus_Saga_-_Part_1#The_XBeaver_Gemini_Emulator or you can go directly to the docker hub page https://hub.docker.com/repository/docker/johnnewcombe/xbeaver (Registration Required).

There is a guide to using this docker image at https://glasstty.com/running-xbeaver-with-docker/.


Running xbeaver

xbeaver -h gives help on the command line arguments. The following arguments are permitted:-

Keyboard Mapping

The xbeaver supports four different keyboard maps. The default can be selected by means of the keyboard keyword in the definition of the video card (see X windows arguments). The keyboard map can also be changed by hotkey commands:-

Key MapHotkey Sequence
GeminiLeft Control key held followed by right control key
NascomRight Alt key held followed by left Alt key
MatmosAs Gemini
WordstarRight Control key held followed by left control key

Driving Physical Hardware

xbeaver can access real hardware. This can be achieved in one of two ways:-

Note:- xbeaver must have permission to access any device used in the configuration.

There is also an optional linux device driver z80xbus.tgz. This works with extbus the board and custom hardware to provide a microprocessor style bus. Furthermore it can be used as a model to be modified for different custom hardware.

Operating Systems Supported

Several operating systems are available for the xbeaver system.

For full details of the 80 bus system see www.80bus.co.uk or a mirror of the site at https://80bus.co.uk.mirror.jloh.de/

Other machines emulated

The xbeaver system is now capable of emulating:-

  1. The Intel Intellec MDS-800 (This is the original machine CP/M was developed for) - see operating systems for details on how to run ISIS (The original MDS operating system).
  2. The Triumph Adler Alphatronic (Matmos PC)
  3. The NorthStar Advantage

Software Collection

A collection of software for real/emulated machines (mostly z80) is available for download.