Prev: $2004 Up: Map Next: $2043
$2005: Write a message into the text graphic buffer
Used by the routines at $2043, $2573, $2620, $2BB0 and $BFF5.
Input
($D6,$D7) Address of the message
$2005 JSR $212A Clear the text graphic buffer at $4500.
$2008 LDY #$00 Initialise the message character index to 0.
$200A LDA ($D6),Y Collect a character code from the message to be written and store it at $57.
$200C STA $57
$200E BEQ $2042 Return if the message is finished.
$2010 CMP #$20 Is the character printable?
$2012 BCS $2037 Branch if so.
$2014 LDA #$47 Store $4780 (ERIC) at $D6
$2016 STA $D7
$2018 LDA #$80
$201A STA $D6
$201C LDA $57 Pick up the unprintable character code from $57.
$201E AND #$EF Reset bit 4. Now 1 <= A <= 15.
$2020 ASL A Multiply A by 14.
$2021 STA $57
$2023 ASL A
$2024 STA $56
$2026 ASL A
$2027 CLC
$2028 ADC $56
$202A CLC
$202B ADC $57
$202D CLC Add this value to the address stored at $D6, giving the address of the name of one of the boys or teachers.
$202E ADC $D6
$2030 STA $D6
$2032 LDY #$00 Initialise the message character index to 0.
$2034 JMP $200A Jump back to deal with the new message.
$2037 INY Increment the message character index in Y and save it temporarily.
$2038 TYA
$2039 PHA
$203A JSR $2156 Insert the appropriate font character bitmap into the text graphic buffer at $4500.
$203D PLA Restore the message character index to Y.
$203E TAY
$203F JMP $200A Jump back to deal with the next character in the message.
$2042 RTS
Prev: $2004 Up: Map Next: $2043