| 2158 | LD HL,0ABE | |
| 215B | PUSH HL | |
| 215C | LD (HL),A | |
| 215D | INC HL | |
| 215E | LD (HL),E | |
| 215F | INC HL | |
| 2160 | LD (HL),D | |
| 2161 | POP HL | |
| 2162 | RET | |
| 2163 | DEC HL | HL=psz-1 |
| 2164 | LD B,22 | |
| 2166 | LD D,B | |
| 2167 | PUSH HL | Preserve psz-1 |
| 2168 | LD C,FF | C=string length (init. -1) |
| FindBorD: | 216A | INC HL | |
| 216B | LD A,(HL) | A=first char. |
| 216C | INC C | string length ++. |
| 216D | OR A | If A='\0' jump out of find loop. |
| 216E | JP Z,2179 | |
| 2171 | CP D | If A=D jump out of find loop. |
| 2172 | JP Z,2179 | |
| 2175 | CP B | If A!=B loop back to FindBorD. |
| 2176 | JP NZ,FindBorD(216A) | |
| Found: | 2179 | CP 22 | If '\"' call parser at 1298. |
| 217B | CALL Z,1298 | |
| 217E | EX (SP),HL | HL=psz-1, (SP)=pointer to B or D char. |
| 217F | INC HL | HL=psz |
| 2180 | EX DE,HL | DE=psz |
| 2181 | LD A,C | A=string length. |
| 2182 | CALL 2158 | Store string descriptor at 0x0ABE. |
| 2185 | LD DE,0ABE | DE points to string descriptor. |
| 2188 | LD A,D5 | |
| 218A | LD HL,(0A9E) | HL=??? |
| 218D | LD (0B14),HL | |
| 2190 | LD A,03 | Copy 3 bytes of memory (the string descriptor) from DE to HL |
| 2192 | LD (0A8D),A | |
| 2195 | CALL 4004 | |
| 2198 | LD DE,0AC1 | |
| 219B | RST 20H | HL=0x0AC1? |
| 219C | LD (0A9E),HL | |
| 219F | POP HL | HL=psz+1 |
| 21A0 | LD A,(HL) | |
| 21A1 | RET NZ | ie return if HL != 0x0AC1. |
| 21A2 | LD E,10 | Error - "STRING FORMULA TOO COMPLEX" |
| 21A4 | JP 0BD4 | |
| 21A7 | INC HL | |
| PrintString: | 21A8 | CALL 2163 | |
| 21AB | CALL 22E1 | |
| 21AE | CALL LoadStringDesc(3FF4) | D=length, BC=string pointer. |
| 21B1 | INC D | |
| 21B2 | DEC D | |
| 21B3 | RET Z | |
| 21B4 | LD A,(BC) | Print a character. |
| 21B5 | RST 18H | |
| 21B6 | CP 0D | Special processing for carriage return. Why? |
| 21B8 | CALL Z,17CA | |
| 21BB | INC BC | |
| 21BC | JP 21B2 | |
| 21BF | OR A | |
| 21C0 | LD C,F1 | |
| 21C2 | PUSH AF | |
| 21C3 | LD HL,(06E5) | |
| 21C6 | EX DE,HL | |
| 21C7 | LD HL,(0AC1) | |
| 21CA | CPL | |
| 21CB | LD C,A | |
| 21CC | LD B,FF | |
| 21CE | ADD HL,BC | |
| 21CF | INC HL | |
| 21D0 | RST 20H | |
| 21D1 | JP C,21DB | |
| 21D4 | LD (0AC1),HL | |
| 21D7 | INC HL | |
| 21D8 | EX DE,HL | |
| 21D9 | POP AF | |
| 21DA | RET | |
| 21DB | POP AF | |
| 21DC | LD E,0E | |
| 21DE | JP Z,0BD4 | |
| 21E1 | CP A | |
| 21E2 | PUSH AF | |
| 21E3 | LD BC,21C1 | |
| 21E6 | PUSH BC | |
| 21E7 | LD HL,(0A9C) | |
| 21EA | LD (0AC1),HL | |
| 21ED | LD HL,0000 | |
| 21F0 | PUSH HL | |
| 21F1 | LD HL,(06E5) | |
| 21F4 | PUSH HL | |
| 21F5 | LD HL,0AA0 | |
| 21F8 | EX DE,HL | |
| 21F9 | LD HL,(0A9E) | |
| 21FC | EX DE,HL | |
| 21FD | RST 20H | |
| 21FE | LD BC,21F8 | |
| 2201 | JP NZ,2250 | |
| 2204 | LD HL,(0AE4) | |
| 2207 | EX DE,HL | |
| 2208 | LD HL,(0AE6) | |
| 220B | EX DE,HL | |
| 220C | RST 20H | |
| 220D | JP Z,2225 | |
| 2210 | LD A,(HL) | |
| 2211 | INC HL | |
| 2212 | INC HL | |
| 2213 | INC HL | |
| 2214 | CP 03 | |
| 2216 | JP NZ,221D | |
| 2219 | CALL 2251 | |
| 221C | XOR A | |
| 221D | LD E,A | |
| 221E | LD D,00 | |
| 2220 | ADD HL,DE | |
| 2221 | JP 2207 | |
| 2224 | POP BC | |
| 2225 | EX DE,HL | |
| 2226 | LD HL,(0AE8) | |
| 2229 | EX DE,HL | |
| 222A | RST 20H | |
| 222B | JP Z,2271 | |
| 222E | LD A,(HL) | |
| 222F | INC HL | |
| 2230 | CALL 3FF2 | |
| 2233 | PUSH HL | |
| 2234 | ADD HL,BC | |
| 2235 | CP 03 | |
| 2235 | CP 03 | |
| 2237 | JP NZ,2224 | |
| 223A | LD (0AC3),HL | |
| 223D | POP HL | |
| 223E | LD C,(HL) | |
| 223F | LD B,00 | |
| 2241 | ADD HL,BC | |
| 2242 | ADD HL,BC | |
| 2243 | INC HL | |
| 2244 | EX DE,HL | |
| 2245 | LD HL,(0AC3) | |
| 2248 | EX DE,HL | |
| 2249 | RST 20H | |
| 224A | JP Z,2225 | |
| 224D | LD BC,2244 | |
| 2250 | PUSH BC | |
| 2251 | XOR A | |
| 2252 | OR (HL) | |
| 2253 | INC HL | |
| 2254 | LD E,(HL) | |
| 2255 | INC HL | |
| 2256 | LD D,(HL) | |
| 2257 | INC HL | |
| 2258 | RET Z | |
| 2259 | LD B,H | |
| 225A | LD C,L | |
| 225B | LD HL,(0AC1) | |
| 225E | RST 20H | |
| 225F | LD H,B | |
| 2260 | LD L,C | |
| 2261 | RET C | |
| 2262 | POP HL | |
| 2263 | EX (SP),HL | |
| 2264 | RST 20H | |
| 2265 | EX (SP),HL | |
| 2266 | PUSH HL | |
| 2267 | LD H,B | |
| 2268 | LD L,C | |
| 2269 | RET NC | |
| 226A | POP BC | |
| 226B | POP AF | |
| 226C | POP AF | |
| 226D | PUSH HL | |
| 226E | PUSH DE | |
| 226F | PUSH BC | |
| 2270 | RET | |
| 2271 | POP DE | |
| 2272 | POP HL | |
| 2273 | LD A,L | |
| 2274 | OR H | |
| 2275 | RET Z | |
| 2276 | DEC HL | |
| 2277 | LD B,(HL) | |
| 2278 | DEC HL | |
| 2279 | LD C,(HL) | |
| 227A | PUSH HL | |
| 227B | DEC HL | |
| 227C | LD L,(HL) | |
| 227D | LD H,00 | |
| 227F | ADD HL,BC | |
| 2280 | LD D,B | |
| 2281 | LD E,C | |
| 2282 | DEC HL | |
| 2283 | LD B,H | |
| 2284 | LD C,L | |
| 2285 | LD HL,(0AC1) | |
| 2288 | CALL 0B79 | |
| 228B | POP HL | |
| 228C | LD (HL),C | |
| 228D | INC HL | |
| 228E | LD (HL),B | |
| 228F | LD L,C | |
| 2290 | LD H,B | |
| 2291 | DEC HL | |
| 2292 | JP 21EA | |
| 2295 | PUSH BC | |
| 2296 | PUSH HL | |
| 2297 | LD HL,(0B14) | |
| 229A | EX (SP),HL | |
| 229B | CALL 1BB3 | |
| 229E | EX (SP),HL | |
| 229F | CALL 4126 | |
| 22A2 | LD A,(HL) | |
| 22A3 | PUSH HL | |
| 22A4 | LD HL,(0B14) | |
| 22A7 | PUSH HL | |
| 22A8 | ADD A,(HL) | |
| 22A9 | LD E,0F | |
| 22AB | JP C,0BD4 | |
| 22AE | CALL 2155 | |
| 22B1 | POP DE | |
| 22B2 | CALL 22E5 | |
| 22B5 | EX (SP),HL | |
| 22B6 | CALL 22E4 | |
| 22B9 | PUSH HL | |
| 22BA | LD HL,(0ABF) | |
| 22BD | EX DE,HL | |
| 22BE | CALL 22CC | |
| 22C1 | CALL 22CC | |
| 22C4 | LD HL,1A4C | |
| 22C7 | EX (SP),HL | |
| 22C8 | PUSH HL | |
| 22C9 | JP 2185 | |
| 22CC | POP HL | |
| 22CD | EX (SP),HL | |
| 22CE | LD A,(HL) | |
| 22CF | INC HL | |
| 22D0 | LD C,(HL) | |
| 22D1 | INC HL | |
| 22D2 | LD B,(HL) | |
| 22D3 | LD L,A | |
| 22D4 | INC L | |
| 22D5 | DEC L | |
| 22D6 | RET Z | |
| 22D7 | LD A,(BC) | |
| 22D8 | LD (DE),A | |
| 22D9 | INC BC | |
| 22DA | INC DE | |
| 22DB | JP 22D5 | |
| 22DE | CALL 4126 | |
| 22E1 | LD HL,(0B14) | HL=??? |
| 22E4 | EX DE,HL | |
| 22E5 | CALL 22FD | |
| 22E8 | EX DE,HL | |
| 22E9 | RET NZ | |
| 22EA | PUSH DE | |
| 22EB | LD D,B | |
| 22EC | LD E,C | |
| 22ED | DEC DE | |
| 22EE | LD C,(HL) | |
| 22EF | LD HL,(0AC1) | |
| 22F2 | RST 20H | HL=DE? |
| 22F3 | JP NZ,22FB | |
| 22F6 | LD B,A | |
| 22F7 | ADD HL,BC | |
| 22F8 | LD (0AC1),HL | |
| 22FB | POP HL | |
| 22FC | RET | |
| 22FD | LD HL,(0A9E) | HL=?? |
| 2300 | DEC HL | |
| 2301 | LD B,(HL) | |
| 2302 | DEC HL | |
| 2303 | LD C,(HL) | |
| 2304 | DEC HL | |
| 2305 | RST 20H | HL=DE? |
| 2306 | RET NZ | |
| 2307 | LD (0A9E),HL | |
| 230A | RET | |