Back to Skool Routines
Prev: 27363 Up: Map Next: 27418
27364: Transfer message buffer to screen
Used by the routines at 27462, 29716 and 62910.
DE Attribute file address at which to print message
HL Address of buffer to transfer to screen
27364 PUSH DE Save the attribute file address temporarily
27365 LD A,3 There are 3 rows of character squares in the message box
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
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 in the message box
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