Z80 Unexpected Address Bus Behavior

Quote from notautogenerated2365 on July 30, 2025, 1:35 amI am building a simple Z80 based computer, and have a central 8-bit data bus and 16-bit address bus. My simple test scenario involves the MPU constantly loading no-op instructions (doing nothing and then incrementing the program counter). This should simply count from 0 to 65535 in binary on the address bus. I have the clock set at 1000 Hz. On the address bus, I am seeing unexpected behavior. Bits 0-6 are behaving normally, but when bits 7-16 are high, they don’t just stay high, they flash with each machine cycle. So bit 6 will be flashing back and fourth from high to low at a normal rate as it counts upwards, but bit 7 will be flashing much faster, which makes no sense. Could this be an implementation error on my part?
I am building a simple Z80 based computer, and have a central 8-bit data bus and 16-bit address bus. My simple test scenario involves the MPU constantly loading no-op instructions (doing nothing and then incrementing the program counter). This should simply count from 0 to 65535 in binary on the address bus. I have the clock set at 1000 Hz. On the address bus, I am seeing unexpected behavior. Bits 0-6 are behaving normally, but when bits 7-16 are high, they don’t just stay high, they flash with each machine cycle. So bit 6 will be flashing back and fourth from high to low at a normal rate as it counts upwards, but bit 7 will be flashing much faster, which makes no sense. Could this be an implementation error on my part?

Quote from vranik on July 30, 2025, 6:11 pmThe Z80 CPU during M1 cycle reads the instuction from memory, but it also refresh dynamic memory. Look in the Z80 CPU datasheet how the M1 cycle looks like.
The Z80 CPU during M1 cycle reads the instuction from memory, but it also refresh dynamic memory. Look in the Z80 CPU datasheet how the M1 cycle looks like.