If you have been building electronic hardware for several decades, do you still have any projects from your distant past? Do they work? An audio amplifier perhaps, or a bench power supply.
[Just4Fun] made a rather special computer in the 1980s, and it definitely still works. Describing it as “An 8085 single board computer with an EPROM emulator” though, does not convey just how special it is. This is not the modern sense of a single board computer with an SoC and a few support components. Instead it is a full system in the manner of the day in which processor, memory and peripherals are all separate components surrounded by 74 series glue logic. The whole system is wire-wrapped on a piece of perfboard and mounted very neatly in a rack. The EPROM emulator is a separate unit in a console case with hexadecimal keyboard and 7-segment display.
As the video below the break of an LED flashing demo shows, the EPROM emulator allows 8085 machine code to be entered byte by byte instead of having to be burned into a real EPROM.
[Just4Fun] leaves us with plans to replace the period EPROM emulator with a modern alternative, an EEPROM on a PCB designed to fit in the original bank of EPROM sockets. In this he suggests he might fit a bootloader and a BASIC interpreter, something entirely possible back in the day with conventional EPROMs, but probably not as cheaply.
Continue reading “Hack An 8085 like it’s 1985”
Hardware design enthusiasts should already be salivating just looking at this image. But [Ken Shirriff’s] write-up on how the 8085 processor’s registers were designed will put you in silicon reverse-engineering heaven. He manages to get to the bottom of the tricks the designers used to make register access as efficient as possible, like routing some through the ALU on their path elsewhere.
We’re certainly not experts in studying dies like the one seen above. Luckily [Ken] does a great job of zooming in on important parts, then dissecting how they work by representing the silicone image as a functional flow chart. One of the parts which we found most interesting is the WZ temporary registers. These are a set of internal registers that are not accessible to the programmer. They’re only used internally by the chip. They act as temporary storage for multiple operand functions, and also hold register addresses for a handful of instructions (JMP, CALL, RST, etc.).
If you’re more interested in how images of these chips are attained you should do some searching on Hackaday. Just last week we featured one such project in a links post.
This is a microscopic photograph of an 8085 processor die. [Ken Shirriff] uses the image in his explanation of how the ALU works. It is only capable of five basic operations: ADD, OR, XOR, AND, and SHIFT-RIGHT. [Ken] mentions that the lack of SHIFT-LEFT is made up for by adding the number to itself which has the effect of multiplying a number by two; the same mathematical function performed by a shift operation.
His post details the gate arrangement for each ALU operation. This is clear and easy to follow, and was based on reverse engineering work already done by a team who meticulously decapped and photographed the dies.
Not long ago this explanation would have been voodoo to us. But we worked our way through The Elements of Computing Systems text-book by following the online Nand to Tetris course. It really demystifies the inner working of a chip like the 8085.
Now if you really want to understand this ALU you’ll build it for yourself inside of Minecraft.