![]() |
Routines |
| Prev: 49660 | Up: Map | Next: 49709 |
|
Used by the routines at PrintStringAndWaitForKeypress and PrintString.
Prints one character at the current column, and starts a new line on ENTER.
|
||||
| PrintScreenCharacter | 49661 | PUSH HL | Keep the character. | |
| 49662 | PUSH BC | |||
| 49663 | PUSH AF | |||
| 49664 | LD A,(49659) | Read the print column. | ||
| 49667 | LD C,A | |||
| 49668 | POP AF | Read the screen position at DecorativeLine_ScreenPosition and jump to PrintScreenCharacter_Next if the character is not a new line. | ||
| 49669 | PUSH AF | |||
| 49670 | LD HL,(49654) | |||
| 49673 | CP 13 | |||
| 49675 | JR NZ,PrintScreenCharacter_Next | |||
| 49677 | LD A,32 | Print a space and carry on from PrintScreenCharacter_SetDecorative. | ||
| 49679 | CALL PrintCharacter | |||
| 49682 | JR PrintScreenCharacter_SetDecorative | |||
|
A code of 8 starts the decorative line. Any other code counts the width down.
|
||||
| PrintScreenCharacter_Next | 49684 | CP 8 | Jump ahead to HandleBackspaceKey if it is 8. | |
| 49686 | JR Z,HandleBackspaceKey | |||
| 49688 | CALL ValidateKeypress | Call ValidateKeypress to check the key, then print the character through PrintCharacter. | ||
| 49691 | CALL PrintCharacter | |||
| 49694 | LD A,(49652) | Jump ahead to RecordResultStorageDecorative if the count is not finished. | ||
| 49697 | DEC A | |||
| 49698 | JR NZ,RecordResultStorageDecorative | |||
| PrintScreenCharacter_SetDecorative | 49700 | LD L,224 | Call ScrollScreenUp to scroll screen up. | |
| 49702 | LD C,2 | |||
| 49704 | CALL ScrollScreenUp | |||
| 49707 | LD A,36 | Take a width of 36 for the decorative line. | ||
| Prev: 49660 | Up: Map | Next: 49709 |