dos

Old laptops booting from PCMCIA

  • by

I recently mentioned PCMCIA linear memory cards (both SRAM and flash) that existed before PCMCIA controllers started to support IO devices and ATA. I used such an SRAM card in my Olivetti Quaderno subnotebook instead of its failed hard drive. Quaderno boots DOS from the internal ROM, loads a driver to support SRAM and allows using it as an additional drive. However, there were also laptops that supported booting from PCMCIA cards, and I am surprised that this feature was not uncommon.

Certain 386/486 laptops with Phoenix BIOS have “PCMCIA” in the boot device list (in addition to “hard drive” and “floppy drive”). These support just linear
flash/SRAM cards and let you boot DOS out of the card mapped as A:. Everything works just fine and you don’t need to load any PCMCIA driver. ATA PCMCIA and CompactFlash drives are not supported here – they are ignored by the BIOS module.

The laptop with AMI BIOS could have an optional “PCMCIA Boot Function” module. Once it was enabled and a card was inserted, the system booted from PCMCIA and mapped the card again as A:. However, the support was flaky – just good enough to load a proper PCMCIA driver during OS boot.

Laptops from large brands (like Toshiba) mostly didn’t support this feature. ThinkPads were an exception (486 and maybe also early Pentium ones). According to some owners, they even supported booting from ATA/CF cards. However, ThinkPads as well as the laptops with Phoenix and AMI software did not provide a driver-less access to PCMCIA cards if a user booted from a different device. It seems that there is only one known laptop that supported this – MiTAC 4022.

PCMCIA 1.0, SRAM and linear flash cards

  • by

Although mounting remote HDDs over a serial cable to my Olivetti Quaderno was a nice solution, it was not very fast. I wanted to add persistent storage using a PCMCIA card, but Quaderno has just PCMCIA 1.0. I used to work a lot with PCMCIA, but it was always the newer standard (2.0) typical for 386/486 laptops. PCMCIA 1.0 does not support IO devices (so no ethernet cards) or CompactFlash cards (as they are IO cards in the ATA mode). PCMCIA 1.0 can work only with linear memory mapped cards. For linear flash cards, there were two incompatible standards (FTL and MS FFS). SRAM cards had just a single standard. In addition to all of this, simpler devices (industrial, embedded) required attribute memory on the card in order to work at all (fortunately, this laptop supports full Card Services and does not need it).

I took a 4MB PCMCIA SRAM expansion from my Amiga 600 and put it in Quaderno. The ROMDOS drive contains a Microsoft program called MEMCARD.exe (very similar to FDISK.exe, but for early PCMCIA cards), so I used it to format the card, rebooted the machine and got 4MB of persistent storage (the SRAM card has a battery to retain the data even after removing the card from the computer).

These early PCMCIA cards don’t work in Windows out of the box. However, there is already a DOS driver included in Windows 9x. You just need to add two lines in the config.sys and you can use the SRAM card in a “more modern vintage computer” (it still allows you to use the slot with other cards and use hot-plug features). Btw these direct mapped SRAM cards have one big advantage – they are super-fast.

I know it’s almost 30 years late, but I finally understood, how these old PCMCIA devices work…

Olivetti Quaderno PT-XT-20 (1992) – part 2

  • by

You might think that the machine is useless without a working HDD and no floppy drive, but that is not true. Quaderno has a small bootable “ROMDOS” drive with basic system files, COMMAND.COM, a RAMDISK driver (up to 320KB of EMS memory can be used and you still have full 640KB of conventional memory) and Interlink software. This drive is interesting, because it acts like a read-write one. You can edit config.sys and autoexec.bat (the changes are there even after shutdown, if the CMOS battery is ok or AC is connected). You can even copy files there, but if it’s more than a few KB, the system will crash hard (requiring you to
reinitialize the ROMDOS).

With Interlink, you can mount remote HDDs over a serial port. I used it to run VC (Volkov Commander) to edit the config.sys (no EDIT.COM in ROMDOS) and enable the RAMDISK driver. After this, I had my small but fast local storage (non-persistent) and everything bigger was started directly out of the remote HDD from another computer. This is a good way to test the computer before fixing the HDD or installing a flash/SRAM card in PCMCIA 1.0.

DECpc 325SLC & SimCity 2000

  • by

SimCity 2000 running on DECpc 325SLC (both from 1993) – This 25-MHz 386SL laptop was available with a color passive-matrix screen and thanks to its Western Digital graphics chip (512kB video RAM) it could handle 256 colors in a resolution of 640×480 (required by the game).

Not bad for a laptop that cost only about $2,100 when released.

50-line text mode on a gas-plasma screen

  • by

I took this photo while working on the MS QuickBasic version of our benchmark (previously written in C and Assembly). The goal was to compare speed of different languages and compilers. This required me to relearn BASIC so I always needed to see online help, my BASIC code and the original C code on a single screen. Switching a screen into the VGA 80×50-character mode is invaluable in these situations.

Regarding the results: I tested all versions of our benchmark, which is mostly about integer performance and memory access (similar to compiling and XML parsing), on this IBM PS/2 P70 with a 20-MHz 386 (DX). Interpreted QuickBasic 4.5 version was used as a baseline (1x). These are the speed-ups:

  • Compiled QuickBasic = 3x
  • Borland C++ (8086 instructions) = 15x
  • Borland C++ (386 instructions) = 33x
  • Hand-tuned Assembly (386 protected mode) = 70x
  • Metaware High C/C++ (386 protected mode) = 70x

A Sound Card David Made 30 Years Ago

  • by

This is a sound card designed and built by David (a friend of mine who does most of hardware repairs here on my tumblr) in the early 90s. He was a 15-16 years old high school student when he created this thing. It’s a custom design with 12-bit DAC, DMA support and connections for mono out and mono in. He was forced to use an 8-bit ISA bus because 16-bit AT prototyping card PCBs were not available in Czechoslovakia stores at the time (not long after the Velvet Revolution). There was also a problem to get necessary parts for stereo output.

The sound card is not compatible with any standard, so he wrote a program to playback wave sounds and created a “driver” for MODPLAY to playback tracker music. His reason to make his own sound card was simple – 8-bit Sound Blasters had worse sound quality and 16-bit sound cards were too expensive for him.

He still has one of the assembled cards, a prototyping board, all technical drawings and a WordPerfect document describing the design and operation of the card.

There is a quick video of the working card: https://www.youtube.com/watch?v=rL8u9aRfaK8

ATI Graphics Solution rev 3 and monochrome ADI DM-14 (1985-6)

  • by

My Vienna 286 (1987) has finally got a monochrome MDA monitor so I can put back the original graphics card (ATI Graphic Solution rev 3). This first ATI chip (CW16800-A) has functions necessary to drive CGA and MDA/Hercules modes, so you can connect both types of monitors although the card is very small. In fact, I was thinking that it was something much newer than the rest of the system but that was not true. ATI implemented most of the circuits in a big GAL (Gate Array Logic, maybe that’s why they were called Array Technologies, Inc.) which allowed them to make the card very compact.

I’ve started with MCGA graphics in 1989 and then with SVGA graphics in 1990. I had never had an opportunity to play with Hercules graphics modes, so I was extremely curious. Using high-resolution text-mode applications in an MDA mode (IBM Monochrome Display Adapter) is a pleasure on this long-persistence screen. Especially when you consider that the same experience was possible since day one with IBM 5150 PC in 1981.

Hercules Graphics Adapter (HGC) used almost the same signal timing as MDA and added a graphics mode where each pixel (720×348) could be changed independently. This allowed business applications to use high-resolution monochrome graphics (black/white) and the card became quite popular (ATI was not the only company making HGC clones).

HGC mode is not the best choice for gaming. Although a lot of games supported the HGC mode, they usually used a simple hack with CGA data. These were the typical approaches:

  • Prince of Persia: 320×200 CGA graphics is horizontally stretched to 640 pixels where each two adjacent pixels are used for dithering (4 shades -> 2 shades). There is no vertical expansion used in the game. The developers just put the 200-row graphics in the center of the 348-row screen.
  • Stunts improved the approach used in Prince of Persia. There is always a black row after two standard rows, so the screen is expanded to 300 rows. I’m surprised that it doesn’t look bad at all on the real CRT.
  • F-15 Strike Eagle tries to expand the graphics to the whole screen area. The vertical expansion is done by doubling every second row.
  • Microsoft Flight Simulator 3.0 looks great because it works with vector graphics. Thus, it can use the full HGC resolution. The result is better than with CGA with exception of the 16-color composite CGA output.

Bringing “Vienna 286” back to life

  • by

A friend of mine found an early 286 computer from the 80s in his garage. It was built in 1987 in Austria and then sold to an engineering school in socialistic Czechoslovakia for an incredible amount of money. The system contains 8-MHz Intel 80286 & 80287, a 1.5MB RAM expansion card, a Hercules clone (the first ever PC graphics chip from ATI) and a 30-MB Seagate hard drive for the ST-506 interface. We were not sure if it worked after decades in garage but to our surprise, we were able to boot. The system was fully working once we set up CMOS variables.

A few notes:

  • Modern computers with USB floppy drives are still usable for creating and testing DOS boot floppies without a need for emulators
  • The Czech “old computing” community is very generous. We forgot to take a PS/2-DIN adaptor and didn’t want to go back to Prague for one (two hours of driving) so I wrote a message on Facebook and got a keyboard (with mechanical switches) for free from a person living in a city near us.
  • Copying a whole 30-MB disk drive over a 115 kb/s serial port is faster than copying modern drives over USB 3.0
  • Booting to DOS prompt takes only 12 seconds (including BIOS)
  • I had to find a generic BIOS setup utility, because the early Phoenix BIOS didn’t
    have it built-in. GSETUP31.EXE was a solution. Check this for good DOS stuff (more
    info in 00_index.txt).

Higher Refresh Rate in DOS Games

  • by

I decided to stay in my parent’s house for a weekend and although almost all my computer equipment is somewhere else for a long time, under a thick layer of dust I’ve found my old Compaq DeskPro SFF box and a 17-inch CRT that my father bought new in 1998. Surprisingly, the system still works and its hard drive is loaded with many DOS and early 3D-accelerated games… Great time to play all episodes of Blood (a game based on the Duke Nukem 3D engine).

I like playing old games on CRTs but I hate low refresh rates used in DOS games (60-70Hz). If you have as sensitive eyes as I have, there is a solution called UniRefresh. It can modify default refresh rates for each supported resolution and it works well with most games that use VESA. That allowed me to play the game in 640×400@120Hz. Yay!

UniRefresh needs a graphics card supporting VBE 3.0 (VESA BIOS Extensions). Use the latest DOS version of SciTech Display Doctor to emulate VBE 3.0 support on older cards.

Acorn A3020 with a PC HW Emulator

  • by

It was common for many computer platforms to have a complete IBM PC compatible on a card in the 80s and early 90s. Software PC emulators were also a choice but their performance was usually very low. Having a card with a x86 CPU could solve the issue.

Acorn PC Card equipped with Cyrix 486SLC (25MHz) is almost as fast as Intel 486SX for certain tasks (main difference is in cache size: 1kB instead of 8kB) and the card allows you to get all the CPU performance. However if you expect full PC replacement, you would be very disappointed. The main limitation is in graphics performance. The card is usable only with text-mode programs and static graphics. Although VGA modes are emulated, even simple CGA games (like Alley Cat) are unplayable due to slow screen refresh. Good to mention that refresh speeds are somehow worse when PC Card output is changed from full-screen to windowed display.

I believe that it was better and probably not more expensive to buy a cheap PC clone instead of this card.