Routines |
Prev: 29365 | Up: Map | Next: 29494 |
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 |