Address bus visualization with LEDs

From: Marko Mäkelä <>
Date: Fri, 22 Jan 2016 11:45:42 +0200
Message-ID: <20160122094542.GA2522@x220>
On Thu, Jan 21, 2016 at 08:23:23PM +0000, Steve Gray wrote:
>Kinda a little off topic, but I thought it would be cool to build a 
>little address monitor circuit. Take the top 8 address lines and split 
>them into 4 HI and 4 LO groups, run both of those 4 lines into 4-to-16 
>decoders and use those to drive a 16x16 LED matrix.

BTDT, in 1994 or 1995. I soldered a 32×8 LED matrix to a carefully 
selected 160mm by 100mm prototyping board bought from an electronics 
store in Germany. I had to select a board where the 160mm side had half 
a hole in each side, so that it would fit exactly 64 holes. I also cut 
the base of each 5mm LED smaller, so that they would fit next to each 
other (each LED occupying 2 by 2 holes in the .1" raster).

Actually I copied the idea from Andreas Boose. He had a circuit board 
with 4×16 LEDs, each representing 1 kilobyte of address space. He 
sampled the CPU address lines from the cartridge port, and each access 
would light up the corresponding LEDs. It was fun to see the BASIC 
interpreter run garbage collection, or scan the line numbers when 
executing a GOTO or GOSUB.

>Each LED would represent one page of memory and you could watch the CPU 
>access visually.

My board did not work that well in practice. The problem was that with 
address page size 1024, assuming a uniform distribution of addresses, 
each LED would light up 4 times as long as with size 256. Maybe it would 
work better with today’s super-bright LEDs. (I do not think that it 
would be appropriate to add a hold circuit, to make the LEDs light 
longer. That would ruin the usefulness of the circuit for 
instrumentation purposes.)

>You could use different coloured LEDs to represent RAM, ROM or I/O.  
>Anyone heard of something like that??? ;-)

The colours would be a nice addition, sure. Maybe it would be easiest to 
experiment with this by patching VICE and displaying virtual LEDs on the 
screen. Then it should be fairly simple to implement it in CPLD.

I gave my LED matrix board to Ruud Baltissen. Maybe as an intermediate 
step, VICE could be patched to drive a real LED matrix. How to implement 
the interface, I have no idea. Two parallel ports on a PCI card? Or some 
fast enough ARM SoC with enough GPIO? Raspberry Pi?


       Message was sent through the cbm-hackers mailing list
Received on 2016-01-22 10:00:10

Archive generated by hypermail 2.2.0.