31 comments

[ 2.1 ms ] story [ 78.7 ms ] thread
I'm a big fan of Wang, especially the PC-compatibles that came out in the later 80s. Jan van de Veen[0] has a Wang-themed website/personal museum with some great pics.

[0]: http://home.wxs.nl/~janvdv/wang/wangmuseummenu.htm

In the mid 1980s I worked for a guy who did COBOl programming on Wang VS systems. I recall setting up a PC network for one of our clients. The Wang PC boxes were huge.

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.

To be fair, I think An shot himself in the foot long before the boy took over--by making a "PC" with a 16-bit bus when the standard was 8-bit. From a computer engineering perspective, it was the obvious and correct thing to do. From a business perspective, it was an epic fail.
that could be--it's been a long time, but my memory is that the network cards were Wang-specific, you couldn't use generic pc cards. They really did not get the whole PC thing. They'd basically invented office automation, but couldn't get to the next stage.
DOS was barely an operating system, so the programs had to bundle their own drivers & speak directly to the hardware for anything more than disk/compute. Because of this, that one little 8/16 change cut Wang off from the lion's share of the PC software library--first man to the gold rush, but without a pick or a shovel.

It's a shame they didn't make it though. From a technical perspective, the old man knew what he was doing.

Yes, this. My father worked for Wang through the 1970s and he thought it was a huge mistake that An Wang handed over the company to his son Fred, instead of to a company veteran like J.F. Cunningham, who left around the time it became clear that Fred would be An Wang's successor.

https://www.latimes.com/archives/la-xpm-1985-07-20-fi-6028-s...

I used to be an operator (admin), for the 2200, I forgot the application it ran but I think it was some kind of billing and it would dial out to get/receive data. It was a very nice machine, the application was written in Wang 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 worked for a law firm in the late 80s - early 90s that used a Wang VS system for data and word processing, before and until just after we installed a Novell LAN. My boss programmed the system using a language called SPEED-2, which I never managed to learn. We had a number of highly non-PC compatible Wang PCs for a time, and eventually started installing Wang terminal cards in standard PCs to link to the main system.

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.

Wang did sell an IBM-compatible board after it was obvious that Wang wasn't going to win the desktop computing market. I had one of those boards, and the Wang to go with it; worked fine, and I don't ever recall any incompatibilities.
Yep, SPEED-1 and SPEED-2 were products of a company called "TOM Software," where TOM was short for "The Office Manager."

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 was more of a successor to the 2200 than a competitor. The 2200 was mostly a single-user system with a ROM-based (later, firmware-based) OS that simply ran a BASIC interpreter. Later versions (e.g., 2200 MVP) supported limited multi-terminal, multi-user capability, but it was essentially multiple independent BASIC interpreters, one per user.

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.

Thank you for the clarity. Good to know.
Great post, thanks. I remember visiting TOM with my boss one day (our firm was located in Seattle, just north of Burien), and seeing their server room behind glass, a sea of low-rise Wang systems with a single tall VAX standing above them like a skyscraper.
This makes me nostalgic so the following might get a little long...

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.

> ... all sorts of clever PACK/UNPACK processing to make maximum use of what had originally been very restricted amounts of memory.

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!

Our school had a Wang 2200 and several Commodore CBM 4016. Those were the computers I started programming with in the early 80s. The best thing about the Wang was its typeball printer. It sounded like World War 1.
I worked with Wangs back in the day, in BASIC.

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."

Lesser known was the language/compiler combo created for it: Wang-69.
I'm the author of the website. Why is the title is tagged 2008? The website started in 2000 or maybe 2001, and has been actively maintained since then, including a big update to the emulator in 2020:

http://www.wang2200.org/news.html

I also have websites for two much more rare Wang machines, both predecessors of the 2200.

https://wang3300.org

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.

https://wang1200.org

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)

This is a really cool site! Thanks for maintaining it.

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.

https://news.ycombinator.com/item?id=32232557

Did the 2200 keyboard have a solenoid built into it to made a tactile typewriter-like "clunk" when you pressed a key? I have a hazy memory that it did, but it's been so long since I sat in front of one that I'm not sure if it's a constructed memory based on some anecdote of my father's!

Thank you for your site - I have a great fondness for those old systems I grew up around.

The schematic for the "7048" keyboard logic shows a PNP transistor controlling an output labeled "Clicker". It doesn't show what it is connected to, but I'm 99% sure it is a solenoid because there is a flyback diode protecting that transistor.
One of my earliest programming jobs as a college student was programming BASIC for Wang 2200MVP systems. A couple business school graduates had formed a partnership to develop semi-custom computer applications to support agribusiness corporations in Latin America. They got some hardware through one of Wang's developer programs (which my father worked on at the time, around 1981-1982). They also needed programming help, and my father referred them to me.

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.

There are a few other highlights I'd like to draw attention to.

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.

http://wang2200.org/stupid_tricks.html

> The Wang VP team felt the 2200 was going to

I meant to say, "The Wang VS team ..."