![]()  | 
Routines | 
| Prev: 43090 | Up: Map | Next: 43311 | 
| 43136 | LD E,(HL) | E=*HL. | ||
| 43137 | INC HL | Increment HL by one. | ||
| 43138 | LD A,(HL) | A=*HL. | ||
| 43139 | INC HL | Increment HL by one. | ||
| 43140 | AND %00001111 | Keep only bits 0-3. | ||
| 43142 | LD D,A | D=A. | ||
| 
 
This entry point is used by the routines at 41700, 41853, ProcessTextCommand, 42567, 42987, 43022, 43055, 48924, 52091, 53506, 54566, 54739, 54795 and 54924.
 
 | 
||||
| 43143 | LD A,(23612) | A=*TV-FLAG. | ||
| 43146 | AND A | Return if A is zero. | ||
| 43147 | RET Z | |||
| 43148 | LD (40994),DE | Write DE to *40994. | ||
| 43152 | LD A,D | A=D. | ||
| 43153 | AND %00001111 | Keep only bits 0-3. | ||
| 43155 | OR E | Set the bits from E. | ||
| 43156 | RET Z | Return if HL is equal to E. | ||
| 43157 | PUSH IX | Stash IX, HL, BC and DE on the stack. | ||
| 43159 | PUSH HL | |||
| 43160 | PUSH BC | |||
| 43161 | PUSH DE | |||
| 43162 | LD A,32 | A=32. | ||
| 43164 | CALL 43447 | Call 43447. | ||
| 43167 | LD A,D | A=D. | ||
| 43168 | AND %11110000 | Keep only bits 4-7. | ||
| 43170 | LD C,A | Compare C with 112. | ||
| 43171 | CP 112 | |||
| 43173 | LD A,1 | A=1. | ||
| 43175 | JR NZ,43180 | Jump to 43180 if C is not equal to 112. | ||
| 43177 | LD (40998),A | Write A to *40998. | ||
| 43180 | LD A,D | A=D. | ||
| 43181 | AND %00001111 | Keep only bits 0-3. | ||
| 43183 | LD D,A | D=A. | ||
| 43184 | EX DE,HL | Exchange the DE and HL registers. | ||
| 43185 | PUSH HL | Stash HL on the stack. | ||
| 43186 | LD A,H | A=H. | ||
| 43187 | OR C | Set the bits from C. | ||
| 43188 | LD H,A | H=A. | ||
| 43189 | LD (40994),HL | Write HL to *40994. | ||
| 43192 | POP HL | Restore HL from the stack. | ||
| 43193 | PUSH BC | Stash BC on the stack. | ||
| 43194 | LD IX,23936 | IX=Table_WordIndex. | ||
| 43198 | LD B,95 | B=95. | ||
| 43200 | INC B | Increment B by one. | ||
| 43201 | LD A,(IX+1) | Jump to 43215 if *IX+1 is less than H. | ||
| 43204 | CP H | |||
| 43205 | JR C,43215 | |||
| 43207 | JR NZ,43225 | Jump to 43225 if *IX+1 is not equal to H. | ||
| 43209 | LD A,(IX+0) | Jump to 43225 if *IX+0 is greater than or equal to L. | ||
| 43212 | CP L | |||
| 43213 | JR NC,43225 | |||
| 43215 | INC IX | Increment IX by two. | ||
| 43217 | INC IX | |||
| 43219 | LD A,B | Jump to 43200 if B is not equal to 123. | ||
| 43220 | CP 123 | |||
| 43222 | JR NZ,43200 | |||
| 43224 | INC B | Increment B by one. | ||
| 43225 | JR Z,43232 | Jump to 43232 if B is zero. | ||
| 43227 | DEC IX | Decrease IX by two. | ||
| 43229 | DEC IX | |||
| 43231 | DEC B | Decrease B by one. | ||
| 43232 | LD E,(IX+0) | E=*IX+0. | ||
| 43235 | LD D,(IX+1) | D=*IX+1. | ||
| 43238 | LD A,D | Jump to 43227 until DE is zero. | ||
| 43239 | OR E | |||
| 43240 | JR Z,43227 | |||
| 43242 | LD A,B | A=B. | ||
| 43243 | CALL 43447 | Call 43447. | ||
| 43246 | LD BC,23999 | HL+=23999. | ||
| 43249 | ADD HL,BC | |||
| 43250 | PUSH HL | Stash HL on the stack. | ||
| 43251 | EX DE,HL | Exchange the DE and HL registers. | ||
| 43252 | ADD HL,BC | HL+=BC. | ||
| 43253 | PUSH HL | Stash HL on the stack. | ||
| 43254 | AND A | HL-=DE (with carry). | ||
| 43255 | SBC HL,DE | |||
| 43257 | POP HL | Restore HL from the stack. | ||
| 43258 | PUSH AF | Stash AF on the stack. | ||
| 43259 | CALL 43355 | Call 43355. | ||
| 43262 | POP AF | Restore AF from the stack. | ||
| 43263 | JR NZ,43253 | Jump to 43253 if B is not equal to A. | ||
| 43265 | POP HL | Restore HL and BC from the stack. | ||
| 43266 | POP BC | |||
| 43267 | LD A,C | Jump to 43292 if C is equal to 80. | ||
| 43268 | CP 80 | |||
| 43270 | JR Z,43292 | |||
| 43272 | CP 64 | Jump to 43289 if C is equal to 64. | ||
| 43274 | JR Z,43289 | |||
| 43276 | CP 16 | Compare C with 16. | ||
| 43278 | LD A,(41012) | A=*RoomDisplayParameter. | ||
| 43281 | JR Z,43286 | Jump to 43286 if C is equal to 16. | ||
| 43283 | LD A,(41014) | Jump to 43292 if *CurrentCharacter_ID is zero. | ||
| 43286 | AND A | |||
| 43287 | JR Z,43292 | |||
| 43289 | CALL 43311 | Call 43311. | ||
| 43292 | LD HL,23618 | HL=NEWPPC. | ||
| 43295 | LD A,(HL) | A=*HL. | ||
| 43296 | AND A | Jump to 43305 if A is zero. | ||
| 43297 | JR Z,43305 | |||
| 43299 | CALL 43447 | Call 43447. | ||
| 43302 | INC HL | Increment HL by one. | ||
| 43303 | JR 43295 | Jump to 43295. | ||
| 43305 | POP DE | Restore DE, BC, HL and IX from the stack. | ||
| 43306 | POP BC | |||
| 43307 | POP HL | |||
| 43308 | POP IX | |||
| 43310 | RET | Return. | ||
| Prev: 43090 | Up: Map | Next: 43311 |