• Please review our updated Terms and Rules here

IBM sorta compatible DIY 8088 machine: The beginnings

Christoffer

Experienced Member
Joined
Oct 15, 2014
Messages
299
Location
Denmark
Hey, so I've been concidering a diy 8088 system for a while now, looking for projects for inspiration and so on.
I want to build an 8088-based machine. Hopefully getting it kinda ibm-compatible. Ideally, it'd be able to accept ISA cards and run DOS.. that might be high hopes, though.
There's a few general strategies I've concidered, and the predominant ones are:
- Either build it from existing designs
- Or design it myself from scratch.

Now, I may be able to design the thing from (partial scratch), I'm not certain, though. But with my digital electronics/programming skills, it'd take 10 years.

Building on existing designs is my way to go. Ideally, a kit. Problem is: there are only two "kits" like that in existence, afaik: Sergey's ISA xt board, and that IBM PC motherboard kit.
The IBM one is pretty pricey, And since I'm in Europe, Sergey's board will be pretty expensive as well.

A third DIY IBM-ish pc I've found is the MPX-16, a project featured in Byte magazine. That is almost double the complexity and chip-count as the IBM PC!- pretty much out of the question.

Unless something completely different comes up, I might go with the Sergey design, and build it on protoboard with Verowire.
Or maybe just go from the textbook design of an 8088 computer. Should be pretty easy to get ISA working - but then I can't really reuse any code for it..


Has anyone attempted something similar? Gotten any results? Anyone has any suggestions?

Sorry for the lack of pictures, I hate reading text-only threads. Here's a Siemens cerdip 8086 from my collection:
8086 LR.jpg

BTW If you don't know that book (J. Uffenbeck: The 8086/8088 Family: Design, Programming, and Interfacing), you should! Practically the best x86 design book I've read.

Thanks!

-Christoffer
 
Last edited:
Is it common to use 2 f's in your name in Denmark?

Anyway the MPX-16 is a marvellous choice but for the fact it uses a serial terminal. There may have been card slots also, so it's not a deterrent. Did they actually provideartwork? I don't think so. And it's a multilayer board. I have copper pc board material of various thicknesses, soperhaps it's not unthinkable to attempt a multilayer design at home. But don't know.

Mike Mrucek provided scans of the single layer MBE-XT boardo I sent him. Maybe consider making one of those and populating it. You can make your own pc baords at home.
 
-In Denmark, it's about 50/50 between Christopher and Christoffer :)
Right, that's the problem with the MPX-16 (and many other interesting in BYTE and other old magazines: most sold the PCB but didn't include the artwork.
That MBE-XT motherboard is a great idea. It's dual layer, so it should be manageable to "hand-etch". How large was the IBM PC motherboard?
Probably a bit of a mouthful to wire-wrap...
--Christoffer
 
DOS 2.11 can be adapted to about anything with an 8088/86, RAM and a disk drive, in particular now as the source code is on the net!

But yeah, to get PC compatibility and to run PC versions of DOS you need PC compatible hardware. Your best resource will be the IBM PC Tech ref, with complete schematics of the actual IBM PC, but in short the most importaint things are the 8255 IO chip (used for keyboard input), the 8253 timer (used for the beeper and time-of-day), 8259 Interrupt controller (ISA needs this), the 8237 DMA controller (ISA needs this too), and a memory map with the first 640K reserved for general-purpose RAM and a PC-compatible BIOS from 0xF0000 or 0xFE000 till end of memory (there is the Phoenix one floating around on the net).

A lot of the cirquits on the original IBM PC and XT motherboard is cirquit for DRAM timing, and of course the 36 chips of DRAM itself. By using 256K SRAM chips instead you can save a LOT of space. Another thing Sergey's XT-Clone board does is to replace the 2855 with a keyboard controller from a PC/AT. This will enable compability with modern keyboards, among other things.
 
Thanks for the great overview! Thankfully, I've already found places to get most of those chips (except the elusive 8288 bus controller!) - I may be sticking to an 8255 for keyboard, since finding the 8042KBD preprogrammed microcontroller has proven.. hard..

Sergey has listed a "minimal" configuration, where you can cut out some devices. Might consider that route. Using bigger sram seems logical, but as far as I recall, most of the SRAM blocks were expansions for the IBM PC. Could probably do with a singe 62256.

I notice the original IBM PC use exclusively 74LS chips. Might also swap some of Sergey's 74F ones.

Conrad.de actually still sells a full-size ISA prototype card, for about 40 usd. That'd make a good base for such an endeavor.

Even though the end goal is a PC compatible, I think I'd build and test blocks at a time: CPU module, interrupts, etc.

--Christoffer
 
A minimal configuration for me would be a NEC V40 and some SRAM and a ROM. Console interface can be through serial I/O (on chip). There are also 80C188 versions that require little more than that.

A couple of years back, Valentin (IIRC) did a pretty complete emulation of a PC using an 8052 MCU--it was pretty cool.

I suspect that you could do a pretty good emulation today with a $4 Maple Mini and a $3 SD card interface--you even get USB. Really, it's amazing what you can do with less cash than lunch money.
 
there's a technique for etching at home that employs gelatine (Knox brand on this side of the pond). It's purported to work much better then the old toner transfer method but is similar. Need access to a laser/copier. Not sure if Staples would approve of gelatine coated copy paper being inserted into their machines! I can post (or "blog") the details, but I'd only post it formally if I try it myself first! It's not my invention though. Not exactly sure who the discovered it, but was taught it by a guy years ago at a seminar. Want details - ask.
 
another possibility if you're only if compatibility is negotiable is the 80188 based Radio Electronics RE Robot Brain aka Vesta Technology sumthin sumthin. I have some rom images, and the artwork was supplied in the magazine (which is available online). It's not a peecee at all really, although the article states you have loads of development tools available. It's a neat little thing, this is what I want to build. It was originally sold by the company Vesta, but sales were poor. When I was in contact w/a representative, they said they sold more as robot boards then any other application. No pc style bios or anything close. It has a FORTH interpreter. I know a guy (also named Chris) who built the whole robot. He's difficult to get to contribute, but the day is coming. I hope.
 
A minimal configuration for me would be a NEC V40 and some SRAM and a ROM. Console interface can be through serial I/O (on chip). There are also 80C188 versions that require little more than that.

A couple of years back, Valentin (IIRC) did a pretty complete emulation of a PC using an 8052 MCU--it was pretty cool.

I suspect that you could do a pretty good emulation today with a $4 Maple Mini and a $3 SD card interface--you even get USB. Really, it's amazing what you can do with less cash than lunch money.

The 8052 emulation sounds interesting! I also came across this ISA-compatible 8052 board: http://www.nomad.ee/micros/isabas.html
-I know, everything is possible with a few microcontrollers of FPGA's today, but I kinda sorta really want to stick with at least partially original (or at the very least vintage) hardware.


another possibility if you're only if compatibility is negotiable is the 80188 based Radio Electronics RE Robot Brain aka Vesta Technology sumthin sumthin. I have some rom images, and the artwork was supplied in the magazine (which is available online). It's not a peecee at all really, although the article states you have loads of development tools available. It's a neat little thing, this is what I want to build. It was originally sold by the company Vesta, but sales were poor. When I was in contact w/a representative, they said they sold more as robot boards then any other application. No pc style bios or anything close. It has a FORTH interpreter. I know a guy (also named Chris) who built the whole robot. He's difficult to get to contribute, but the day is coming. I hope.

Well that sure looks funky! - And looks like an interesting project, but I really think I'll at least try to make it pc compatible.

Never heard of that etching technique. i was probably gonna go the UV/Photoresist light under a fluorescent ligtbulb. People say that works a treat if you let it expose for long enough.

i've found the IBM PC technical reference, and are looking through the schematics. It's not too bad, though those delay lines might be hard to find and/or troubleshoot on..

--Christoffer
 
the RE Robot Brain/Vesta Tech OEM-188 is the penultimate funky sbc in this present space-time continuum. I want to make one stock, then subsequently work on it's compatibility deficit.

For those interested in likely the simplest home etching method, you mix up a basic gelatine solution, but 3x the water. Brush this onto printer paper, let it congeal/dry obviously. Print you mirror image artwork onto these sheets, then iron it onto a copper clad board (with an intervening piece of cloth). What will get etched away is the areas that aren't printed on. I have to try it soon. I'm such a sluggard. I do have the "recipe" for pure gelatine (it's not on the box, or never used to be). Somewhere. Or you can just call the number on the box. From memory it's 1/4 cup of cold water per packet (dissolve it best you can), then pour in 1 3/4 cups boiling water. So you wind up dissolving one packet (about 2" square) in 6 cups of water total for the etching solution. That's a lot, but you can just toss the excess (unless you're maing 40,000 boards), or flavor it and put it out for the animals. Or you can cut up the contents of a packet w/a razor blade like you're some kind of cocaine dealer. Up to you.

If you don't have Knox where you live, obviously your recipe will differ some. I had old boxes of Knox laying around. I mixed one up (using pure gelatine recipe) and it was fine. Was like clear Jello. Someone gave me a laser printer too so there's no reason not to try this.

edit: yeah and I think it's recommended you bake the boards some. A little tricky if you're etching both sides of a board. Not sure what the temp should be, maybe 100 degree for an hour?
 
Last edited:
and incidentally I am not going to tolerate any more talk of building an 8088 clone computer. It's either 80186 or 80188 preferably. I may tolerate 8086 talk. If my demands aren't satisfied I'll go on a severe hunger strike. And let me tell you I'll feel pretty faint after that hour is over!
 
See this is a problem. I now have to decide between derailing the thread, or be responsible for your health! - Thanks for the recipe, though. i'll have to remember that.

Speaking of the 8242 keyboard controller, which is awfully rare now- it's just a 8042 microcontroller preprogrammed, right? If you got a 8742 (the EPROM version) - you'd be able to burn one yourself -If the source code is obtainable. Is it? Does anybody know?

--Christoffer
 
i've found the IBM PC technical reference, and are looking through the schematics. It's not too bad, though those delay lines might be hard to find and/or troubleshoot on.
In the transition from the IBM PC to the IBM XT, IBM replaced one of them, TD2, by a resistor. See [here].

In the 'IBM PC motherboard kit' at [here], the designer appears to have gone down that path.

Speaking of the 8242 keyboard controller, which is awfully rare now- it's just a 8042 microcontroller preprogrammed, right? If you got a 8742 (the EPROM version) - you'd be able to burn one yourself -If the source code is obtainable. Is it? Does anybody know?
An image of the ROM content of the 8042/8742 based keyboard controller used in the IBM AT (IBM 5170) is at [here].
Six months ago, using that image, I burned an 8742 for member romanon, so that romanon could repair his IBM AT.
 
See this is a problem. I now have to decide between derailing the thread, or be responsible for your health! - Thanks for the recipe, though. i'll have to remember that.

Speaking of the 8242 keyboard controller, which is awfully rare now- it's just a 8042 microcontroller preprogrammed, right? If you got a 8742 (the EPROM version) - you'd be able to burn one yourself -If the source code is obtainable. Is it? Does anybody know?

--Christoffer

Don't worry manster, I could go w/o a meal (or 20).

Who was talking about 8242s? The IBM PC used an 8048/8748 I thought. Whatever.
 
In the transition from the IBM PC to the IBM XT, IBM replaced one of them, TD2, by a resistor. See [here].

In the 'IBM PC motherboard kit' at [here], the designer appears to have gone down that path.


An image of the ROM content of the 8042/8742 based keyboard controller used in the IBM AT (IBM 5170) is at [here].
Six months ago, using that image, I burned an 8742 for member romanon, so that romanon could repair his IBM AT.

-Thank you!! That'll prove close to invaluable! - The 8742 should be obtainable, still. And slapping a programmer together should be manageable..

Don't worry manster, I could go w/o a meal (or 20).

Who was talking about 8242s? The IBM PC used an 8048/8748 I thought. Whatever.
The IBM PC had an 8042 in the keyboard, but the decoder was a 8242, as far as i know.
-Maybe the keyboard drive code could be ported to a 8048 or an 8051.. they're a bit easier to get/program etc, and they _might_ be able to act as a 8042...

-One could avoid all the microcontroller hassle and just use the original 8255 system...


--Christoffer
 
Last edited:
Oh I do apologize! Should've written [8-bit variant of 8086].
Anyway, I'll start scouring for parts and do some preliminary design work.
Meanwhile, I shall attempt using an old modem as a serial to cassette interface

--Christoffer
 
I am probably drifting away from the trends in this thread, but I've often contemplated replicating the external logic in to a single FPGA.
You'd then have modules that could be used in other FPGA projects etc and users could expand upon it.
 
Oh I do apologize! Should've written [8-bit variant of 8086].
Anyway, I'll start scouring for parts and do some preliminary design work.
Meanwhile, I shall attempt using an old modem as a serial to cassette interface

--Christoffer

As far as keyboard controllers, the VIA VT82C42 is a dedicated replacement for the 8042-based controllers. I found a whole tube of 10 on eBay, VT82C42N.

Some more resources on 8088 homebrew:
John Monahan has designs on his website (http://www.s100computers.com/) for 8088/8086/80286/80386 CPU boards and an S-100 "MS-DOS Support board" that provides the required support chips to boot MS-DOS up to 4.xx without modification.

John Coffman designed an 80C188 SBC called the SBC-188, which can boot MS-DOS from a floppy can also interface with other homebrew cards on the ECB bus (also not 100% PC compatible though). This was formerly part of the "N8VEM" project, which is in the process of migrating to a new website at http://www.retrobrewcomputers.org/doku.php (I will try to port over the SBC-188 pages sometime in the next few days and report back to this thread with a direct link). I know John mentioned a possible new revision of that board to V3 in the near future (http://www.retrobrewcomputers.org/n8vem-gg-archive/html-2015/Oct/msg00087.html)

In July/August, James Crass had a thread going on the old N8VEM boards about an 8088 breadboard build - see http://www.retrobrewcomputers.org/n8vem-gg-archive/html-2015/Jul/threads.html#00063 and http://www.retrobrewcomputers.org/n8vem-gg-archive/html-2015/Aug/threads.html#00044

Hope this is useful.

Andrew B.
 
Back
Top