| Routines

47080: Collect a keypress while a character's name is being entered

Used by the routine at 47336. 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.
Input
DE | Address of the next slot in the character's name message
HL | Base address of the character's name message
47080 | PUSH HL | Save the message address for the character's name
47081 | PUSH DE |
47082 | LD DE,20512 | Set DE to the display file address at which to print the character's name
47085 | CALL 45032 | Print the character's name (which is being edited)
47088 | CALL 26426 | Wait for a keypress and collect its ASCII code in A
47091 | JR Z,47088
47093 | POP DE |
47094 | POP HL | Restore the character name message address to HL
47095 | CP 13 | Was ENTER pressed?
47097 | RET Z | Return if so
47098 | LD (DE),A | Store the ASCII code of the key just pressed
47099 | INC E | Move DE along to the next slot in the name message
47100 | LD A,E | Set A equal to the number of characters typed so far
47101 | SUB L
47102 | RET |