Prev: 07D3 Up: Map Next: 080F
07F2: print_column_2: Write character data at column that is 2 greater than a multiple of 4.
Used by the routines at print_double_column_2 and print_normal.
Input
DE holds address of character font bitmap.
HL holds screen address to print character at.
B holds the number or pixel rows to write.
print_column_2 07F2 LD A,(DE) Load byte of font data into A.
07F3 RRCA Rotate character bitmap 2 bits to the right.
07F4 RRCA
07F5 AND $0F Add rightmost 4 bits to leftmost 4 bits of existing screen byte (part of previous character column).
07F7 LD C,A
07F8 LD A,(HL)
07F9 AND $F0
07FB ADD A,C
07FC LD (HL),A Write result to the screen and increment HL to move to next screen byte.
07FD INC HL
07FE LD A,(DE) Reload byte of font data into A.
07FF RRCA Rotate character bitmap 2 bits to the right.
0800 RRCA
0801 AND $C0 Add rightmost 2 bits to leftmost 6 bits of existing screen byte (next character column).
0803 LD C,A
0804 LD A,(HL)
0805 AND $3F
0807 ADD A,C
0808 LD (HL),A Write result to the screen.
0809 INC H Increment H to move to next pixel row of screen bitmap.
080A DEC HL
080B INC DE Increment DE to move to next pixel row of font data.
080C DJNZ print_column_2 Loop back to print_column_2 for number of iterations in B and return.
080E RET
Prev: 07D3 Up: Map Next: 080F