I am finally working on some AVR code for me Z80 with AVR I/O project. It is currently on 3 pcb's using arduino type stackable header separating the boards. The bottom PCB is the Z80 with the 10K pullups on certain control lines. Middle PCB is SRAM. The top PCB is the AVR pcb and it pulls some of the Z80 signals low.
The waveform below is the WAIT signal. Pulled up to 5V by 10K resistor on the Z80 board. On the AVR board when the right IORQ is asserted, it triggers a flip flop that outputs to a logic level mosfet. You can definitely see it snap down, but when releasing it looks like it might take around 1us to get all the high again. If I change the 10K to something smaller, I'm assuming it will have a faster rise time?
I had a similar problem when using the AVR to assert a signal by switching it between HiZ and output low. Well, that part goes fine. If I take it from output low directly back to HiZ, there seems to be a sort of bounce effect where it goes high, then bounces low a few times. If I set the AVR PORT high first (output high), then next instruction switch it to HiZ/input which makes the PORT become a pullup, then disable the PORT/pullup, it is then smooth. Is this because I was sinking it and just slammed up a wall with the HiZ? Does doing the output high first give it the 50K or so pullup when switching to HiZ so it doesn't bounce?
My logic analyzer is connected via 12" or so cables to the header on the top/AVR board.