![]() |
Routines |
Prev: 27363 | Up: Map | Next: 27418 |
Used by the routines at 27462 (to print a message box above a character's head, or to print the lesson), 29716 (to restore the area of the screen overwritten by a message box) and 62910 (to print the Back to Skool logo and the Score/Lines/Hi-Sc box).
|
||||||
27364 | PUSH DE | Save the attribute file address temporarily | ||||
27365 | LD A,3 | There are 3 rows of character squares | ||||
27367 | LD BC,8 | There are 8 character squares in each row | ||||
27370 | LDIR | Copy one row of attribute bytes to the screen | ||||
27372 | LD C,24 | Point DE at the start of the next row down | ||||
27374 | EX DE,HL | |||||
27375 | ADD HL,BC | |||||
27376 | EX DE,HL | |||||
27377 | DEC A | |||||
27378 | JR NZ,27367 | Jump back to copy the remaining attributes to the screen | ||||
The attribute bytes have been copied to the screen. Now for the graphic bytes.
|
||||||
27380 | POP DE | Restore the attribute file address to DE | ||||
27381 | LD A,D | Set DE to the appropriate display file address | ||||
27382 | SUB 80 | |||||
27384 | ADD A,A | |||||
27385 | ADD A,A | |||||
27386 | ADD A,A | |||||
27387 | LD D,A | |||||
27388 | LD C,3 | There are 3 rows of character squares | ||||
27390 | LD A,8 | There are 8 rows of pixels per character square | ||||
27392 | PUSH BC | Save the character square row counter | ||||
27393 | PUSH DE | |||||
27394 | LD C,8 | There are 8 bytes in each row of pixels | ||||
27396 | LDIR | Copy one row of pixels to the screen | ||||
27398 | POP DE | |||||
27399 | INC D | Point to the display file address of the next pixel row | ||||
27400 | DEC A | |||||
27401 | JR NZ,27393 | Jump back to fill in the remaining pixel rows for this row of character squares | ||||
27403 | LD A,E | Set DE to the start address of the first pixel row in the next row of character squares | ||||
27404 | ADD A,32 | |||||
27406 | LD E,A | |||||
27407 | JR C,27413 | |||||
27409 | LD A,D | |||||
27410 | SUB 8 | |||||
27412 | LD D,A | |||||
27413 | POP BC | Restore the character square row counter to C | ||||
27414 | DEC C | |||||
27415 | JR NZ,27390 | Jump back to fill in the remaining rows of character squares | ||||
27417 | RET |
Prev: 27363 | Up: Map | Next: 27418 |