![]() |
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 |