Prev: AD66 Up: Map Next: ADC9
ADB0: Print a digit rolled
Used by the routine at RUN_CLOCK.
Used by RUN_CLOCK. Prints the eight bytes from the digit's character plus its count, so a digit with count c shows its own last 8-c rows at the top and the next character's first c rows below them. The printer's PRINT_CHAR does the printing, entered part way, from the base in FONT_BASE.
Input
A the digit (bits 4-7) and its count (bits 0-3)
HL where in the buffer
Output
HL the next place along
PRINT_ROLLING_DIGIT ADB0 PUSH BC as PRINT_CHAR keeps them
ADB1 PUSH DE
ADB2 PUSH HL
ADB3 LD L,A the digit's character, eight bytes a character
ADB4 SRL L
ADB6 SRL L
ADB8 SRL L
ADBA SRL L
ADBC LD H,$00
ADBE ADD HL,HL
ADBF ADD HL,HL
ADC0 ADD HL,HL
ADC1 AND $0F plus the count: rolled that many rows
ADC3 CALL ADD_HL_A
ADC6 JP PRINT_GLYPH print it
Prev: AD66 Up: Map Next: ADC9