SCO UNIX 3.2.0f, Limping Along

For the purposes of ancient TCP/IP and NFS research, I wanted to run old SCO UNIX in a VM. I was able to run XENIX with TCP/IP earlier, but SCO’s NFS (provided, like the TCP/IP stack, by Lachman Associates Inc.) never supported XENIX.

A search of the basement yielded 5.25″ floppies of SCO UNIX 3.2.0f from June 1989 (30 years old!), which must be very close to the oldest SCO UNIX version. There was just one small problem. SCO UNIX kernels released before 1993 or so do not run on any post-Pentium processor, and also don’t run in emulators/hypervisors.

The gory details are in the old blog post mentioned above but the gist is that the SCO UNIX kernel (but not, for whatever reason, 386 XENIX) relies on more or less unspecified micro-architectural behavior of then-current 386/486 CPUs, and through instruction pipelining and/or TLB behavior manages to execute an instruction which is not mapped in the page tables, even though paging is enabled.

This misbehavior is not entirely trivial to patch, but I realized that it’s not that difficult to manually work around in the VirtualBox VM debugger.

Continue reading
Posted in NFS, SCO, Software Hacks, TCP/IP, UNIX, VirtualBox, Virtualization | 14 Comments

PC-NFS 3.0 Anyone?

I’m looking for Sun’s PC-NFS 3.0 (circa 1989), or ideally even older PC-NFS version. The ultimate goal is to get the oldest surviving x86 NFS client going in a VM; it is almost certain that the first such product was Sun’s original PC-NFS in 1986. Unfortunately the oldest PC-NFS versions may not have survived.

I did successfully get PC-NFS 4.0 going in a VM and it can talk to a modern Synology NAS without trouble.

Posted in Networking, NFS, PC history | 5 Comments

OS/2 + WebExplorer does Gmail

(This is a guest post from Antoni Sawicki aka Tenox)

https://www.youtube.com/watch?v=-GR2Y9H_gws

I think no further commends are required. Send me an email!

Download here

Posted in Uncategorized | Leave a comment

Taking WebExplorer for a spin in 2019

(This is a guest post from Antoni Sawicki aka Tenox)

I have just released Web Rendering Proxy 4.0 beta/preview for testing. There is a little bit more technical details here.

To test it out I took out WebExplorer on OS/2 for a spin on the “modern web”:

https://www.youtube.com/watch?v=EifNY7G2o8w

The beta version is available for download. Please try it out and report any issues on github. Thank you!

Posted in Uncategorized | Leave a comment

PowerPC Archival

For the 0.7 persons out there who have a working IBM Power Series desktop but not OS/2, here’s the first and final release of OS/2 for the PowerPC, from December 1995, as well as a beta plus cross-development SDK from December 1994.

And there’s also the October 1995 issue of the IBM Technical Connection, chock full of fixes, drivers, manuals, product data, and support information. Looking for further editions of the Technical Connection.

Posted in Archiving, IBM, OS/2, PowerPC | 2 Comments

MacBook Memory Upgrade Hell

About a month ago I got an old 2007 white MacBook for free. It was in original condition (2.2 GHz Core 2 Duo CPU from the 65nm Merom generation, 120GB hard disk, 2GB RAM), fully functional except for a completely dead battery. Not used for the last few years, still running the original OS X 10.5 Leopard.

I upgraded the OS to 10.6 Snow Leopard, which made the laptop slightly more usable. And I figured that upgrading the RAM from 2GB to 4GB ought to help. This laptop uses 667 MHz DDR2 memory (aka PC2-5300S). It officially supports 4GB, unofficially 6GB in a mismatched 2+4G configuration. I decided to go for 2+2G, in part because 4GB DDR2 modules are quite expensive.

The laptop uses the mobile Intel 965 chipset and hardware-wise it’s mostly a standard PC. How hard can it be to upgrade the memory? As it turns out, a lot harder than I had thought.

Continue reading
Posted in Apple, Fakes, OS X | 3 Comments

Same Old Disk Bug

After I Kryofluxed my MS OS/2 SDK 1.01 disks, I once again tried installing the OS in a VM. While the system booted up fine, it stubbornly refused to get past FORMAT. At the end, after going through all the cylinders and heads, it would always hang.

FORMAT hanging in MS OS/2 1.01 SDK

Analyzing the VM I realized that it does not so much hang as crash, because the OS kernel stack gets exhausted. And it gets exhausted because the disk driver gets into a funk, keeps repeatedly doing SET DRIVE PARAMETERS and READ VERIFY SECTORS, then crashes, probably tries to show the trap screen, and just miserably dies without actually showing anything. But why?

Continue reading
Posted in Bugs, Microsoft, OS/2, Virtualization | 2 Comments

Microsoft OS/2 Programmer’s Guide

For once, the OS/2 Museum lives up to its name…

After a long pause, a new document from the MS OS/2 SDK has been uploaded. It’s the pre-release Microsoft Operating System/2 Programmer’s Guide from April 1987. This document was part of the first batch of publicly released OS/2 documentation, delivered with the $3,000 MS OS/2 SDK starting in May 1987. It’s now on the corresponding library shelf.

The Guide provides a good overview of the overall structure of OS/2 and its programming API. It also includes description of the New Executable (NE) format, the FAT file system structure used by OS/2 and DOS, an unexpectedly thorough description of the structure of OMF (Object Module Format) files, or a fairly detailed list of 8086 vs. 80286 differences.

It’s clearly a pre-release document, with funny formatting, incorrect numbering of tables or figures, and at times very terse. But it was the first real glimpse of the brave new world of OS/2, with actual details rather than just marketing talk.

Posted in Documentation, Microsoft, OS/2 | Leave a comment

1988 Networking: 386 XENIX

With the 3Com 3C501 EtherLink emulation in hand, I thought I’d see if it works with the SCO TCP/IP stack for SCO XENIX/UNIX. That particular stack, which actually consists of separate STREAMS and a TCP/IP packages, comes with whopping two device drivers: One for Western Digital WD8003, and the other for 3Com 3C501 EtherLink.

I located the requisite floppy images on my NAS and physical floppies in the basement, and installed 386 XENIX 2.3.1a (September 1988), STREAMS Runtime 1.0.0c (August 1988), and TCP/IP Runtime 1.0.0c (December 1988) in a VM. Thankfully, the EtherLink driver worked the first time and created a 3comA device:

XENIX 2.3.1 booted with 3C501 driver

The TCP/IP stack was developed for SCO by Lachman Associates, in cooperation with Convergent Technologies. Configuring it was not easy, because the extant documentation only covers newer versions for SCO UNIX. Fortunately someone has already been there, and the SCO-supplied 3C501 driver had no problem with the route command. Thanks, Jason!

Continue reading
Posted in 3Com, Networking, PC hardware, SCO, TCP/IP, Virtualization | 11 Comments

Will This Last?

The OS/2 Museum site has now moved to a completely different hosting setup (a VPS). There could well be various quirks caused by the move, although for the most part moving the WordPress setup went surprisingly (for me at least) smoothly.

The OS/2 Museum lasted 9 years on shared hosting. But it was no longer adequate, simply because at times the levels of legitimate traffic (to say nothing of spammers, bots, and other nuisances) were too high with no sensible way to control them.

We’ll see how long the new approach will last before something breaks again. Fingers crossed.

Posted in Site Management | 12 Comments