Routines |
Prev: A83A | Up: Map | Next: A884 |
Used by the routine at Player_Name.
|
||||
Controller_Yes_No | A859 | CALL Handler_Debounce_Controls | Call Handler_Debounce_Controls. | |
Produce a short pause.
|
||||
Controller_Yes_No_Loop | A85C | LD B,$0A | B=0A. | |
Controller_Yes_No_Pause | A85E | HALT | Halt operation (suspend CPU until the next interrupt). | |
A85F | DJNZ Controller_Yes_No_Pause | Decrease counter by one and loop back to Controller_Yes_No_Pause until counter is zero. | ||
Fetch player input.
|
||||
A861 | CALL Handler_Controls | Call Handler_Controls. | ||
A864 | LD A,E | A=E. | ||
Was "up" pressed?
|
||||
A865 | CP $18 | Jump to Controller_Yes_No_Action if A is 18. | ||
A867 | JR Z,Controller_Yes_No_Action | |||
Was "down" pressed?
|
||||
A869 | CP $08 | Jump to Controller_Yes_No_Action if A is 08. | ||
A86B | JR Z,Controller_Yes_No_Action | |||
Was "fire" not pressed?
|
||||
A86D | CP $80 | Jump to Controller_Yes_No_Loop if A is not 80. | ||
A86F | JR NZ,Controller_Yes_No_Loop | |||
Pressing "fire" exits/ sets the value.
|
||||
A871 | RET | Return. | ||
Flip bit 5 of A (20) using XOR with *Game_Flags.
|
||||
Controller_Yes_No_Action | A872 | LD HL,$AB8A | Flip bit 5 of Game_Flags. | |
A875 | LD A,%00100000 | |||
A877 | XOR (HL) | |||
A878 | LD (HL),A | |||
Update the text on the screen to reflect the players choice.
|
||||
A879 | CALL Handler_Yes_No | Call Handler_Yes_No. | ||
A87C | LD BC,$0080 | BC=0080. | ||
A87F | CALL PressAnyKey_1 | Call PressAnyKey_1. | ||
A882 | JR Controller_Yes_No | Jump to Controller_Yes_No. |
Prev: A83A | Up: Map | Next: A884 |