Routines |
Prev: B77F | Up: Map | Next: B7FF |
Used by the routine at B8E8. Waits for a keypress and returns with the zero flag set if it was ENTER; otherwise inserts the ASCII code of the keypress into the next slot in the character's name message, and returns with A holding the number of characters typed so far.
|
||||||||||
B7E8 | PUSH HL | Save the message address for the character's name | ||||||||
B7E9 | PUSH DE | |||||||||
B7EA | LD DE,$5020 | Set DE to the display file address at which to print the character's name | ||||||||
B7ED | CALL $AFE8 | Print the character's name (which is being edited) | ||||||||
B7F0 | CALL $673A | Wait for a keypress and collect its ASCII code in A | ||||||||
B7F3 | JR Z,$B7F0 | |||||||||
B7F5 | POP DE | |||||||||
B7F6 | POP HL | Restore the character name message address to HL | ||||||||
B7F7 | CP $0D | Was ENTER pressed? | ||||||||
B7F9 | RET Z | Return if so | ||||||||
B7FA | LD (DE),A | Store the ASCII code of the key just pressed | ||||||||
B7FB | INC E | Move DE along to the next slot in the name message | ||||||||
B7FC | LD A,E | Set A equal to the number of characters typed so far | ||||||||
B7FD | SUB L | |||||||||
B7FE | RET |
Prev: B77F | Up: Map | Next: B7FF |