Operating Systems

The xbeaver emulator distribution kit runs a CP/M compatable system consisting of BDOSZ and CCPZ. In addition it runs VPMM which allows multiple programs to be run on multiple consoles. VPMM Can also run ISIS and UCSD-Pascal on one console session.

VPMM - A Quick Introduction

VPMM is started as a program under BDOSZ. Upon normal startup it runs the submit file A0:VPMMBOOT.SUB by default. This uses the device command. to load character device drivers and then start consoles.

The command VPMM ? gives help on the options that can be supplied to vpmm.

The command KILLVPMM terminates VPMM and returns the computer to BDOSZ operation.

The standard configuration gives drives A..M to be hard disk partitions and drives N,O,P to be network drives held on the emulator host operating system.

Each console started then runs the login program. This program reads A15:PASSWORD.LIN and checks to see if a user name corresponding with the device name of the console preceeded with a _ is found. If so it automatically logs in under that username. If not login/password prompts are issued to authenticate the user. The bye command logs off a console.

The program switch allows the user to switch between sessions (numbered 0..7). Switching between sessions can also be done at any time by using the hotkey NULL keyboard character (eg control+@) this will bring up a menu of sessions.

The device command may be used to assign devices on a per session basis to the CP/M list,reader and punch devices. Also the device command may also be used to install additional devices and start additional consoles. The device command without arguments gives help.

VPMM presents programs with a memory area of almost 64k given by the table below:-

Start AddressEnd AddressNotes
BIOSFF00FFFFBasic Input/Output System
BDOSFE00FEFFBasic Disk Operating System
CCPF600FDFFConsole Command Processor
TPA0100FDFFTransient Program Area
Low Storage000000FFCPM Buffers etc

For further reading the following are recommended:-

  1. Building character device drivers for VPMM

ISIS - A Quick Introduction

ISIS (Intel System Implementation Supervisor) is an operating system written exclusively for the Intel MDS (Microprocessor Development System). It normally uses a BIOS rom for booting and for character io while handling the disk controller directly.

The xbeaver emulator can run the ISIS operating system providing that MDS disk controller(s) are included in the configuration file. The program mdsboot runs under VPMM and installs an MDS compatable character BIOS and then boots the operating system. The command mdsboot ? gives help on the options available. Use the command perform ISIS from drive N: to boot isis with sensible defaults.

The ISIS program ISXTRN can be used to transfer files between CP/M and the ISIS system. ISXTRN ? gives help on the command. Note using ISXTRN GETHOST n:file file to get a file from the host (linux) system onto an isis disk preserves the filelength.

Download isis_emulator_pack.tar.gz the isis emulator pack to run the isis operating system.

CP/M - Gemini Floppy Systems

Gemini produced their own port of CP/M with a configurable bios. To run this you need to download gemini_emulator_pack.tar.gz. The file gemini.cfg describes the options available.

CP/M - Gemini Hard Disk Systems

The basic hard disk system was called the Gemini 3.

In addition Gemini produced and sold Multi-Format machines the first of which was the GM916 and later the GM925. The GM925 software was copy protected in that it needed a chip replaced in the standard floppy disk controller to run and would not run with a unmodified GM849 floppy disk controller. Research into these is not yet complete, but enough work has been done to allow these to run under xbeaver.

The emulator pack you need to download for these hard disk systems is gem925_emulator_pack.tar.gz.

UCSD-Pascal - A Quick Introduction

UCSD-Pascal is a portable machine independent operating system developed at the University of California, San Diego.

The program ucsdboot will install a bios and boot the UCSD system.

Output Conversion

UCSD permits configuration of terminal control sequences. However UCSD was written before ANSI terminals were in common use and it does not permit a multi-character escape sequence to be configured. In additon the Gemini SVC/IVC video cards treat backspace(BS) as destructive - which is not compatible with UCSD. Because ANSI terminals are almost universal today it was felt that keeping the UCSD system configured for an ANSI terminal was appropriate.

In order to allow UCSD to use ANSI sequences and to work with a Gemini SVC/IVC video card some conversion of output is required.

  1. BS converted to cursor left
  2. ESC treated as the escape sequence prefix
  3. ESC sequences that are ANSI are converted to a suitable SVC/IVC sequence

Note that the UCSD disk images are configured for 30 lines per screen. The file UCSDBOOT.SUB sets the gemini SVC installs an 8 pixel high font and sets up the screen mode to 30 lines to be compatable with this.


Download ucsd_emulator_pack.tar.gz the ucsd emulator pack and extract the files to the bvrnet directory (~/beaver/network/ in the default configuration). Read the file ucsdinfo.txt for instructions.