There is a lot to like about open software, and in some areas, a well-thought-out piece of software can really make a huge impact. A great example of this is the Sigrok project. Creating simple devices that act like a logic analyzer is relatively easy. What’s hard is writing nice software for such a setup including protocol decoders. Sigrok has done it and since it is open, you can add your device and decode your protocol. [GloriousCow] had done the hardware part of interfacing to the 8088 in an IBM PC using an off-the-shelf logic analyzer that uses a customized version of Sigrok. But the output was a CSV file you had to process in a spreadsheet program. The next step: write a decoder for Sigrok to understand 8088 bus cycles.
The post covers the details of writing such a plug-in for Pulseview, the Sigrok GUI. It will also work for the command line interface if you prefer that. The code is in Python.
Is this strictly necessary? No. But if you’ve ever tried decoding, say, serial data by looking at traces on a scope, you’ll agree that having the machine do the decoding for you is a boon. Decoding processor states is probably even more challenging so a way to have it done for you is welcome.
The logic analyzer in question, by the way, is a newer version of the DreamSourceLab analyzer we’ve looked at before. If you missed the first part about hooking up the analyzer to start with, we covered that, too.
Awesome work!
Very nice piece for teaching bus architecture.
That’s really impressive. I didn’t dare dream that someone had actually done this!