4Data Telesoftware Adaptor Issue 1.2 | Routines |
Prev: 0B60 | Up: Map | Next: 0EC9 |
Used by the routine at init_variables.
|
||||
init_mosaics | 0E60 | LD HL,(mosaics_font_pointer) | Load mosaics_font_pointer into HL. | |
0E63 | LD B,$20 | Set B to character code $20 and save on stack. | ||
init_mosaics_0 | 0E65 | PUSH BC | ||
0E66 | CALL generate_mosaics | Call generate_mosaics to generate contiguous mosaic font data. | ||
0E69 | POP BC | Get character code back off stack and increment it. | ||
0E6A | INC B | |||
0E6B | LD A,B | Loop through all characters less than $40. | ||
0E6C | CP $40 | |||
0E6E | JR NZ,init_mosaics_0 | |||
0E70 | LD DE,(contiguous_blast_through) | Load address of font data for blast through alphanumerics in contiguous mosaics into DE and call copy_blast_through to copy the font data from ROM. | ||
0E74 | CALL copy_blast_through | |||
0E77 | LD DE,(separated_blast_through) | Load address of font data for blast through alphanumerics in separated mosaics into DE and call copy_blast_through to copy the font data from ROM. | ||
0E7B | CALL copy_blast_through | |||
0E7E | LD HL,(mosaics_font_pointer) | Load address of font data for contiguous mosaics character $60 into HL. | ||
0E81 | INC H | |||
0E82 | INC H | |||
0E83 | LD B,$60 | Set B to character code $60 and save on stack. | ||
init_mosaics_1 | 0E85 | PUSH BC | ||
0E86 | CALL generate_mosaics | Call generate_mosaics to generate contiguous mosaic font data. | ||
0E89 | POP BC | Get character code back off stack and increment it. | ||
0E8A | INC B | |||
0E8B | LD A,B | Loop through all remaining character codes. | ||
0E8C | CP $80 | |||
0E8E | JR NZ,init_mosaics_1 | |||
0E90 | LD HL,(mosaics_font_pointer) | Load mosaics_font_pointer into HL. | ||
0E93 | LD D,H | Load mosaics_font_pointer + $0300 into DE (address of separated mosaics font data). | ||
0E94 | LD E,L | |||
0E95 | INC D | |||
0E96 | INC D | |||
0E97 | INC D | |||
0E98 | CALL $0F06 | Call 0F06 to copy 32 contiguous mosaic characters with columns separated. | ||
0E9B | LD HL,(mosaics_font_pointer) | Load mosaics_font_pointer + $0200 into HL (font data for contiguous mosaic $60). | ||
0E9E | INC H | |||
0E9F | INC H | |||
0EA0 | LD DE,(mosaics_font_pointer) | Load mosaics_font_pointer + $0500 into HL (font data for separated mosaic $60). | ||
0EA4 | LD A,D | |||
0EA5 | ADD A,$05 | |||
0EA7 | LD D,A | |||
0EA8 | CALL $0F06 | Call 0F06 to copy 32 contiguous mosaic characters with columns separated. | ||
0EAB | LD HL,(mosaics_font_pointer) | Load mosaics_font_pointer + $0300 into HL (address of separated mosaics font data). | ||
0EAE | INC H | |||
0EAF | INC H | |||
0EB0 | INC H | |||
0EB1 | XOR A | Set A to 0. | ||
0EB2 | LD B,$02 | Set B to 2 as outer loop counter and save it on the stack. | ||
init_mosaics_2 | 0EB4 | PUSH BC | ||
0EB5 | LD B,$20 | Set B to 32 as inner loop counter. | ||
init_mosaics_3 | 0EB7 | INC HL | Clear pixels in row 2 of character data. | |
0EB8 | INC HL | |||
0EB9 | LD (HL),A | |||
0EBA | INC HL | Clear pixels in row 4 of character data. | ||
0EBB | INC HL | |||
0EBC | LD (HL),A | |||
0EBD | INC HL | Clear pixels in row 7 of character data. | ||
0EBE | INC HL | |||
0EBF | INC HL | |||
0EC0 | LD (HL),A | |||
0EC1 | INC HL | Loop back to init_mosaics_3 with address of next character in HL for 32 characters. | ||
0EC2 | DJNZ init_mosaics_3 | |||
0EC4 | INC H | Increment H to move to address of font data for separated mosaics character $60. | ||
0EC5 | POP BC | Restore the outer loop counter and loop back to init_mosaics_2 once, then return. | ||
0EC6 | DJNZ init_mosaics_2 | |||
0EC8 | RET |
Prev: 0B60 | Up: Map | Next: 0EC9 |