18

The Altair 8800 typically, at least in the early years after its release in 1975, operated with no more than a few kilobytes of memory, for the excellent and sufficient reasons that memory was expensive in those days and it was initially marketed to hobbyists.

That having been said, there are workloads for which RAM is the main limiting factor. Let's say it's, oh, say, 1978, and you have a workload that needs half a megabyte of RAM. You could buy a VAX 11/780 (released the previous year), which comes with a six digit price tag. Or you could maybe fit 32 16kbit RAM chips on a card, stuff eight such 64K cards into an Altair for half a megabyte of total RAM; this would still be expensive by hobbyist standards, but it would be an awful lot cheaper than that VAX. (The CPU would be slower, but for some workloads, that's not the main limiting factor.)

Wait another few years and 64kbit RAM chips become affordable, so the above arithmetic would stuff two megabytes into the box.

(Writing the software that can make full use of two megabytes of RAM from a Z80 would of course be another challenge altogether! But right now I'm focused on the hardware.)

The 8080/Z80, like other 8-bit CPUs, only have sixteen address lines, but the S-100 bus has twenty-four address lines, so the box can address sixteen megabytes, but the CPU can only address 64K at a time, which means bank switching.

The bank switching logic could be on the memory cards? Maybe the simplest scheme would be something along the lines of, switch in 16K chunks, each card has four bits of state determining whether each of its 16K quarters is currently active in that quarter of the 64K address space?

Or maybe you could do better by inventing some kind of MMU that would translate 16-bit CPU addresses into 24-bit box addresses? The Tandy CoCo 3 had something like that, that could map any 8K chunk of CPU address space to any chunk of RAM.

Did anyone ever put that much memory in an Altair, IMSAI or other 8080/Z80 S-100 bus machine?

2
  • 10
    Lots of S100 memory cards supported bank switching in some form so yes. An example was the Cromemco 64KZ Dynamic RAM Board which had physical switches (so cards would not interfere with each other) to support up to 8 such cards in a system and soft switches (so software could control which bank(s) were active). Ref: Manual s100computers.com/Hardware%20Manuals/Cromemco/… The website, s100computers.com hosting the manual is a good source of S100 information. Not sure somebody would buy 512K of RAM and not upgrade to a 16 bit processors however.
    – Brian
    Commented Nov 8, 2021 at 1:40
  • 2
    @Brian Given that IMSAI built and advertised 64K memory boards in 1977 and supported systems with up to a megabyte of memory, it seems likely that at least in '77-78, before the launch of the 8088, there were users buying/building large-memory 8-bit configurations. And of course with MP/M, released in 1979, there was a direct application for large-memory 8-bit systems since each separate running program needed its own bank (likely at least 32K) for its TPA. (MP/M-86 did not appear until 1981.)
    – cjs
    Commented Nov 8, 2021 at 14:31

3 Answers 3

26

Did anyone ever put that much memory in an Altair, IMSAI or other 8080/Z80 S-100 bus machine?

Has been done a lot of times. Remember, S100 has been used all the way thru the 1980s into the 1990s. RAM sizes did pass the basic 64 Ki already before 1980 and went way beyond 2 MiB soon after. Boards were available by all major S100 supporters, including Cromemco, North Star or SCP. Bank switching was supported by MP/M since 1979. CP/M supported it since 1983 with Version 3.0.

The basic assumption of your question is exactly what made reality: There is only one true replacement for RAM: More RAM :))

Of course, it's a region average home users never touched. Let alone for the price tag. The same is of course also true for any other professional system - like the Apple II :)

See for example this Godbout add from Byte Jan/1980 p.161

enter image description here

13
  • 2
    The other part is this: What if you started with an Altair 8080 with 4K then upgraded to 16K then to 64K, then swapped the CPU for a Z-80, then changed for a better I/O card, then added more memory, etc. If it is still an Altair as long as the case/backplane is the same, then the answer is clearly "Yes" to almost anything. Commented Nov 8, 2021 at 3:13
  • 7
    @Davislor People did in fact buy computers with considerably more memory than that at that time! Sure, one way to look at a 1-MB Altair is that it's expensive compared to a 16K Altair. But another way to look at it is that it's dirt cheap compared to a 1-MB VAX.
    – rwallace
    Commented Nov 8, 2021 at 5:27
  • 3
    @manassehkatz-Moving2Codidact To paraphrase Wikipedia, a significant strand in cognitive science would consider that Altair not as a thing, nor even a collection of objectively existing thing-parts, but rather as an organisational structure that has perceptual continuity. When you think of of your Altair, you have expectations about what parts can be found where, how they interact, and how they interact with the wider world. As long as there is a time/space continuity between this set of relationships, it is the same Altair.
    – cjs
    Commented Nov 8, 2021 at 6:09
  • 2
    If 32K cost $649, 1MB would have cost roughly $21K in 1980, worth $70K in 2021 dollars.
    – Davislor
    Commented Nov 8, 2021 at 7:33
  • 1
    @Davislor This is one add of many. Issue and add selected for being early (nice round dte: 1/1980) and clearly fitting (adds aren't manuals). Others offer up to 16 MiB. Also with memory sizes over 32 KiB. More important, this is one moment in time (Jan/80) at a time when changes in prices were rapid. Try an issue a year later (1/81) and you'll find 64 KiB at 700 USD (p.179). Another year later (1/82) 256 KiB at 1200 USD (p.62). So a meg is down to 5k in just 24 month. And it continued. These are not thruout researched prices,. It' might be easy to find better.
    – Raffzahn
    Commented Nov 8, 2021 at 8:21
16

If you count Altair clones, yes. For the original Altair 8080, quite possibly (if the PSU was capable of powering eight of the IMSAI memory boards along with the CPU and I/O boards) and for the Altair 8080b, almost certainly (it had a more powerful PSU).

IMSAI did pretty much exactly what you suggested in your question, but a year earlier than the date you proposed. Starting in 1977 IMSAI officially supported and sold "the Megabyte Micro", an IMSAI 8080 loaded with sixteen 64K DRAM boards. (This left two of the eighteen slots free for the CPU and I/O.)

The Megabyte Micro

I have not seen such an expansion advertised specifically for the MITS Altair 8800 itself. However the IMSAI 8080 was essentially an Altair clone, IMSAI advertised their boards as being plug-compatible with Altair, and these DRAM boards used hidden refresh and so required no special from a CPU board designed to be used with static RAM.

The original Altair 8800 didn't have enough slots for sixteen of these boards, and the power supply almost certainly wasn't up to powering than many anyway, but it's quite possible that eight boards to make up half a megabyte would have worked in the 8800. The next model, the 8800b, had 18 slots and a large power supply, and so may have been upgradable to the full megabyte. Alteratively, the original Altair CPU and I/O boards worked in the IMSAI backplane.

(The Megabyte Micro and its advertisement above were first noted in this RCSE answer,)

2
  • 5
    With bank-switching the usage of large amount of memory is possible. I had 3 boards of 256K = 768K in my CP/M-3 Z80 machine in around 1982 or so. Mostly for ramdisk, but the O/S and the userspace was on different pages, leaving much more room for programs than CP/M2.2
    – Lenne
    Commented Nov 8, 2021 at 12:36
  • 1
    @Lenne That probably would have been 1983, as that was the year when CP/M 3 was released. Unmodified CP/M 2.x did not support bank-switching the OS out of the primary Transient Program Area, so the earlier systems would have had a TPA of somewhere around 40-50 KB TPA, as opposed to the 56 KB TPA that was easily achieved with CP/M 3. Either way, applications making effective use of more than 128 KB of RAM (after subtracting RAMdisk) would have had their own bank switching, or one would have used an MP/M system with multiple TPAs, one for each user.
    – cjs
    Commented Nov 8, 2021 at 14:20
4

We put a half-meg of memory into an STD bus Z-80 on CP/M 2.0 in the early eighties. It was (IIRC) a hardware + software solution from a company in Ottawa, Canada. The core of the program fit into 32k, and the other 32k was switched in and out.

Sorry I don't remember more. I do remember that the system also had a proprietary file system built over the top of what CP/M gave you. It ran as a reasonably primitive record-oriented database server. It worked, but it was fragile and slow.

3
  • 1
    Good anecdote. But OP was asking about Altair, which was S-100 bus, not STD BUS. Commented Nov 8, 2021 at 19:41
  • 2
    Yeah. But, if you can do in on STD-Bus (which was a very small form factor, I'm pretty sure you could do it on S-100). STD-Bus was 6.5" x 4.5", had 56 pins, 16 of which were address pins en.wikipedia.org/wiki/STD_Bus. In those days, getting 64 kbytes on a single STD-Bus card was an achievement. We had some 64 kbit RAM chips that were labeled "Experimental Prototype" - 16 kbit chips were the norm.
    – Flydog57
    Commented Nov 8, 2021 at 20:28
  • 1
    Right, I didn't know about the STD bus, but I'm also interested in other Z80 machines at the time, so this is an interesting answer, particularly for going into detail about how the bank switching worked. What kind of disks did you use for this? 5.25" floppy, 8" floppy, hard disk?
    – rwallace
    Commented Nov 9, 2021 at 7:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .