I'm following the instructions at http://www.reocities.com/SiliconValley/2072/z80proj1.htm to build a "proof of concept" Z80-based computer. I have wired everything on my breadboard, and programmed the EEPROM with the following program (first instruction is at address 0):
This program should just turn on an LED wired to the I/O chip (a 6522 VIA) by setting a port output pin high; however, nothing is happening. I verified that the program in the EEPROM is the one posted here, and that I used the correct opcode values. I have a 1 Hz clock signal, and can "see" activity on the Z80 address and data pins with my logic tester. I also double-checked the wiring, but still nothing.
Working backwards, I noticed the I/O output pin connected to the LED never changes to high. I also noticed that the phase-2 clock on the I/O chip is always low (i.e. it doesn't oscillate); this explains the LED not lighting, since the I/O chip only reads on the rising edge. Per the instructions, I have connected this clock to the IORQ pin of the Z80 through an inverter; however, in my project, the IORQ pin is always high. From the Z80 datasheet, this pin should go low when a port is addressed, but this isn't happening. So I'm stuck, and not sure how to proceed from here.
Am I correct in thinking the IORQ pin should go low during OUT instruction? If so, what steps should I take to figure out why this isn't happening? Other theories on what may be wrong are also welcome.
Thanks in advance!