Search This Blog

Wednesday, 19 July 2017

The History of the Personal Computer - Part One: Before The IBM PC


Pretty much every home has a PC these days. Technically you have one in your hand in the form of a smartphone, depending on what your definition of 'personal computer' is. The lines used to be a lot clearer: presently you have a choice of a Mac or a PC. Macs are also PCs but no one calls them that. Macs weren't even called 'Macs' originally, they were 'Apples'. And why can't you still buy a PC from IBM these days, when they invented the PC to begin with? Or can you and did they? When you start to ask questions like this, it becomes clear that very few people know the full history of how PCs came to be a household item, after quotes like "I think there is a world market for maybe five computers" from Thomas Watson, president of IBM in 1943. To be fair, computers were as big as houses back then but, even in 1977, after the personal computer had come into being, the founder of one of the biggest computer manufacturers in history said "There is no reason anyone would want a computer in their home." How wrong he was...

Charles Babbage's Difference Engine
[source: computerhistory.org]
The history of computing arguably begins with the abacus, as computers were originally intended for one thing only: not to make our lives easier, but to solve problems. We humans have always been aware of our limitations: that there are certain tasks that we are largely incapable of completing accurately, reliably and in a timely manner (aside from the occasional exception). When Charles Babbage invented his Difference Engine in the 1820s, it was to solve a specific problem. Mathematics was used widely in science, engineering and navigation and the slide rule was the 'calculator' of the time. The device has limitations, however, so tables of numbers such a logarithms and trigonometric functions were pre-calculated (by people called 'computers') and printed so that answers could be looked up quickly when they were needed. Problems emerged with these 'log tables' because of errors - multiple publishers offered different solutions to the same equation and this is a significant issue when you're trying to navigate a ship. The Difference Engine was specifically designed to solve this problem, by calculating these logs accurately and even printing them onto conveniently-sized sheets. Unfortunately Babbage's invention was well ahead of its time and wasn't recognised for its potential so he was unable to secure the funding required.

Intel's 4004 [source: cpu-zone.com]
I'm going to skip most of the 20th century, because this is the history of personal computing. Although significant developments did indeed take place in the field of computing, particularly in the miniaturisation of components, prior to the 1960s, The PC largely came about thanks to the invention of the microprocessor. The first computers were mechanical devices. Following the introduction of electricity, experimentation led to many interesting discoveries, but very few applications. As early as the late 1800s, ways to manipulate the flow of electrons were being discovered, leading to the invention of the vacuum tube in 1907 and thus the next generation of computers. The reason I'm mentioning this is that it's the precursor to perhaps the most significant discovery of all - the semiconductor. A semiconductor is a material that can both conduct and insulate, depending on certain conditions. Being able to manipulate electrons on a microscopic scale led to the invention of the integrated circuit and thus the microprocessor. It is the birth of this device that shifted computer usage from terminals and mainframes into the hands of individuals.

Frederico Faggin [source: bbci]
Pretty much one man, Frederico Faggin, and one company, Intel, are responsible for the first commercially-available, one-chip CPU, the 4004. Although they were supposed to just be making a bespoke chip for a Japanese calculator company, they ended up with something more general-purpose that could be programmed. They proved this by using one of their own chips to aid the process of making further CPUs in the Intellec 4 computer. The chip was also used in the first microprocessor-controlled pinball machine. Although small computers did exist prior to the invention of the microprocessor, such as the Kenbak-1, they were slow, cumbersome, used many chips and weren't particularly versatile.

The premise of a personal computer is one that can be used by an individual, is easy to use, and is cheap enough for a person to buy. Before this time, computers were generally huge, expensive, and owned by companies or institutions. If someone wanted to use a computer privately, they had to buy time credits to use one. Bill Gates famously began his computing career by hacking such a computer so he could use it for free. This is another premise of the PC: if it doesn't do what you want it to do, find a way to make it so!

The MCM/70 [source: wikimedia]
One of the first computers that was described as 'personal' was the MCM/70, which was demonstrated to the press in September 1973 (although not commercially available until a year later). It was based on Intel's successor to the 4004, the 8008, and was designed to solve the inefficiency of multiple users sharing processing time on a mainframe. As far as I can tell the MCM/70 only had one use - to write programs in APL, a scientific language used for complex calculations and mathematical analysis. As such, most users were still big companies and the military i.e. the same types of users that were on mainframes previously. The only thing that really qualifies the MCM/70 as 'personal' is in the literal sense, as it didn't make computing available to the masses.

The MITS Altair 8800
[source: altairclone.com]
That honour goes to the Altair 8800, a computer you could build from a kit. It was based on Intel's latest CPU, the 8080, as the MITS engineers felt the 8008 was not powerful enough. Although low sales were expectated, the Altair was snapped up by hundreds of thousands of hobbyists. One key aspect of the Altair was its bus (the way data travels between the CPU, the RAM and other components). Completely by accident, the computer had to be designed in such a way that all these components were on removable boards. This led to the use of something called a 'backplane'; a dedicated circuit board with connector sockets on it so that cards could be plugged in, expanding the functionality of the computer. The S-100 bus was born and became the de-facto standard on subsequent PCs for a number of years. It allowed many computers to use the same hardware add-ons, and was technically the first standard many manufacturers claimed 'compatibility' with.

Using the Altair was an experience that most people will never have to endure. Commands were fed into the computer by configuring the switches on the front panel so they corresponded with whichever opcode (from a list of instructions the CPU can carry out) the user wanted. Some data would then usually be entered and so on. You would eventually receive visual output in the form of an array of LEDs on the front panel and you would have to attach a terminal if you wanted to view output on a screen. Altair BASIC, the computer's programming language, was written by a couple of guys called Bill Gates and Paul Allen from a company called Micro-Soft.

Anyway, the Altair sold many more than was expected, and basically kicked off the microcomputer revolution from which all others followed. Being able to write and read machine language in binary, however, restricted these 'first generation' PCs from achieving wide popularity, limiting their audience largely to hobbyists and scientists. In the following months, rapid advances in technology, along with low component prices, made it possible for the next generation to introduce a keyboard and a monitor for input and output of human language. BASIC found itself as the standard for programming, and computers could now plug into a regular TV.

An original Apple I [source: wb.com]
The first meeting of the Homebrew Computer Club took place in March 1975 in Silicon Valley and was initially formed to help Altair owners build their kit. It also attracted a number of enthusiasts with a background in electronic engineering and programming. One of those enthusiasts was Steve Wozniak. He, like Gates, also got into trouble at school for hacking the institution's computer system but eventually graduated from University and got a job at Hewlett Packard designing calculators. After seeing the Altair, Woz designed the first Apple computer in 1976, financing and constructing the first 50 boards with the help of his friend, Steve Jobs. Only 200 were made in total before the Apple II was introduced a year later.

1977 was the year the personal computer really came into being and, depending on who you ask, one of the following three computers has a claim as the first genuine PC:

The Apple ][
[source: computerhistory.org]

The first Apple was not a 'proper' computer. It didn't have a case, a keyboard or a power supply. The second Apple did. Most importantly, where hobbyists had been the previous market of small computer makers, the Apple II was aimed at businesses and home users. It could be connected to a standard TV, included a pair of paddles for gaming and could display colour, which was unheard of among consumer-grade computers. The inclusion of Apple's version of BASIC in the computer allowed users to write their own programs without having to buy any additional software, and a cassette deck could be used to store data. The Apple ][ was also the first computer that had a 'killer app' i.e. a piece of software that was so useful you bought the computer just to have it. That software was Visicalc, the first digital spreadsheet. It caused an explosion of sales: between September 1977 and September 1980, this one computer took Apple's sales figures from $775,000 to $118 million, and the rest is history.

The Commodore PET

[source: deusm.com]
Folklore has it that Steve Jobs attempted to sell the Apple ][ concept to Commodore, a major manufacturer of calculators at the time. They considered Jobs' offer to be too expensive and Commodore's notorious owner Jack Tramiel demanded that his engineers come up with their own computer in 6 months. The PET 2001 was the first all-in-one home computer, with a built-in monitor and tape drive. Where the Apple ][ sold well to home users, the PET took a stranglehold on the North American education market, thanks to its rugged build quality.

The Tandy TRS-80

[source: wikimedia.org]
The final member of the 'Trinity of 1977' was the TRS-80. You've probably heard of Radio Shack, perhaps by watching the film Short Circuit or something like that, who had a chain of over 3,000 electronics stores in North America owned by Tandy. Again, the Altair provided the inspiration behind this computer, which started development in 1976 and was originally meant to be a kit. Based on the fact that 'too many people can't solder', Tandy's engineers decided instead to create a pre-assembled computer. Their timing was perfect. It seemed everyone wanted a computer in 1977, and Radio Shack stores took a quarter of a million of advanced orders. Thanks to having its own factories, distribution networks and retail stores, Tandy were able to get their new computer out of the doors by Christmas and apparently outselling the Apple ][ by a factor of 3.

The next part will, hopefully, be coming soon.

Thursday, 29 June 2017

System Profile: Acer AcerMate 386SX/20N [Part One]

Home Page

Part One of this article profiles the hardware itself and its history.
Part Two features cleaning it up and using it for gaming.

A few years ago I acquired a 386 system for 99p from eBay. It was an Acer AcerMate 386SX/20N. I don't know why I got so excited about it - I think it was because it very closely matched the spec of my first PC, which was an Ambra 386SX/25 with 2MB RAM and a 40MB hard drive. I played A LOT of games on that system so this one would make an excellent replacement. This system was a very similar spec and even came with Windows 3.11 installed, along with DOS 5.0.

The seller's pics intrigued me because there was an expansion card in one of the 2 ISA slots, but I couldn't quite tell what it was. It looked like a sound card of some vintage, as it had a DB-9 port and what looked like two 3.5mm jacks. I was wrong. It was an 8-bit network card with an AUI port and two holes in the shield (for activity LEDs, presumably). Nevermind. (I have since replaced this with a 3Com Ethernet card.) Nonetheless, this turned out to be quite an intriguing system.



Its design is completely modular and you can remove all serviceable parts without the need of a single tool. There are two catches under the front panel that allow it to be rotated up and removed.


Once this is gone, the top case needs to be unlocked via the two blue sliding catches on either side. I would worry about these in the long-term, as they are a bit stiff and could be broken if the plastic becomes brittle. With a bit of a shove, the top case slides backwards and lifts off.


This allows easy access to the RAM slots. The expansion slots are located on a riser in-keeping with the small form factor.



Note the metal bar passing alongside the speaker, by the floppy disk - this is the mechanical power switch for the system.


The drive cage and proprietary power supply can also be easily removed from here, revealing the motherboard, which appears to be LPX, but is referred to as 'proprietary' in The PC Engineer's Reference Book [source: hp64000.net].


Note the use of what appears to be an MCA slot for the ISA riser. There were a lot of these floating about when non-IBM MCA systems didn't materialise in any great number but slot-makers had already manufactured a butt-load. They were also used for VESA Local Bus. Also note the empty sockets next to the BIOS ROM chips. More on those later. Also, it needs a good clean.

All the elements of the system are integrated into the board:
  • Intel 386SX 20MHz CPU with socket for co-pro
  • Dallas RTC (which I replaced as it had a flat battery)
  • 1MB RAM on-board (I think) plus 4 slots for 30 pin SIMMS
  • Acumos AVGA1A video chipset with 256KB memory
  • Floppy drive controller (3.5" floppy drive included, 2nd drive optional)
  • Fixed disk controller (3.5" Connor drive included, optional upgrade)
  • 2x ISA slots
  • PS/2 mouse and keyboard
  • DE-9 serial
  • DB-25 serial
  • DB-25 parallel
  • DE-15 VGA
  • Fan header (for the single fan blowing over the RAM)
Even power for the drives is distributed, via a Molex connector, from the motherboard itself rather than the PSU, something I've never seen elsewhere. The PSU is a 43W Delta unit with passthrough for monitor (which I opted not to take from the seller - I think it was faulty and I don't need anymore CRTs).

Lots of people complain about the Dallas real time clock, but they're not that much of a pain. Of course, compared to a coin cell, they're less convenient and more expensive, but they're a hell of a lot better than a barrel battery as there's zero risk of the board being corroded to death.

There are some extra features on the motherboard that are hard-wired:

J15 - CPU Speed Selector
I'm guessing that there was a 16MHz variant of this system and that this jumper was set at the factory depending on which model was installed. The CPU crystal dictates the speed and the jumper controls some kind of divider. Given that it's located on the opposite side of the board that would make sense. This makes me wonder whether I could replace the 40MHz crystal for a 50MHz one to overclock to 25MHz (although I believe AMD CPUs of this class behave better when overclocked).


These ones are interesting. Aside from the typo (it should say 'precharge'), J13 is for another factory-set option. I know that CAS and RAS are to do with how frequently the RAM is refreshed, and a bit of digging pointed me in the direction of this patent, detailing the 'invention' of half-wait states. The explanation for this is that integer wait states were previously adequate for CPU speeds but, with the advent of faster 286 models and the 386, performance gains could be had by using N+0.5 wait states, where N is a whole value between 0 and 4. Given that this board is set to the quicker '1/2T' setting, I would guess this was set according to the CPU speed being 16 or 20MHz.


Having written the above, I rediscovered this post by a Chilean member of the Vogons forum. He found a Unisys PC apparently with the exact same Acer board within it, complete with typo and everything. His system, however, came with the 16MHz CPU, 32MHz crystal and, sure enough, it's set to 1T:

[source: user 133MHz via Vogons forum]
Interestingly these systems appear to use the old method of using two chips for the BIOS ROM, one for odd bits and one for even. I understand that this was IBM's solution to providing 16-bit access to 8-bit chips when the 286-based AT was introduced. Why they didn't just use a 16-bit EPROM is unusual.

There are also sockets for 'Shell ROM' and 'DOS ROM' to the right of the BIOS. I can't find any info whatsoever on what a shell ROM would do but, given that it's just the *nix term for 'command interpreter', I'm guessing this system could support an embedded version of either Linux or DOS. Without documentation it's hard to tell.

And that brings me onto my next point. The strangest thing about this system is the apparent complete lack of documentation available. In fact this is page is probably the most comprehensive source of info on AcerMate systems anywhere on the Internet. Considering it's from a major manufacturer, who are still going today, you would think that a manual would have survived somewhere in some form. My search will continue but, for now, the only documented record of a manual is in the State Library of Queensland in Brisbane. The lack of an electronic copy suggests a lack of surviving units and, therefore, a lack of end-user enthusiasm for these machines. This general lack of information, the modular design, form factor, and budget pricing suggest that this system was picked up by businesses who wanted to equip a workforce cheaply. Given that governments, businesses and corporations tend to write off and recycle most of their old kit, that would explain the lack of these systems in the wild. The only references I've found to this class of system so far in the press are the following:

[source: Computerworld, 11th May 1992]
[source: InfoWorld 27th July 1992]

So it appears that the network card it came with was a stock option on the N model and I have subsequently upgraded the hard drive to a larger model, but the BIOS restricts the size to 500MB.

At least I managed to find some technical documentation detailing the jumpers on the board:
[source: The PC Engineer's Reference Book Volume 2: Motherboards]

This means I have the option to upgrade the Acumos chipset (later acquired by Cirrus Logic) by disabling the internal graphics but no other options to speak of. And I don't know whether I would call any ISA alternative an 'upgrade'.


The BIOS itself is nice and simple. It's by Acer themselves, rather than AMI or Phoenix, and provides not only the usual configuration options but also a low level format option for the hard drive, should one be installed. Interestingly, PCem has the 25MHz model of the AcerMate on the list of machines it can emulate, although it looks like the graphics chipset differs [source: bitbucket.com].

Later models based on the 486 and beyond had a slightly more standard case, which could accommodate a CD drive plus another 5.25" device (or a 3.5" device in a bracket). Note the unusual placement of the hard drive in the final pic.

Acer AcerMate 600 [source: izhevsk.ru]

Internal view of RAM, CPU and ISA slots [source: izhevsk.ru]

Top-down view illustrating placement of components, including what appears to be a Sound Blaster 1.5 [source: izhevsk.ru]
Despite the lack of official information, it seems there are a lot of AcerMates floating about the Internets, particularly in Russian museums it seems. I found another article here, written by a Russian enthusiast, which sheds a little light on why these systems seem to be so prevalent in Russia. While retelling the ramblings of the friend he acquired his AcerMate 450s from, he says

then followed the story that this Acer was at a time in any financial institution (maybe even the ministry?), the bank and the FSB, and even in all these places at once.

Google translate not doing the Russian language any justice whatsoever, but giving my theory of who bought these systems some credence.

In terms of the games I would play on this system, this would be based on what I played on my first computer in 1993 and in 1994 prior to upgrading. Most are early VGA games, plus some EGA examples, that ran quite comfortably. Given that the 486 had been around for about 4 years by this point, and the Pentium was not far off, games were already starting to push the limits of the hardware and some were appearing on CD-ROM. As a result, I played quite a few games that didn't perform brilliantly on my lowly 25MHz 386, so they would perform even less well on this Acer system. Plus I only had a 40MB hard drive so was limited in what I could install. Anyway, for a list of games I would play on this system, go to the Game Gallery: 386 page.

Monday, 12 June 2017

CGA, EGA, Serial & Modem Cables: The Differences & How To Tell

Home Page

A bunch of serial cables? Maybe not... [source: author]

So I recently had a situation where I needed a cable but I couldn't work out which was the right one. I knew at least one of them was a null modem cable and my hope was that one of them was a CGA cable. Maybe one of them was a serial cable. How do I tell? None of them worked with my monitor. Part of the problem was that I needed a cable that was male at one end and female at the other and I could only achieve this by linking two together. Now I initially had a vague idea that the different types of cable are wired differently, while some have fewer wires in them than others. CGA is 'straight through' i.e. pin 1 at one end corresponds to pin 1 at the other end. This is not the case with a null modem cable and I have no idea about a serial cable. Being aware of this is all well and good but it doesn't tell me which cable is which if I can't see the wires inside the cable and where they connect. So here's how to tell.

Method 1: Visual Inspection


DE-9 cables are usually either male-male or female-female at either end. If they're male-female then it's likely (but not definitely) an extension and, therefore, straight-through. All serial ports on devices are male, so it can be safely assumed that a female-female cable is some kind of serial or modem cable (there's more than one). It thus follows that, because CGA/EGA ports on PCs are female, it could be assumed that the corresponding cables are male-male. This is where it gets tricky though, so visual inspection is of limited use.

Method 2: Dismantlement


Yeah I probably made that word up but you know what I mean. One of the cables had removable covers at each end, so I took 'em off and had a butchers:

A dismantled serial cable [source: author]

You can see quite clearly that the pin assignments at each end differ. Also note how the shielding of the cable is soldered to the shell at each end. Just by visually inspecting the cable, I was able to map out the pin assignments on a handy bit of paper. The pin numbers are indicated on the plastic next to each pin in the socket:

Wiring diagram of null modem cable [source: author]

As I said, clearly not straight through, so not a CGA cable. It's also not the cable in the photo above, just an example of the process. So what kind of cable is it? Well apparently the one I've mapped out here is a null modem with full handshaking [source: lammertbies.nl]. I'm sure this will be useful someday but, right now, it's bloody useless.

Method 3: Measurement


The next two cables could not be dismantled without destroying them, as they were factory-moulded. Time to get the multimeter out.

Finding out which pin connects to which [source: author]

By setting the multimeter to measure resistance, we can work out which pin is connected to which pin. Because the probes aren't slim enough, I broke a paper clip in half and shoved them into pin one on both ends. I could then connect the probes to the metal and measure resistance between each end. 1 means infinite resistance in other words no electricity is flowing. In this case, that means no connection. On the left I kept the positive probe on pin 1 and moved the negative probe to pin 2. I did this with every pin combination. Why didn't I stop when I find a connection? Because some leads are connected to more than 1 pin, that's why. When you find a connection, the resistance will reduce from infinity to negligible (or zero, depending on the sensitivity of your equipment). You'll get a rough idea of how many wires there are. Some serial cables only have 3 so watch out:

We have a match, but the pins are different numbers [source: author]

As you can see here, we have a connection between pin 6 and pin 4. If I were to swap them over we would also find a connection between pin 4 and pin 6. After testing every pin, I used a neat, free, open source program called TinyCad [source: sourceforge.net] to draw the diagrams below:
Wiring diagram of null modem cable with partial handshaking [source: author]

As you can see, this differs slightly from the first cable (and is the first cable I photographed). Apparently this is a null modem with partial handshaking. Again, bloody useless. The third cable, however, was quite a different result. For a start, both ends are male, which is a clue all by itself. It didn't take me long to establish that this cable is indeed straight through and exactly what I'm looking for!

Now the only issue I have is that one end of my cable is the wrong gender. I'm not buying some adaptor from a shop because I'm brassic. Instead, I'll take the dismantleable cable I've got and resolder it so it's also straight through. The only issue with that is that there are only 7 wires and I've got 9 pins to worry about. So now I need the CGA pinout to find out what's what:

Pinout for CGA and EGA graphics standards [credit: what-when-how.com]

As you can see, I've included the EGA pinout as well for comparison. The original MDA (monochrome graphics adaptor) only used 5 of the 9 pins available, with pins 2-5 having no connection. CGA stopped using pin 7 for video and instead assigned RGB signal to 3, 4 and 5 respectively. This leaves 2 and 7 unconnected and that happens to be 7 pins in total. Bingo!

There is one drawback. Although EGA uses DE-9 too (yes, DE-9), it needs those two extra pins (and hijacks the 6th pin, formerly used for intensity in MDA) in order to provide support for 2 bits per colour (hence two pins per colour). There are certain circumstances where the two can be interchanged but that would depend on compatibility between the monitor and the graphics card. If I wanted to maintain compatibility with MDA I would also need pin 7 but this will be exclusively CGA so I don't care.

Right, where's my soldering iron...

Rewired null modem cable for 'straight through' operation [source: author]

So here is the result of my meddling (no such thing as 'meddlings' apparently, but I think it sounds better). Pins 7 and 8 were already linked by a blob of solder, which is no skin off my nose considering 7 is unused. I snapped the covers back on the cable, plugged it in and...

Nothing.

Took me a good 15 minutes to remember that there's a switch on the front panel of the 1084 where you can choose which input to display (like every other bloody monitor - what an idiot!). Anyway it's not like I rewired the cable for nothing - it still wouldn't have worked even with the monitor on the right input selection. So now it works like a charm. I think I'll do another article soon on the differences between CGA composite and RGB.

Friday, 3 March 2017

Benchmarking of Different Floppy Disk Devices


Introduction


Over at Vogons a little while back, someone asked if anyone had benchmarked different methods of reading and writing floppy disks to see which was best. I performed some tests and found out the following headlines:

- LS-120 drives are awesomely fast at reading floppy disks but terrible when it comes to writing.
- USB drives are around 20% slower at writing than native floppy drives, and only marginally better at reading.
- Mitsumi USB drives are crap.
- In most cases there is no difference between operations performed on a PII running Windows 98 with USB 1.2 and a Celeron D system running Win2K3 Server with USB 2.0. I did observe a 20% improvement in reading from USB devices, however.

So, onto the guts of the testing. It was suggested that the following devices should be included:


Came with all PCs until relatively recently, compared to Apple computers, which did away with them with the advent of the iMac. Iomega Zip discs became the industry-standard external storage medium for Apple hardware and many Power Mac models had an internal Zip drive.

USB Floppy Drive

For laptops, a USB floppy drive was a good alternative to integrating a drive and therefore saving space. It was also the only option for PCs and laptops that had no internal FDD option at all.


Gotek floppy disk emulator

A device that uses the same physical form factor as a floppy drive, but reads virtual floppy disc images from a USB stick and presents them to the computer as 'real' floppy discs.
LS-120 drive (aka SuperDisc)

The spiritual successor to the floppy drive, it used a 40-pin ATA connector rather than a floppy drive interface so it was faster and it fitted in the same slot. It was also more accurate, as lasers were used to guide the magnetic head. Although it used the same magnetic disk technology used in standard 1.44MB floppy disks, it could fit a higher density of data onto the surface. This meant it was also backwards compatible with standard discs and could also read date more accurately than a standard drive.

Methodology


  • The stated margin for error is +/- 1KB/s.
  • Nearly all drives were tested using Win98 installed on a Pentium II @ 550MHz (Intel BX chipset). The second LS-120 drive was installed in another machine, using Win2K3 Server on a Celeron D @ 2.66GHz (Intel 945GC chipset).
  • Software used was WinImage 6.1.
  • Each test was performed using the same high density floppy disk in each case.
  • Imaging operations were performed with disk 1 from the Windows for Workgroups installer set, which is 1.40MB in size (1,474,560 bytes).
  • File transfer operations were performed using Windows Explorer with the contents of this image (19 files).
  • Operations were timed using a stopwatch and logged in seconds. I then divided the size of the disk by this to get KB/s.
  • I performed further tests with a Windows 8 system on a Core i5 @ 1.7GHz (Intel HM77 Express chipset) and WinImage 9.0 (64-bit) with USB 2.0. I found no variance from the 2K3 system results.
  • A final observation is something I've never observed before: native and USB floppy drives are cached so that if they are read or written to once, subsequent transactions are almost instantaneous. It's the first time I've come across this and I don't know if it's down to flash memory in the drive itself or an operating system feature. Ejecting a disk clears the cache.

Results



As you can see here, USB drive B was the slowest of the bunch at reading a disk to an image file, barely achieving 20MB/s. This is 33% slower than a built-in drive and more than 50% slower than the fastest result, LS-120 drive B.


The shape of the graph is mostly consistent for transferring many files, but the USB drives have an advantage here. The slowest drive is around 50% faster in this test, and each of the other USB drives show improved transfer rates. The internal drives are all marginally slower.


A bit of a switcharound for writing an image file to a disk. Both the internal drives come out on top with identical transfer rates, about 50% slower than their read speeds. USB drive B still languishes in last place with barely over 10MB/s, while the performance of the LS-120s is comparable to the other USB drives.


The story is different again with transferring many files, with the LS-120 drives having a terrible showing. The internal drives perform almost identically to the previous tests, and the USB drives actually come out on top.

Bottom Line

  • If you're reading data from floppies use an LS-120, as it could be more than twice as quick as another device.
  • If you're writing data, use a standard drive as they are about 50% quicker.

Adventures With EISA: Part One - The Motherboard

Home Page

Intro


I've been collecting vintage computer gear for some time now but my most recent find is probably the most exciting one yet. And it didn't cost me a thing. Usually with items like this you hunt on the Internet and eBay for ages, eventually find something you're semi-happy with and pay money for it, only to come across a better, free version a week later. This happened to me recently when I decided to acquire an Amiga 500 again, after giving mine away about 10 years ago. This time it was pure luck.

For a while I've wanted to make a video series on the history of PC hardware, charting the development of hardware standards since the first PC, The IBM model 5150. The PC is approaching its 40th birthday and, at the rate the project is going, it will probably be finished when that date comes in 2021! What's amazing is how little things have really changed in that time, as there has been a common theme throughout it all: speed.

Compatibility, Compatibility, Compatibility


While most people associate the speed of a CPU as the defining mark of how fast a computer is, that's not the whole story. How the CPU interacts with the other components in the PC is just as important. This includes the cache, RAM, bus, I/O cards and storage devices among others. Although the development of PC hardware has been defined largely by compatibility, this is dependent mostly on the ability to run software. So long as the hardware was compatible with Intel's instruction set, PC makers could pretty much do what they wanted, while remembering that although some customers will pay a premium for the fastest system, most would prefer something that's future-proofed in some way or the ability to re-use existing RAM and expansion cards.

The Performance Revolution


This all went to pot in the late '80s and early '90s with the dawn of the PC GUI (aka Windows 3) and the realisation that the ISA bus was woefully inadequate for high-bandwidth applications. It was still only 16-bits wide and ran at 8.33MHz, matching IBM's 286-based PC AT. Although EISA and MCA were developed to take advantage of the 32-bit 386 and 486 CPUs, they still ran at around the same frequency as ISA. PCI and AGP eventually established themselves as the new standard in the mid-'90s but, before then, all the big manufacturers came up with their own 'local bus' that could run at the same speed as the CPU: Compaq's QVision (Mar '92), V-Com's 486 Local Bus (Mar '92), NEC's ImageVideo (Sep '91), Epson's Wingine (Feb '93), Swan's Direct Bus (May '92) and Opti's Local Bus (< Dec '92) among others.

Disparate Measures


The problem with proprietary buses is that you can't take a QVision card and put it in an Epson machine, so potentially expensive components become obsolete within a couple of years. In response to this, VESA (Video Electronics Standards Association) developed their own local bus standard, which was widely adopted by the industry and can be seen on many 486-era boards. For high-end workstations, which prioritise bandwidth over speed, VLB on an ISA system was still inadequate - . Running more than one high bandwidth card on VLB often caused compatibility issues. So what was the ideal solution in these pre-PCI times of choice and uncertainty? EISA + VLB. And that's exactly what I inherited this week when the technicians upstairs where I work were having a clear-out:


The Motherboard


This is the PET48PN board by TMC (revision 1.00). Considering it's over a quarter of a century old, this board is in amazingly good condition. No dust, no scratches, no damage. I do not have the manual for it, and cannot find a copy online. This is unsurprising given that manuals were not distributed digitally in 1993 so it would take someone to manually scan an existing physical copy and upload it for that to be possible. Thankfully, TH99 comes to the rescue, and has a full list of jumper settings, plus a schematic:



According to the specs, this motherboard has the following features:


Socket 2 supporting 486 CPUs up to DX2 + Overdrive
CPU speeds of 20MHz to 50MHz (plus clock-doubled models)


OPTI 82C682 chipset


7x EISA slots, 2x VLB connectors


Up to 128MB of RAM in 30-pin or 72-pin parity SIMMs


Up to 512KB of cache RAM


AMI BIOS

For those unfamiliar with old motherboards, you may have noticed that there are no ports at all aside from the keyboard. While modern motherboards tend to have everything built in, doing the same on early-1990s technology would have a) been massively expensive and b) been impossible to fit onto a standard motherboard size. Also consider that PCs were still predominantly business machines at the time, so there was zero need for decent graphics performance or sound. USB didn't even exist yet. So the following parts would be required in order to get this system up and running:

The Components

CPU

It only makes sense in a system like this to make it as high-end and kick-ass as possible. The fastest CPU this motherboard will support is probably AMD's 486DX2/80, which has an internal speed of 80MHz and runs on a 40-MHz bus. I don't think I own one of these. I do have a DX2/50 or 66 though, but what I'm most curious about is the DX/50. While this was a short-lived CPU (many PC makers had issues producing stable systems), it was at the centre of the fastest pre-clock-doubling PCs. While the DX2/66 was technically a faster CPU, it ran at 66MHz internally but the other components such as the cache, RAM and expansion cards, ran at 33MHz. With the DX/50, all these components run at 50Mhz (that's a 50% increase). Theoretically a DX/50 system should be faster than a DX2/66 system. Obviously CPU-centric benchmarks would show the latter to be faster, but real-world, fully rounded tests should show the DX/50 coming out on top.

Cache

Some kind soul clearly stripped this board of all of all useful parts. Fortunately I have a good stock of SRAM chips to go in this thing, and I can probably fit the total 512KB possible. Interestingly the tag chips have been left on the board, and they are 15ns. This is actually great because tag chips are generally quicker than the actual cache chips, and 20ns would be sufficient for a 50MHz system.

RAM

As illustrated, the board supports 30-pin SIMMs (to be installed in pairs, because they are 16-bit wide each and the CPU is 32-bit) or 72 pin SIMMs. This was usually a cost-saving measure, as RAM was damn pricey back then, and people obviously wanted to carry over what RAM they had already purchase. I've never tested out the difference in speed between the two types of RAM so it could be interesting to do a comparison. I love boards like this that include two different types of technology.

Graphics card

As there are 3 buses available here (ISA, EISA, VLB) there are technically 3 ways to approach this. But not really. With graphics, bandwidth is all important and the VLB slots provide the highest bandwidth. With a 50MHz CPU in the socket, that means 50MHz graphics, too. Although graphics cards were produced for the EISA bus, they were expensive and hard to find (and still are) and while they were 32-bit, they only ran at 8.33MHz. VLB really was the way to go with graphics and, on a 50MHz system, should theoretically outperform a similar PCI-based system, as that ran at only 33MHz. Still, this board presents a good opportunity to benchmark and compare just how big the performance difference is between ISA, EISA and VLB cards.

I/O card

As I'll be using Windows 3.11 on this system, I will need at least one serial port for the mouse, but I probably don't need the parallel port. ISA is fine for this as the bandwidth requirement is low.

At least one storage controller

I will need an interface card for the hard disk and floppy drive (CD-ROM not required). Choices for HDD are IDE (possibly EIDE) or SCSI and I could technically do either, but there is a choice to be made over which bus is used with which interface technology. So let's try to find the best solution on paper:

ISA: 16-bit, 16MB/s
EISA: 32-bit, 30MB/s
VLB: 32-bit, 190MB/s (@ 50MHz)

For SCSI I have both an ISA and an EISA card:

The Adaptec AHA-2742AT

The pictured model is the EISA SCSI card, is apparently SCSI-2 and supports 2 floppy drives with up to 10MB/s data transfer rate. That's not very fast. Theoretically the ISA bus is 16MB/s, so I don't know how much of an advantage EISA presents. Most of the benefit will come from the bus being able to push 32-bit transfers to the CPU.

For IDE I have caching controllers in both ISA and VLB so I will probably have to test out all configurations to find out which one is actually fastest. I'd be interested to see the performance difference between EISA + SCSI and VLB + IDE.

RTC

As you can see, there is no battery on this board. That is mostly an excellent thing because, typically, a board of this age would have had a rechargeable barrel-style battery on it, which have a habit of leaking corrosive fluid all over the board and destroying any traces it encounters. It's happened to me more than once. The empty socket above the BIOS chip accommodates a Dallas real-time clock, but not your run-of-the-mill DS1287, no. EISA boards have to save information regarding the expansion cards in memory, so this board came with a DS1387, a RAMified version containing 4K SRAM. While you can buy a DS12887A to replace a standard RTC, the EISA one is no longer manufactured in any form. I can apparently buy one relatively cheaply from China, but it may be more worthwhile to perform the popular coin cell battery mod:


I haven't tested the RTC or the board yet so I don't know if either works. That's the end of part one. The next chapter will be dealing with the build itself.