-
Notifications
You must be signed in to change notification settings - Fork 32
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reminder: missing Z80 state #3
Comments
FYI, here's a tracing of the curcuitry around the IFF1 and IFF2 latches:
I've done this tracing to try to resolve the simulation bug described here: |
Here's a slightly updated trace of the circuitry around the IFF1 and IFF2 latches: I've now included the logic that supresses an interrupt immediately following an EI/DI instruction. This is done immediately after the IFF1 latch. I would suggest using 1210 for IFF1 and 1239 for IFF2 (these represent the internal latch state) |
Independent of the state of the IFF1 latch (1210), interrupts are ignored in the instruction following EI/DI. That's done using the signal pla97 (see the right hand side of my schematic). So node 231 is the result of combining the output of the IFF1 latch (1210) with pla97. That's used I think for deciding whether to actually handle a pending interrupt. Dave |
See here:
https://stardot.org.uk/forums/viewtopic.php?p=350126&sid=b716fab8439114bb3df73a53597215a2#p350126
According to this:
Also: I quickly checked IFF1 and in DI this flips at the second half cycle of the next instruction, while my own guess (231) flips in the middle of the DI instruction (which I think is the better guess, because interrupts are already disabled at the end of DI). Needs more investigation!
Regarding the IM nodes:
...probably related to the weird 'IM decode table':
PS: complete 179/205 state for all IM instructions:
The text was updated successfully, but these errors were encountered: