• Please review our updated Terms and Rules here

Now if you were to manufacture your own retro style computer..

If I'd change what IBM did, I'd use the 68000 instead of the 8088. I wouldn't have screwed DRI, competing OSs would lead to quicker innovation.

But if I'm going to build my own machine, it sure isn't going to be anything resembling the IBM PC/XT/AT series. The only good thing about them is that they are ubiquitous, in which case, why another?

If you want a 68000 with DRI software running on it, then look no further than the Atari ST/TT/Falcon.

I think the ST could have turned into something wonderful if the uptake in the States had been better.

Things were really beginning to get interesting before the plug got pulled.
 
Myth? The 68000 was a 32-bit design. IBM did not use the 8086, so even if the 8086 and 68000 were comparable, it's not fair to compare them in this situation.

68K is a mostly 16 bit design with some 32 bit internal features. 68020 was the first real Motorola 32 bit CPU. 68K and 8086 are roughly comparable in well architected systems and they were peers at the time.

The problem was IBM straddled the 8088 in a horrible architecture and comparing the 68K systems to an IBM PC gives the impression the Intel part is terrible which is very misleading.

That's not really true if you look at other 8086 (i.e. Multibus) systems at the time. 8086, properly implemented, had a lot more going for it than one would conclude just looking at the IBM PC.

Even the later PS/2 models with 8086 had issues because they retained the horrible mainboard architecture (PIT, PIC, DMA, etc.) which crippled the IBM PC/XT/AT.
 
Some design rules:
0. completely eschew any "backwards compatibility" with the actual original IBM PC architecture
1. exclusively 16 bit wide memory and IO
2. No memory mapped devices
3. No ROMs permanently in memory, except for temporary boot ROM after hard reset immediately after copying its payload into RAM and switching out.
4. properly implemented PIC (256 levels of interrupt with a single PIC)
5. properly implemented DMA (all 16 bit channels working)
6. properly implemented PIT (multiple working channels)
7. full 16 bit IO space addressing
8. expansion bus designed for 32 bit data and address growth
9. dual serial UARTs as part of baseline design
10. properly implemented full bidirectional parallel printer port
11. real time clock with interrupt (separate from PIT)

Reading this, it is funny to me how close these specs are to an actual system that shipped in 1983: The Apple Lisa.

Rick
 
Did any other large-scale manufacturer use the 8086 series? Were there any UNIX workstations?

8086 CPU boards were fairly common on industrial MultiBus systems. Some of those are still running today just chugging away. As for PCs or workstations, probably not so much. It does a good job on industrial controls and real time systems assuming decent memory and the rest of the mainboard architecture. Intel and others made a boatload of MultiBus boards for simulators, process control stations, etc. You hardly hear about them outside of that field though since they weren't "headliners" in PC, Mac, Amiga, etc.

http://www.classiccmp.org/hp/multibus/multibus.html
 
Note, I am looking at this through a mostly hardware lens. I consider a 68K a 16 bit machine but not just looking at the CPU but at the rest of the mainboard, data paths, IO, etc. By the same logic, an IBM PC is a thoroughly 8 bit machine. From a software perspective it has some 16 bit features but from a hardware perspective the CPU could just as well been an 8085 there would have been little difference.

Anyway, that's what makes the thought experiment of "what if Intel had designed the IBM PC" so interesting to me. It would be an awesome retro computer design and an interesting home brew project. I'd keep the 4"x13" expansion boards, ditch the planar mainboard, go with a backplane design using 128 pin DIN connectors. Then drop in a 8086 CPU board, RAM board, and IO board. It would be a monster and blow away the original IBM PC design using very similar hardware components.
 
Last edited:
I've actually thought about this a few times.

I'd like to make a miniature IBM PC/XT clone, scaled down so SD cards would be the 5.25" floppies.

Ideally I'd like the hardware to be PC-compatible, but I'd settle for it being a Raspberry Pi enclosure.
 
I've actually thought about this a few times.

I'd like to make a miniature IBM PC/XT clone, scaled down so SD cards would be the 5.25" floppies.

Ideally I'd like the hardware to be PC-compatible, but I'd settle for it being a Raspberry Pi enclosure.

There are some x86 development boards based around the Intel Atom, but I don't know much about the Atom and how compatible it actually is.
It's probably more compatible than the ARM in the Pi though.

I'm willing to settle for emulation in my Pi based system, because I want to run several different machines and Retropie is a perfect solution for my needs.
It will run DOSbox, which is adequate for what I want to use it for.
 
Did any other large-scale manufacturer use the 8086 series? Were there any UNIX workstations?

Well kinda sorta. There were a number of Unix like operating systems for the IBM PC but the only one that comes to mind is Xenix. I am almost certain there were others and I vaguely remember an image of a System V Unix for the IBM PC at one point (SCO?) in the late 1980's. Intel released a Unix like OS called iRMX for the 8086. I wouldn't call it a close Unix resemblance but it was a great RTOS. 8086 MultiBus systems did a lot of embedded process control functions and real-time applications. The military and their contractors loved them and bought them by the truckload. Hard RTOS's were common and it did RT very well.
 
Would have been far more interesting if IBM had partnered with National Semiconductor and dropped a 16032 in it, a year later.

As far as 68K versus 8086, I just have two words that make the 68K much better for a Unix: segment registers. 68K has flat 16MB (64MB with some extra decode logic) address space. The x86 had to wait until the 386 to get a real flat address space.

Or they could have partnered with Zilog and dropped Z8001 in the PC. Z8001 and Z8002 were widely used in industrial multibus systems.
 
Last edited:
I have thought about various "what if" retro computer designs over the years. One idea I've been kicking around lately is what if IBM had gone straight to Intel for the PC design rather than relying on the "IBM System/23 Datamaster" team? Allowed Intel to design a real fire-breathing 16 bit architecture implemented correctly per the IC datasheets rather than some inherently limited terribly crippled platform? Those short sighted decisions by IBM haunt us to this very day.

Some design rules:
0. completely eschew any "backwards compatibility" with the actual original IBM PC architecture
1. exclusively 16 bit wide memory and IO
2. No memory mapped devices
3. No ROMs permanently in memory, except for temporary boot ROM after hard reset immediately after copying its payload into RAM and switching out.
4. properly implemented PIC (256 levels of interrupt with a single PIC)
5. properly implemented DMA (all 16 bit channels working)
6. properly implemented PIT (multiple working channels)
7. full 16 bit IO space addressing
8. expansion bus designed for 32 bit data and address growth
9. dual serial UARTs as part of baseline design
10. properly implemented full bidirectional parallel printer port
11. real time clock with interrupt (separate from PIT)

What you'd have is a full-bore 8086, probably 8 MHz or so with 1MB of DRAM. The ISA slots would have to be different because you'd have a 16 bit data bus, 20 bit address bus, and the usual control bus signals. Peripheral cards would not have ROMs on them cluttering up the memory map and crippling the OS. You would not have the 640KB limit but rather a 1MB address space of pure contiguous RAM. No memory mapped video abominations like the MDA or CGA, rather IO mapped video like uPD7220 or intelligent video displays with processors. You'd have 256 levels of interrupts with a single PIC. Fully capable DMA and multiple working timer channels. Implement a smart IO processor (8089) and possibly an independent DRAM refresh controller (8085) to offload burdensome tasks off the CPU. And so on.

It might look externally like an IBM PC but internally the architecture would be completely different and vastly more powerful. Probably would have given other contemporary 16 bit machines (68K) a good run for the money and even delayed the need for PC/AT (286) architecture for a while longer while Intel worked out the mask issues on the 80286. This may sound strange but the limitations of the original IBM PC set in motion a terrible series of events which have crippled PCs for decades. It didn't have to be this way and things could have been different.

I wonder if anyone has tried to design the "alternate history" IBM PC using Intel design guidelines? I think the results would be fascinating.

If anyone is interested, there is a thread over at RBC about implementing a "clean sheet" 8086 maximum mode design which attempts to address some of the issues above.
 
If I were to create a new computer design it would have a word size of 12-bits. Keeping things to this number keeps code simple and understandable. It avoids bloat.

12-bits is just enough for so many things:
  • Three BCD digits
  • Two six-bit characters per word.
  • If you want a bigger character set then you could have 4096 characters, enough to cover most of the world's writing systems if you except hirigana/katakana & Bopomofo for Japanese & Mandarin.
  • 12x12 bit fixed width fonts would be nice especially for non-latin based fonts if using a bigger character set.
  • A display with 4096 colours would be plenty for most things and 64 colours (two pixels per word) would suffice for many more.

On very small systems I'm also a big fan of reconfigurable character sets as used in the Vic-20 and Jupiter Ace. I think these offer lots of flexibility but keep memory requirements down.

I'm torn on style. I like the low profile design of the C128D, but also like the Acorn a3020 all in one design.

Lastly I like paper-tape for its longevity and simplicity, so I would really like to have that as an additional peripheral for long-term storage.

These are all ideas I'm playing with at the moment and hope to one day put something together.
 
Interesting discussion!

For myself, I would like to see a retro design based around a 16 bit protected mode CPU with a flat memory model. Think of a 286 without segmentation or a 68K with a MMU built in. Of course, since there no such thing was ever made, one would have to use PFGA. I would love to see a 16 bit UNIX system demonstrating "what could have been".
 
Interesting discussion!

For myself, I would like to see a retro design based around a 16 bit protected mode CPU with a flat memory model. Think of a 286 without segmentation or a 68K with a MMU built in. Of course, since there no such thing was ever made, one would have to use PFGA. I would love to see a 16 bit UNIX system demonstrating "what could have been".

Sounds like Sun-2 to me. Multibus, 68010 with a Sun-designed MMU added, implemented with through-hole DIPs. Board photo (courtesy Wikipedia):
Sun_501-1051_CPU.jpg
 
There was also the Data General Eagle. Officially, a 32-bit CPU but with a little trickery, a program written using 16-bit instructions could wind up having access to a 512MB memory range (32-bit memory addressing which lost the first few bits to indicate protection level).
 
Sun used a custom MMU unit which was separate from the 68020. Intel 286 had protected mode but kept segmentation for backwards compatibility. If there had been a mass produced 16 bit CPU with memory protection and a flat memory model, the industry might have evolved very differently than it did, IMHO.
 
Back
Top