I'm building my first microprocessor circuit with a Z80 CPU and a 29C256 eprom, all I was trying to do is to get the Z80 to read in and process a few simple instructions. The circuit is really simple with the two chips' address bus together, and the data bus together. The 29C256's OE(output enable), CE(chip enable) are forced low, the WE(write enable) is tied to the Z80's WR(write) pin, and none of the Z80's other control pins are used.
The program inside the 29C256 is as follows:
LD A,0Fh
LOOP: LD (00FFh),A
JP LOOP
The following is the assembled opcode:
3E 0F 32 FF 00 C3 02 00
All this program does is after the Z80 fetches the first instruction, it loads it's "A" register with 0F, then it attempts to write what's in register "A" to address 00FF, and just keep doing this in a loop.
What I got was upon power up, the Z80 fetches it's first opcode from 0000, and just stays there. This is true because the data bus reads 3E, which is the first opcode, and the address bus reads 0000.
Any suggestions? I'm happy to provide further details if needed. Thank you all in advance.
The program inside the 29C256 is as follows:
LD A,0Fh
LOOP: LD (00FFh),A
JP LOOP
The following is the assembled opcode:
3E 0F 32 FF 00 C3 02 00
All this program does is after the Z80 fetches the first instruction, it loads it's "A" register with 0F, then it attempts to write what's in register "A" to address 00FF, and just keep doing this in a loop.
What I got was upon power up, the Z80 fetches it's first opcode from 0000, and just stays there. This is true because the data bus reads 3E, which is the first opcode, and the address bus reads 0000.
Any suggestions? I'm happy to provide further details if needed. Thank you all in advance.