Open Hardware/Modding: 8086 Nostalgia, Raspberry Pi, Gameboy Doctor, and More
-
How the 8086 processor's microcode engine works
In brief, the microcode in the 8086 consists of 512 micro-instructions, each 21 bits wide. The microcode engine has a 13-bit register that steps through the microcode, along with a 13-bit subroutine register to store the return address for microcode subroutine calls. The microcode engine is assisted by two smaller ROMs: the "Group Decode ROM" to categorize machine instructions, and the "Translation ROM" to branch to microcode subroutines for address calculation and other roles. Physically, the microcode is stored in a 128×84 array. It has a special address decoder that optimizes the storage. The microcode circuitry is visible in the die photo below.
-
Raspberry Pi audio boards for your hi-fi projects
Back in 2020, we welcomed the IQaudio family of hi-fi audio products into the Raspberry Pi family. This was the first, and so far only, time we’ve acquired electronic products from someone else, rather than developing them ourselves: that we made an exception for IQaudio is a testament to what Gordon, Sharon, and Andrew had built together.
-
Gameboy Doctor: debug and fix your gameboy emulator
Gameboy Doctor is a tool that compares your emulator to an example emulator that passes Blargg’s test ROMs. It finds the exact tick where your emulator’s state diverges from the example, helping you isolate and fix your bugs. You don’t need to have implemented an LCD in order to use it, and you don’t even have to be able to successfully get any kind of pass/fail message back from Blargg! All you need is a minimally functional CPU and motherboard.
-
Advent Calendar 2022
It is already December 1st, and time for a new Advent Calendar. This year the design includes birch plywood with PMMA, SK6812 RGBW LEDs running with a Raspberry Pi Pico board, building a small village.