Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .segment "INES"
- .byte "NES", $1A,1,1,9
- .segment "VECTORS"
- .word 0, Start, 0
- .segment "GFX"
- spr_tiles:
- .incbin "sprites.spr"
- bg_tiles:
- .incbin "bakgrunn.chr"
- .segment "CODE"
- Start:
- ; ---[ START LAST PALETT]---
- lda #$3F
- sta $2006 ; PPU output skal
- lda #0 ; settes til $3F00
- sta $2006
- ldx #0
- LastPalett:
- lda palett, x
- sta $2007
- inx
- cpx #32
- bne LastPalett
- ; ---[ SLUTT LAST PALETT]---
- ; ---[ START LAST INN EN SPRITE ]---
- ldx #0 ; X POS
- ldy #50 ; Y POS
- lda #4
- sta $0001 ; X vektor
- lda #3
- sta $0002 ; Y vektor
- Sprite:
- lda $2002
- bpl Sprite
- ; ---[ VELG HVILKEN SPRITE FRA SPR-RAM ]---
- lda #0
- sta $2003
- ; ---[ Y-KOORDINAT ]---
- tya
- sta $2004
- ; ---[ TILENUMMER FRA CHR-ROM ]---
- lda #3
- sta $2004
- ; ---[ ATRIBUTT-BYTE ]---
- lda #0; (setter ingen flagg)
- sta $2004
- ; ---[ X-KOORDINAT ]---
- txa
- sta $2004
- ; ---[ TEGNER ]---
- lda #0
- sta $2000 ; kontrollregister 1
- lda #%00011110
- sta $2001 ; kontrollregister 2
- ; ---[ OPPDATERER X ]---
- txa
- clc
- adc $0001 ; X vektor
- tax
- ; ---[ OPPDATERER Y ]---
- tya
- clc
- adc $0002 ; Y vektor
- tay
- ; ---[ TRUFFET KANTEN? ]---
- cpx #250 ; if (x >= 250)
- bcs TurnX ; then TurnX
- cpx #0 ; if (x == 0)
- beq TurnX ; then TurnX
- TestEdgeY:
- cpy #232 ; if (y >= 232)
- bcs TurnY ; then TurnY
- cpy #0 ; if (y == 0)
- beq TurnY ; then TurnY
- jmp Sprite ; ikke truffet kanten, flytt mer
- TurnX: ; SNUR X-VEKTOREN
- lda #0
- sec
- sbc $0001
- sta $0001
- jmp TestEdgeY
- TurnY: ; SNUR Y-VEKTOREN
- lda #0
- sec
- sbc $0002
- sta $0002
- jmp Sprite
- palett:
- ; Bakgrunnsgrafikk
- .byte 0, 0, 0, 0
- .byte 0, 0, 0, 0
- .byte 0, 0, 0, 0
- .byte 0, 0, 0, 0
- .byte $11, $2A, $28, $21 ; bakgrunn og sprite 0
- .byte 0, 0, 0, 0 ; sprite 1
- .byte 0, 0, 0, 0 ; sprite 2
- .byte 0, 0, 0, 0 ; sprite 3
- .segment "RAM"
- .byte "Move along, nothing to see here"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement