4fb609ee01
this would seem worthwile with the relevant tests lacking a specification of expected output (for now at least).
22 lines
855 B
Plaintext
22 lines
855 B
Plaintext
joypad irq observations.
|
|
|
|
joypad irq appears to trigger on P1/JOYP (mmio FF00h) transitions
|
|
from all bits in the least significant nibble high to at least one
|
|
bit low. no irq triggers on additional high->low transitions when a
|
|
bit is already low.
|
|
|
|
P1/JOYP high<->low transitions tend to happen multiple times per
|
|
button press/release on the DMG and CGB, but seems much more stable
|
|
on a GBA SP.
|
|
|
|
mostly predictable consequences:
|
|
|
|
if a dpad direction is in the pressed state and a button is also in
|
|
the pressed state, no new irq will trigger when switching P1/JOYP
|
|
from dpad to button input or vv.
|
|
|
|
similarly, if a dpad/button is already in the pressed state and
|
|
dpad/button input, respectively, gets enabled, that will cause an irq
|
|
to trigger given that no other enabled input was in the pressed state
|
|
(thereby causing a low bit in P1/JOYP) prior to this.
|