I recently decided to have another whack at some Chip8 emulation. I was reading Cowgod's technical reference and noticed a slight ambiguity regarding the behaviour of the opcode LD Vx, K (Fx0A).
Cowgod's documentation states that All execution stops until a key is pressed
, but does not clarify whether this affects the behaviour of the timer registers.
Can anyone clarify the decrementation of the timer registers and the main program execution considered asynchronous? i.e. should the timers continue counting down whilst the main execution awaits a keypress or should the timers wait for the keypress as well before continuing to decrement?
My intuition says timing should carry on independently as would occur if the timers were theoretically part of a separate circuit, however it may also be desirable for the timers to wait (i.e. such that the buzzer continues sounding until the user presses any key) so I have decided to ask rather than assume.