Routines

27364: Transfer message buffer to screen


Used by routines at 27462, 29716 and 62910

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