Prev: 9E11 Up: Map Next: 9F99
9F47: Plots an 8x15 LED font digit
This appears to be set up to work for Y coordinates of 1, 9, 17, ...
Input
A Glyph ID (0..9)
DE Address of (real) screen location
ledfont_plot 9F47 EXX Bank
9F48 LD C,A HL = &ledfont[glyphID * 15]
9F49 LD B,$00
9F4B RLCA
9F4C RLCA
9F4D RLCA
9F4E RLCA
9F4F SUB C
9F50 LD C,A
9F51 LD HL,$DF62
9F54 ADD HL,BC
9F55 PUSH DE Save the screen address
9F56 LD A,D Save D
9F57 LDI Transfer a byte
9F59 INC D Next row down
9F5A DEC E Undo LDI's increment
9F5B LDI Transfer six more rows
9F5D INC D
9F5E DEC E
9F5F LDI
9F61 INC D
9F62 DEC E
9F63 LDI
9F65 INC D
9F66 DEC E
9F67 LDI
9F69 INC D
9F6A DEC E
9F6B LDI
9F6D INC D
9F6E DEC E
9F6F LDI
9F71 LD D,A Restore D and move to an even line
9F72 DEC D
9F73 LD A,E Move to the next screen row (group of 8)
9F74 ADD A,$1F
9F76 LD E,A
9F77 LDI Transfer eight more rows
9F79 INC D
9F7A DEC E
9F7B LDI
9F7D INC D
9F7E DEC E
9F7F LDI
9F81 INC D
9F82 DEC E
9F83 LDI
9F85 INC D
9F86 DEC E
9F87 LDI
9F89 INC D
9F8A DEC E
9F8B LDI
9F8D INC D
9F8E DEC E
9F8F LDI
9F91 INC D
9F92 DEC E
9F93 LDI
9F95 POP DE
9F96 INC E Move to next column
9F97 EXX Bank
9F98 RET Return
Prev: 9E11 Up: Map Next: 9F99