Solaris 7 Boot Panic

On some systems, it has been observed that Solaris 7 panics during boot from installation media and reboots the system. At least Solaris 7 U1 (3/99) and U4 (11/99) are affected. Only “fast” systems (definitely including Sandy Bridge 3+ GHz processors) exhibit this problem, and the exact behavior depends on hardware configuration.

When booting with kadb, the system doesn’t reboot itself and the panic information can be easily read:

Solaris 7 Panic

Solaris 7 Panic

Clearly a page fault caused a null pointer dereference… but why? Continue reading

Posted in Bugs, Debugging, Solaris | 6 Comments

IBM OS/2 1.x Programming Documentation Added

IBM’s programming documentation (Programming Tools and Information, aka PTI) for OS/2 versions 1.2 and 1.3 has been added. Big thanks to Bob Eager who scanned the originals and converted them to PDF.

The documents have been added to the OS/2 1.x programming library. The newer REXX documentation is technically part of the OS documentation set, but thematically belongs with programming information.

Posted in Development, Documentation, IBM, OS/2 | 2 Comments

PCI Voodoo

A while ago I tried to set up Voodoo 2 SLI on an old Pentium system running Windows 98 SE. I used two seemingly identical Creative CT6670 boards (Voodoo 2, 12 MB RAM) which should have worked just fine. But didn’t—SLI wasn’t detected, and strangely, one of the boards seemed to not have Creative Voodoo 2 drivers loaded.

When I looked more closely (with the Win98 system information utility), I realized that one of the boards was recognized as a Voodoo 1 based on its PCI ID. How is that possible? Continue reading

Posted in 3Dfx, PCI | 31 Comments

Children of the Bus Wars

In the late 1980s and the early 1990s, the so-called Bus Wars raged. A few years after the PC/AT was released, it became clear that the ISA bus could not keep pace with faster CPUs and peripherals, especially graphics cards and SCSI HBAs.

IBM’s solution, Microchannel or MCA (1987) was technically excellent, radical, and ultimately a failure. Compaq and the “gang of nine” bet on EISA (1989), a less ambitious but in many ways very similar bus with one major difference—backwards compatibility. EISA was in practice even less successful than MCA and practically unheard of outside of servers and some workstations.

Around 1992, the VESA committee standardized the VESA Local Bus or VLB, geared towards but by no means limited to graphics cards, and designed primarily for the 486’s local bus. For about two years, VLB was very successful and graphics cards designed for VLB were unbeatable.

Around the same time, Intel worked on PCI, a bus which successfully learned from past mistakes. In late 1993, the first PCI systems and adapters became available, and PCI in combination with Pentium systems very quickly destroyed all competition.

For a short while, all five buses (ISA, MCA, EISA, VLB, PCI) existed in the market. Some adapters were available in two or three bus variants and a precious few went all the way. One of those was ATI’s mach32 graphics chip and the adapters based on it, Graphics Ultra Pro and Graphics Ultra + (using VRAM vs. DRAM, respectively).

The mach32-based ATI Graphics Ultra is a true child of  the bus wars. In 1994, ATI sold the Graphics Ultra in all five bus variants, something not imaginable any any other point in PC history. The OS/2 Museum presents the entire family: Five ATI mach32 graphics cards built in 1994.

mach32 family portrait

Continue reading

Posted in ATi, EISA, MCA, PC history, PCI, VLB | 11 Comments

Fixing a Graphics Ultra Pro

Just a few weeks after successfully repairing a trivial problem with a Roland LAPC-I caused by improper storage, I happened to run across another troublesome board, a VL-bus based ATI Graphics Ultra Pro from 1993.

ATI GUP VLB mach32

ATI GUP VLB mach32

It’s a nice enough card with an ATI mach32 chip, 2MB VRAM, 8514/A compatibility, and 135 MHz RAMDAC allowing resolutions up to 1280×1024 pixels with good refresh rates. The card seemed to be working fine except for one slight problem: There was nothing visible on the screen. And by that I mean that the card was producing good signal which the monitor could synchronize to, and clearly responded to mode sets (slight flashing visible), but the output was simply black on black no matter what I did. What could be the problem. Continue reading

Posted in ATi, Hardware Hacks | 4 Comments

Seagate ST-225: Just Wow

A few weeks ago a Seagate ST-225 drive more or less accidentally landed at the OS/2 Museum. The drive is nearly 30 years old (manufactured in late 1986) and rather interestingly, this particular unit comes with a label declaring it as “Manufactured for IBM Corporation, Armonk, New York”.

Seagate ST-225 20 MB hard disk

Seagate ST-225 20 MB hard disk

It is a standard 20 MB PC/AT disk, CMOS type 2. It uses the ST-506 MFM interface. 5¼” half-height, loud, 3,600 RPM, 5 Mbit/s transfer rate, two platters, stepper motor, no auto-park… essentially first generation PC hard disk technology, but refined for mass production. There is some chance the drive started its life in an IBM XT Model 286.

The drive’s functionality was unknown and doubtful but could not be immediately tested because I was missing one little piece—a pair of ST-506 style cables. After sourcing the cables I hooked up the drive to a 25 MHz 386 board through a true blue IBM fixed disk and floppy controller (68X3815, Western Digital chips). Was it going to work? Continue reading

Posted in PC hardware, Storage | 32 Comments

Periscope Manuals

Some time ago I recovered a latter-day Periscope manual from storage. Since some readers might find it useful, I decided to scan the manual and convert it to PDF.

It covers the basic Periscope debugger, variants and add-ons (remote Periscope, Periscope for Windows, and Periscope for OS/2) and also the Periscope Model IV hardware debugger. The manuals may be found here.

Now if I only knew where to find a 386 and/or 286 pod for the Model IV board…

Posted in Debugging, Documentation | 7 Comments

Fixing an LAPC-I

A few days ago my almost new (i.e. not quite 25 years old) Roland LAPC-I arrived. It’s essentially a MT-32 synth on a stick. I plugged it into a Pentium board, tried playing some music and… nothing.

Roland LAPC-I

Roland LAPC-I

Was it perhaps not jumpered to respond at the standard 330h port? (The LAPC-I supports base addresses of 330h, 332h, 334h, and 336h). A quick check with DEBUG showed that there certainly was something responding at ports 330h and 331h. The documentation was in agreement—the jumpers were in their default position indicating port 330h.

The synth’s microcontroller (Intel P8098) was slightly warm so there was at least some power. But the MPU-401 interface was clearly misbehaving. Not only was there no sound but software didn’t think there even was any MPU-401 hardware at all. Perhaps trouble with a too fast PC? Continue reading

Posted in PC hardware, Roland | 12 Comments

Playing Football

The Super Bowl is long over and it’s time to look at different kind of football. In Winter 1986/1987, Microsoft initiated a small skunkworks project called “Football”. The objective was to take “Sizzle”, a development branch of proto-OS/2 that would eventually become OS/2 1.0, and add support for the V86 mode of 386 processors in order to run multiple DOS boxes in OS/2.

Updated Football from December 1987

Needless to say, that was rather advanced technology in 1986/87 (after all, the first 386 PC had only been on the market for a few months). So why did Microsoft keep so uncharacteristically quiet about this project? Because IBM wasn’t supposed to know about it. There was a worry that IBM might put a stop to Football if it learned about it, because Football took resources away from completing OS/2 1.0, or—perhaps even worse from Microsoft’s perspective—IBM would insist on getting involved in the project.

The project was a proof-of-concept work and culminated in a “BillG demo” (showing the project to Bill Gates, then the CEO of Microsoft) in early 1987 with multiple DOS sessions running simultaneously on top of proto-OS/2. Football was likely entirely independent of the development of Windows/386 which would have been in progress at the same time.

Brief technical outline of Football is available on pcjs.org. Continue reading

Posted in 386, IBM, Microsoft, OS/2, PC history | 21 Comments

ThinkPad PC Card Boot?

I have several 1990s ThinkPad laptops which all have PCMCIA slots. Some have a built-in CD-ROM and no floppy drive, and no support for CD booting. It would be rather useful to boot them from PCMCIA ATA cards, and the BIOS looks like it supports that. But in most cases it just doesn’t work. Does anyone have relevant experience?

Here’s what I tried so far. I have a ThinkPad 560X which does boot from PCMCIA ATA devices. The BIOS basically treats the card as a regular hard disk. As long as the card has appropriate MBR, partition table, and bootable operating system, it works great. I successfully booted a Toshiba ATA flash card and an IBM 1GB Microdrive (in a CF to PC Card adapter).

The same cards refused to boot in a ThinkPad 760XL and 765D. The BIOS boot device configuration is the same as on the 560X but it just doesn’t work. Unfortunately there does not appear to be any way to diagnose what is going on. Continue reading

Posted in PCMCIA, ThinkPad | 23 Comments