Prev: 29365 Up: Map Next: 29494
29456: Name Entry Delete
Used by the routine at CollectName.
NameEntryDelete 29456 POP HL Restore HL and BC from the stack.
29457 POP BC
29458 XOR A Write 0 to *FlagKeyEntry.
29459 LD (29494),A
29462 LD A,B Jump to NameEntryCollectInput if B is equal to 13.
29463 CP 13
29465 JR Z,NameEntryCollectInput
Move the buffer pointer back one place, and "erase" the character by writing a space to this location.
29467 DEC HL Decrease HL by one.
29468 LD (HL),32 Write an ASCII space (32) to *HL.
Now do the same to the screen, action a backspace, print an actual space, and finally, action another backspace to move the cursor to the correct position.
29470 LD A,8 Backspace.
29472 RST 16
29473 LD A,32 Print an ASCII space " ".
29475 RST 16
29476 LD A,8 Backspace.
29478 RST 16
29479 INC B Increment B by one.
29480 PUSH BC Stash BC and HL on the stack.
29481 PUSH HL
29482 RES 5,(IY+1) Reset bit 5 of *FLAGS which resets "when a new key has been pressed".
Big pause HALT loop 65536 times, can be interrupted with a keypress.
29486 LD BC,0 BC=0000.
29489 CALL 7997 Call PAUSE_1.
29492 JR NameEntryCollectInput_Loop Jump to NameEntryCollectInput_Loop.
Prev: 29365 Up: Map Next: 29494