Routines |
Prev: $0D91 | Up: Map | Next: $0E35 |
Used by the routine at $2043.
|
||||||||
$0DD4 | LDA #$45 | $45C0 is in the text graphic buffer at $4500. Store this address at $4E. | ||||||
$0DD6 | STA $4F | |||||||
$0DD8 | LDA #$C0 | |||||||
$0DDA | STA $4E | |||||||
$0DDC | LDA #$CA | Store the address $CAC6 or $CAE1 (in the upper and lower portions of the graphic data for the lines message sprite at $CAC0) at $50. | ||||||
$0DDE | STA $51 | |||||||
$0DE0 | LDA #$C0 | |||||||
$0DE2 | CLC | |||||||
$0DE3 | ADC $57 | |||||||
$0DE5 | STA $50 | |||||||
$0DE7 | LDY #$00 | Initialise the index in Y. | ||||||
$0DE9 | LDA #$08 | Initialise the tile counter at $57 to 8 | ||||||
$0DEB | STA $57 | |||||||
$0DED | LDA #$08 | Initialise the byte counter at $56 to 8 | ||||||
$0DEF | STA $56 | |||||||
$0DF1 | LDA ($4E),Y | Pick up a byte from the text graphic buffer. | ||||||
$0DF3 | STA ($50),Y | Copy it into the sprite graphic data area at $CAC0, $CB00 or $CB40. | ||||||
$0DF5 | INC $4E | Increment the text graphic buffer address at $4E. | ||||||
$0DF7 | BNE $0DFB | |||||||
$0DF9 | INC $4F | |||||||
$0DFB | LDA $50 | Add 3 to the sprite graphic data address at $50. This makes it point at the next pixel row down in the same column. | ||||||
$0DFD | CLC | |||||||
$0DFE | ADC #$03 | |||||||
$0E00 | BCC $0E04 | |||||||
$0E02 | INC $51 | |||||||
$0E04 | STA $50 | |||||||
$0E06 | DEC $56 | Decrement the byte counter at $56. | ||||||
$0E08 | BNE $0DF1 | Branch back until all 8 bytes of a tile have been copied. | ||||||
$0E0A | LDA $50 | Subtract 23 from the sprite graphic data address at $50. This makes it point at the top pixel row in the next column to the right. | ||||||
$0E0C | SEC | |||||||
$0E0D | SBC #$17 | |||||||
$0E0F | BCS $0E13 | |||||||
$0E11 | DEC $51 | |||||||
$0E13 | STA $50 | |||||||
$0E15 | DEC $57 | Decrement the tile counter at $57. | ||||||
$0E17 | BEQ $0E34 | Return if we're done. | ||||||
$0E19 | LDA $57 | Pick up the tile counter from $57. | ||||||
$0E1B | CMP #$05 | Is it 5 now? | ||||||
$0E1D | BEQ $0E26 | Branch if so. | ||||||
$0E1F | CMP #$02 | Is it 2 now? | ||||||
$0E21 | BEQ $0E26 | Branch if so. | ||||||
$0E23 | JMP $0DED | Jump back to copy the next tile. | ||||||
$0E26 | LDA $50 | Add 61 to the sprite graphic data address at $50. This makes it point at the top pixel row in the first tile of the next lines message sprite graphic data area at $CB00 or $CB40. | ||||||
$0E28 | CLC | |||||||
$0E29 | ADC #$3D | |||||||
$0E2B | BCC $0E2F | |||||||
$0E2D | INC $51 | |||||||
$0E2F | STA $50 | |||||||
$0E31 | JMP $0DED | Jump back to copy the next tile. | ||||||
$0E34 | RTS |
Prev: $0D91 | Up: Map | Next: $0E35 |