The Wang 2200 (2008)
wang2200.org
wang2200.org
http://www.wang2200.org/news.html
I also have websites for two much more rare Wang machines, both predecessors of the 2200.
The 3300 was intended to compete with PDP-8s, and has a nice front panel. It supported up to 16 users, and could run BASIC or FORTRAN. The emulator comes with an image of the BASIC interpreter; alas, I don't have a copy of their FORTRAN. The machine had a reputation for poor reliability. Supposedly when the 2200 became available, Wang offered all 3300 customers to swap their 3300 for a better 2200 system.
As far as is known, one system ended up in the garage of a guy in Belgium. Unfortunately he passed away a few years ago. It seems likely that computer got scrapped.
This was a Wang calculator had its microcode rewritten to be a word processor. The machine had 256 bytes of RAM (originally core, later replaced with RAM chips)
My father worked for Wang through the 1970s so I'm familiar with all of these and also with several other Wang products. I see you have a lot of documentation hosted here too. Brings back a lot of memories.
In a sibling comment I just posted a little story about one of my earliest programming jobs, on a Wang 2200 MVP.
Thank you for your site - I have a great fondness for those old systems I grew up around.
My major memory of that time was doing backups with huge, multi-platter removable disk packs. Incrementals at noon every day, fulls one Sunday a month, and managing the offsite storage...such a pain.
Here's a little inside baseball on that.
TOM Software (Burien, Washington) had many applications written in Wang Basic-II. Sometime in 1983, or so, I hired on with TOM Software to help with finishing and porting an interpreter for Wang Basic-II to various small (and not so small) UNIX systems that UNIX system vendors provided to TOM Software in the hopes of getting some applications on their systems.
It was a hugely fun time, working on that interpreter. It was all written in C, and unfortunately, it's wasn't as fast as we would have liked. It did work and we did ship it on a number of platforms. Machines like the Fortune 32:16, the Pixel, Zilog Z-8000 micro, Perkin-Elmer 8/32, and even a Burroughs system (wtf?)
As I remember, the Wang VS system was released and was a competitor to the Wang 2200.
There was another company, Niakawa (sp?) if I remember, that did have a fast port of the Wang Basic-II interpreter to Windows based systems.
Towards the end of my time there, we were coding certain SPEED-1 subroutines directly in C in the interpreter. They could be called via a magic command ... "BOB-N", that was embedded in the interpreter. So you had BOB-1 XXX, BOB-2 XXX YYY, etc.
There is a book by Payne and Payne called "Writing Interpreters," which if memory serves, kind of centers around Wang Basic-II. I think I still have a copy of it in my storage unit, but I might have chucked it. I didn't find it on Amazon when I just searched, so perhaps I'm wrong.
It was really a good time for me. I learned a lot about writing interpreters and other V7-ish stuff working there.
The VS came out a few years later and was an IBM 370-like machine in a minicomputer form factor. It supported 370-like assembly language and several compiled languages including COBOL, RPG-II, and BASIC. The BASIC was quite a bit different and considerably evolved compared to 2200 BASIC.
But I had a copy of their IN/ix 16 bit UNIx that ran on their PCs, being a dummy I tossed the hardware when I moved many years ago :(
I remember reading the manual for a customer's machine (2200T? aka "Model T", or maybe 2200VP, aka "2200 very profitable"). The manual indicated that several disk operations were implemented in an extra chip in the new model.
Some time later, their machine kind of broke. I experimented and discovered that only the disk operations were not working, everything else was fine.
I was pleased as a software engineer to be able to tell the customer, "Call Wang maintenance and tell them the XYZ chip is fried."
They had developed quite a capable application, which is amazing given the limitations of the system. The 2200 was memory-limited (both code and data) and so in order to deal with this limit, we had to use code overlays. And the BASIC (mostly) didn't support symbols for subroutines, so we had to use line number conventions. For example, lines 8000-8999 might have been designated as the overlay area. To load some overlay routines, those lines would first need to be cleared, and new code would be loaded that by convention would start at line 8000.
And subroutines (mostly) didn't have parameters or return values, so we had to keep conventions for all the different subroutines to take parameters in certain named variables and to return values in other named variables. There were no local variables, so all the code needed to conform to some conventions over use of temporary variables so that different parts of the code didn't stomp on each others' data.
I don't remember much else about the system, but they did manage to get the Simplex Algorithm working well enough to solve optimization problems, such as where to apply resources in order to maximize revenue.
I also got a trip to Ecuador out of it in order to do a customer installation. Pretty cool for a college student to get international business travel.
On my way out, coming down the stairs from the balcony, was a portrait of Dr. Wang!
The other thing I remember was that when An Wang announced his retirement no one had any confidence in Fred. My boss and our more clued-in clients all thought Fred was going to run the company into the ground, adn they were right.
It's a shame they didn't make it though. From a technical perspective, the old man knew what he was doing.
https://www.latimes.com/archives/la-xpm-1985-07-20-fi-6028-s...
Russia developed a Wang 2200 VP work-alike, called the Iskra-226. I say "work-alike" in that apparently it only modeled the Wang BASIC-2 syntax, but was a completely in-house development from scratch. The compatibility was simply so they could take advantage of existing Wang BASIC programs. The machine support Cyrillic characters in addition to the standard Wang character set, and added a number of syntax extensions. This page talks about it, and has scans of some manuals (in Russian) for it:
http://wang2200.org/iskra-226.html
In the early 80s, the team which had just created BASIC-II (a large advance over the original Wang BASIC dialect) created a system that could run both COBOL and Basic-3 applications (though any one "partition" could run only BASIC or COBOL). BASIC-3 added long variable names, named subroutines with their own variable scope, DBMS commands built into the language, and more.
Wang produced brochures for this new product and had started beta testing when it got crushed. The Wang VP team felt the 2200 was going to "confuse" the market because this new product would encroach on the low end Wang VS products. One of the engineers saved one of those beta (though not final beta) disks. So far no manual has turned up, but through playing around I discovered some of the features. I haven't yet figured out how to set up a partition to run COBOL, though. If anybody cares to dig further than I have, I'll happily share my notes on it (not published on the web page)
http://wang2200.org/wang_basic.html#WangBASIC3
After Wang was folded into Getronics, a company named Faastcom was started in Quebec to keep the 2200 alive using modern technology.
http://wang2200.org/fasstcom.html
Finally, here is a collection of surprising side effects and outright bugs that I've found (and some that others have shared) in the interpreter. Most of them are for the first generation Wang BASIC, which was in ROM and thus bugs lived forever; BASIC-II was loaded from disk, so bugs were usually quickly removed.
I meant to say, "The Wang VS team ..."
My late father, after a short stint with Wang, set himself up as an independent developer creating bespoke software (usually book-keeping) for smaller companies in Wang 2200 BASIC.
As a consequence these machines regularly turned up in our small middle-class living room. I pretty much learnt to write on green-lined fanfold paper and I played in the huge boxes that they arrived in. Family legend has it that at a very tender age when asked what I wanted for Christmas I answered "pooter" ( a story later embellished further as that having been my first word).
Enjoyable memories:
The terminal's keyboard had a "TRON" key (TRace ON and there was a TROFF key for TRace OFF, which caused the line of BASIC code executing to be displayed on the screen).
Those little compact cassette drives in the terminal were intended for data only, but in practice didn't get much use once (8 inch) floppy disks were added. They may have had some superior tape speed but the media was otherwise a completely normal (but very short) compact cassette. My father had various programs recorded from the radio on spare ones at about 10 minutes per cassette or so (both sides) with the inevitable missed bit while he'd swapped tapes. Frustrating to listen to on long car journeys.
When you activated the cassette tape drive in the terminal, the fields from the electric drive motors distorted the display on the adjacent CRT.
At one point we had an Apple II system on trial, but nothing came of that (I don't know why), and then a ZX81 that was sufficiently close to being a toy that it ended up in my own hands at the age of 9 and I taught myself to program from the manual.
I have to mention that mentioning in the school playground that my Dad "programmed Wangs" did not go down particularly well.
Once the IBM PC arrived on the scene it was fairly obvious that the Wang days were numbered, but a licensed emulation package from Niakwa allowed my Dad to keep on plugging away in 2200 BASIC for a good long while after that.
If I remember rightly the Niakwa system was originally run on the Wang PC, a weird DOS based but not IBM compatible system (mentioned in other threads here). I had the fun of teaching myself how to use a demo version of AutoCAD on that machine and then my Dad had me demo it to a manufacturing customer. That demo went down very well, from a barely-teenaged kid I guess it proved ease of use!
Some while later, during a summer break from college, my Dad asked me to see if I thought I could convert one of his old programs to a more modern language. I was given access to one of the real Wang 2200 MVP terminals at a customer site to take a look through the code. Pure spaghetti code! No comments (REM statements) to give me a clue, all sorts of clever PACK/UNPACK processing to make maximum use of what had originally been very restricted amounts of memory. It didn't help that the terminal was in a cupboard with a movement detector on the light so I had to stand up and wave my arms around every five minutes or so when that turned off. He didn't seem too surprised when I threw in the towel.
A different client had a big MVP machine (with capacity for eight terminals I think) that they wanted to get rid of - some college friends and I picked it up and we had it set up in our student house. It sounded like a jet engine winding up when you turned it on.
Some of the customers were a nuisance, but others became family friends. His last and best, the one to whom I demonstrated AutoCAD, is still in business, and attended my father's funeral.
I kind of miss those noisy old machines. Not as much as I miss my Dad though.
Up thread, I mentioned that I helped with the development of a C language interpreter for BASIC-2.
You're exactly right about how tight memory was.
One of guys at TOM Software, "Russ," used to keep a 1-dimensional array variable in his code. I remember one day we did something to the interpreter that wound up giving BASIC-2 programs a few additional bytes of program storage space. Russ just about had an orgasm as he updated his "free space" variable. When I asked him about it, he indicated that "When I get enough free memory, I can implement another feature!"
Way to take one for the team, Russ, wherever the hell you are these days!