![]() |
Routines |
Prev: C00A | Up: Map | Next: C058 |
Used by the routine at Handler_UserInput.
Handles the user pressing delete.
|
||||||||
Test if the current position in the command buffer is at the start (BD34) of the buffer.
|
||||||||
UserInput_Delete | C041 | EX DE,HL | Jump back to UserInput_Loop if the user is already at the beginning of the command buffer. | |||||
C042 | LD HL,$BD34 | |||||||
C045 | AND A | |||||||
C046 | SBC HL,DE | |||||||
C048 | EX DE,HL | |||||||
C049 | JR Z,UserInput_Loop | |||||||
Else delete the current character.
|
||||||||
C04B | PUSH HL | Stash the pointer to the command buffer on the stack. | ||||||
Print "BACKSPACE SPACE BACKSPACE" to move the current print position on the screen to the previous character, and to delete the charactr present using a space.
|
||||||||
C04C | LD HL,$BD88 | HL=Messaging_BackspaceSpaceBackspace. | ||||||
C04F | CALL PrintString | Call PrintString. | ||||||
C052 | POP HL | Restore the pointer to the command buffer from the stack. | ||||||
Now adjust the command buffer pointer to match the new position.
|
||||||||
C053 | DEC HL | Decrease the pointer to the command buffer by one. | ||||||
C054 | LD (HL),$20 | Write an ASCII space (20) into the command buffer at the current position. | ||||||
C056 | JR UserInput_Loop | Jump to UserInput_Loop. |
Prev: C00A | Up: Map | Next: C058 |