Prev: FD0E Up: Map Next: FD94
FD56: Print String: Print Character
Used by the routine at PrintString.
Builds two 4-pixel characters side by side in the UDG for "U" (graphic code A4) from the font at Font, and prints that UDG after every second character. The flag at PrintString_HalfFlag records whether a half is waiting.
Input
A Character code
PrintString_Character FD56 SUB $20
FD58 PUSH HL
FD59 LD H,$00
FD5B LD L,A
FD5C ADD HL,HL
FD5D ADD HL,HL
FD5E LD DE,$FD98
FD61 ADD HL,DE
FD62 EX DE,HL
FD63 PUSH BC
FD64 LD HL,($5C7B)
FD67 LD BC,$00A0
FD6A ADD HL,BC
FD6B LD B,$02
PrintString_Character_0 FD6D PUSH DE
FD6E LD C,$04
PrintString_Character_1 FD70 LD A,(DE)
FD71 BIT 1,B
FD73 JR Z,PrintString_Character_2
FD75 RRCA
FD76 RRCA
FD77 RRCA
FD78 RRCA
PrintString_Character_2 FD79 RLD
FD7B INC HL
FD7C INC DE
FD7D DEC C
FD7E JR NZ,PrintString_Character_1
FD80 POP DE
FD81 DJNZ PrintString_Character_0
FD83 POP BC
FD84 LD A,($FD97)
FD87 INC A
FD88 LD ($FD97),A
FD8B BIT 0,A
FD8D JR NZ,PrintString_Character_3
FD8F LD A,$A4
FD91 RST $10
PrintString_Character_3 FD92 POP HL
FD93 RET
Prev: FD0E Up: Map Next: FD94