Prev: B4EA Up: Map Next: B505
B4EB: Pause and collect a keypress from 1 - 4
Used by the routines at B482 and B505.
Input
BC The time to pause
B4EB PUSH AF Store the main registers.
B4EC PUSH BC
B4ED PUSH DE
B4EE DEC BC Decrement the tick count used to pause.
B4EF LD A,B Is it zero?
B4F0 OR C
B4F1 JR NZ,$B4EE Jump forward if it isn't.
B4F3 LD A,$F7 Collect a keypress from 0-4.
B4F5 IN A,($FE)
B4F7 OR $F0 Set the top 4 bits and put the result in E.
B4F9 LD E,A
B4FA LD A,($B4E9) Get the last keypress.
B4FD AND E Merge the two bitfields together and store as the new result.
B4FE LD ($B4E9),A
B501 POP DE Restore main registers and return.
B502 POP BC
B503 POP AF
B504 RET
Prev: B4EA Up: Map Next: B505