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

So This Actually Works…

In a discussion on a previous post, Richard Wells suggested that an ATI VGA Wonder-16, a 16-bit ISA VGA card, should be able to operate in an 8-bit slot. I can confirm that yes, it does:

ATI VGA Wonder-16 in 8-bit slot

ATI VGA Wonder-16 in 8-bit slot

Note that the card does not require any reconfiguration, it detects that it’s running in an 8-bit slot and acts accordingly. A wonder indeed. Continue reading

Posted in ATi, PC hardware | 22 Comments

Basement Finds

The other day I attacked an old and long forgotten 286 PC stashed away in the basement. The PC is dead because the power supply blew years ago and the motherboard has a non-standard power connector.

But the case was packed with goodies like this one:

ATI VGA Wonder-16

ATI VGA Wonder-16

An ATI VGA Wonder graphics card from early 1989 (most chips made in 1988). This was one of the very early SuperVGA adapters with 512 KB video memory and support for 800×600 and 1024×768 resolutions. Continue reading

Posted in 286, ATi, PC hardware | 10 Comments

Before OS/2 Was OS/2

After almost 30 years, several disks with ancient builds of OS/2 surfaced. In this context, “ancient” means older than the May 1987 release of the first MS OS/2 SDK. In fact these disks are so old that the one thing that cannot be found on them is any mention of OS/2 whatsoever.

Proto-OS/2 Boot

For clarity and simplicity, the operating system on these disks will be referred to as “proto-OS/2”. Why not just use whatever name the OS referred to itself as back then? Because there were too many! The naming was so schizophrenic that it’s impossible to choose. Continue reading

Posted in IBM, Microsoft, OS/2, PC history, Undocumented | 42 Comments

More CPUs in NT 3.x Workstation

The default processor limits of Windows NT 3.x are surprisingly difficult to establish. Quite possibly because although SMP was a big selling point of NT, in reality only a tiny fraction of PCs in the mid-1990s supported SMP, and of those, most only had two processors.

After some poking around, it appears that the default for NT Workstation is two CPUs of all NT 3.x releases (and NT 4 as well). A notable exception is the checked build which for whatever reason defaults to four CPUs.

For the (Advanced) Server version, the default is four CPUs; however, the server uses the same kernel/HAL and to get beyond the defaults, the registry must be modified. For the server versions, the modification happens during installation.

In Windows NT 3.1, if the standard Microsoft installer finds the ProductType being LanmanNT (i.e. it is Advanced Server rather than Workstation, whose ProductType is WinNt), it adds a DWORD key called HKLM\System\CurrentControlSet\Control\Session Manager\RegisteredProcessors and sets it to 4. This is plainly visible in a file called REGISTRY.INF. Continue reading

Posted in NT, Software Hacks | 3 Comments

Windows NT 3.1 (and OS/2) Memory Detection

It is common knowledge that Windows NT 3.1 only recognizes up to 64 MB RAM, unlike NT 3.5 and later versions. This statement can be found in various places, including this blog. The limitation was empirically determined by installing NT 3.1 on various physical or emulated platforms.

It is easy to accept this as a fact since it is well known that even NT 3.1’s minimum requirement of 16 MB RAM was quite high when it was released in 1993, and systems with 64 MB memory (let alone more) were practically unheard of.

Imagine my surprise when I installed the original build 511 of NT 3.1 on a 1995 Intel server board (that’s a whole another story) and saw the full 128 MB RAM being recognized. Clearly “common knowledge” is not the same as actual facts.

Finding official statements on the maximum memory supported by Windows NT 3.1 is difficult. Key information is available from Microsoft in KB117373, but with an important caveat. The KB article talks about INT 15h/E820h usage but does not mention that NT 3.1 does not support that interface. NT 3.5 does and that is in fact why it has no trouble detecting more than 64 MB RAM on typical systems. So what’s the real story with NT 3.1? Continue reading

Posted in BIOS, NT | 39 Comments

NT 3.1 SMP

Generic x86 multiprocessing, Summer 1994 edition. There’s not much to say:

NT 3.1 SMP BootYep, that’s NT 3.1 running in a VM, and it sees two processors. Remember, you saw it here first! Continue reading

Posted in Intel, NT, SMP | 68 Comments