ioncannon wrote:
Always wanted to do digital circuitry, and the current course I am taking in university has a lot to do with it (I am doing a CompSci major). I understand a lot of the hardware (if that's the right word) about microprocessors and various digital logic devices, but nothing about electrical engineering. However I would like to do some real world projects.
I began by desoldered a 6502 variant from the original Nintendo (Only thing with a 6502 I can part with, it's broken). The instruction set is the same, and you get a few bonus built in features.
Welcome to the wacky world of 6502s and to the forum.
Quote:
-I wired VCC to 5v, and Grn to ground.
-I wired all the data bus pins to grn for a no-op instruction
Actually, all zeros on the data bus results in a BRK instruction, not NOP. The opcode for NOP is $EA, or %11101010 in binary. So, to get NOP, wire the data bus as follows:
D0 - low
D1 - high
D2 - low
D3 - high
D4 - low
D5 - high
D6 - high
D7 - high
Quote:
-Wired VCC/Grnd to a ossilator, and wired the clock output, to the 6502's input.
Presumably you used a TTL can oscillator. It's also possible to use a crystal, or even an R-C circuit.
Quote:
-I grounded NMI and IRQ, and put the first 4 address lines through leds.
IRQ and NMI should both be high. IRQ is level sensitive and if continuously held low, causes the MPU to get stuck in an IRQ loop. Also, IRQ takes the MPU through the vector at $FFFE-$FFFF, which has to point to valid code. NMI causes a jump through $FFFA-$FFFB.
Quote:
Reset is my biggest issue. I don't have a button on me right now, but would manually switching the wire between high, to low, back to high work?
After a fashion. However, you should have a short delay upon the transition from low to high. A simple R-C circuit will suffice.
Quote:
I tried doing this, but if RESET is 5v, all lines are active, and if grounded all lines are low.
See above comments.
Quote:
Just a note, the NES 6502 divides clockspeed by 12, so this may also be an issue, since I have a 5.37mhz oscillator, it's running at around 448khz.
It could be. NMOS MPUs have a minimum clock speed below which they won't function.