WineVDM is improving at a dramatic rate

It’s incredible how much it’s improved since I last touched on WineVDM, the port of Wine to run on Windows using the MS-DOS Player (and Mame 80386 emulation) at it’s heart.

The latest source build WineVDM_2018_07_30b.7z is now capable of loading and running Sim City for Windows 1.0.

I found it best to install Windows 3.0 into DOSBox, and then your application.  After the install I copy the application so the physical drive of the hosts matches where it was installed, and then unpack the 7z build archive into that directory.  There is a ‘WINDOWS’ directory and I xcopy the installed Windows directory into there so it has all the INI files, fonts and all that jazz.  To make sure it doesn’t conflict I delete the following from Windows 3.0:

del windows\system\*.drv
del windows\system\*.exe
del windows\system\*.mod
del windows\system\WIN87EM.DLL

Since these files are most certainly going to be emulated by WineVDM.  After that it’s time to run stuff!

130 KLOC!

I should also add that I’ve been able to use QuickC for Windows, and build a ‘non trivial’ program, the Fortran f2c compiler weighing in at 104,245 lines , and use that to compile 16,182 lines of Fortran 77 into C, and then compile the resulting C + the Fortran runtime library a staggering 130,405 lines of code, and the resulting binary works, just like it did on Windows 3.0!

I’ve also been able to print a text file using Microsoft Word 2.0 much to my amazement, although anything involving fonts just locks or crashes.  I can’t say I’m all that surprised.

And yes, it does in fact run SkiFree 1.0

SkiFree on WineVDM

So no need to wait for Win3mu, there is WineVDM which is being developed RIGHT NOW, and the source is already available.  You can see my notes on building it here.

SimLife for Windows

Sim Life on Crossover for OS X

Continuing in my eventual goal to get all the Maxis games (Sim City, Sim Earth) for Windows 3.0 I just acquired Sim Life.

Although the box that I have is the ‘Classics’ version, it actually does support Windows 3.0 as specified on the box.  The requirements were again massive for the era, but pitiful for today requiring an 80386 processor, and 4MB of RAM, and a VGA display!

Unlike Sim City, the UI in Sim Life prevents you from moving MID child windows under the title bar, making playing on modern machines much more tolerable.  My copy arrived with 3 low density 3 1/2″ diskettes, and a 204 page manual, making for a very hefty learning curve, along with a more involved experience then something casual, say Spore.

There is no doubt about how there is a great deal of overlap between Sim Earth and Sim Life, although the timescale is certainly more geared to life, unlike Sim Earth’s geological timescale, and even with these 3 programs it certainly feels like the save files should have been able to be transfered at some point, that the genesis of Spore is here with moving from geological to biological then to human lifetime scales.  Although with so many things to change and get involved in, I really have to wonder if dumbing down Spore was the ‘right thing’ to do, to make it more accessible, however there is no doubt that the space portion of Spore was terrible with only a single ship to command, which made growing an empire of any size once the Grox has been encountered impossible.

Having a modern display does make the sense of the planet feel laughably small, but it’s a game, not a real life simulation, and as such expected to execute on 16Mhz machines.  That said running on Crossover (Wine) on my Xeon it is incredibly snappy.  One nice touch is that Sim Life is able to detect sound properly and it’ll run silently on Windows 3.0, but with 3.1 with configured audio & MIDI drivers, it’ll play (annoying) sounds, and the occasional MIDI track.

The included catalogue for this game didn’t have any prices so I don’t know what the retail price was at the time.  And I have to admit, short of collecting old games for Windows 3.0 there is probably little value here compared to the far more relatable Sim City for Windows.

VGA display

Also it just goes to say that although it scales nicer for the UI on a VGA display, comparing my Apple Cinema display to VGA really makes for a claustrophobic experience.

Unless you are a diehard fan, I’d say that you’d get more out of the much flawed spore.  Although if you want to see how incredibly more detailed the older games were, you’ll certainly love this one!

DOSBox 0.74 can run Windows 3.0/3.1 in 386 Enhanced mode!

DOSBox… in a box!

I don’t know why I never tried it before, but it actually works!  And it’ll even spawn out to a window two.  Although without share/record locking it’ll end up being a world of pain, I suspect.  Maybe vDOS/vDosPlus will work?  I know it’ll work fine if you boot MS-DOS inside of DOSBox, but for some reason I never actually tried to stress the v86 mode of DOSBox from within Windows.

SimCity under Windows 3.0

In this case, I’m looking at the ultra popular Sim series, and their Windows releases.  While I was a big fan of SimCity, especially having played it on an Amiga, when I found out that there was a Commodore 64 version I had bought it immediately as I wanted to play it at home.  And let me tell you, it was a severely underwhelming experience.

SimCIty C64

From the logo it’s all down hill.  I know that SimCity is actually from 1985, and as the first version, the Commodore 64 version is basically the prototype.

SimCity C64

Which was just graphically underwhelming, but I still played the hell out of it.  And then I saw the Spectrum 48k version.  Yes the blocks are ‘buildings’ as the units fill up they will turn into black with only the letter remaining.  Despite the ultra minimal graphics, the game play is there.  And once you get used to the bizarre combination keyboard+joystick controls it is addictive.  I mean it is SimCity!

SimCity Spectrum 48k

But going to the PC, I kind of grew out of SimCity.  DooM was the hot game, and the whole immersive 3d thing.  And of course during that era being on the PC I only knew of the MS-DOS version.  While there was a version for OS/2 Warp released much much later, and by then if I felt the urge there was SimCity 2000 for Windows.

But after getting the kick for SimEarth, and finding the Windows 3.0 version, I was much surprised to find out that there was a version of SimCity of Windows 3.0 as well!

And I can see why I never had seen this for retail, or knew anyone who had it.

Maxis Order Form

That’s right in the included form, the price was $59.95.  And SimEarth was $69.95!  To put that in perspective that would be now $107.17, and $125.04  respectively.  And people think $60 for a game today is expensive!

To get the full experience I went ahead and loaded up PCem, with a 386 and EGA graphics to get that original feel.

Since this requires Windows 3.0, with either EGA or VGA graphics, and 2MB of RAM, I figured I would go with a ‘top of the line’ souped up 386DX.  I tried to load it up with the Wyse700 driver, and the game fails to load resources.  I don’t know if its even possible to make black and white or four colour resources, as I live in the future, and I have millions of colours!

That said, I tested and it has no issues with 8bit depths either.

Installation is pretty smooth, the game is shipped on either two 360k 5 1/4″ diskettes, or a single 720kb diskette. While modern games have so much more, there is many things this game is lacking.  But Maxine isn’t one of them.

Maxine the cow

No really, she is listed as a feature.

The music is through the PC speaker.  Just like the sound effects.  Multimedia integration with Windows that we take for granted today just wasn’t a thing back then.  The version I have is 1.0, Although a pirated version 1.1 that was sent in actually includes WAV sound effects, and a single midi track. However it doesn’t run on Windows 3.0.  So lucky me!

Unrecoverable Application Error

Ah the UAE, the bane of Windows 3.0.  They were so unpopular that Microsoft had to rename the dialog.

SimCity on EGA

Living in the constraints of EGA feel absolutely claustrophobic in today’s world.  640×350 just isn’t enough screen rel estate.  Even 640×480 is far far too small.  And that lead to one issue I found

SimCity SVGA

While using a SVGA driver so I can get that impossible to afford experience of 1280×1024 in 256 colours, but the application was never meant to run in something that wide.  You can easily put child windows ‘behind’ the dead space, and you can never recover them.  You have to save and re-launch. bummer.

Which leads me to perhaps the most famous reputation of SimCity for Windows.  As mentioned on Joe’s site, there was a massive struggle to get games like SimCity running on Windows 95. As Raymond Chen says:

If any application failed to run on Windows 95, I took it as a personal failure. I spent many sleepless nights fixing bugs in third-party programs just so they could keep running on Windows 95. (Games were the worst. Often the game vendor didn’t even care that their program didn’t run on Windows 95!)

Yes, they basically knew it had problems.  In the box they even had this cute flyer:

I sure hope Raymond got something for his efforts!

And yes, rest assured it actually does work.  It even works on Windows 3.00a under Citrix MULTIUSER 2.0.  Pointless as there is no way to have remote graphical displays but nice to see it work.

So what went wrong?  Where was all the follow up games for Windows?  Obviously the hardware needed was incredibly expensive.  A 386 or even a 286 with a few megabytes of RAM was expensive.  VGA or EGA monitors were also very expensive.  Even mice were expensive!  Putting together a low end PC basically barred you from this high end premier experience.  I can’t imagine that Maxis sold many copies of this.  As mentioned above I’m pretty sure there is a reason why I never saw this in the wild.

Awesome Windows 386/486 machine prices February 1992

Spending $3000 in early 1992, which is $5197.95 in today’s money. I can’t even begin to imagine spending over $5,000 to play a game.  It’s no wonder when older machines show up on eBay people want far too much for them.

In a strange way I like to watch SimCity animate in the background.  It’s like a fish tank, or staring out into a busy street.  With the advantage that I can summon a giant lizard to destroy it at my whim.

UX lessons from the Magic Screensaver aka After Dark

I found this kind of interesting, a breakdown from the original guy behind the once popular After Dark screen saver.

As it started as an experiment on Windows 2, it became a product on it’s own, and launched an entire industry, along with being copied by every major OS vendor.  In the 90’s having a screen saver was key, just as having simple games like solitaire, especially a broken shuffle one where the user wins most of the time led to Windows being heavily favored in the work space.

Magic Screen Saver for Windows 2

So for the heck of it, I figured I’d check it out, and as always thanks to Jason Scott, there is a copy of 1.02 on cd.textfiles.com And as reported it’s basically the ‘mystify your mind’ screen saver.

Magic in action

The runaway hit Magic Screensaver became After Dark, which then had several licensed addons like the Simpsons, Star Wars etc.  Back then themes for Windows were popular along with sound effects.  A lot of the functionality is still in Windows, although most people prefer that their machines are silent, only making audible alerts if there really is something wrong.  But back in the day a ‘multimedia desktop’ was a $5,000 noise maker, and not many offices were impressed.  Which of course gave rise to the ‘office sound card’

All Business and no fun!

Naturally under Windows there were virtual device drivers to emulate a sound blaster, as people still wanted to game with this cheaper ‘business audio’ card, although with the rise of Windows 95/Direct X gaming under Windows finally became a thing making Sound Blaster compatibility a thing of the past.

But going back to After Dark, they made a fatal error of teaming up with Berkeley Systems, who eventually started to make their own releases pushing the original team out of their own product.

After Dark 1.0 and the infamous flying toasters.

The toasters became focal in a few lawsuits, namely the Jefferson Airplane album, although it was dismissed as the artwork for the album had not been trademarked!  And they were able to force the Opus ‘n Bill screen saver where Opus shoots the toasters.  Late they changed the toasters to have propellers to avoid being too similar.

Opus shooting a flying toaster

Oddly stuff like screen savers too have largely fallen out of fashion with the rise of power saving monitors that just turn themselves off either from a lack of new images, or a signal from the OS.

One of those weird legacy things that in today’s world really doesn’t have that much meaning, but a scant 20 years ago was a major industry.

DR-DOS 5.0 and Windows 3.0

So I’ve always heard about the incompatibility, and I thought I’d give it a try in PCem.  I know I used to run DR-DOS 5.00 and Windows 3.0 (because of the CGA driver) and it worked fine.

So just to prove it works, here I am installing Windows 3.0 on DR-DOS 5

Installing Windows 3.0
Installing Windows 3.0

And even better, running Word 2.0! Although I did install a whopping 4MB of ram on this virtual 286.

MS Word 2.0
MS Word 2.0

And to make it all the better, I changed to a 386, and re-installed Windows 3.0 and yes it runs in enhanced mode.  And I can run DR-DOS in a windows.

386 enhanced mode
386 enhanced mode

Of course there was the AARD code, in the Windows 3.1 betas, but as far as I know that didn’t make it to release.  I was able to upgrade to a virtual VGA adapter, and update to Windows 3.1 in standard mode on a 286, just fine

Windows 3.1 standard mode on a 286
Windows 3.1 standard mode on a 286

And DR-DOS worked through the standard mode task swapper

DR-DOS in standard mode
DR-DOS in standard mode

But Windows 3.1 in enhanced mode always locked up during setup.  Maybe a PCem bug?  I’m not sure.  But Windows 3.0 works great.

Windows 3.0 Debug Release 1.14

Well from popular request I finally got around to loading this up.  I went ahead with my favourite retro emulator, PCem for this, as it can nicely emulate an EGA display, unlike most emulators which do VGA, however when it comes to older versions of Microsoft products they really can detect the difference between EGA and VGA.

So to start off, I downloaded from the project page, this version of PCem, compiled it, and installed MS-DOS 4.01 , from April of 1989.  The Windows 3.0 Debug Release 1.14 itself is dated from February 22nd, 1989.  Which I figured is close enough to the time period.  I’m using the 486SX2/50 because I’m too impatient for the 386 speeds, but it does work fine on 386 or higher emulators.  It does NOT work with any 286 emulation. I’m also using the HIMEM.SYS from MS-DOS 4.01 vs the one with the Windows 3.0 (Alpha? Beta? Technical Preview?) since it is slightly newer.

There is no setup program per say, rather it just xcopies all the files to a directory, and from there you run ‘d.bat’ and away you go.  This version is hard coded to an EGA display, which again is the reason I went with PCem.  Once you start it up, you are greeted with:

Win
Windows v3.0 Debug Release 1.14

And it identifies itself as Windows Version 2.1

w
Look at all the memory!

And first thing to notice is that on my setup with 8MB of ram, I have over 6MB of RAM free.  Compare this to regular Windows 2.1 which gives me 399Kb of ram in my current setup.

Windows 2.1 running in real mode
Windows 2.1 running in real mode

And with Windows/386 Version 2.1 it provides 383Kb of real memory, along with 6.7MB of EMS memory, as the Windows/386 Hypervisor includes EMS emulation.

Windows/386 memory
Windows/386 memory

Of course the major limitation of Windows 2 is that it runs in real mode, or in the case of Windows/386 an 8086VM.  As I mentioned a while back in a post about Windows 3.0,  This was game changing.

As now with Windows running in protected mode, all the memory in my PC is available to Windows, and I am using MS-DOS, with nothing special.

Besides the limitation of being EGA only, the Debug version of 3.0 is that there is no support for MS-DOS applications, as WINOLDAP.MOD is missing.

NO MS-DOS for you!
NO MS-DOS for you!

This is clearly an interim build of Windows 3.0 as mentioned in Murray Sargent’s MSDN blog Saving Windows from the OS/2 Bulldozer.  As mentioned from the article they began their work in the summer of 1988, so considering this is early 1989 it shows just how much progress they had made in getting Windows 2 to run in protected mode.  Along with Larry Osterman’s MSDN blog post Farewell to one of the great ones, which details how the Windows 3.0 skunkworks project was writing the new improved 386 hypervisor, and how Windows 3.0 got the green light, and changed the direction of not only Microsoft but the entire software industry.

I’ve been able to run most of the Windows 2.1 applets, however I’ve not been able to run Excel 2, or Word 1.  I suspect at this point that  only small memory model stuff from Windows 1 or 2 is capable of running.  Although at the same time, when 3.0 did ship, you really needed updated versions of Word 2 and Excel 3 to operate correctly.

Windows 3.0 Debug Release 1.14
Windows 3.0 Debug Release 1.14 on a 12MB system

The applets from Windows 2.1 seem to work a LOT better than the one from Windows/386 2.1 if that helps any.

This is an interesting peek at an exceptionally early build of Microsoft Windows.

Bringing back the WinZork demo via jsDOSBox

So with all the excitement with jsDOSBox it was about time I tried to get something from my old java dosbox stuff running again.

As a quick note, as of right now, you cannot boot into a disk image… Nor can you really run bat files, or any kind of drivers beforehand.  It’s basically either use a script that adds files one by one, or use an image file which gets mounted, and you run your exe/com file from that.

So here we go, back again is the old Fortran Dungeon (zork) compiled with QuickC for Windows, running on the working model version of Windows 3.0.

Dungeon via F2C
Dungeon via F2C

Click here, and enjoy!

For anyone interested my old post about this Fortran/Zork adventure is here.

 

So I was playing with Watcom C/386 8.5 today

This was the first version of Watcom that included the much beloved DOS4/GW dos extender.  Funny enough it doesn’t bind in a stub for running DOS4/GW by itself, you have to do it manually or I guess write the stub for yourself.  Another fun feature of Watcom C/386 8.5 is that it includes the win386 windows extender.

Basically it does to Windows 3.0 what DOS4/GW does to MS-DOS.  Now I’ve never messed around with win386 that much because by the time I did have a 386sx processor with more than 1MB of ram, Win32s & OS/2 2.1 were all the rage.  But in the world of VM’s I thought I’d give it a shot.

The default example is the game of life.  It compiles trivially, but the moment you got to run it you get this fine error:

Ooops!
Ooops!

It turns out that it is a timing loop error, and effects of all things Microsoft FoxPro!  The solution is provided by Microsoft, in the form of IPatchFP.exe. Naturally it is a console Win32 executable.  But with enough of the HX DOS Extender‘s runtime I can run the patch inside of MS-DOS.

With my executable all patched up, I can now run the game of life!

Conway's game of life
Conway’s game of life

Which is all very exciting.

Win386 was very cool for the time, taking the Win16 API and making their own Win32 set out of it. Another cool thing is that there wasn’t a separate runtime to repackage, as Win386 was just bound to the executable. I’m sure it didn’t fall on deaf ears at Redmond with the disillusion of Cruiser, that Win16 could have a brave new future in Win32.

And I should mention I’ve gone over a lot of the Win32s versions here.

IBM PS/1 preload software

Club PS/1!

I don’t think it’ll do anyone any good, but for some reason I’ve gotten two requests since I’ve mentioned that I’ve got a PS/1 and if I could dump all the weird software that it comes with…

Not that prodigy even exists anymore, or there is anything you can do with it, so I figured I’d just add it in with jdosbox, and you can just click along..

I guess it was unique at the time when most OEMs just slapped together some stuff and shipped without going that extra crazy mile of doing some custom programs, or even trying to foster their own online community even if it was just too forward looking, and too much of an Island for 1991.

So pastel, so Miami Vice!

There is some very 90’s feeling Learning Windows that also came with the system.. I’ve never heard of it before.  What is more interesting is that it is a Windows program, unlike the later introduction/tutors for Windows that were MS-DOS programs.  It’ll even run in real mode, which makes me wonder was it just such a major pain to put together that they swore to never do again, or was it specially made for IBM?

Introduction to the PS/1

At any rate most of the programs are MS-DOS based, there is a version of AOL that sits in between the time of Quantium Link & AOL called Promenade.  Again since the service is dead there isn’t much you can do with the dialer software.  It does use GEOS like the later AOL software, but its skinned to look like Windows (SAA?).

Oh well its a look at a distant OEM past, now IBM doesn’t make PC’s and I would almost guess that OEM’s would be forbidden or heavily shunned to make their own online social type thing, as of course everyone would be on face book ….

PS/1 2121 doing what it does best..

At any rate, I’ve upgraded mine with a semi compatible sound blaster, and a network card.. With rlfossil an Conex, its a nice BBS terminal, with good ansi support.  Sadly the bigger DJGPP stuff won’t run as I don’t have a math coprocessor, and I’m just not going to go through the motion of finding an 80387sx .. Assuming the PS/1 even has a socket for one (I haven’t seen it, but I didn’t look too hard).  But I’ve found it good with old era games, as there is some things that just don’t seem to cooperate just right with emulation.. And sometimes it is nice to have some real machines… Sometimes.