Hi guys
I've finished the wire wrapping my 6502 project and things look ok, although I've got a slight misread on the address bus.
As part of my diag efforts I'm using a fairly rubbish home made PCB which have a 5mm LED per address/data/control bus line which is current limited it approx 2mA for each.
I have a suspicion that this is having it's own detrimental effect and on top of that I'm bored of counting lit/unlit LEDs and then converting the resulting binary to hex.
So! Here's an idea.
Utilise an Atmel 324P Microcontroller (40 pin device, 32 pins usuable for I/O) to take input from the buses and, when triggered via the falling edge of the 6502 clock, convert the binary input to hex, then output to an HD44780 LCD display.
Problem: I would need the following number pins on the 324P:
16 - Address bus (input)
8 - Data bus (input)
1 - /ROM select/control bus (input)
1 - /RAM select/control bus (input)
1 - /VIA select/control bus (input)
1 - 6502 clock (input)
[INTERRUPT detect]8 - LCD display data lines (output)
1 - LCD R/W/Busy detect (input, possible output (but slow))
1 - LCD RS (ouput)
1 - LCD Enable (output)
Total: 39 pins
Obviously I cannot use just a 324P so I could possibly use the LCD in 4 bit mode, but that still leaves me needing 35 pins, so no go.
Another solution would be to use two 324Ps (or a 324P and another, smaller, Atmel uP) and drive the Address bus from one and the Data and Control bus lines from the other. The "Master" (address bus) 324P would pick up the 6502 clock falling edge, do it's conversion of address bus bits to characters, send them to the LCD, wait for a ready/not busy signal from the LCD then signal the "Slave" 324P which would then do the same for the data bus and control bus.
New pin count-
Master 324P:
16 - Address bus (input)
1 - 6502 clock (input)
[INTERRUPT detect]8 - LCD display data lines (output)
1 - LCD R/W/Busy detect (input, possible output (but slow))
1 - LCD RS (ouput)
1 - LCD Enable (output)
1 - Send to Slave 324P (output)
----
29 pins
Slave 324P:
8 - Data bus (input)
1 - 6502 clock (input)
8 - LCD display data lines (output)
1 - LCD R/W/Busy detect (input, possible output (but slow))
1 - LCD RS (ouput)
1 - LCD Enable (output)
1 - Receive from Master 324P (input)
[INTERRUPT detect]----
21 pins
I could use two bus trascievers/buffers to switch the LCD pins back and forth between the two uPs.
What do you guys think? Or is there a better solution that I'm missing (keeping in my I have very limited cash flow and I already have the Atmels
).