Prev: 47628 Up: Map Next: 47709
47682: Print a double-height text character
Used by the routines at 46830, 47071, 47084, 47213 and 47628.
Input
HL Attribute file address at which to print character
E Character to print
47682 LD BC,32 Load BC with 32 (width of a row in attribute file)
47685 PUSH HL Store HL (attribute file address at which to print character)
47686 LD D,0 Set D to zero
47688 EX DE,HL Swap DE (now attribute file address at which to print character) and HL (now H = 0, L = character to print)
47689 ADD HL,HL Multiply index of character to print by eight in HL, as each character's graphic data is eight bytes long...
47690 ADD HL,HL ...
47691 ADD HL,HL ...
47692 LD DE,15360 Add eight times character index to 15360 in HL, to point to graphic of character in ROM...
47695 ADD HL,DE ...
47696 EX DE,HL Swap DE (now points to graphic of character in ROM) and HL (now 15360)
47697 POP HL Restore HL (attribute file address at which to print character)
47698 CALL 47709 Print top half of a double-height text character
47701 ADD HL,BC Add BC to HL to advance down a character row
47702 CALL 47709 Print bottom half of a double-height text character
47705 AND A Reset carry flag
47706 SBC HL,BC Subtract 32 from HL to restore to value it had upon starting this routine
47708 RET Return
Prev: 47628 Up: Map Next: 47709