Advent of Computing - Episode 90 - Where Did The S100 Bus Go?

Episode Date: September 4, 2022

In the last half of the 70s there was one gold standard in home computing: S100. This was a standardized bus that was the heart of many computers. It allowed for the interchange of parts from differe...nt manufacturers. Best of all, the S100 bus was simple. This made for a wonderful platform for hobbyists, and helped jump start the home computer revolution. And then... it disappeared. Where did the S100 bus go, and would we have been better off if it stuck around? This episode we tackle these questions and more.   Selected Sources:   https://archive.org/details/IoNewsVolume1Number1/page/n5/mode/2up?view=theater - The Cromemco Story   https://www.digibarn.com/stories/MITS/mholley-images/Ed_Roberts_Oct_1984_ME.pdf - An interview with Ed Roberts   https://mirrors.apple2.org.za/Apple%20II%20Documentation%20Project/Books/W.%20Gayler%20-%20The%20Apple%20II%20Circuit%20Description.pdf - Circuit Description of the Apple II

Transcript
Discussion (0)
Starting point is 00:00:00 How do you make a personal computer viable? Now, this is a question we've grappled with quite a bit here on Advent of Computing, and I think it's an important question to come back to again and again. Personal computing has defined the digital age for, well, nearly 50 years now. We have to be able to analyze its roots, at least for our own safety. So here's the question of the day. How do you make this great idea possible? To answer this question, we can draw from a rich history of attempts. I think the best starting place is to look at the computer that really broke the market wide open, the IBM PC. Now, this won't be
Starting point is 00:00:46 another IBM episode, but we can't talk about personal computing in the 80s without talking about THE personal computer. There were many aspects of the PC and its design process that made it a success, but I want to focus on just one that can be easy to overlook. Expandability. A consumer could purchase a bare-bones PC for a relatively low cost. That could be upgraded to have multiple disk drives, color outputs, more RAM, networking, and even a hard drive. The list really goes on.
Starting point is 00:01:27 This one base machine could be built out to service small-time users or big-time business. You could even get into computing with a basic PC and then upgrade your machine over time as you became, you know, maybe a bigger-time user. The core of that expandability was the PC bus, later called, somewhat retroactively, the 8-bit ISA bus. This bus came in the form of a series of slots on the PC's motherboard, and it was controlled via some specialized chips. To expand your machine, all you had to do was pop the top off, plug a card into one of those slots, and then close up the PC's case. You could go from monochrome to color without buying a new computer. You just needed to switch graphics cards. The only tool you needed was a Phillips head screwdriver. You could go from 64k of RAM up to 640k in the same fashion. The PC was able to be something of a chameleon. This flexibility helped make the PC a viable product at a really wide swath of price points. But IBM didn't invent the
Starting point is 00:02:35 idea of the expansion bus. They weren't even the first to adapt the idea to home computing. Expandability has been a hallmark of small systems since the very beginning, if you can believe it. It all goes back to the Altair 8800, and a standard that would come to be known as S100. Welcome back to Advent of Computing. I'm your host, Sean Haas, and this is episode 90. Where did the S100 bus go? Once again, this episode is being produced partly thanks to listener influence. I've been meaning to talk about the S100 bus for a while, but I've never actually gotten around to it. Well,
Starting point is 00:03:25 recently a listener by the name of Jeffrey wrote with a question that I hadn't considered before. Where exactly did the S100 bus go? What killed it? And why don't we use similar buses anymore? For those unfamiliar, the S100 was a standard from back in the really early days of home computers. It was a way to connect up multiple cards to form a fully functioning system. You might have a processor card, a memory card, and a serial card. Each would have a 100-pin edge connector on one side. Those connectors would slot into a larger backplane that simply wired each pin together. So, pin 1 of each card was bundled together, same for pin 2, on the way down to pin 100. The standard was widespread for quite a few years. It starts on the Altair 8800, but
Starting point is 00:04:19 quickly moves beyond that one computer. It was also shockingly flexible. There were machines that used the S100 bus with Intel 8080 processors, MOS chips, Zilogs, even up to some pretty big Motorola chips. Despite differences in hardware, all these systems used the same standard bus, and in theory could have shared certain expansion cards, but we'll get more to that later. There's even a codified standard for this bus. It's called IEEE 696. Usually once something is entrenched, especially in tech, it tends to stick around. But S100 computers died out kind of quickly. The bus first appeared in 1974. Once the PC hits the market, fewer and fewer S100 machines are sold. The IEEE standard is even retired in 1994.
Starting point is 00:05:17 I don't see that a lot when I'm looking at old standards. We have here a classic story of rise and decline, but I want to know the why part. Why was the S100 standard dethroned so easily? Was it an issue with the standard in general, or was this all due to market forces? To tackle this another way, why don't we see standards similar to the S100 bus today? The bus itself is simple. It's as simple as it gets. There are no active components.
Starting point is 00:05:50 It's just a big circuit board with a bunch of slots, and each trace is just a line. So why hasn't there been a resurgence? Are there technical issues buried in this simple design? To answer these questions, we need to get to the root of the S100 bus, its rise to fame, and eventually its fall from grace. Along the way, we'll be looking out for what made the S100 a viable solution at the time, and then for any problems that cropped up to this seemingly viable solution. Along the way, we're also going to be discussing the influence of
Starting point is 00:06:27 clones and how a clone market played a part in the story prior to the PC clone market, if you can believe it. Now, before we get started, I want to squeeze in an announcement that you've probably already heard if you've been listening lately. I am starting a journal called Notes on Computer History, or NOC for short. I kind of like calling it NOC because then, you know, you can say, hey, don't knock it until you try it. It's a bad joke. So that aside, right now I'm putting out a call for authors. I'm looking for people that want to write about the history of computers.
Starting point is 00:07:05 If you're listening to the show, then you're probably at least interested in this topic. Notes on Computer History is going to be a place for any author to contribute a paper, a piece, an article, whatever you want to call it, about the history of computing. I'm not just looking for academics. I'm looking for anyone who wants to write. You don't have to have any experience. Right now, I have a great group on the editorial board, as I've been calling them, that's eager to edit more papers. So if you haven't written before, contact me, send in a draft, and I'll get you hooked up with an editor and we'll head out towards the first issue. I'm really hoping that
Starting point is 00:07:45 this turns into a good community project, and I think it will. So with that announcement out of the way, let's get into the actual meat of this episode. Of course, the only way to start this discussion is with the Altair 8800. I've covered this machine in depth on a previous episode, so I'm not going to belabor all of the history. We just need to focus on the actually exciting part today. The bus. I know that might sound like a joke, but I've come around in my way of thinking. I'm not entirely scoffing at the idea here. The 8800 was unleashed on the world in 1974 from a company called MITS, a small New Mexico outfit founded by Ed Roberts. The Altair 8800 has this almost mythic status. MITS had been trying to turn a profit for a few years and had yet to really
Starting point is 00:08:41 strike it big. According to some tellings, Roberts decided to design a computer kit as sort of a last hurrah. That kit was to be based around the somewhat new Intel 8080 processor, which he was able to source at a steep discount. The final machine, the Altair, was a cheap but functional computer. It sold as a kit, bare boards without chips, or pre-assembled. Instead of merely keeping MITS afloat, the Altair would drive the company towards expansion. Technically speaking, the Altair isn't much to write home about. For $439, you could get a kit with all the fixings to build a machine. That included a genuine Intel 8080 processor, a steel case, power supply, lights, switches, and 256 bytes of ROM.
Starting point is 00:09:39 Not kilobytes. Definitely not megabytes. Just bytes. There was also no onboard serial I.O., so no connecting up to a terminal. That's just plain not a very good offering. At the time, some called the Altair a toy because, when you get down to it, there wasn't much serious work that could be done with a stock-standard Altair. Now, if that was that, then no one would be talking about the Altair nearly 50 years after its release. MITS would have died out. The Altair would have been remembered as a blip,
Starting point is 00:10:21 and a young Bill Gates and Paul Allen would have never gotten a new job. Home computing would have had to start some other way. Maybe IBM would have hit it off earlier, or Xerox. Maybe even TI on an outside chance. But the Altair did have a saving grace, one weird trick that made it a viable solution, if you like. You see, this little computer could grow into something bigger. This was thanks to a quirk of the Altair's design. Instead of just cramming everything onto a single board, Roberts had decided to use a number of smaller boards, each connected to a backplane. I'd really call this the hallmark of the Altair 8800. Other 8080-based machines would come and go, and under the hood,
Starting point is 00:11:14 all 8-bit computers are kind of similar, but the Altair's overall layout was somewhat special, at least to begin with. The initial kit included a simple backplane with three, maybe two slots. It kind of seems to vary by revision. Each slot was keyed to take a 100-pin edge connector. Now, as an aside, there's something neat about the edge connectors used here in general. The actual cards that plug into these slots have contacts printed on the physical edge of the circuit board, so you don't need any special connectors to make the cards. The only special part here is the receptacle, the physical slot. That cuts down on cost and complexity right there. The reason for the bus was simple, expansion. As to why exactly Altair sported this
Starting point is 00:12:09 bus, well, we don't have any one quote from Roberts giving his rationale. However, we do have the copy from the January 1975 Popular Electronics article that announced the computer. To quote, The basic computer is designed for almost unlimited peripheral and memory expansion, using a bus system where all input-output connectors merge into a common line. Hence, an external card can be plugged into any slot and it will function properly. End quote. to any slot and it will function properly. End quote. To borrow some modern buzzwords, the Altair 8800 was a truly scalable solution. This had a number of advantageous effects. The most nefarious was that it lowered the barrier to entry. And I'm not just using the phrase as a joke. Recall that a stock Altair was cheap as sin.
Starting point is 00:13:07 At the time, a single 8080 processor cost almost as much as the Altair itself. That is, if you were buying a chip one at a time. MITS was able to get 8080s for a mere $75 by buying in bulk. To quote Viper, wholesale gets it done. The effect here was that the Altair looked like an almost impossible detail. That made it easy to buy in. However, the stock machine couldn't do that much.
Starting point is 00:13:40 This bus allowed Mitts to say, don't worry, you can upgrade once you get your machine. In practice, this meant you were being pulled into an entire ecosystem of products, all initially produced and sold by MITS. It's a nice situation for making a profit. On the upside, this did make the Altair a pretty slick machine. Via expansion, it could cater to a wider range of customers. There were options for everyone, from novices up to business people, at least in theory. MITS wasn't ever able to really grab the business market for a number of reasons, but hey, they could service novices of all levels. The core feature that made this possible was the bus.
Starting point is 00:14:28 Thanks to that, one computer could come in multiple configurations. The bus itself was also really simple. You call it a dumb bus, but not dumb as in stupid, but dumb as in no active parts. It's just a big passive circuit board that wired 100 pins together in parallel. It's as simple as an interconnect can be. Well, as simple as a useful bus can be. I guess you could get even more simplistic by just having a big metal plate, but that's not really useful. So why 100 pins exactly? This is a modern computer we're talking about, so we should be able to apply some of the meta rules of computers here. You'd expect that a
Starting point is 00:15:15 bus, especially one so central to a machine's operation, would have lanes in some power of two, like 32 pins, or 64, or maybe 128. 100 is a nice round number for us flesh folk, but that's not a very common digital number. So what gives? It all comes down to economies of scale and what was available at the time. Roberts addressed this specific question in an interview with Modern Electronics. To quote from that 84 interview, We designed the bus around October 1974. At the time, it had 85 contacts. Searching around for an industrial-spec quality connector, we decided to purchase new connectors by AMP that had glass-compatible construction and 100 connectors. They cost me $7.50 each, while lesser quality ones were priced at $15. By the time production was rolling, 96 or 97 connectors were committed. End quote.
Starting point is 00:16:23 Once again, Roberts is doing the same trick that netted a bunch of cheap Intel chips. You find a suitable part, find a supplier, and then ride the market forces to a good deal. So we end up with a 100-pin bus connector that's not fully leveraged. Looking at the actual documentation, we can see the Altair bus only used 81 pins initially, leaving 19 free. So what's actually on the bus? What's so important it had to be moved around? This is where we get down to the dumb aspect of the bus. You see, it's basically designed around the signals coming off the CPU card. That is to say, the only card actually needed to run the computer.
Starting point is 00:17:11 However, there is some finesse here that you can easily gloss over. So here's the technical part. The Altair bus has pins assigned for each pin on the Intel 8080, some of which are routed through a decoder chip. The only beefy chips on the Altair's CPU board are the actual CPU, of course, and an Intel 8212. Now, the illustrious 8212 isn't really that interesting in and of itself. It's called an 8-bit input-output port by Intel. It essentially handles latching and buffering data lines. The 8080 has a set of 8 pins dedicated to data. These are used for sending and receiving a single 8-bit number.
Starting point is 00:18:01 A separate set of pins are used to tell the outside world if the data bus will be sending or receiving at any given time. The 8212, well, that just sits between the CPU and the rest of the world and interprets these semaphores. The result is that this one chip provides a separate data in and data out bus, plus some of its own signaling pins. These two separate data buses are mapped right onto the Altair's bus. So to run everything down, we have the data in bus, the data out bus, the address bus, plus a number of pins for signals, plus power and ground. And also, just to clear everything up when I'm saying data bus or address bus here,
Starting point is 00:18:49 I mean a chunk of wires on the actual 100-pin bus. I know they're all called buses, but think of these as smaller sub-buses. Essentially, all the Altair bus is doing here is exposing all of the CPU's business to anything else that's plugged in. Here's how this works in practice. Conveniently enough, the Altair shipped with two cards, the CPU card and a small memory card. That's where the 256 bytes lived. I think this gives us a gentle introduction to how the bus was used, you know, in operation. So this is pretty simple. To do a memory access, the CPU puts out the address that it wants on the address bus.
Starting point is 00:19:40 Then it says if it's a read or a write by sending some signal pins. Then it says if it's a read or a write by sending some signal pins. If it's a read, then the memory chip needs to return the value of the requested address on the data bus. If it's a write, then the opposite occurs. The memory chip needs to set the proper location to the value sent by the CPU over the data bus. So a memory card would, in theory, just need access to the data bus and the address bus, and a few signal lines. You can check the list and, yeah, surprisingly enough,
Starting point is 00:20:15 the Altair bus offers all of those pins. This also means that, at least in theory, anyone could make a memory card. The bus is fully documented, it's not some secret spec. This computer was meant to be built by hobbyists as a fun project, so of course it has good documentation. All one would have to do is look up the bus specification and then build a card that lines up with the right pins. Now, even in this simplistic bus, there is some weirdness. I know this is probably a lot of bus talk, but I swear we're going to move into the history soon. I just want to establish some technical facts that will turn up later. Anyway, the Altair bus shipped with reserved pins.
Starting point is 00:21:04 Anyway, the Altair bus shipped with reserved pins. This is a practice that happens sometimes when a manufacturer knows that they're going to expand a bus or a connector eventually, but they don't have everything quite in place just yet. In this case, the docs don't call these pins reserved explicitly. Instead, they're labeled VI0 through VI7. These are pins for vectored interrupts, as in, these are used to implement hardware triggers that fire up interrupt code on the processor. You'd normally use this kind of bus to handle things like a programmable timer or some types of disk controllers or other complex I.O. device. The VI bus is wired up to an Intel 8214, at least if you're making an 8080 system. This is a programmable interrupt controller.
Starting point is 00:21:57 It's meant to handle interrupts. Kind of just says it on the can. What's notable is the fact that the Altair doesn't have that on its part list. So in effect, and you can back this up in the schematics, these pins on the bus don't go anywhere. They're just kind of there. So why bother labeling these pins? Well, it all comes down to future scheming. An interrupt controller is part of any serious computer. Imagine trying to program without a timer, for instance. There are ways around that, notably you could make delay loops, but that just doesn't work as well. In 1979,
Starting point is 00:22:42 MIT would make good on this plan with the release of their Vectored Interrupt slash Real-Time Clock card. Kind of a mouthful. This card added in the missing functionality and used these mysterious VI pins that were already on the bus. I point this particular set of pins out because it shows deliberate planning. Roberts wasn't just throwing pins at a connector. There was an attempt to plan this bus out for future expansion.
Starting point is 00:23:12 That's a quality that's important for a standard. You want your standard to be equipped to handle what may come. Also, to note here is that the Altair bus wasn't entirely chained to the Intel 8080. I mean, sure, it's basically just an expansion of the chip's pins. However, this offers a fairly comprehensive set of connectors for any 8-bit processor. You have all the buses that you'd normally use, and the signal lines are common enough. In theory, the bus could be adapted for other chipsets. The final piece I want to touch on is something that bugged me during this phase of the research. You see, early articles on the Altair 8800 call the machine a mainframe, or sometimes, more cryptically, a mini-mainframe.
Starting point is 00:24:08 The reason for this, as far as I can puzzle out, comes down to the question of originality. MITS wasn't the first company to use this type of backplane configuration. As near as I can tell, the idea of a central bus has been with computing since the early days of electronic calculating. The PDP-1, a very early mass-produced computer, was famously built around a bus. The machine was composed of small transistor packs that all plugged into a large network of wires. So, a little more complicated than the Altair to be sure, but the same idea is there. The PDP-1's bus was just wires, just connectors. It's really just a fancy but still kind of dumb bus. Later model mainframes also followed this tradition. The core part of many
Starting point is 00:25:01 large machines was a backplane. Manufacturers like Data General, Burroughs, and many others all used dumb buses to connect up multiple cards. The bus was of prime concern, but not of prime complexity. Even the Xerox Alto, a, believe it or not, contemporary of the Altair, used a simple bus to wire up a series of cards. So in this sense, the Altair bus is just a new kid on the digital block. The other component here is the flip side of originality. The Altair was the first personal computer to really strike it big. It may not have technically been the first machine that a single user could afford and operate, but it was darn close. It was the first in this class to really get a lot of coverage. The only other high-profile computers to compare with the Altair, well, those were all mainframes
Starting point is 00:25:59 or minicomputers, and I don't think a lot of people in the public were really talking about minicomputers. So this weird naming thing, I'd wager, is just due to the relative newness of this whole PC thing. Anyway, the 8800 would soon break out of these old comparisons. This really is a machine that speaks for itself. It was able to stand on its own merits. But MITS wouldn't be alone for very long. Competitors would soon enter the 100-pinned space. Ironically, this is partly thanks to the Altair's success and MITS' inability to deal with rapid growth. One of the keys to the IBM PC's success is, famously, the clone market. I mean,
Starting point is 00:26:49 I'm certainly not using an IBM PC today. Pretty soon after the PC hit the scene, third parties realized they could make their own 100% compatible computers. IBM had published all the schematics used for their home system. Better still, the PC only used off-the-shelf parts. The only custom part of the entire computer was a tiny chunk of code called the BIOS. Once that could be cloned, then there was no stopping these cheaper PC killers. A very similar series of events occurred with the Altair 8800. Clones came in to seal the show pretty quickly. However, the machine from MITS was even more off the shelf than the PC. The 8800 didn't even have an equivalent to the PC BIOS.
Starting point is 00:27:41 We're dealing with just chips and circuit boards here. Another difference is that the Altair clone market didn't start with full-on machines. It started with bootleg expansion cards. You basically had to have some expansion cards to make the Altair usable. This was made worse thanks to the killer app on the system, Microsoft Basic. You see, Basic actually had some steep requirements for the day. You needed a serial card so you could plug a terminal into your Altair. That gave you the keyboard you needed to type in Basic and some kind of display to actually seeIC code. You also needed 4 kilobytes of memory. And, well, there was a problem with that proposition. MITS had issues supplying 4 kilobyte expansion cards. Part of the problem came down to scale. In a 1975 letter in the magazine Computer Notes, Roberts explained that they had, quote,
Starting point is 00:28:49 sucked the industry dry of certain parts. MITS had expected to sell, you know, on the order of hundreds of Altairs. They ended up selling thousands. At one point, it was reported that MITS was the main customer for Intel's 8080s. The market strain was exacerbated by one key decision. MITS wanted their 4K cards to use dynamic memory. This was a newer kind of memory chip at the time. At this point, static RAM was a more tried-and-true technology,
Starting point is 00:29:26 but dynamic offered some advantages. Primarily, dynamic RAM required less current to operate than static RAM. In that same article, Roberts points out that there were concerns about current draw on the Altair's bus, so dynamic seemed like a better option for larger amounts of RAM. These newer chips were also supposed to be cheaper. However, there wasn't enough supply. Suffering from success, I guess. MITS had initially planned to use a set of TI and Intel chips for their 4K cards. Well, there weren't enough to go around, so they switched to a different vendor, Signetic, who made a very similar dynamic RAM chip. There was supply to go around, and the chips were close enough. Just a few changes and everything should be fine, right?
Starting point is 00:30:21 Well, no such luck. MITS apparently got their hands on a bad batch of dynamic chips. The scale of the problem wasn't clear until users started plugging in their boards and noticing RAM failures. Bad 4K expansion cards started flooding back to MIT's headquarters, with angry letters in tow, I'm sure. This left customers in the lurch. BASIC was available, but the hardware wasn't necessarily there. The killer app couldn't run without some, well, killed RAM. Luckily, Altair owners tended to be pretty comfortable with soldering irons. It didn't take long for enterprising minds to realize, you know, you can just make your own 4K RAM cards, ones with RAM chips that actually work. The beginning of this trend, at least in public, shows up in the Homebrew Computer Club newsletter in 1975. To quote from an ad,
Starting point is 00:31:26 4K static memory module, plug-in compatible with Altair 8800. Fast. Access time, 520 nanoseconds max. Low power, 5 watt, typical, at 25 degrees C. Kit price, $255. For more information, call Robert Marsh at Processor Technology Co. I've given you a couple names in rapid succession, and maybe there's a few names you remember from past episodes of the show. The Homebrew Computer Club, located in Silicon
Starting point is 00:32:03 Valley, was something of a hotbed for Silicon Heads. The club was initially a place for people to meet up and talk shop about computers they were trying to build. Hence the Homebrew part. The Altair had the club abuzz. Some of the first 8800s were assembled and shown off at meetings of the club. Really, this was the target audience that MITS was going for. And that would kind of backfire. The Homebrew Computer Club is also notable for spawning many early computer companies. We're talking Chrome MIMCO, IMSAI, Moro, Proctech, Processor Technology, and Apple, just to name a few. The first that we'll set our sights on is Processor Technology, or Proctech for short.
Starting point is 00:32:53 The outfit was founded by three members. Bob Marsh and Gary Ingram were the initial members, soon followed by Lee Felsenstein. I think it's important to recognize the timeline here, too. The Altair gets announced in December of 74. The first kits ship in early 75. By July, that's eight months if we're being generous, there are third parties producing expansion cards. Those third parties were composed of some of MIT's first customers. Gotta be careful who you sell to, I guess. 4K cards were just the start of things.
Starting point is 00:33:34 ProcTech and many other small timers started turning out memory cards, but there were more advances to come. Once again, quick shout out to the archive, as it were. I've talked about Proc Tech pretty extensively in a previous episode. If you want all the details, check out the What's With The Wedge series from a while back. Those are episodes 62 and 63. The short story is that Proc Tech made more and more complex S100 cards. They started with that 4K expansion and worked their way up to a full-on graphics card. It was possible to use Proctech expansions to make the Altair into something remarkably close to a home micro.
Starting point is 00:34:18 We're talking a computer that has a keyboard directly attached to it, runs BASIC, and outputs to a standard TV screen. It reached the point where a tricked-out Altair could be mostly processor technology parts. The only stock components were the case, front panel, power supply, bus, and CPU card. Take a look at that list for a second and think, what there is actually complicated. The case is just sheet steel that's been bent into a box. The front panel isn't really used if you have a keyboard. The power supply, you can just buy off the shelf. The bus is, as I keep saying, the most simple circuit possible to make. The CPU card? Well, that is a little more complex,
Starting point is 00:35:07 but the Homebrew Computer Club had been building similar things for quite some time. So ProcTech decided to go a little deeper into the whole computer business. They were goaded a little bit by one Les Solomon, the editor of Popular Electronics, who suggested they develop a smart terminal kit. One thing led to another, and processor tech came back with a new computer, the Sol 20. It was named, fittingly enough, after Les Solomon himself. There's a weird connection here that we'll get to eventually in the episode. The Sol 20 was essentially a better Altair.
Starting point is 00:35:48 The Sol was self-contained, built into a wedge-shaped box with an integrated keyboard. It output to a TV, it had BASIC and ROM, and here's the biggie, it was still built around a 100-pin bus. The bus was almost identical to the Altair's bus, but some changes had to be made. This gets us into a semi-mystical issue with early 100-pin buses. Noise. Pulses running along the 100 lines of the bus could, on occasion, interfere with each other. lines of the bus could, on occasion, interfere with each other. 8800s also tended to leak electrical noise. There's this great story of someone bringing an early Altair into a meeting of the Homebrew Computer Club. They proceeded to place it on top of a radio, toggle in some code, and then switch the machine to run. After some fiddling on the radio dial, the club,
Starting point is 00:36:45 the machine to run. After some fiddling on the radio dial, the club, to their astonishment, heard a square-wave rendition of a Beatles song over the small speaker. This was possible because the Altair's bus was unshielded. It could act as a transmitter in some cases. Not ideal for a computer. That's kind of a bad situation to be in, but hey, it makes a cool demo. When it came time for Proctec to adapt the Altair to a different form factor, the noise issue became a bigger problem. Bob Marsh wanted to use a ribbon cable because it would allow for more design flexibility. But as Felsenstein explained in a 1977 interview for ROM Magazine, quote, the biggest upset actually had the flimsiest reason. Bob wanted to be able to extend the S100 bus of the Saul to an external cabinet through a flat ribbon-style cable,
Starting point is 00:37:41 which came in 50 conductor maximum widths. With my avid agreement, Bob wanted to ensure that there were plenty of ground lines sprinkled through this cable, a practice that had been neglected on the Altair and that probably caused many of the noise problems associated with it. To do this would require more than 100 wires. End quote. Putting ground lanes between signals is one way to deal with noise, but it just wasn't feasible in this specific case. In the end, the solution for the Sol 20 was to modify the bus protocol, but only slightly. The ribbon idea was dropped and a card edge connector was added. It was decided that the data in and data out parts of the bus would only be turned on,
Starting point is 00:38:30 you know, when they're actually in use. This let some pins be used as grounds when they weren't being used, which reduced some of the noise issues. ProcTech was only one player to enter this ring. Many of these early advances came from this trifecta of exposure to the Altair 8800, the Homebrew Computer Club, and Popular Electronics. Felsenstein, one of the designers behind the Sol 20, had actually been present for that radio demo at the Computer Club. had actually been present for that radio demo at the computer club.
Starting point is 00:39:08 Another attendee was one Roger Mellon. At least, he recounts the story as if he was there. It's a little ambiguous who all was a card-carrying member of the club, or if that even mattered, but I digress. Mellon, along with a colleague named Harry Garland, founded a third-party bus crew. It was called Cro-Mimco, named after the Crowlers Memorial dorms that the two lived at in Stanford. They were both grad students in electrical engineering programs.
Starting point is 00:39:40 The two had become fast friends. Outside of their actual class, though, they somehow found time to work on electronics projects and even write about them. For this part of our story, I'm pulling from a comprehensive article written in IONews. This article, fittingly called the Chromimco story, gives a pretty good account of how these two Stanford graduates got roped into the world of home computing. account of how these two Stanford graduates got roped into the world of home computing. The crux of the story all goes back to Solomon. The duo from Stanford had recently finished a filtering circuit for use with radios. It was a neat project on its own, but the crux to any effort is publication. That's something that kind of gets drilled into your head at universities. So Mellon and Garland proceeded
Starting point is 00:40:25 to create a write-up on the project, describing the circuit, its operating principles, and how to make one yourself. In late 1970, the draft was sent out to Popular Electronics, made it past the desk of Les Solomon, and soon the team received their first check generated by their hobby. team received their first check generated by their hobby. This is a really exciting position to be in. Around the same time, Lee Felsenstein, of future ProcTech fame, was following a similar path. What's interesting here is that Solomon had a hand in directing some of the projects his authors were working on. Understand this is a very loose kind of relationship. Felsenstein, Mellon, and Garland weren't employees working under Solomon. These authors would work up some cool projects and then send in articles to be published, all very at-will kind of work. That said, Solomon was
Starting point is 00:41:20 able to make connections and offer compelling suggestions. Chromium Co. was soon founded. Their main products at the time were electronics kits. Essentially, kit versions of the projects described in articles published by Popular Electronics. But there was more brewing just under the surface. A few years after the Filter article, Mellon and Garland started in on a more ambitious project. It was to be called the Cyclops, an early digital camera. Now, I say this a lot,
Starting point is 00:41:55 but I'm definitely going to come back to this in another episode. There just isn't space to talk about the bus here and the creation of digital imaging. I'll cover digital cameras in detail on their own, and I'm sure someone is going to hold me to that. Anyway, the Cyclops was a fascinating device for a number of reasons. For one, it's just plain fun. Who doesn't love the novelty of building a camera from a pile of parts? There was nothing really like it, which made it all the more exciting. It output a live feed that could be displayed on a TV or an oscilloscope, so there's this kind of play aspect to the whole thing. I think my favorite part is the principle of operation.
Starting point is 00:42:41 You see, the Cyclops was a remarkably cheap project. This is partly thanks to the fact that it didn't use a conventional CCD. Its detector was actually just an uncapped RAM chip. Certain types of silicon memory are actually sensitive to light. That's why some ROM chips have a little window on them. Exposing the chip to UV light will erase any data held on the silicon. It turns out that there are very specific thresholds of radiation that cause this effect. The Cyclops exploited this. Thanks to some careful timing, it was possible to just use a RAM chip as an addressable array of tiny light detectors. At this point, it was pretty low-res,
Starting point is 00:43:26 just 32x32 pixels, but it did work. News of the Cyclops trickled down to Solomon in late 74. The big buzz around PopOlec at the time was this other article about some computer being developed in New Mexico. ChromeMimco already had some dealings with MITS. Mellon had worked out a deal to license some of their kits to MITS for manufacturing. A connection was there, and Solomon saw an opportunity to strengthen it. During a meeting at the Popular Electronics office in New York, Solomon suggested that Mellon go to MITS headquarters and meet Roberts face-to-face. Solomon figured that the Cyclops might go well with this new computer thing.
Starting point is 00:44:10 It turned out that Solomon's hunch was totally right. Mellon flew out to New Mexico, met Roberts, and came face-to-face with the Altair. From that same IO News article, Roberts met Mellon's plane and they proceeded to the Mitts factory, where they worked until 5 o'clock the next morning. The project that consumed their time and energy was interfacing the Cyclops, a solid-state TV camera and the subject of an upcoming Garland-Mellon-Walker article to the Altair computer. After poring over the Altair schematics, reviewing the bus architecture and exploring DMA interface, they concluded Cyclops' interface could be accomplished.
Starting point is 00:44:53 Roberts agreed to ship one of the very first Altair computers when production began. End quote. Kramimko would actually end up with an Altair with the serial number 2. So, we can at least say that Chromimco was factoring heavily into Robert's future plans. The Altair Cyclops card was announced in late 75, cementing Chromimco as a big deal in the homebrew world of computing. From there, it was straight up. Now, a quick word I want to drop in about direct memory access, or DMA. This is a technique that can really flourish on a good bus. In the most simple computer, there is only one thing that can access memory, the processor. You wind up with some kind of CPU wired into RAM.
Starting point is 00:45:46 some kind of CPU wired into RAM. Any input or output with other devices must, therefore, go through the CPU if it needs to get it memory. That works fine, but it's not very fast and it's not very flexible. It puts a bottleneck in the way of data transfer, since any data has to be transferred through the processor itself. In DMA, you somehow expose a direct path to memory that I.O. devices can use. That sounds a little grandiose and technical, and in some cases it is. You usually want to use a chip called a direct memory access controller to mediate DMA. This is just a fancier bus controller that sits between the CPU and memory. It gives a way for the processor to initiate DMA or be alerted to transfers occurring. It also provides some safety for things like unexpected data transfers. Or, you know,
Starting point is 00:46:40 you can take a more basic approach. Cards like the Cyclops were already wired directly into the address and data buses, so there is nothing stopping them from transferring data direct to memory. Bingo bango bongo. Now, to be fair, there were a couple of chips on the CPU card that, if I'm correct with my reading of schematics, helped prevent overwrites and bus contention, but it's a pretty simple implementation. From here, Chromimco entered into the same kind of cycle that we saw with ProcTech. There were a number of other Altair bus cards produced, which eventually led to a full computer. I think the most important card on the journey is the so-called ZPU, a special CPU card designed and
Starting point is 00:47:26 manufactured by Chromimco. What's neat about the ZPU is that, unlike all other Altair clones at this early date, this card used a Zilog Z80 processor. The Z80 was essentially an improved 8080. It was even designed by some of the same people that made the Intel original. The Z80 had more instructions, was a little faster, and, crucially for the bus story, the Z80 had a different pinout. That is to say, the ordering of how signals mapped onto the physical pins of the Z80 was different than that of the 8080. You can't just drop a Z80 into a circuit where an Intel chip was sitting. Zilog's silicon commands more respect than that.
Starting point is 00:48:14 This is kind of a minor upgrade, but it represents the start of something larger. The Altair bus was initially designed for one job, connecting things up to an Intel 8080. As it became an unintended standard, the bus started to flex a little. Not everyone wanted an 8080. The 8080 wasn't state-of-the-art in small systems anymore. Chromimco's adoption of the Z80 is an early example of this drive to adaptation. The Z80 is still an 8-bit chip, so it still has all the same pins and buses as the 8080, just in a different order. So it's not that hard to make it fit on the Altair's bus. However, more and more, the bus was just moving beyond the Altair. The next big step was to jump to an actual computer. The interesting
Starting point is 00:49:08 part here is that Chromimco actually benefited from other clones on the market. You see, I haven't been covering Chromimco because they were the first, but instead because they offer an interesting transitionary case. When it came time to build their own system, dubbed the Z1, Kramemko was able to borrow some parts. Mellon and Garland worked out a deal where they could get cases and front panels from another company called Imsei. Imsei had been one of the first to manufacture a 100% Altair compatible, and I guess they must have had some surplus parts lying around. The Z1 itself looks almost exactly like an IMSA, at least externally. The key difference is a big Chromimco decal on the front panel. Internally, however, the Z1 was a very different machine.
Starting point is 00:50:02 The core of the operation was the ZPU card, which was supported by an enhanced Altair-style backplane. I've seen scant reference to this backplane being called the Blitz Bus, but those references are only scant. Contemporary ads claim that the bus was shielded to reduce noise, and I've read speculation that it was engineered a little differently than the standard bus to allow for faster signals, but don't hold me to that. That's speculation. Now, this is also where we reach an interesting stage. Chromemco is also notable because they didn't call this an Altair bus. They called it S-100. This name was then adopted by other clone manufacturers. Maybe at this point, they aren't really clones anymore,
Starting point is 00:50:54 so how did this name change happen? Here's a composite story that I've been able to put together. It comes partly from a section in the book Fire in the Valley, and partly from a section in that IO News article I cited earlier. I'm presenting a composite here because the story isn't covered in any one place, and it might be apocryphal. Now, I've had some concerns over the accuracy of Fire in the Valley before. It's a good book, but it might not be entirely factual all the time. Specifically, I ran into some issues with its timeline of Microsoft's softcard and how that connects to ports of MS Basic. It's a nitpicky thing, but it makes me a little wary of trusting the text outright. To add to this, IONews was a magazine specifically for ChromeMIMCohusers,
Starting point is 00:51:49 so they might also be lying. Thus, I present to you some possible folklore that's at least corroborated in two sources that may be reliable. Roger Mellon had been wanting to stick a better name on the Altair bus, since, as we've discussed, it had moved well past the 8800 itself. He proposed the Standard bus. Nice and simple, and a little too ambiguous. Garland would add the finishing touch, from IO News. Quote, Garland agreed with the concept, but observed that standards usually have numbers
Starting point is 00:52:26 associated, and suggested that it be renamed the Standard 100 Bus, or S100 Bus for short. Thus, Chromimco started calling their products by this S100 name. But hey, that wouldn't be much of a standard if it was just used by Chromimco. The next step was getting industry support. Luckily, Mellon had a plan. This was all occurring in 1976. According to some tellings, it was while Mellon and Garland were en route to the personal computer exhibition at Atlantic City. This was going to be one of the first trade shows focused on PCs. According to other accounts, it might have been just before the flight. Either way, the timing worked out well. The flight out from Silicon Valley had more than one vendor on board. Mellon, excited about his
Starting point is 00:53:19 new idea, decided it was time to proselytize. A group from Proctec was also aboard, so Mellon, in-flight beer in hand, headed over to his competitor's seats. The target was none other than Bob Marsh, who was currently asleep, but that never stopped an intrepid businessman. Mellon roused Marsh and started telling him about the new standardized name. At some point during this conversation, the plane hit turbulence, causing Mellon to spill some of his frosty beverage onto Marsh. This canny ploy seemed to work. Marsh agreed to start using the S-100 name. I think the more probable course of events here is that Marsh was awoken to Mellon blabbering about renaming the Altair bus and
Starting point is 00:54:06 spilling beer. Marsh, in an attempt to end the conversation and get back to sleep, groggily agreed. However, it actually went down the name stuck. The Sol 20 was now an S100 bus computer. Mellon would go on to get Imsei to agree to the conversion, plus a number of other manufacturers. And so a standard was born. One draw here was perhaps the legal aspect. It wouldn't have looked good for third parties to manufacture an alter bus system. I don't know what that violated, but it has the feeling of some kind of infringement. So picking a new name would have
Starting point is 00:54:45 helped avert possible lawsuits from MITS. Plus, the standard name helped to carve out a market segment. These weren't just Altair knockoffs. These were S100 systems. That has a much better ring to it, I think. Fast forward a few years, and by 1978, the new S100 market was riding high. Over 100 manufacturers were somehow involved in the bus. That ranged from full-on computer builders down to those making expansion cars alone. According to one InfoWorld article, there were around 100,000 S100 computers sold in 78 alone. Those are some serious numbers for the time. Each of those systems, more or less, would have been compatible.
Starting point is 00:55:33 As in, you could swap cars, at least in theory. This is really like a small PC revolution. But there was trouble brewing. The first signs can be seen in the attempts to codify S-100 as a more official standard. In 1978, a preliminary specification was published. It was backed by a number of manufacturers and administered by IEEE. This was meant as the last word in what each pin was and what each pin should do. It was also a way to ensure that theoretical compatibility between S100 systems would also be practical compatibility. DMA was one of the features that was addressed, plus standards for deciding which cards could
Starting point is 00:56:20 control the bus at any one time. I want to zoom in on one thing here, the data bus. Recall that the original 8800 used a split data bus. 8 lines for data in, 8 for data out. That was dictated by a bus controller chip that MITS happened to use. The Sol20 amended this so that only one of those buses would be active at one time. You either got to use the in-bus or the out-bus, never both. Well, the 78 proposal changes the bus yet again. The draft spec still includes the 8-bit wide in and out buses. However, it added the ability to bond those buses into a wider 16-bit in-out bus.
Starting point is 00:57:09 Why would you want to do this? Well, because the 8080 was, at this point, pretty well outdated. Three new processors hit the market in 79. The Zilog Z8001, the Motorola 68000, and the Intel 8086. We're entering the 16-bit era. These newfangled chips had newer and larger buses. The 8086 came with a 16-bit wide data bus and a 20-bit address bus. The 68000 likewise had a 16-bit data bus and a larger 24-bit address bus. The 68000, likewise, had a 16-bit data bus and a larger 24-bit address bus.
Starting point is 00:57:49 The Z8001 matched Motorola's buses to the bit. Even the more obscure TMS9900, released a few years before the rest of the pack, had a 16-bit wide data bus. Larger data buses allowed these new chips to be more efficient when dealing with memory. This meant that the old S100 standard was a possible bottleneck. It only supported 8-bit data buses. Not the end of the world, but this could stifle newer chips. An 8086 in an S100 system, for instance, wouldn't perform as well as if the chip was in a more custom computer. A second issue came down to the address bus. A commonality of all these 16-bit chips is that they had wider address buses. We're looking at 20 bits and up. By 79, the S100 spec was suggesting that a 24-bit address bus be adopted. Unused pins were being pulled in to expand the bus, thus allowing for more memory. So,
Starting point is 00:58:54 in theory, using the newer IEEE standard, you could get the most out of an 8086 on the S100 bus, the most out of an 8086 on the S100 bus, but you'd also lose compatibility with some older expansion cards. What we can see is the attempts at standardization are going through contortions to try and adapt to newer technology. 100 pins had been an arbitrary size. The pin layout had been dictated by the realities of the Altair 8800. By this point, you could construct an S100 system without using any chips that were in the original Altair. Yet, the bus was still trying to brave this new frontier. This is where we reach some wacky computers. My favorite of this period, call it the latter S100 years, is by far a machine designed at Seattle Computer Products in 1979. That name may sound familiar to some of you out
Starting point is 00:59:56 there. During this period, Seattle Computer Products, or SCP, produced a series of cards that made up an 8086-based S100 system. This included a CPU card, a support card, RAM, and a disk controller. There were some hacks that had to be pulled to get the 8086 to work with other S100 cards, mainly having to do with the strange bus, but in general, SCP was able to work within the IEEE spec to create a 16-bit computer. Here's the cool connection. In order to get the computer into a useful state, it needed an operating system. An employee at SCP, Tim Patterson, stepped up to the plate and developed 86DOS. This was a disk operating system that ran on SCP's new computer. Rights to this operating system were soon bought out by Microsoft.
Starting point is 01:00:52 The code was modified a little bit and became PC DOS, which shipped with the IBM PC. That's right. DOS was initially developed on one of these weird S100 systems. I think that makes SCP's machine an interesting pre-IBM PC. If 8086 machines are a little too pedestrian for you, well, there are more options. The best resource that I've found for perusing these old machines is s100computers.com. They have a database of hundreds of these S100 cards, which makes a great jumping-off point to examine the sheer diversity of devices being used in this platform.
Starting point is 01:01:33 I think the CPU cards are where we can really see the spread best. There are some expected options here. CompuPro manufactured a 68,000 card, which, for all the world, seems like just about as far as you could push the bus. This is the same processor that would, in the coming years, drive the Apple Macintosh to success. It's also a strange case since the 68000 is kind of a 32-bit processor under the hood. Its external bus makes it look 16-bit, but inside it has some wider features. Like I said, this is about as far as the S100 could go. With this chip, every address line was used. So was the full data bus. The interrupt bus was also in full effect.
Starting point is 01:02:19 Any more and you'd need an S101 bus or something stronger. We also have less expected processors, like MarinChip Systems' TMS9900 board, or we can go even further with AlphaMicro AIM100 boards. Both of these boards used CPUs adapted from many computers. The TMS9900 offering used a chip that was descended from TI's 990 series of computers, while the AM100 used a chip descended from the legendary PDP-11. So if you want to be a little loose with the definitions, then this is probably as close as an S100 system could be to a mainframe. So at the end of the 70s and the beginning of the
Starting point is 01:03:06 80s, S100 was still going strong. It was still in use. But the bus was in a precarious position. The only standard that really brought the industry together was IEEE 696. That's the finalized specification that was first proposed in 78. In theory, any card that followed that spec could work with any other card, but that was in theory. In practice, 100 pins wasn't enough to support more powerful processors. Even relatively simple implementations like SCP's 8086 card had to get a little outside the spec. That card could
Starting point is 01:03:48 run the 8086 in either 8 or 16-bit mode, and it could change on the fly, sometimes during operation. The current operating mode was signaled over one pin on the S100 bus called ERROR. That's not really a standard signal to put out, and SCP decided to use a pin that had already been given a meaning in the spec. This means that SCP's cards weren't compliant. If you used it with some other card that cared about the Error pin, well, that would have caused actual errors. There's also the matter of software drivers. Sure, you could grab an SCP disk controller and throw it on a bus with an AM100. But that doesn't do anything on its own.
Starting point is 01:04:35 You'd have to have some software written for the AM100 that knew how to use this foreign disk drive. If you stuck to a well-developed ecosystem, then you were fine, but the promise of mixing and matching parts would have been fraught with support issues. So what's the benefit to the standard at this point? I think that we have a good idea now of the downsides that S100 was facing going into the 80s. Call it growing pains. There are some major push factors away from the bus, but what about pull factors? The home computing scene was vastly different in 1979 than it was in 1974. How was the outside market affecting the S100 bus? To start looking at this, I want to pull in another homebrew computer club spinoff, Apple. The Apple II
Starting point is 01:05:26 computer hit the market in 1977. This was a pretty simple 8-bit microcomputer built up around the MOS6502 processor. I think this makes for a reasonable contemporary to S100 systems. We're looking at a computer from a similar era with similar capabilities. The differences were the overall design implementation and the processors. Plus, the Apple II had an expansion bus. Now, the obvious difference here is the motherboard. For S100s, the motherboard, if you want to call it that, was just the backplane. The S100 bus itself. The Apple II was more like a self-contained computer. Its motherboard contained a processor, RAM, drivers for keyboard, a video output, and a number of other I.O. circuits.
Starting point is 01:06:21 This was all on one big printed board. I think the difference here is pretty clear. The overall construction is just taking a different approach. Instead of being composed entirely of cards plugged into a shared bus, the Apple II was a main board with eight expansion slots for adding functionality. So how does the Apple II expansion bus stack up to the S100 standard? If you go pin for pin, the two buses are pretty similar. Apple provides 50 pins which include an 8-bit data bus, 16-bit address bus, power, and control signals. A small thing to note here is that the expansion bus doesn't have a full interrupt bus, but instead a single interrupt pin. Another small side thing here is that not all Apple II expansion slots are the same. Slot 0,
Starting point is 01:07:12 the first expansion slot on the bus, was wired up specifically to allow for ROM cards. This really just entailed a single pin difference, but I think it's an indicator of where we're going. entailed a single pin difference, but I think it's an indicator of where we're going. Apple's little bus was more complicated than a parallel wired backplane. The original Altair bus wasn't very active at all, it just kind of sat there. The IEEE spec added more diligence, but everything had to be implemented on the card level. The Apple II bus, by contrast, is an active kind of place. On first gloss, it may look like you have access to the same buses that the processor supplies, but there's a little bit more going on. The best example, I think, is DMA. Once again, DMA is about as fancy as you get on these old-style buses anyway. The 2 implements this in a neat way.
Starting point is 01:08:07 The data and address lines aren't wired directly from the CPU to memory and then off to the bus. Instead, the bus first goes through a switchable buffer known as a tri-state buffer. In normal operations, expansion cards can read the address bus. But what about if an expansion card wants to write directly to memory? This is where the fun part is. The bus offers a so-called DMA daisy chain pin. This is an interesting setup that allows you to have multiple cards that can each perform DMA. When an expansion card is plugged in, it closes a circuit on the DMA line. That's the normal state. As long as the DMA line is a closed circuit, as long as power flows, then the address bus is read only from the expansion card's point of view. To do a data transfer, a card starts by breaking the DMA line, which flips the fancy
Starting point is 01:09:07 tri-state buffer. Now, a card on the expansion bus can write to the address line, but the CPU can't. In this state, the expansion card can safely write to memory without interference. It's now driving the address bus, so to speak. This setup also means you can only have one card initiate DMA at a time. The circuit can only be broken once. You can't re-break a broken circuit. The standardized S100 bus offered provisions for how DMA should be handled, but implementation was left up to individual cards. The bus wasn't the active participant. In Apple's design, the bus was an outgrowth of an existing computer, so it was possible to make the bus itself an active participant. It was a bus that was a little bit smart. Outside the technical realm,
Starting point is 01:10:00 there was also the boring administrative side to this type of bus. Think about this. What were the downsides to creating a non-standard S-100 expansion card? Would IEEE hunt you down for breaking the bus law? Would someone in a suit come break your ribs in? Well, no. The reality is that nothing would happen. SCP broke from the standard with their 8086 card, and they invented DOS. Most companies that made S100 cards also manufactured entire systems. So a break in the standard could make your card incompatible with other manufacturers' wares, but you could also just have a closed-ish ecosystem. If a consumer owned an SCP computer, well, that probably also had an SCP card in it for their disk driver. On the other side of this, what would happen if you manufactured an Apple II card that broke from
Starting point is 01:11:00 the spec? Well, that's simple. The card wouldn't work. If you don't follow the spec, then you don't have a usable Apple II expansion card. Do not pass go. Do not collect $200. The actual computer enforces that in a certain way. The bus already has signals on it when you're plugged in. No one can use a broken card. This is one of the advantages of this kind of expansion bus. You don't have some ethereal standard. You have an existing bus with existing signals that must be worked with. I think it's plain to see that the Apple II's expansion capabilities offered a few advantages over S100 systems.
Starting point is 01:11:42 This came at the cost of flexibility, but Apple was courting a slightly different crowd. The hobbyist market cared more about that sort of thing, while most home users didn't. Apple was making an appliance computer, not a flexible platform for any type of machine. That gave Apple some advantages right out of the gate. The active expansion bus was part of that larger stratagem. It meant that an Apple II could be upgraded just like an S100 computer, but the Apple machine also retained a base level of functionality without any tinkering needed. I want to close by getting to the final blow against S100, the IBM PC. I think the PC should mark the end of the S100 era for two reasons. One's technical, the other one has to do with the type of inertia. The PC's
Starting point is 01:12:34 bus, retroactively named the 8-bit ISA or industry standard architecture, is another active style bus. I'm not going to drop us back down to the pin level, since that's really going to be more of the same. Suffice to say, we're looking at something similar to the Apple II bus. The PC exposes address data and control lines and has some chips to make the bus a little smart. The technical point is this. The ISA bus actually expanded. The bus was first used by IBM's 8-bit System 23 Datamaster,
Starting point is 01:13:11 a very short-lived computer that never really saw industry adoption. This bus was then adapted somewhat for use in the 16-bit-ish IBM PC. You see, the PC used the Intel 8088, a very close relative of the 86. Now, I've said before that the differences between these two chips do not matter. For almost all purposes, you can just say the PC used an 8086.
Starting point is 01:13:42 If you're programming it, they look the same. Trust me, I've programmed both. You can't tell the difference. Well, here's where the differences do matter. The 8086 has a 16-bit wide data bus, while the 8088's data bus is only 8 bits wide. This is why the PC bus is also called the 8-bit ISA bus. It supports 8 data lines. But that's limiting. That's the same bottleneck that S100 had to deal with way back when. IBM worked around this issue in a smart way. In 1984, Big Blue launched the PC-AT, an updated version of the PC that used Intel's 286. This was a new 32-bit capable processor. Crucially, the new chip had a 16-bit data bus and supported up to 24-bit addressing. How did IBM adapt its expansion bus to service this newer, wider chip?
Starting point is 01:14:48 Simple. They made the bus longer. Physically longer. This new bus, the AT bus, or 16-bit ISA bus, is literally just an old PC bus with some added ports out back. Thus, expansion cards could take advantage of the 286's wider data and address buses. At least in this action, IBM was showing their ability to adapt. That's the technical part. Big Blue was willing to change. Their standards had to deal with new technology while retaining backwards compatibility, so they just did it. We never got to see an S200 bus, but we did get a wider ISA bus. Now, IBM was able to do this and get away with it thanks to this non-technical part. This is something that I kind of like to call clone inertia, At least that's how I think about it in my head. In 1984, the market for PC clones was hot.
Starting point is 01:15:52 The core tenet of this market was compatibility. Consumers wanted 100% PC compatibles, not close enough PCs that couldn't run the same software or use the same expansion cards. So when IBM changed their bus, well, clone manufacturers had to follow. If they wanted to keep up the compatibility, then they had to get wider buses. What happens if you make a PC clone that doesn't follow the 16-bit ISA spec? What happens if your PC card doesn't follow the spec? I think you know the answer. It wouldn't work. It wouldn't be compatible. You're trying to swim
Starting point is 01:16:33 against the river. This is the kind of centralized market force that the S100 never really had. It didn't have an IBM backing the standard. It didn't have a flagship platform on the same scale as the PC. The Altair clone market got close, but it didn't have the kind of inertia that the PC could muster. Alright, that closes out this contentious episode. Get it? Bus contention? Bad jokes aside, that does it for our discussion of the S100 bus. It was something of an unintended standard, a solution developed for a very specific application that was then generalized.
Starting point is 01:17:27 developed for a very specific application that was then generalized. In theory, I think S100 is a pretty good solution for early computers. Need to design a new system? Well, don't bother coming up with a totally novel circuit. Just stick with what's known. The problems, though, cropped up as the standard aged. Sure, it was codified in a standard, but that can only go so far. As we saw with the draft specs, new technology was pushing those 100 pins to their limit. All communications had to happen over those 100 fixed pins. That just couldn't keep up with the pace of development. New systems were bus-hungry, and they needed more than 100 wires to do everything. I think the best example of this, and what I want to leave you with, is one of the latest S100 boards produced, the Macrotech 386 CPU card. Notably, the 386 that powered this beast of a card used 32-bit data and address buses.
Starting point is 01:18:28 That alone would require 64 pins on a bus. The S100 system didn't have space for that. So, Macrotech got creative. Their CPU card contains an entire computer. RAM, CPU, support chips, everything. It's all on one big card. The S100 bus is just vestigial at this point. You can connect to a backplane, but why bother? For me, that's the bottom line here. The S100 bus offered a kind of flexibility that was intoxicating, especially for that small era. But ultimately, sometimes you just need more wires. You can't get everything done,
Starting point is 01:19:12 all communications inside a computer, with just 100 lines. Thanks again for listening to Advent of Computing. I'll be back in two weeks' time with another piece of computing's past. And and hey if you like the show there are now a few ways you can support it if you know someone else would be interested in the history of computing then why not take a minute to share the show with them you can also rate and review on apple podcasts and if you want to be a super fan you can support the show directly through adren of computing merch or signing up as a patron on patreon patrons get early access to episodes polls for the direction of the show,
Starting point is 01:19:46 and bonus content. You can find links to everything on my website, adventofcomputing.com. If you have any comments or suggestions for a future episode, then go ahead and shoot me a tweet. I'm at Advent of Comp on Twitter. And as always, have a great rest of your day.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.