Routines |
Prev: $246B | Up: Map | Next: $2500 |
Used by the routine at $246B.
|
||||||||
$24A7 | LDX #$08 | X will count the 8 pixels in the pixel column. | ||||||
$24A9 | PHA | Save the pixel column temporarily. | ||||||
$24AA | LDA #$CA | Prepare to start drawing at the rightmost end of the first row of pixels in the second middle section speech bubble sprite at $CA80. | ||||||
$24AC | STA $53 | |||||||
$24AE | LDA #$8E | |||||||
$24B0 | STA $52 | |||||||
$24B2 | PLA | Restore the pixel column to A. | ||||||
$24B3 | LDY #$00 | Initialise Y for addressing the speech bubble sprite. | ||||||
$24B5 | ROL A | Rotate a pixel from the pixel column into the carry flag. | ||||||
$24B6 | PHA | Save the remainder of the pixel column temporarily. | ||||||
$24B7 | LDA ($52),Y | Rotate a graphic byte in the speech bubble sprite, bringing the new pixel into bit 0, and the pixel that was in bit 7 into the carry flag. | ||||||
$24B9 | ROL A | |||||||
$24BA | STA ($52),Y | |||||||
$24BC | DEC $52 | Move one byte to the left in the speech bubble sprite. | ||||||
$24BE | LDA ($52),Y | Rotate this graphic byte, bringing the pixel from the previous byte into bit 0, and the pixel that was in bit 7 into the carry flag. | ||||||
$24C0 | ROL A | |||||||
$24C1 | STA ($52),Y | |||||||
$24C3 | DEC $52 | Move one byte to the left in the speech bubble sprite. | ||||||
$24C5 | LDA ($52),Y | Rotate this graphic byte, bringing the pixel from the previous byte into bit 0, and the pixel that was in bit 7 into the carry flag. | ||||||
$24C7 | ROL A | |||||||
$24C8 | STA ($52),Y | |||||||
$24CA | ROL A | Rotate the carry flag into bit 0 of A and save it temporarily. | ||||||
$24CB | PHA | |||||||
$24CC | LDA $52 | Subtract 62 from the sprite graphic address. This points it at the rightmost end of the corresponding row of pixels in the first middle section speech bubble sprite at $CA40. | ||||||
$24CE | SEC | |||||||
$24CF | SBC #$3E | |||||||
$24D1 | BCS $24D5 | |||||||
$24D3 | DEC $53 | |||||||
$24D5 | STA $52 | |||||||
$24D7 | PLA | Restore the carry flag that was saved in bit 0 of A. | ||||||
$24D8 | ROR A | |||||||
$24D9 | LDA ($52),Y | Rotate a graphic byte in the speech bubble sprite, bringing the new pixel into bit 0, and the pixel that was in bit 7 into the carry flag. | ||||||
$24DB | ROL A | |||||||
$24DC | STA ($52),Y | |||||||
$24DE | DEC $52 | Move one byte to the left in the speech bubble sprite. | ||||||
$24E0 | LDA ($52),Y | Rotate this graphic byte, bringing the pixel from the previous byte into bit 0, and the pixel that was in bit 7 into the carry flag. | ||||||
$24E2 | ROL A | |||||||
$24E3 | STA ($52),Y | |||||||
$24E5 | DEC $52 | Move one byte to the left in the speech bubble sprite. | ||||||
$24E7 | LDA ($52),Y | Rotate this graphic byte, bringing the pixel from the previous byte into bit 0. The pixel that was in bit 7 is discarded. | ||||||
$24E9 | ROL A | |||||||
$24EA | STA ($52),Y | |||||||
$24EC | DEX | Have we done all 8 bits in the pixel column yet? | ||||||
$24ED | BEQ $24FE | Branch if so. | ||||||
$24EF | LDA $52 | Add 69 to the sprite graphic address. This points it at the rightmost end of the next row of pixels down in the second middle section speech bubble sprite at $CA80. | ||||||
$24F1 | CLC | |||||||
$24F2 | ADC #$45 | |||||||
$24F4 | BCC $24F8 | |||||||
$24F6 | INC $53 | |||||||
$24F8 | STA $52 | |||||||
$24FA | PLA | Restore the remainder of the pixel column to A. | ||||||
$24FB | JMP $24B5 | Jump back to deal with the next pixel. | ||||||
$24FE | PLA | Balance the stack before returning. | ||||||
$24FF | RTS |
Prev: $246B | Up: Map | Next: $2500 |