SHOWSTOPPER!

show-stopper-coverI was browsing around at a book store, and I came across the book “SHOWSTOPPER” the breakneck race to create Windows NT and the next generation at Microsoft.

If you have ever lived through the Windows NT 3.x days you’ll find this a very interesting read. It goes into the big personalities, and of course covers the working habits of Dave Cutler… Although it does paint him in some really odd colors, mostly as an antisocial kind of dictator pushing people to produce the largest program Microsoft had ever produced at the time.

But there is no doubt, Cutler could not have written Windows NT at Digital, as DEC was too fond of hardware lockins (look at VMS & Ultrix/True64). And it does cover the major animosity of Cutler towards DEC with the cancellation of the Prisim/Mica projects, and then the later “I told you so” moment when DEC licensed Windows NT from Microsoft (although other reports claim that DEC threatened MS with a lawsuit, and MS gave them access to NT, along with some money…). Apparently the mantra was “Dec could have had NT for free”..

There is also coverage of the culture clash of what happened when Microsoft had absorbed the Prisim & Mica engineering teams from DEC, and how they did not get along with Microsoft staff, and even did their best to poke holes in the current offerings of MS-DOS & OS/2 as either a toy, or a joke.

One thing I found interesting, is that the book mentions the WLO project, as the foundation for what would be the ‘Win32’ system. WLO if you remember was a port of the Windows Libraries to OS/2. It was very interesting in that Windows, OS/2 and even MS-DOS & Win16 via WOW were all not part of the main Windows NT group, but rather ‘tacked on’.

However it is quite interesting that the design decisions made for a very portable and modular operating system, that survived it’s original CPU & platform being changed 1/4th the way through development, and then the removal of the primary API.

Another thing that was interesting was some of the ‘fixes’ for the too slow, too big that would plague the early versions of NT, was the idea of demand paging portions of the kernel.. I for one would go insane with the blue screens about paging non page-able areas or some other VM error… But the truth was NT was written by people who came from a minicomputer world, and as the book made evident from time to time, they did NOT use PC’s.

Needless to say, the book was somewhat spot on, in that it’d take 10+ years for computers to catch up to what Windows NT was written for. I for one can remember trying to run this on a 386sx-16 and it was horrible… But if you install it on a Pentium II the 3.x series simply FLIES… And in emulation on modern machines it has incredible performance.

While Windows NT 3.1 was no doubt a 1.0 release, 3.5 was a 2.0. The x86 optimizations really payed off, and kicking out the Spider TCP/IP stack, and bringing in the new MS stack helped a LOT. There is no doubt back in 1994 as SLIP & PPP accounts were becoming more common place, Windows NT 3.5’s networking was the easiest to configure and use. Linux back then really was in it’s infancy, and the dialup scripts for pap/chap/pppd were… a nightmare.

“Dogfooding” was another interesting, and necessary thing as once NT was able to start running programs it was important to make people start using it as quickly as possible to shake out bugs in the system. Its also interesting to note the reluctance of the kernel team to deal with the graphical part of NT, and how the first versions were text only. Another weird part was how the security in Windows NT was an after effect, of the internal networking group cooking up what eventually became the domain & trust model. Not to mention how NTFS almost didn’t make it because the filesystem people (all two of them!) were so busy making sure HPFS worked correctly.

There is no doubt that such a ‘ground up’ OS of this magnitude hasn’t been attempted since 1988. It took Microsoft 5 years to get Windows NT out the door, but there is no doubt looking around in the year 2010, Windows NT has a long life ahead of it.

For those interested, you can find it on amazon.

So I was looking in the UK for ACORN

and other old kit… I came up with nothing..

Does anyone know any stores, that sell ancient stuff, like megadrives, acorns, BBC micros etc?

There must be somewhere in the British Isles….

Also I’m wondering if I should check prices for Russia in the Summer, or Japan in the Winter……

I think I need a vacation from this vacation.

BKUNIX

Somehow on my trying to remember how to enable scsi on the i386 qemu, I came across this fun project… Bkunix. No it’s *NOT* BURGER KING Unix… But rather a port of LSX-UNIX to the Soviet Elektronika BK computer.

The BK’s were sold as personal computers in the Soviet Union, and were cloned from the DEC LSI PDP11’s.

Later on, with the source being available, a project has been started by Sergey Vakulenko and Leonid Broukhis to port the LSX to the BK’s. What is neat about this, is that the entire system is built with a set of cross tools, to produce the kernel & userland utilities.

And the best part is that you can run it in an emulator! You can download it here. Just don’t over expect the MINI & LSX UNIX’s were meant to run on tiny machines with as little as 40kb of ram. However given such a small constraint, it’s very impressive to see it in operation.

bkunix

bkunix

And yes, the kernel is 18kb!

Just got a DEC AlphaServer 800…

All 100lb of it. It is HEAVY.

Anyways, long story short, after hauling it around Financial District, and Times Square, it’s now safe and installing Windows NT 4.0 Terminal Server.

AlphaServer 800

AlphaServer 800

It’s got a single 5/500 CPU, along with 256MB of ram, and 2x 36gig disks. I’ll have to check to see if I have any ram that’ll fit it. I may very well turn it into a public access thing too….. But we’ll see.

DEC Legacy Event

Well I just found out about a “DEC Legacy Event” being held in the UK. Sadly I already booked tickets to the UK *this* month not the correct one… But then who knows… 😉

From the site:

The DEC Legacy Event that will take place on the 17th & 18th April 2010 in Windermere, UK.

The purpose of the event is to bring together people with an interest in the company Digital Equipment Corporation and their legacy of hardware, software and ethos. There will be both vintage DEC computer hardware and software and more recent HP hardware and software being demonstrated at the event.

I suppose this would have been the place to get some win terminals going, and have multi-user access into a VMS system running on SIMH on an Alpha…

Oh well…

At any rate they promise to upload video from the aftermath, and they’ve got up some interesting promo pics

DDOS fun…

Well it seems at some point China has decided they don’t like me, and they are now DDOS’ing my server… Or they have some bot net that is OBSESSED with Windows NT 3.1 servicepack 3 for the i386…

So as much as I don’t want to, I’ll end up blocking China, Taiwan, Hong Kong from my server…. Oh well.

One can only speculate what on earth they find so interesting.

If anyone is interested, you can find a script here, that’ll add a list of IP addresses into a block list for IIS.

Then it’s just a matter of downloading a table of IP addresses. I’m using these guys right now… I just downloaded the csv version, ran it through access, and used that to create some queries for some tables, then ran that data through some minor C program I ended up writing to massage the netmasks into something the script would like. It’s not “nice” but it works. Then afterwards since they keep on downloading the same file, I just extract my IIS logs into access which has the IP address set as a primary key, then I’m just making /24’s of each one that does so….

Sigh, I don’t get why they are doing it, but they are getting a whole lot of 403’s now.

DJGPP on DOSBOX…

Well I was originally looking around at the new & exciting 16bit support for HX, but so far I’m having little luck… It seems all the ‘cool’ OS/2 stuff it should do just crashes out on me…

I’m hoping to get something going eventually.

In the meantime, I had to check to see if an old MS-DOS favorite, DJGPP was still around.. And not only is it still there, but they now support GCC 4.42!

DJGPP, is simply put a port of GCC to MS-DOS. The best part, is that the compiler, libraries, and even the dos extender are all FREE. The sad thing is that DJGPP hit popularity around the mid 90’s with the rise of Windows 95, and the internet… Kind of killing 32bit MS-DOS applications… However Quake 1 shipped as a djgpp/cwsdpmi application… I’m sure there are others.

So at any rate, I was intrigued that it was still around, so I fired up DOSBox, then downloaded the zips according to the zip picker, read the readme, setup the environment, and I was off and away compiling my trivial hello world.

Sadly for me, I couldn’t sleep, so I then just grabbed the f2c/dungeon stuff and did a compile… I only had to tweak a few things, mostly a garbled long file name thing, but in no time… It was running.

 

I did manage to crash dosbox building the libf2c, but luckily changing gcc to use the -O0 (no optimizations) it was able to build the library… It’s kind of sad generating a 150kb ‘hello world’ type application, but thats the price for essentially statically linking everything….

MS-DOS isn’t the most modern thing out there…. I always wonder if those kids writing a 32bit ms-dos like os ever got anywhere…

Updated Qemu for MIPS emulation

Today I found out that the latest ‘git’ repository version can run Windows NT in color, and with corrected mouse support! The NVRAM is still corrupting and you’ll have to fix the time/date but a usable mouse, and being able to see what you are doing go a long way!

I’ve put the updated binaries here.

If you feel adventurous you too can compile the emulator, I’ve downloaded todays snapshot to here in the off chance this won’t be build able for some time.

I don’t know if there is any good way to enable sound, but things like Visual C++ 4.0 & Quake 1 are usable in that you can actually see what is going on!

Here’s a screen shot of my NT 4.0 workstation….

Qemu MIPS Windows NT color

Qemu MIPS Windows NT color

Qemu ARM, MIPS & PowerPC images…

Well I was thinking of building something like this, but someone did the work for me….

You can find various images here.

So needless to say, a special thank you goes to the dietpc guy… These are all set for MS Windows users, just download the VM you want, and you are ready to go. The only ‘issue’ I had with the PowerPC one, is that I needed to run fsck on the root and reboot it…. (remember the root password is foobar).

Other then that it seems happy as it can be.

root@dietpc3-dev-ppc:/usr/src/f2c# cat /proc/cpuinfo
processor : 0
cpu : 740/750
temperature : 62-64 C (uncalibrated)
clock : 1000.000000MHz
revision : 3.1 (pvr 0008 0301)
bogomips : 40.44
timebase : 16605783
platform : PowerMac
model : Power Macintosh
machine : Power Macintosh
motherboard : AAPL,PowerMac G3 MacRISC
detected as : 49 (PowerMac G3 (Silk))
pmac flags : 00000000
pmac-generation : OldWorld

I wouldn’t dream of really benching it, but this is better then blindly cross compiling as you can check your work…

The downloads are quite sizable about 450mb each… but it is a complete run & go linux environment.

And here is a gratuitous screenshot:

 

16bit Fortran …

Ok, so I was looking at this ancient machine the other day, and I was wondering if I could at least build the f2c to run on either Win16 or OS/2 1.x. There was mention of it running on MS-DOS ages ago but I thought it’d be more interesting to try something else…

Well one thing is for sure, QuickC for Windows, wins HANDS DOWN for a ‘nice’ environment for building stuff… Once it was all said & done, on Windows 2000, I had f2c running, and converted the dungeon source, and building dungeon along with the libf2c. I couldn’t find a ‘nice’ way to build libraries with QuickC, and building a windows dll for libf2c would mean re-writing the IO for Win16.. If it were 15 years ago I may have done so, but nobody will use it now, so I just took the short cut of compiling the dungeon program & the library together… Surprisingly on a ‘fast’ machine with Virtual PC, 100,000+ lines of code compiles in under 10 seconds!

So the first result I got for my effort was this:

Dungeon in QuickWin on Windows 3.0 via F2C

 

Which wasn’t that bad, and I’m just amazed it works… You can download it from here. And thanks to the power of jDOSBox, you can run it live here.

The next thing I did was break out some ancient Microsoft C, and start to build f2c. That is when I found out that the resulting exe with C 5.1 doesn’t work, and 6.0a crashes when compiling part of the translator… However using 6.0a for *MOST* of f2c, and building the one faulting module with 5.1 results in a working f2c. The library built without issues, although I had a *HELL* of a time trying to remember how to build a static library for OS/2. I ended up just using lib & gluing it together one object file at a time… Not the ‘best’ but it works.

The next hardest thing was figuring out the linker definitions & response files to build a ‘windowed’ text client for OS/2. Luckily I was able to go through enough things to do it, and it was a LOT of work…. I almost wonder if it’s worth posting about it… But all my build steps are in the zip file located here.

Dungeon on OS/2 in a window via special linking..

 

It was a *LOT* of nonsense work to get this thing in a window for a good screencap… lol but in the end I guess it was worth it. I suppose I could try building it for MS-DOS, but really, where is the fun in that?

One thing is for sure, having this back when I actually used OS/2 1.3 or Windows 3.0 (I had CGA!!!) would have been cool… But now I guess it’s totally pointless, but whatever.