Update:
I've re-seated the 6502, along with all the breadboard connections and I've also done some code modifications to my Monitor app.
I've also adjusted the clock speed and it's now running at 2.500Hz
Looking carefully at the start-up, I noticed the NMI scan:
Code:
T-State: 8 ..............................
ADDR BUS OUT: 1111|1111|1111|1010 :: 0xFFFA
DATA BUS R: 0000|0000 :: 0x00
T-State: 9 ..............................
ADDR BUS OUT: 1111|1111|1111|1011 :: 0xFFFB
DATA BUS R: 0001|0000 :: 0x10
... so, I put '$00' and '$10' in those locations, just to see what would happen, and indeed the PC jumped to $1000, just as I though it may do. Now, at $1000-$1002 I have '$4C', '$10', '$00' (JMP $0010), and there I have '$8F', followed by '$EA' (NOP), in the rest of memory, moving up, which so far as I can tell simply advances the PC:
Code:
T-State: 10 ..............................
ADDR BUS OUT: 0001|0000|0000|0000 :: 0x1000
DATA BUS R: 0100|1100 :: 0x4C
T-State: 11 ..............................
ADDR BUS OUT: 0001|0000|0000|0001 :: 0x1001
DATA BUS R: 0001|0000 :: 0x10
T-State: 12 ..............................
ADDR BUS OUT: 0001|0000|0000|0010 :: 0x1002
DATA BUS R: 0000|0000 :: 0x00
T-State: 13 ..............................
ADDR BUS OUT: 0000|0000|0001|0000 :: 0x0010
DATA BUS R: 1000|1111 :: 0x8F
T-State: 14 ..............................
ADDR BUS OUT: 0000|0000|0001|0001 :: 0x0011
DATA BUS R: 1110|1010 :: 0xEA
T-State: 15 ..............................
ADDR BUS OUT: 0000|0000|0001|0010 :: 0x0012
DATA BUS R: 1110|1010 :: 0xEA
T-State: 16 ..............................
ADDR BUS OUT: 1110|1010|1110|1010 :: 0xEAEA
DATA BUS W: 1110|1010 :: 0xEA
T-State: 17 ..............................
ADDR BUS OUT: 0000|0000|0001|0011 :: 0x0013
DATA BUS R: 1110|1010 :: 0xEA
T-State: 18 ..............................
ADDR BUS OUT: 0000|0000|0001|0100 :: 0x0014
DATA BUS R: 1110|1010 :: 0xEA
T-State: 19 ..............................
ADDR BUS OUT: 0000|0000|0001|0100 :: 0x0014
DATA BUS R: 1110|1010 :: 0xEA
T-State: 20 ..............................
ADDR BUS OUT: 0000|0000|0001|0101 :: 0x0015
DATA BUS R: 1110|1010 :: 0xEA
T-State: 21 ..............................
ADDR BUS OUT: 0000|0000|0001|0101 :: 0x0015
DATA BUS R: 1110|1010 :: 0xEA
T-State: 22 ..............................
ADDR BUS OUT: 0000|0000|0001|0110 :: 0x0016
DATA BUS R: 1110|1010 :: 0xEA
T-State: 23 ..............................
ADDR BUS OUT: 0000|0000|0001|0110 :: 0x0016
DATA BUS R: 1110|1010 :: 0xEA
T-State: 24 ..............................
ADDR BUS OUT: 0000|0000|0001|0111 :: 0x0017
DATA BUS R: 1110|1010 :: 0xEA
T-State: 25 ..............................
ADDR BUS OUT: 0000|0000|0001|0111 :: 0x0017
DATA BUS R: 1110|1010 :: 0xEA
T-State: 26 ..............................
ADDR BUS OUT: 0000|0000|0001|1000 :: 0x0018
DATA BUS R: 1110|1010 :: 0xEA
T-State: 27 ..............................
ADDR BUS OUT: 0000|0000|0001|1000 :: 0x0018
DATA BUS R: 1110|1010 :: 0xEA
T-State: 28 ..............................
ADDR BUS OUT: 0000|0000|0001|1001 :: 0x0019
DATA BUS R: 1110|1010 :: 0xEA
T-State: 29 ..............................
ADDR BUS OUT: 0000|0000|0001|1001 :: 0x0019
DATA BUS R: 1110|1010 :: 0xEA
T-State: 30 ..............................
ADDR BUS OUT: 0000|0000|0001|1010 :: 0x001A
DATA BUS R: 1110|1010 :: 0xEA
I believe that this trace could be a little easier to follow and I also believe that the 6502 is showing consistent with what we saw before. The one difference is that the data bus is now presenting '$EA' to address '$EAEA' (see T-Sate 16). It's maybe better to say that, I think that's what I see, as I'm still very green and I'm relying on you guys to please tell me when I'm wrong; it's the only way I'll learn what is correct and what is not.
---
@Neil
Thank you for that suggestion. I'll have a look at that option. I do have some equipment that will measure very low current, but (as you say) I'll need to consider the other components in circuit.
---
@BigEd
Another good suggestion; thank you.
I'm unsure (at this stage) what type of 6502 I have and as such, I'm unsure how complicated that option could be. I'm aware of the theory, but the practice would need a de-bounce (possibly?) circuit and while I know how to do that, I'd rather not (at this stage) introduce something that could skew what I'm already not too sure about.
As soon as I'm confident that I'm getting consistent as well as sane readings, I can move this along and explore that option.
Thank you.
---
So, I'll wait for and hope to get some feedback on what I have here (be that good or bad, but as long as it's constructive, that's what matters) before I move it along some more.
With thanks to you all.
~ Rob.
edit to add:
barnacle wrote:
One thought might be to check the current taken by the questionable 6502... with a 2Hz clock, a current CMOS part will take microamps; an NMOS should be tens of milliamps...
A quick measure is showing a 48mA current draw. Even if I disconnect the LED matrix, there's no real difference in the current draw, so could this be the 'smoking gun'?
I've yet to 'smoke' any of my ICs, but it's early days!