Non-Arduino Powered By A Piece Of Computing History

Sometimes it is a blessing to have some spare time on your hands, specially if you are a hacker with lots of ideas and skill to bring them to life. [Matt] was lucky enough to have all of that and recently completed an ambitious project 8 months in the making – a Non-Arduino powered by the giant of computing history – Intel’s 8086 processor. Luckily, [Matt] provides a link to describe what Non-Arduino actually means; it’s a board that is shield-compatible, but not Arduino IDE compatible.

He was driven by a desire to build a single board computer in the old style, specifically, one with a traditional local bus. In the early days, a System Development Kit for Intel’s emerging range of  microprocessors would have involved a fair bit of discrete hardware, and software tools which were not all too easy to use.

Back in his den, [Matt] was grappling with his own set of challenges. The 8086 is a microprocessor, not a microcontroller like the AVR, so the software side of things are quite different. He quickly found himself locking horns with complex concepts such as assembly bootstrapping routines, linker scripts, code relocation, memory maps, vectors and so on. The hardware side of things was also difficult. But his goal was learning so he did not take any short cuts along the way.

[Matt] documented his project in detail, listing out the various microprocessors that run on his 8OD board, describing the software that makes it all run, linking to the schematics and source code. There’s also an interesting section on running Soviet era (USSR) microprocessor clones on the 8OD. He is still contemplating if it is worthwhile building this board in quantities, considering it uses some not so easy to source parts. If you are interested in contributing to the project, you could get lucky. [Matt] has a few spares of the prototypes which he is willing to loan out to anyone who can can convince him that they could add some value to the project.

http://www.youtube.com/watch?v=UStEvmk3bfM

Thanks for the tip, [Garrett]

39 thoughts on “Non-Arduino Powered By A Piece Of Computing History

  1. This gave me a warm fuzzy feeling deep inside my brain. Awesome! I have a bucket full of old Intel chips – like the 8088, bunch of 286 chips etc, but sadly I do not have an 8086 chip. Not that I have the time to do anything with them.

  2. Or he could have used an 8051, which is from the same era as the 8086, was designed as a Microcontroller and is still available from assorted manufacturers. You also don’t have to put up with the horror that is segmented memory.

    1. I’d hardly call the 8051 external memory pointer model an improvement. Best thing about 8051 is it’s ability to do ORL and ANL. That’s OR Logical and ANd Logical for all the preverts in the room. My microprocessors professor preferred to do Sign EXtension on the 6809 though.

      1. IMHO the bit addressable memory, PSW parity bit instructions are some of the saving grace of the 8051 that make it suck less. I have managed to implement serial bit shifting for both in and out using loop unrolling with the bit addressable memory. I would have to do a lot of register swapping as there is only 1 accumulator on a already slow architecture. (On a modern day part, I would use the SPI. :P)

        It is very painful to do a block memory copy in external apace with the single DPTR (acts like 16-bit pointer register) in the original 8051. I think it took a huge block of instruction for sharing that pointer register between the source and destination. Most of the later chips added extra DPTR register(s).

        I would not pick the 8051 and these days there are so much better alternatives.

        1. Nah I think the Z8 is some variant of the Z80… in fact, it’s a microcontroller by Zilog that has a similar instruction set to the Z80 but is very different internally. Thx, Internet!

          Is the Fairchild F8 the one that’s like a PDP-8 CPU? Or PDP-11?

      1. Yes indeed you can get a trademark on a number.

        Boeing has trademarks on 747, 737, 777, etc.

        Mars Corp. has a trademark on the letter M (when it appears on candy)

        The reason Intel failed to get trademarks is because they tried to get trademarks on numbers that had already been used as part numbers for electronic parts.

        1. The number in question is “80586” which I don’t think was used anywhere prior to that.

          So the geniuses in marketing, after doubtless many hours and thousands of dollars, came up with a name for their fifth-generation processor… Pentium! Meaning “five-thing”. Succeeded of course by Hexium and Septium, no I mean “Pentium II & III”. Honestly, seems like the giant brains in their chip design dept are somehow counterbalanced by the airheads that think the names up.

    1. Yes, that’s pretty much the only excuse I can think of for reviving the ’86. Aside from having megatons of software written for it, the 8086 was kind of the low point in microprocessor evolution. Sure it was 16-bit, but it got there in a very awkward way. Back in that day, I worked on engineering workstations that used 68K series processors for the CPU and relegated 8086s to I/O processing!

      1. The 8086 was a decent chip in it’s own right – a player in the field. There are still a lot of 80386’s used in embedded systems today. The 80186 is also used in embedded systems, though it was never generally used in PC’s.

    1. I think the 6502 and Z80 would present much the same problems and perhaps much the same solutions. Perhaps they would be a bit easier to do.

      They, being 5 Volt CPU’s, would be difficult to find support chips for. In this one he used a Xilinx CPLD that is 5 Volt compatible. CPLD’s are much smaller than FPGA’s so they are limited to glue logic and less complex functions. They would be too small to fit in much by way of peripheral circuits. I can’t think of any current FPGA’s that can work with 5 Volts.

        1. Yup. They have all sorts of cool features, thanks to the past 20 years, CMOS process, 14MHz primary clock, some instructions were shortened from the orginal 2 cycles to 1 cycle. I remember reading somewhere that Mensch wanted to do away with the zero-page addressing too but that would’ve killed the compatibility.
          http://www.westerndesigncenter.com/wdc/boards.cfm I’m sooo tempted to drop a few bucks on a developer board… :)

    2. I can’t quite promise a Z80 but confidence is high. Folks have been working on a credit-card sized Z80 system and I’ll for sure do an Olduino based on that if they ever stop fiddling with it. It was alive and well at the midwest vintage computer festival last fall https://farm6.staticflickr.com/5594/15061586629_2e62dd4f41_k.jpg What you see there is a two level board with a front panel on top, the Z80 and memory are below. The whole thing will fit into an altoids tin like this: http://hackaday.com/2010/08/19/lee-harts-memebership-card/

      Even if you don’t care about the arduino compatibility thing, playing with these old CPUs is fun. Start bugging lee through http://www.sunrise-ev.com/membershipcard.htm to free the Altoids Z80!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.