Digging deep into how the 8085 processor’s registers were designed

8085-register-reverse-engineering

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.

[via Reddit]

Hackaday Links: February 28th, 2013

Xbox 360 control for a toy heli

links-xbox-helicopter-remote

[Jason] leveraged the IR control libraries for Arduino to use an Xbox 360 controller to fly his Syma S107G helicopter.

Windows 7 running on Raspberry Pi

links-win7-rpi

Why, oh god why? Well, the guys at Shackspace got their hands on a laser cutter that can only be driven with a Windows program. Their solution was to run Win7 on RPi as a virtual machine.

Twin-servos for your third hand

links-servo-third-hand

After growing tired of constantly flipping over the substrate being held with a third hand [Nidal] came up with a better way. He mounted his third hand on two servo motors so that it can be positioned with a joystick.

Depopulating SMD resistors

links-removing-smd-resistors

If you’ve ever tried to remove small surface mount resistors or capacitors with an iron you know it can be tricky. Take a look at the technique that [Scott] uses to remove the components.

Photographing the die of MSP430, Z80, PIC, and several other chips

links-decapping-chips

Here’s the latest work from [Michail] on photographing the die of various chips. You may remember reading his previous post on decapping chips with boiling sulfuric acid.

How the 8085 ALU is structured

8085-alu-reverse-engineering

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.

[Thanks Ed]

Boiling acid used to see chip die

When a project starts off by heating acid to its boiling point we say no thanks. But then again we’re more for the projects that use ones and zeros or a hot soldering iron. If you’re comfortable with the chemistry like [Michail] this might be right up your alley. He used boiling acid to expose and photograph the die from several integrated circuits.

The title of our feature is a play on words. In this case, die refers to the silicone on which the IC has been etched. To protect it the hardware manufacturer first attaches the metal pins to the die, then encapsulates it in plastic. [Michail] removes that plastic case by heating sulfuric acid to about 300 degrees Celsius (that’s 572 Fahrenheit) then submerges the chips in the acid inside of a sealed container for about forty minutes. Some of the larger packages require multiple trips through the acid bath. After this he takes detailed pictures of the die and uses post processing to color enhance them.

This isn’t the only way to get to the guts of a chip. We’ve seen nitric acid and even tree sap (in the form of bow rosin) do the trick.

A PIC powered pair of electronic dice

[Timothy] is honing his microcontroller skills with this electronic dice project. In addition to giving him an opportunity to work on some code, the use of an 8-pin chip provides a design challenge for driving the twelve pips and providing a user input.

The project started off with some $4 strings of LED Christmas lights. He promptly disassembled the strands, each yielding 100 LEDs. The microcontroller he chose to work with is a PIC 12F629. It’s DIP8 package provides six I/O pins to work with. When examined closely you will find that the pips on a die are always present in pairs with the exception of the center pip. This means that only four pins are needed to drive one die. You can see a pair of transistors above; one is a PNP, the other an NPN. These are both driven from the same uC line, which toggles between the pair of die. This accounts for 5 of the available pins, with the sixth monitoring the push button.

Dice gauntlet joins cosplay with D&D gaming

If you needed a reason to dress up for your next Dungeons & Dragons adventure this is surely it. Not only will this attractive wrist adornment go right along with your medieval theme, but the gauntlet doubles as a multi-sided digital die.

Sparkfun whipped up this tutorial which details the build. Yep, they’re hawking their own goods but we must say this is one of the few projects using sewable electronics which we thoroughly enjoy. It calls for several Lilypad modules, including an Arduino board, accelerometer, and slide switches. The switches let you select the number of sides for the die you are about to roll. The accelerometer starts the fun when you shake your wrist back and forth (that’s what she said). The project is powered by a rechargeable battery, which we always like to see, and uses a four-digit seven segment display located where the face of a wristwatch is normally found.

Of course, you could get the shaking action and use no batteries at all if you wish.

Battery-less electronic dice for all your D&D needs

electronic_20_sided_die

[Anthony] is a big fan of Dungeons & Dragons, but he thought the game would be far more fun to play with an electronic die rather than the traditional fare. Electronic dice are nothing new around here, though we can’t help but like his design.

He wanted to keep his electronic die as small as possible while ensuring it would last an entire gaming session, so rather than use a battery to power it, he opted for a super capacitor instead. His 1F 5.5V cap keeps the PIC18 and 22 SMD LEDs chugging along quite nicely without ever requiring a break in the action for a charge.

The electronic die looks great, and give him the choice of rolling a 4, 6, 8, 10, 12, and 20 sided die with a simple push of a button. While a bit less interactive than tossing a die on the table, we certainly wouldn’t mind having one.