damn, I knew it would be simple
. Thats printed some garbage to the status bar, but I can work with that.
Thanks Darolac!
Bottom Text
--------------------

Thanks Darolac!
Bottom Text
--------------------
janklorde's Profile → Posts
INC $18B4 ;inc counter
.explode LDA #$09 STA $1DFC|!Base2 LDA #$0D STA !9E,x LDA #$08 STA !14C8,x JSL $07F7D2|!BankB LDA #$4F STA !1540,x INC !1534,x LDA.b #read1($07F3FE+$0D)|$30 STA !166E,x LDA.b #read1($07F4C7+$0D)|$03 STA !167A,x INC $18B4 ;inc counter .return RTS
.others_interaction TYX JSL $03B6E5|!BankB LDX $15E9|!Base2 JSL $03B69F|!BankB JSL $03B72B|!BankB BCC .return LDA !14C8,y CMP #$0A BNE .not_kicked LDA #$0C JSR check_sprite_above_sprite BMI ..not_above LDA #$00 STA.w !AA,y STA !14EC,y LDA !D8,x SEC SBC #$0F STA.w !D8,y LDA !14D4,x SBC #$00 STA !14D4,y DEC $18B4 ;do not double count in a chain reaction RTS
.explode LDA #$09 STA $1DFC|!Base2 LDA #$0D STA !9E,x LDA #$08 STA !14C8,x JSL $07F7D2|!BankB LDA #$4F STA !1540,x INC !1534,x LDA.b #read1($07F3FE+$0D)|$30 STA !166E,x LDA.b #read1($07F4C7+$0D)|$03 STA !167A,x INC $18B4 ; inc counter LDA #$04 ;\ set sprite status to killed STA $14C8 ;/
LDA $14 ; \ Every 128 frames... AND #$7F ; | BNE + ; / LDA #$14 ; \ Set the sprite's y speed to 20. STA !AA,x ; / +
tnt_main: JSR draw_sprite LDA !14C8,x EOR #$08 ORA $9D BNE return LDA $1887|!Base2 BNE .jump_explode LDA !7FAB10,x AND #$04 BEQ .no_gravity LDA !1588,x AND #$04 PHA LDA $14 ; \ Every 128 frames... AND #$7F ; | BNE + ; / LDA #$EC ; \ Set the sprite's y speed to 20. STA !AA,x ; / + JSL $01802A|!BankB LDA !7FAB40,x BEQ + LDA !1588,x AND #$04 BEQ + CMP $01,s BNE + PLA
Tiles: db $55,$56,$57,$58,$65,$66,$67,$68 ; Tiles ;Address Defines !Position = $0F11 ; Position in status bar to print to main: PHB ;\ Swap data bank to wherever this code is running PHK ;| PLB ;/ LDA $14 ;\ Every 32 frames... AND #$1E ;| BNE + ;/ JSR DrawTilemaps ; Draw the tile on the status bar. + PLX ; Pull X RTL DrawTilemaps: LDX.b #$07 ; Number of tiles to draw - 1 - LDA Tiles,x ; Load tile data indexed by the size STA !Position ; .. and store to position DEX ; Decrease index BPL - ; Loop RTS ; Return once loop complete
Tiles: db $68,$67,$66,$65,$58,$57,$56,$55 ;db $55,$56,$57,$58,$65,$66,$67,$68 ; Tiles ;Address Defines !Position = $0F11 ; Position in status bar to print text main: JSR DrawTile RTL DrawTile: LDA $F30 ; timer frame counter address LSR #2 ; the number of LSRs here controls the update rate (each additional LSR halves the rate, from 60fps with no LSRs) AND #$07 ; the number of frames. should be a power of 2, minus 1 TAX LDA Tiles,x ; get the tile number for this frame, and set it STA !Position RTS