More on CF Cards

This is a follow-up to an earlier post. Some interesting information turned up in reader comments and elsewhere. To recap, certain operating systems (notably Windows) behave unreasonably when using and especially when installed on CF drives that report themselves as removable.

CF cards were designed to be electrically and logically compatible with both PCMCIA (PC Cards) and IDE. Cheap and largely mechanical adapters exist for both CF to PCMCIA and CF to IDE applications.

The CF+/CompactFlash specification 2.0 (2003), and I believe earlier versions as well, mandates that the first word (Word 0) of IDENTIFY DEVICE response is 848Ah. That (specifically bits 6 and 7) indicates a removable device, which causes CF cards to be identified as such by operating systems, and generates interesting problems. Continue reading

Posted in CompactFlash, Storage | 8 Comments

Removable CF Card, or Not

This is from the “learn something new every day” category. I’ve been using CompactFlash cards together with IDE adapters for several years now. It’s a terrific way to manage storage for vintage PCs. CF cards are cheap, fast, (relatively) capacious, and widely supported. It’s trivial to plug a CF card into a modern PC (typically using a USB adapter), copy files, and plug it into an old 486 or Pentium.

I’ve been using CF cards with DOS, Windows 3.x, and Windows 9x and never noticed much difference. Just recently I also tried using CF cards with Windows XP. The results were interesting.

Industrial (left) and consumer (right) CompactFlash cards.

Industrial (left) and consumer (right) CompactFlash cards.

The first card I tried was a weird 16GB Unigen Enterprise CF card. The card works, but it has very undesirable performance characteristics. Basically the card is very fast… except for writing small blocks. In practice it means that performance kind of sucks, but XP had no trouble using it.

The second card was SanDisk Ultra 32GB. This one subjectively performs much better, no doubt because writing small blocks isn’t penalized nearly as much. But the card had very very strange problems with XP. Straight after installation, XP kept complaining that it didn’t have a swap file, and it was impossible to create one.

After some head scratching, I realized that XP thought it was installed on a removable drive, and refused to create a swap file. OK, I understand the logic of not wanting to have removable-media swap files, but then again the boot drive isn’t really going to be removed, is it. Anyway, clearly the two CF cards were behaving differently—XP considered the SanDisk a removable drive, but the Unigen was fixed. But why? Continue reading

Posted in CompactFlash, Storage, ThinkPad | 19 Comments

Deskpro 386 at 30

30 years ago, in September 1986, Compaq announced the Deskpro 386, a PC as revolutionary as it was conservative. Compaq decided to forge its own path and not wait for IBM to introduce a 386-based PC. At the same time, Compaq made only minimal changes to the PC/AT architecture and essentially added a 32-bit CPU (a 16 MHz Intel 80386) to a 16-bit system.

Compaq Deskpro 386 illustration. PC Tech Journal, March 1987, page 53.

Compaq Deskpro 386 illustration. PC Tech Journal, March 1987, page 53.

In retrospect, the Deskpro 386 did much more—and much less—for bringing PCs to the 32-bit era than contemporary observers expected. It was justifiably considered one of the most important new PC products of 1986; for example the PC Tech Journal honored the Deskpro 386 with its 1986 Product of the Year award.

The Deskpro 386 unquestionably set a standard for 386-based PC/AT compatibles, and in hindsight it’s obvious that it was much more successful than IBM’s far more radical 386-based PS/2 machines (we are nowadays running successors of the Deskpro 386, not of the IBM PS/2 systems). Continue reading

Posted in 386, Compaq, IBM, PC history, PC press | 22 Comments

E-mu SoundEngine

An interesting piece of hardware popped up at the OS/2 Museum not long ago. It’s an E-mu SoundEngine General MIDI sound module from 1993. This module has very close ties to the original Creative Wave Blaster upgrade module, even though that’s not very apparent from the outside.

E-mu SoundEngine

E-mu SoundEngine

The module is Mac-centric with Mac-style serial connectors and a way to daisy-chain Mac serial printers or modems. But it also has standard MIDI IN/OUT/THRU connectors so an antique Mac isn’t required to use it.

Looking inside, a certain similarity with a Wave Blaster emerges:

SoundEngine guts

SoundEngine guts

Yes, that card with chips on it is the size and shape of a Wave Blaster. Continue reading

Posted in Creative Labs, E-mu, MIDI, Sound, Wave Blaster | 14 Comments

More Wobbles

This is a follow-up to a previous post. I’ve had a chance to spend more time recovering the two dead PS/2 Model 80s. The first step was replacing the CMOS batteries because without a functioning backup battery, a PS/2 is more or less a brick (a 40-pound brick no less).

Although the Model 80 uses very unusual (for desktop computers) batteries, sourcing them is luckily no problem in 2016. For reference, the original batteries IBM used— Panasonic BR-P2 in my case—lasted upwards of 20 years.

New (left) and old (right) IBM PS/2 Model 80 CMOS backup batteries.

New (left) and old (right) IBM PS/2 Model 80 CMOS backup batteries.

The next problem was recreating the system configuration, which requires a reference diskette. Finding a reference diskette image and additional adapter descriptor files (ADF) is not hard. Using them with a half-dead floppy drive is. Continue reading

Posted in Floppies, IBM, PS/2 | 10 Comments

Synology DSM 6 and Vintage Clients

I’ve been a Synology DiskStation NAS user for four years now and used them as a SMB file server which is, among other things, accessed from various vintage clients (OS/2, DOS, Windows 9x, etc.). After upgrading to DSM 6, I found that these clients no longer work. That is to say, any attempt to connect fails because the credentials are rejected.

The problem is that DSM 6 (essentially customized Linux + Samba) by default no longer accepts old-style LAN Manager passwords. Fortunately it is not difficult to fix, but it is a multi-step process.

  • If not already enabled, enable SSH access on the DiskStation and log in via your favorite SSH client.
  • Edit /etc/samba/smb.conf with sufficient privileges (with sudo vi, for example). In the [global] section, add a new line which says lanman auth = yes
  • Depending on how old the clients are, it may be necessary to change the oldest supported protocol to min protocol = LANMAN1 (not needed for Windows 98 or NT 4 but required for DOS or OS/2)
  • Make sure the updated configuration is loaded (e.g. sudo smbcontrol smbd reload-config or rebooting the DiskStation).
  • Recreate password hashes.

The final step is not very obvious. One reason why servers do not like old-style LAN Manager authentication is that the server needs to store a cryptographically weak password hash. Okay, you don’t care about that. But if old-style authentication is enabled, the password hashes need to be re-created because they won’t exist.

It may be enough to re-set the password in the DSM user interface. If it is not, run sudo smbpasswd -L -U <username> on the DiskStation. To check if passwords have LAN Manager hashes or not, you can run sudo cat /etc/samba/private/smbpasswd on the DiskStation. If the third colon-separated field has lots of XXXs there is no LANMan hash.

Note that this problem applies to fresh DSM 6 installations as well as DiskStations upgraded from DSM 5. With upgraded systems, there is a possibility that existing LANMan hashes might survive in the Samba password file; on new installs the hashes definitely have to be re-created.

Posted in Networking, Software Hacks, Storage | 10 Comments

Windows 3.1 Standard Mode Crash with APM

On some systems, Windows 3.1 and 3.11 in Standard mode crashes when it is configured to use APM, i.e. POWER.DRV is loaded. The crash only happens in Standard mode, not the typical default 386 Enhanced mode.

Windows 3.1 APM Crash

Windows 3.1 APM Crash

Since POWER.DRV is involved (“MS-DOS System with APM” vs. “MS-DOS System” in Windows setup), it’s obvious that power management/APM is somehow significant, but how, and why is only Standard mode affected? The explanation is a bit complicated. Continue reading

Posted in Bugs, Windows | 16 Comments

Wobbly Floppy Drive?

Over the weekend I tried to revive a PS/2 Model 80 whose CMOS battery died (after 25 years!). Finding a replacement battery fortunately isn’t difficult (6V lithium “photo” battery), but recreating the configuration information of course requires a reference floppy and the .ADF files for any non-IBM adapters installed in the system.

The early PS/2 implementation of Plug and Play leaves something to be desired. Keeping a reference diskette with a system for many years turns out to be difficult in practice. Newer PS/2 systems with a reference partition do not suffer from this problem but still need floppies if the hard disk dies.

Finding a Model 80 reference floppy image or the ADFs is not difficult, but the system just kept refusing to boot from my floppy. The diskette was readable in other systems and I tried several of them, both original IBM floppies and self-made copies. None of them worked. The drive was spinning, did a few seeks, and then the system showed an error. Continue reading

Posted in Floppies, IBM, Plug and Play, PS/2 | 30 Comments

Intel OverDrive Part II: Pentium OverDrive

The Pentium OverDrive is notable for supporting three physically different sockets (that’s not counting the Pentium II OverDrive). The Pentium OverDrive product was sold in variants suitable for Socket 2/3 (486 systems), Socket 4 (early Pentium systems), and Socket 5/7 (second generation Pentium systems).

Pentium OverDrive for 486 Systems

Perhaps the best known member of the OverDrive family is the original Pentium OverDrive, also known as P24T. It could upgrade most newer 486 systems with Socket 2 or Socket 3.

The front of a Pentium OverDrive box.

The front of a Pentium OverDrive box.

Two models were available, PODP5V63 and PODP5V83. The nomenclature indicates 5V Pentium OverDrive Processor running at 63 (really 62.5) or 83 (really 83.3) MHz. The processors utilize an unusual (for 486 boards) 2.5× frequency multiplier and are designed for 25 and 33 MHz bus, respectively. Continue reading

Posted in 486, Intel, PC history, Pentium | 21 Comments

Better Late Than Never

Better late than never, although in this instance, it’s really really late—about thirty years late. In the world of computing, that is eternity.

The talk is about the new CR4.UMIP control bit documented in the latest (revision 58) Intel SDM, and the corresponding CPUID feature bit. When set, the CR4.UMIP (User Mode Instruction Prevention) bit prevents the SGDT, SIDT, SLDT, SMSW, and STR instructions from being executed outside of the highest-privileged code (ring 0).

The question is of course why it was ever possible to execute these instructions from unprivileged code. Setting the critical registers (GDTR, IDTR, LDTR, MSW, TR) was never possible from user code, but they could be freely read. The excuse Intel had back in 1982 (when these instructions became part of the 80286) was that they didn’t know what they were doing. That was much less of an excuse with the 386 and by the early 1990, it was well known to be a problem. Continue reading

Posted in 286, Intel, x86 | 13 Comments