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