Prev: 0E60 Up: Map Next: 0EFD
0EC9: generate_mosaics: Generate font data for contiguous mosaic with the character code in B at the address in HL.
Used by the routine at init_mosaics.
generate_mosaics 0EC9 LD A,B Copy character code into A.
0ECA LD D,$00 If bit 0 of character code is 1 set D to b00111000 else set D to b00000000.
0ECC RRA
0ECD JR NC,generate_mosaics_0
0ECF LD D,$38
generate_mosaics_0 0ED1 RRA If bit 1 of character code is 1 call set_right_bits to set bits 0-2 of D.
0ED2 JR NC,generate_mosaics_1
0ED4 CALL set_right_bits
generate_mosaics_1 0ED7 CALL write_top_sixels Call write_top_sixels to write D to rows 0-2 of the font data.
0EDA RRA If bit 2 of character code is 1 set D to b00111000 else set D to b00000000.
0EDB LD D,$00
0EDD JR NC,generate_mosaics_2
0EDF LD D,$38
generate_mosaics_2 0EE1 RRA If bit 3 of character code is 1 call set_right_bits to set bits 0-2 of D.
0EE2 JR NC,generate_mosaics_3
0EE4 CALL set_right_bits
generate_mosaics_3 0EE7 LD (HL),D Write D to to rows 3 and 4 of the font data.
0EE8 INC HL
0EE9 LD (HL),D
0EEA INC HL
0EEB LD D,$00 If bit 4 of character code is 1 set D to b00111000 else set D to b00000000.
0EED RRA
0EEE JR NC,generate_mosaics_4
0EF0 LD D,$38
generate_mosaics_4 0EF2 RRA If bit 6 of character code is 1 call set_right_bits to set bits 0-2 of D.
0EF3 RRA
0EF4 JR NC,generate_mosaics_5
0EF6 CALL set_right_bits
generate_mosaics_5 0EF9 CALL write_top_sixels Call write_top_sixels to write D to rows 5-7 of the font data.
0EFC RET Return with address of font data for next character in HL.
Prev: 0E60 Up: Map Next: 0EFD