image of READY prompt

Wang2200.org

Here is an assortment of technical files: schematics, timing information, manuals, and any other low-level information that can be gathered or reverse engineered. While this page has some links to key documents, explore the links to learn more about a few in-depth topics.

The documents page contains all of these manuals and more, but this section presents just the ones that provide substantial implementation details.

Architecture and Maintenance Manuals

Here are a collection of architecture and maintenance manuals for various 2200 Systems. These are all available in the docs page, but are collected here for convience.

The Model 2200 Systems Maintenance Manual provided about 90% of the information I needed to write my Wang emulator. A big thanks to Jan van de Veen for having the manual, Georg Schäfer for making a copy, and Fritz Chwolka for scanning it. Not only does it describe the CPU structure, it contains information about a few subsystems as well.

Alternately, you may want to read the VP architecture and instruction set manual (87 pages, 3 MB) written by Paul Szudzik when he was at Computer Concepts Corporation. This was the result of reverse engineering the 2200 system in order to develop add on products.

Wang R&D Source Code and Other Resources

File Description
Wang R&D disk #1 A zip file containing a disk image from a Wang R&D platter. See the contained README.txt for more information about what is on it. This is probably the most interesting platter recovered so far, with over 600 files in its very flat filespace.
Wang R&D disk #2 A zip file containing a disk image from a Wang R&D platter. See the contained README.txt for more information about what is on it. There are many files that seem to be corrupted or in an unknown format. Still, there are a few interesting files on there.
Wang R&D disk #3 A zip file containing a disk image from a Wang R&D platter. See the contained README.txt for more information about what is on it. There aren't that many files on it; a few are in an unknown format or are corrupted, but there are a few valid files there.
Wang R&D disk #4 A zip file containing a complete disk image from a Wang R&D platter. See the contained README.txt for more information about what is on it.
MVP3.5 development system A zip file containing the source code for MVP 3.5 OS, along with a disk image containing the Wang R&D tools used to edit and assemble the microcode, producing a boot image identical to the official Wang MVP BASIC-2 Release 3.5 microcode. The zip file also contains the internal documentation on how to use the editor and assembler, as well as my own notes on how to get things to build. This is the crown jewel of this archive.
jsboot A zip file containing ASCII source code for the 2600 CPU (aka VP and MVP) boot ROM, plus the source code for the @BOOT boot-time menu system. These files were extracted from the WangR&D_disk4 image.
microprocessor tools A zip file containing a number of Wang R&D programs for editing and assembling microprocessor assembly code. It came from Roger Droz, former Wang engineer.
2236 terminal A zip file containing a number of Wang R&D programs for editing and building the images for the character generator ROM and keyboard mapping ROM. It came from Roger Droz, former Wang engineer.
2436 terminal A zip file of the original Z80 ASCII source code for the 2436 intelligent serial terminal. These files were extracted from the WangR&D_disk4 image.
CS/386 and Turbo Release 1.18 source code A zip file of source code for BASIC-2 for the CS/386 and Turbo CPUs. It is an interesting hyrbrid which is a mix of new 386 assembly and transliteration of the old MVP CPU source code.
CS/386 and Turbo Release 1.30 source code A zip file of source code for BASIC-2 for the CS/386 and Turbo CPUs. It is an interesting hyrbrid which is a mix of new 386 assembly and transliteration of the old MVP CPU source code.
Source code for the CS/386 boot PROM This is 386 asm source code for the CS/386 CPU boot PROM. It is mostly diagnostic checks followed by some disk bootstrapping code.

Wang 7180 Disk Controller Microcode and Disk Channel Documentation

The technical manual for the Wang 7180 disk controller (79 pages, 879 KB) was useful in reverse engineering the disk channel protocol in order to add disk support to the Wang 2200 emulator. Later on, Mike Bahia donated Microprocessor Manual of Mass Storage Devices (155 pages, 8.1 MB) which is the previous document obviously was extracted from. Because the disk channel implemented a protocol (as opposed to a direct low level control interface), the disk drive needed intelligence to perform its end of the handshake. Wang did this with simple microcoded CPUs; ironically, the disk controller here had an 8b CPU while the 2200 CPU was only 4b. The Disk Channel Description page has a summary and interpretation of the data found in the manual.

This document contains a few very interesting documents detailing some of the implementation details of BASIC-2.

2236 MXD Terminal Mux Z80 Code, commented via reverse engineering

While working on the emulator, I had the need to understand what the 8080 processor was doing on the 2236 MXD terminal mux card. This listing is the result of a few weeks of free time to reconstruct source code. This zip file contains the source .asm file, the above listing file, and intel .hex and raw .bin versions as well.

The assembled output exactly matches that of the original ROM, but there very likely are misleading/confused comments as there are still a few sections which I didn't spend enough time to figure out. In its current state it was enough for my purposes. Let me know if you find any errors.

MVP Backplane Modification to Allow MicroVP and CS/386 CPU cards

I had a system with a MVP backplane, but a flaky CPU board set. I also had a spare microVP card. After studying the backplane connections, I came up with a small backplane wiring change which allows using the microVP and CS/386 CPU cards in the modified MVP backplane.

Wang 2200 Keyboard Replacement Keycaps

Timothy Colegrove and Philip Lord scanned the keytop legends from a Wang 2200 and converted it to a cleaned up PDF. Print these out on heavy paper stock, cut them out, and replace any damaged or missing keycaps on your keyboard. These are suitable for the first generation 2200 keyboards, but not the ones based on the serial terminals, which had double-shot keycaps, instead of paper legends under transparent plastic covers.

A Collection of ROM/EPROM images

This is an impossible task to get everything and to keep it all straight. There were so many boards, and some boards had multiple revisions, and often EPROMs were updated to address bugs as they were found. Some EPROMs have labels, some have pencil markings, some had labels but after 30 years the gum has dried up and the labels have fallen off. Still, this is all what I have.

In all cases, the images are in intel .hex format.

File Description
wang2200E_CharacterROM.hex Wang 2200E Character ROM, contributed by Timothy Colegrove. It exactly matches the character generator ROM already used in the Wang Emulator on this site.
wang_2336DE_terminal.zip This zip file contains three EPROM images for positions L5, L9, and L10 of the Wang 2336DE intelligent terminal.
wang_2336_terminal.zip EPROM set from a Zdeněk Houška's 2336 terminal. I believe it is a German model, so it isn't quite the same as the EPROM set above.
wang_2536_terminal.zip This zip file contains EPROM image for the Wang 2536 intelligent terminal.
wang_730-1728_0067-001D_TEAC_MT-2ST-45D-14-U.hex This is the eprom from a Wang OEM version of a TEAC MT-2ST-45D-14-U digital cassette tape drive.
wang_6789.zip EPROM set from a 6789 board. Contributed by Zdeněk Houška, from his 2200LVP system.
wang_6792_74s188.hex ROM image from a 6792 board. Contributed by Zdeněk Houška, from his 2200LVP system.
wang_7925.zip EPROM set from a 7925 board. Contributed by Zdeněk Houška, from his 2200LVP system.
wang_7973.zip EPROM set from a 7973 board, aka MXE terminal mux. Contributed by Zdeněk Houška, from his 2200LVP system.
wang_8696A.zip EPROM set from a 8696A board. Contributed by Zdeněk Houška, from his 2200LVP system.
wang_7816_mux.zip EPROM set from a 7816 mux board, aka 22c32 triple controller. Contributed by Zdeněk Houška, from his 2200LVP system.
wang_7591_2236mxc.zip EPROM set from a 7591 board, aka 2336MXC terminal mux. From my former 2200LVP system.
wang_2227B.zip EPROM set from a 2227B serial interface board set.
wang_2228B.zip EPROM from a 2228B serial interface board set.
wang_2275.zip EPROM set from a 2275 data storage system.
wang_8034_microvp.zip This is the three EPROM boot code from a micro-VP board, specifically board number 8034, though they are identical to a different micro-VP, board number 8937.
wang_9561_386mvp.zip This is a two EPROM boot code from a 386 MVP board.

Implementing BASICs: How BASICs Work

William and Patricia Payne wrote a book in 1982 called Implementing BASICs: How BASICs Work (3 MB, 224 pages). Despite the generality of the title, it is mostly about Wang 2200 MVP BASIC. This gives some insight into what is going on under the hood of the BASIC interpreter, such as how the variable table is organized, and how the interpreter analyses the source for errors and how it carries out execution of a program.


If you have any technical documents on the Wang 2200 or its peripherals, I'd certainly like to hear about it.