Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- arch 65816
- lorom
- ; Variables
- org $000000
- !PlayerX = $00
- !PlayerY = $00
- org $808000
- Reset:
- sei
- clc
- xce
- sep #$20
- rep #$10
- lda #$80
- sta $2100
- lda #%00000000
- sta $2133
- lda #$00
- sta $2101
- lda #$00
- sta $2102
- sta $2103
- lda #%00000000
- sta $2105
- lda #%00000100
- sta $2115
- ldx #$0000
- lda #$00
- CleanRAM:
- sta $7E0000, x
- sta $7F0000, x
- inx
- cpx #$FFFF
- bne CleanRAM
- jmp Main
- Main:
- jsr WaitVBlank
- jsr LoadCHR
- jsr LoadPalette
- jsr UpdatePlayer
- jsr DrawPlayer
- jmp Main
- WaitVBlank:
- lda $4210
- and #$80
- bne WaitVBlank
- .Exit:
- rts
- LoadCHR:
- lda #$00
- sta $2116
- sta $2117
- ldx #$0000
- .LoadCHRLoop:
- lda playertile, x
- sta $2118
- inx
- cpx #$20 ; Only loading 1 tile is intentional
- bne .LoadCHRLoop
- .Exit:
- rts
- LoadPalette:
- lda #$00
- sta $2121
- ldx #$0000
- .LoadPalLoop:
- lda playerpal, x
- sta $2122
- inx
- cpx #$20
- bne .LoadPalLoop
- .Exit:
- rts
- UpdatePlayer:
- lda #$80
- sta !PlayerX
- lda #$70
- sta !PlayerY
- .Exit:
- rts
- DrawPlayer:
- lda #$10
- sta $212C
- lda !PlayerX
- sta $2104
- lda !PlayerY
- sta $2104
- lda #$00
- sta $2104
- lda #$00
- sta $2104
- .Exit:
- rts
- playertile:
- incbin "DemoPlayer.chr"
- playerpal:
- incbin "DemoPlayer_palette.bin"
- NMI:
- rti
- IRQ:
- rti
- org $00FFC0
- db "DEMO "
- db %00110000
- db $00
- db $00
- db $02
- db $00
- db $01
- db $00
- dw $0000
- dw $0000
- ; Native Vectors
- org $00FFE4
- dw $0000
- org $00FFE6
- dw $0000
- org $00FFE8
- dw $0000
- org $00FFEA
- dw NMI
- org $00FFEE
- dw IRQ
- ; Emulation Vectors
- org $00FFF4
- dw $0000
- org $00FFF8
- dw $0000
- org $00FFFA
- dw NMI
- org $00FFFC
- dw Reset
- org $00FFFE
- dw IRQ
Advertisement
Add Comment
Please, Sign In to add comment