Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fadeToBlack:
- lda #0
- sta .currentRow
- lda #$B0
- sta .currentSprite
- jmp .entry
- .currentRow:
- .byte 0
- .currentSprite:
- .byte 0
- .setSpritesRow:
- ldx #0
- lda .currentRow
- asl A
- asl A
- asl A
- tay
- .setSpritesRowLoop:
- lda #CF_CMD_SET_SPRITE_Y
- sta GPU_CMDQ_ADDRESS
- txa
- sta GPU_CMDQ_ADDRESS
- tya
- sta GPU_CMDQ_ADDRESS
- inx
- cpx #32
- bne .setSpritesRowLoop
- rts
- .setTileRow:
- ldx #0
- ldy .currentRow
- .setTileRowLoop:
- lda #CF_CMD_SET_INDEX
- sta GPU_CMDQ_ADDRESS
- txa
- sta GPU_CMDQ_ADDRESS
- tya
- sta GPU_CMDQ_ADDRESS
- lda #$ff
- sta GPU_CMDQ_ADDRESS
- inx
- cpx #32
- bne .setTileRowLoop
- rts
- .setSpritesIndex:
- ldx #0
- .setSpritesIndexLoop:
- lda #CF_CMD_SET_SPRITE_INDEX
- sta GPU_CMDQ_ADDRESS
- txa
- sta GPU_CMDQ_ADDRESS
- lda .currentSprite
- sta GPU_CMDQ_ADDRESS
- inx
- cpx #32
- bne .setSpritesIndexLoop
- rts
- .setupSprites:
- jsr .setSpritesIndex
- ldx #0
- .setupSpritesLoop:
- lda #CF_CMD_SET_SPRITE_ALPHA_COLOR
- sta GPU_CMDQ_ADDRESS
- txa
- sta GPU_CMDQ_ADDRESS
- lda #$0d
- sta GPU_CMDQ_ADDRESS
- lda #CF_CMD_SET_SPRITE_X
- sta GPU_CMDQ_ADDRESS
- txa
- sta GPU_CMDQ_ADDRESS
- asl A
- asl A
- asl A
- sta GPU_CMDQ_ADDRESS
- lda #CF_CMD_SET_SPRITE_ACTIVE
- sta GPU_CMDQ_ADDRESS
- txa
- sta GPU_CMDQ_ADDRESS
- inx
- cpx #32
- bne .setupSpritesLoop
- rts
- .deactivateSprites:
- ldx #0
- .deactivateSpritesLoop:
- lda #CF_CMD_SET_SPRITE_NOT_ACTIVE
- sta GPU_CMDQ_ADDRESS
- txa
- sta GPU_CMDQ_ADDRESS
- inx
- cpx #32
- bne .deactivateSpritesLoop
- rts
- .entry
- jsr .setupSprites
- .rowLoop:
- jsr .setSpritesRow
- .spriteLoop:
- jsr .setSpritesIndex
- lda #2
- jsr ROM_WaitFrames
- inc .currentSprite
- lda .currentSprite
- cmp #$B4
- bne .spriteLoop
- lda #$B0
- sta .currentSprite
- jsr .setTileRow
- jsr .setSpritesIndex
- inc .currentRow
- lda .currentRow
- cmp #24
- bne .rowLoop
- jsr .deactivateSprites
- rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement