Prev: BC65 Up: Map Next: BC7A
BC66: Print a string in one colour
Used by the routines at PRINT_SCORE and DISPLAY_MENU.
Prints into the screen buffer (BUFFER) in the text font, colouring each character's cell directly in the attribute file with PRINT_ATTR. Each character covers the pixel rows from y down to y-7. As Knight Lore's print_text_single_colour, instruction for instruction.
Input
HL the position: L = x, H = y, in pixels, y counting up from the bottom of the screen
DE the string, ASCII with bit 7 set on the last character
Output
DE the byte after the string
PRINT_TEXT_SINGLE_COLOUR BC66 PUSH HL the text font: FONT_BASE is 384 bytes below the font at FONT, so that the code of a letter lands on its glyph
BC67 LD HL,$81D5
BC6A LD (FONT_BASE),HL
BC6D POP BC BC = the position again, left on the stack for TEXT_ATTR_ADDR; HL = its address in the buffer (CALC_VIDBUF_ADDR)
BC6E PUSH BC
BC6F CALL CALC_VIDBUF_ADDR
BC72 LD L,C
BC73 LD H,B
BC74 LD A,(PRINT_ATTR) the colour goes into A'
BC77 EX AF,AF'
BC78 JR TEXT_ATTR_ADDR
Prev: BC65 Up: Map Next: BC7A