What is interesting is that these versions include a CP/M 8086 emulator. I would imagine that would be a ‘big deal’ for users of the older MP/M to migrate into a newer 80386 environment. From what I’ve seen in other places these were compatible with MS-DOS 3.0 . It can also read extended dos partitions! Since they predate VCPI/DPMI there is no way to run protected mode applications. Concurrent DOS/386 is later followed up with Digital Research Multiuser DOS. It is interesting, well to me that DR-DOS was basically a single user, single tasking version of the Multiuser DOS.

Multiuser DR-DOS

I was able to install this on Qemu 0.13.0. Although this includes some IPX/SPX stuff from the later purchase of Digital Research by Novell, it still remains a largely MS-DOS 3.3 compatible OS. Because it uses protected mode, and the v86 mode, it is still incapable of running VCPI/DPMI programs. Also absent is the CP/M emulator. I think there was a DR-DOS 6 equivalence sold as a multiuser, but by the time of DR-DOS 7, the product had been forked and several VARS started to sell their own versions based on Multiuser DR-DOS. These included (but probably not a complete list)

REAL/32 certainly feels a lot like DR-DOS (which it is derived from) and what is cool is that it supports DPMI applications. I’ve tested some Borland Pascal stuff, along with DJGPP. Like the others it supports serial terminals to be hooked up.

real32 serial connection

Qemu makes it super easy to simple to switch to the serial port, and bring up the ‘second user’. I’m pretty sure you could use qemu to redirect it’s serial port over TCP…

And speaking of networking, the install program also seems to have some kind of networking config built in, so I would imagine each VM can have it’s own IPX/SPX setup? I’ll have to mess some more with it.

This has been a fun thing to go through, but at one point it was a popular trend to convert big expensive 386 computers from the late 1980’s into multi-user, multi-tasking beasts much like a mainframe. But instead of CICS, and PROFS people ran Dbase III, WordPerfect, and all kinds of email solutions from ccmail, to MS mail, and even some dbase programs, compiled by clipper into being email clients.

In a way things were more ‘simple’ back then, and the 80386 CPU had a card up it’s sleeve v86 mode. v86 mode provides hardware emulation of a 8086, allowing the base OS to spawn dozens of these virtual machines. All that was up to the ‘supervisor’ was to create virtual peripherals, much like how Windows/386 of the day ran multiple MS-DOS VM’s on a single machine that you could see at once, these solutions provide the output to multiple terminals.

While Windows/386 sat on top of MS-DOS, these multitasking DOS’s had the v86 mode multitasking as part of it’s core, and some of the later ones were themselves protected mode operating systems.

But juggling multiple MS-DOS applications at one could be quite a challenge. And of course there was the whole dos extender thing, leading up to VCPI, and DPMI.

While MP/M-86 is a grand daddy to a bunch of Digital Research derived OS’s, it’s not 386 specific so I’m going to omit it for now. I’m sure it’ll be worth doing it’s own write up.

I’m sure I’m going to miss a bunch of these, but let’s have a quick rundown.

Concurrent DOS/386

DR-Multiuser-DOS 5.0

Real/32

TSX-32

PC-MOS/386

VM/386

VMOS/3

If anyone knows of any others feel free to give me a shout. It does seem that multiuser DOS was a good market at one point.

Back in the day SCO offered eval CD’s but in recent times it’s been harder to find them.

But thanks to a post on the blog Sentinel – The Fix Is Out There, I’ve not only been able to download an eval CD of SCO OpenServer, but I’ve been able to verify that the exe’s I’ve been able to build for Xenix run on OpenServer.

One thing is for sure, if you really really wanted Xenix for whatever reason, OpenServer is really FAR more useful, as it not only runs XOUT binaries without fail, but it supports bigger disks, and includes TCP/IP in the build by default!!

I’ve installed it in Qemu, for some weird reason I couldn’t install the default installation on 0.13.0, however it installed without fail on Qemu 0.10.5. I installed using the AMD PCNet NIC, which the install picks up on PCI Bus #0, device #3, and function #0 … Which will be important to someone who tries to use the NE2000 driver to only find the AMD PCNet driver works far better. I would assume it’ll load up in VMWare as it also emulates the same NIC.

I bought a copy of OpenServer years back, along with UnixWare, and it turns out that the jewel case is empty… Very annoying, but I still have my key codes and stuff. I’m not sure what version it should be for, I think it’s 5.0 as it doesn’t mention a revision on the certs.. If / when I find a dev kit that’d help things along a bit (I have codes for that too!) but in the meantime… I figured installing gcc from xenix, and using xenix 2.3.4’s ld let’s me build and link some x.out stuff. Although it’d require a bunch of work to fix things like irc but I’m not that much of a diehard just yet.

I don’t make much of a secret of it, but while I was in high school, and the first year of college, I loved Pascal. And not just any Pascal, but Borland Turbo Pascal 5.5 .

While in highschool, we used these Unix “like” work stations, the “ICON” running QNX. Since it was another one of those built by Canadians for Canadians type thing we couldn’t use Borland, instead we used this knockoff called Turing. While the bootleg floppy I had of Turing gave up the ghost (bad sectors, argh!) I recall that it was strictly interpreted, and they did have a version that ran on MS-DOS..

Anyways, fast forward and I moved to the United States, and of course we didn’t use weird knockoffs, we used.. Borland Pascal.

And it compiled.

Oh, and it could build TSR’s!

Man it was AWESOME. I even could coax it to run in protected mode, along with dosx.exe, the dos extender bundled in Windows 3.1 . Although much to my dismay, only ‘tiny’ or programs restricted to 64kb could run in this mode, as the libraries were not even slightly protected mode safe. In my opinion between the industry at the time holding so dearly to the brain dead 80286, and charging a FORTUNE for protected mode tools, it really did drive people mad.

Anyways I eventually had to come to terms with C, but I’ll admit, for the first while, I used EMX under OS/2 and p2c (GNU p2c Pascal), as a great crutch.

So while browsing around, I came to some bbs source code page, And I was surprised to see a few things… An early BBS for Unix SYS III, another one for Xenix, and WWIV when it was all in Pascal, ported from version 3.0 to 7.0. And they (among all the others) include SOURCE CODE!

Then searching with a ‘known known’, I turned up this excellent resource in Russia, pascal.sources.ru, which has a good amount of pascal source.

Then there was an “AMD” fix (that worked fine on intel cpu’s) that would raise the bar to 2.1 Ghz. However beyond that point, the networking would break, and cause Windows 95 to fail with the following error:

And it’s simple to apply, just start a normal Windows 95 install (I’m using Windows 95a, the first CD version) and then once it reboots, just boot off the provided floppy image, and it’ll slipstream in the fixed kernel, ndis handler and a bunch of other stuff. Then reboot again, and carry on.

It works so well, that I loaded it on my 3 Ghz P4, however I got this disastrous message:

Insufficient memory to initialize Windows.

Quit one or more memory-resident programs or remove unnecessary utilities from your CONFIG.SYS and AUTOEXEC.BAT files, and restart your computer.

Which after a little bit of searching, comes down to the fact that I have 1GB of ram in my P4. A lot of people talk about tuning the vcache as it’ll initialize far too big, and not leave enough memory for Windows 95 to actually operate. I had no luck there, but with more searching I found an easier fix..

Instead, just limit the amount of memory that Windows 95 will initialize. KB184447 talks about this, and I’ve found this works as an optimal setting for my system.ini:

Using these settings, I’m limited to 921MB of ram, but honestly an environment that was built to run on 4MB systems, and comfortably in 8MB of ram, 921MB is just fine. So far I’ve installed Internet Explorer 5.5 on my P4, and all is well. In addition, it works great on Virtual PC, as even some emulators are fast enough that they too run into these old timing bugs.

Naturally, PCI bus users (is that everyone now?) will want this update from intel, which will update a bunch of core components in Windows 95 to allow it to function better. I should add that both on Virtual PC, and my p4, that once the PCI update is installed, I went into the device manager, and removed the default VGA adapter, and my graphics was running correctly. The only weird thing is the ATI Graphics Ultra Pro PCI (mach32) would crash Windows 95 if I ran it at 256 colors, however it works fine in both 16 color and 16bit (65536 color) mode.

Because then I see something like this come my way as a query from google:

“is there a version of colossal cave adventure that runs on 64 bit systems”

Well I certainly can’t let that one go unanswered.

So whomever you are stranger, here it is. Well for Win64 x86_64 machines.

This is built using f2c on MinGW64. I’ll spare you the details, but it compiled, and fired up and I got lost in the woods… So I assume it is working…..

For those of you not in the know, colossal cave adventure, or sometimes known simply as ‘adventure’ is the grand daddy of all text adventure games.

As mentioned in this timeline of adventure versions, adventure was written by Willie Crowther and expanded by Don Woods. This version, the Kenneth Plotkin version was derived from Kevin Black’s DOS version and Bob Supnik’s Decus versions.

With that said, there is a tonne of INT2 and INT4 casting, which I’ve just removed as I’m passing it through f2c. I suppose I could have seen about fixing the variables, but I just fixed the ones f2c and gcc really complained about. Included in the download is the modified source, and the original source, so anyone can take a look at it.

Now I managed to get a new computer between posts, and it’s not working on virtual pc… I may be 500 updates behind though so maybe it’s something else. So in the meantime I’m testing with Qemu.

The other oddity is that compiling QuakeWorld with GCC 2.95.3 with either -O1 or -O2 builds a client that will time out after 2 minutes… -O0 ran for over an hour with me playing and dying a lot on quake.xs4all.nl:27500 …

Oh and what good would this be without pictures?

Yes, I’m really that bad.

You can find quakeworld servers on the site quakeservers.net. And I can verify that you can indeed download levels!