![]() |
Routines |
| Prev: C1FC | Up: Map | Next: C22D |
|
Used by the routines at PrintStringAndWaitForKeypress and PrintString.
Prints one character at the current column, and starts a new line on ENTER.
|
||||
| PrintScreenCharacter | C1FD | PUSH HL | Keep the character. | |
| C1FE | PUSH BC | |||
| C1FF | PUSH AF | |||
| C200 | LD A,($C1FB) | Read the print column. | ||
| C203 | LD C,A | |||
| C204 | POP AF | Read the screen position at DecorativeLine_ScreenPosition and jump to PrintScreenCharacter_Next if the character is not a new line. | ||
| C205 | PUSH AF | |||
| C206 | LD HL,($C1F6) | |||
| C209 | CP $0D | |||
| C20B | JR NZ,PrintScreenCharacter_Next | |||
| C20D | LD A,$20 | Print a space and carry on from PrintScreenCharacter_SetDecorative. | ||
| C20F | CALL PrintCharacter | |||
| C212 | JR PrintScreenCharacter_SetDecorative | |||
|
A code of 8 starts the decorative line. Any other code counts the width down.
|
||||
| PrintScreenCharacter_Next | C214 | CP $08 | Jump ahead to HandleBackspaceKey if it is 08. | |
| C216 | JR Z,HandleBackspaceKey | |||
| C218 | CALL ValidateKeypress | Call ValidateKeypress to check the key, then print the character through PrintCharacter. | ||
| C21B | CALL PrintCharacter | |||
| C21E | LD A,($C1F4) | Jump ahead to RecordResultStorageDecorative if the count is not finished. | ||
| C221 | DEC A | |||
| C222 | JR NZ,RecordResultStorageDecorative | |||
| PrintScreenCharacter_SetDecorative | C224 | LD L,$E0 | Call ScrollScreenUp to scroll screen up. | |
| C226 | LD C,$02 | |||
| C228 | CALL ScrollScreenUp | |||
| C22B | LD A,$24 | Take a width of 24 for the decorative line. | ||
| Prev: C1FC | Up: Map | Next: C22D |