DE | Attribute file address at which to print message |
HL | Address of buffer to transfer |
27364 | D5 | PUSH DE | Save attribute file address temporarily |
27365 | 3E03 | LD A,3 | 3 character lines |
27367 | 010800 | LD BC,8 | 8 attribute bytes per character line |
27370 | EDB0 | LDIR | Copy one line of attribute bytes |
27372 | 0E18 | LD C,24 | |
27374 | EB | EX DE,HL | |
27375 | 09 | ADD HL,BC | |
27376 | EB | EX DE,HL | |
27377 | 3D | DEC A | |
27378 | 20F3 | JR NZ,27367 | Jump back to fill in remaining character lines |
27380 | D1 | POP DE | Restore attribute file address to DE |
27381 | 7A | LD A,D | |
27382 | D650 | SUB 80 | |
27384 | 87 | ADD A,A | |
27385 | 87 | ADD A,A | |
27386 | 87 | ADD A,A | |
27387 | 57 | LD D,A | Now DE=appropriate display file address |
27388 | 0E03 | LD C,3 | 3 character lines |
27390 | 3E08 | LD A,8 | 8 pixel lines per character line |
27392 | C5 | PUSH BC | |
27393 | D5 | PUSH DE | |
27394 | 0E08 | LD C,8 | |
27396 | EDB0 | LDIR | Copy one line of pixels |
27398 | D1 | POP DE | |
27399 | 14 | INC D | Point to address of next pixel line |
27400 | 3D | DEC A | |
27401 | 20F6 | JR NZ,27393 | Jump back to fill in remaining pixel lines for this character line |
27403 | 7B | LD A,E |
Set DE to start address of first pixel line in next character line |
27404 | C620 | ADD A,32 | |
27406 | 5F | LD E,A | |
27407 | 3804 | JR C,27413 | |
27409 | 7A | LD A,D | |
27410 | D608 | SUB 8 | |
27412 | 57 | LD D,A | |
27413 | C1 | POP BC | |
27414 | 0D | DEC C | |
27415 | 20E5 | JR NZ,27390 | Jump back to fill in remaining character lines |
27417 | C9 | RET |