Virtual Honeywell computer based on Series 2000 Hardware.

Implements a "fully loaded" system: 512K memory, All instructions including Scientific Unit, Memory protection and relocation. Based on Honeywell Series 2000 Programmer's Reference Manual (There is mention of 1M memory in this document, but nothing else seems to support more than 19 address bits - particularly address modifiers in 4-character addressing mode).

Documentation states that a Type 220-3/6/8 console is required on all Series 2000 Systems, which likely means that a full-feature front panel shown above never existed. If the java program is started with a "220-3" on the commandline, then a minimal control panel will be used - similar to the one provided on the 220-3 console (shown right).

Here is a short video of it running MACHIN, the Pi computation program (under monitor). YouTube Video

Sample programs include Card Monitor B and Tape Monitor C, re-creations of the monitors used to load and run programs from punch cards or tape.

Basic Operation

Notes on Peripheral Read/Write Channels

Examples and Demonstrations

Easycoder Assembler Implementation

FORTRAN IV Compiler Implementation

MOD1 MSR (Mass Storage Resident) Operating System Implementation

Current (at least partially) implemented peripherals:

The built-in assembler is basic but functional. Not all Easycoder directives are supported, but there should be enough to get by. All main op-codes are supported, but non of the "pseudo" op-codes (e.g. implied variants). There is also a Unix-style assembler, linker, and other binutils provided in the "tools" subdirectory.

The sample programs include "machin.ezc", which is the program from The Honey Pi Project, and "mcetests.ezc" which is a test set for the MCE instruction and also uses the line printer.

There are a lot of unanswered questions that may lead to unexpected behavior for someone familiar with the original hardware. If you have information that can help me improve the authenticity of this project, please share.

Details of the BOOTSTRAP button and console 'B' command are described here. There is a mag tape bootstrap loader program that the assembler can use to create a mag tape image of a program, which can be run via BOOTSTRAP. When selecting a file to assemble, check the "Tape Image" box. This will result in a ".mti" file being created, complete with loader, header, and punctuation repair blocks. Note, programs used with this loader must be ORG'ed (at least) at 1340 (decimal). The program "mcetests.ezc" can be assembled with this option, and yields an image that can be mounted on Tape Drive Unit 000 and used with the BOOTSTRAP function. Use a boot address of 0.

Downloads are available at This project is also hosted on github here.

Contact: durgadas311@gmail