![]() |
Routines |
| Prev: 25108 | Up: Map | Next: 25172 |
| 25126 | LD A,(32765) | 32765 holds the number of the last character moved | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25129 | CALL 25141 | Move a character | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25132 | LD A,(32765) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25135 | CALL 25141 | Move another character | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25138 | LD A,(32765) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
This entry point is used to move a single character. This involves the following steps:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25141 | CP 171 | Get the number of the next character to be moved (152-171) in A and copy it to 32765 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25143 | JR NZ,25147 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25145 | LD A,151 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25147 | INC A | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25148 | LD (32765),A | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25151 | LD H,A | H=number of character to be moved | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25152 | CALL 25266 | Stop now unless it's time to move this character | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25155 | LD L,112 | Bytes 111 and 112 of the character's buffer may contain a routine address | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25157 | LD A,(HL) | Pick up the MSB in A | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25158 | AND A | Is there a routine address here? | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25159 | JR NZ,25241 | Jump to it if so | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25161 | LD L,124 | Pick up in DE the routine address from bytes 124 and 125 of the character's buffer; this is set to 25247 (RET) initially by the startup routine at 26880 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25163 | LD E,(HL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25164 | INC L | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25165 | LD D,(HL) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25166 | LD BC,25172 | Go to the routine address in bytes 124 and 125 of the the character's buffer, and then go to 25172 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25169 | PUSH BC | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25170 | PUSH DE | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 25171 | RET | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Prev: 25108 | Up: Map | Next: 25172 |