Routines |
Prev: $2387 | Up: Map | Next: $24A7 |
|
||||||||
$246B | JSR $108B | Get the next character of the message being spoken. | ||||||
$246E | CMP #$00 | Has the message finished? | ||||||
$2470 | BNE $2476 | Branch if not. | ||||||
$2472 | SEC | Set the carry flag: the message has finished. | ||||||
$2473 | JMP $24A6 | Return. | ||||||
$2476 | CMP #$02 | Is the character code $02? | ||||||
$2478 | BEQ $2486 | If so, branch forward to replace it with $20 (space). | ||||||
$247A | CMP #$03 | Is the character code $03 (8 spaces)? | ||||||
$247C | BNE $2488 | Branch if not. | ||||||
$247E | LDA #$48 | Store $4816 (8 spaces) at $AC. | ||||||
$2480 | STA $AD | |||||||
$2482 | LDA #$16 | |||||||
$2484 | STA $AC | |||||||
$2486 | LDA #$20 | $20 is ' ' (space). | ||||||
$2488 | STA $4E | Store the address that holds the width of the next character at $4E. | ||||||
$248A | LDA #$47 | |||||||
$248C | STA $4F | |||||||
$248E | LDY #$00 | Pick up the width of the next character. | ||||||
$2490 | LDA ($4E),Y | |||||||
$2492 | TAX | Transfer the width to X, which will count the pixel columns. | ||||||
$2493 | TXA | Save the pixel column counter temporarily. | ||||||
$2494 | PHA | |||||||
$2495 | INC $4F | Pick up a pixel column of the font character bitmap. | ||||||
$2497 | LDA ($4E),Y | |||||||
$2499 | JSR $24A7 | Slide the pixel column into the speech bubble text window. | ||||||
$249C | PLA | Restore the pixel column counter to X. | ||||||
$249D | TAX | |||||||
$249E | DEX | Decrement the pixel column counter. | ||||||
$249F | BNE $2493 | Branch unless every pixel column has been done. | ||||||
$24A1 | TXA | A=0. | ||||||
$24A2 | JSR $24A7 | Slide a blank pixel column into the speech bubble text window. | ||||||
$24A5 | CLC | Clear the carry flag: the message has not finished. | ||||||
$24A6 | RTS |
Prev: $2387 | Up: Map | Next: $24A7 |