Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 10th, 2012  |  syntax: None  |  size: 1.93 KB  |  hits: 18  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. .segment "INES"
  2.         .byte "NES", $1A,1,1,9
  3.  
  4. .segment "VECTORS"
  5.         .word 0, Start, 0
  6.  
  7. .segment "GFX"
  8. spr_tiles:
  9.         .incbin "sprites.spr"
  10. bg_tiles:
  11.         .incbin "bakgrunn.chr"
  12.        
  13. .segment "CODE"
  14.  
  15. Start:
  16.  
  17.         ; ---[ START LAST PALETT]---
  18.         lda #$3F
  19.         sta $2006       ; PPU output skal
  20.         lda #0          ; settes til $3F00
  21.         sta $2006              
  22.        
  23.         ldx #0
  24. LastPalett:
  25.         lda palett, x
  26.         sta $2007
  27.         inx
  28.         cpx #32
  29.         bne LastPalett
  30.         ; ---[ SLUTT LAST PALETT]---
  31.        
  32.        
  33.         ; ---[ START LAST INN EN SPRITE ]---
  34.         ldx #0          ; X POS
  35.         ldy #50         ; Y POS
  36.         lda #4
  37.         sta $0001       ; X vektor
  38.         lda #3
  39.         sta $0002       ; Y vektor
  40. Sprite:
  41.         lda $2002
  42.         bpl Sprite
  43.  
  44.  
  45.         ; ---[ VELG HVILKEN SPRITE FRA SPR-RAM ]---
  46.         lda #0 
  47.         sta $2003
  48.        
  49.         ; ---[ Y-KOORDINAT ]---
  50.         tya
  51.         sta $2004
  52.        
  53.         ; ---[ TILENUMMER FRA CHR-ROM ]---
  54.         lda #3
  55.         sta $2004
  56.        
  57.         ; ---[ ATRIBUTT-BYTE ]---
  58.         lda #0; (setter ingen flagg)
  59.         sta $2004
  60.        
  61.         ; ---[ X-KOORDINAT ]---
  62.         txa
  63.         sta $2004
  64.        
  65.         ; ---[ TEGNER ]---
  66.         lda #0
  67.         sta $2000               ; kontrollregister 1
  68.         lda #%00011110
  69.         sta $2001               ; kontrollregister 2
  70.        
  71.         ; ---[ OPPDATERER X ]---
  72.         txa
  73.         clc
  74.         adc $0001 ; X vektor
  75.         tax
  76.        
  77.         ; ---[ OPPDATERER Y ]---
  78.         tya
  79.         clc
  80.         adc $0002 ; Y vektor
  81.         tay
  82.        
  83.         ; ---[ TRUFFET KANTEN? ]---
  84.         cpx #250        ; if (x >= 250)
  85.         bcs TurnX       ; then TurnX
  86.         cpx #0          ; if (x == 0)
  87.         beq TurnX       ; then TurnX
  88.  
  89. TestEdgeY:
  90.         cpy #232        ; if (y >= 232)
  91.         bcs TurnY       ; then TurnY
  92.         cpy #0          ; if (y == 0)
  93.         beq TurnY       ; then TurnY
  94.        
  95.         jmp Sprite ; ikke truffet kanten, flytt mer
  96.  
  97.  
  98. TurnX: ; SNUR X-VEKTOREN
  99.         lda #0
  100.         sec
  101.         sbc $0001
  102.         sta $0001
  103.         jmp TestEdgeY
  104.  
  105.        
  106. TurnY: ; SNUR Y-VEKTOREN
  107.         lda #0
  108.         sec
  109.         sbc $0002
  110.         sta $0002
  111.         jmp Sprite
  112.        
  113.        
  114.        
  115. palett:
  116.         ; Bakgrunnsgrafikk
  117.         .byte 0, 0, 0, 0
  118.         .byte 0, 0, 0, 0
  119.         .byte 0, 0, 0, 0
  120.         .byte 0, 0, 0, 0
  121.  
  122.         .byte $11, $2A, $28, $21        ; bakgrunn og sprite 0
  123.         .byte 0, 0, 0, 0                        ; sprite 1
  124.         .byte 0, 0, 0, 0                        ; sprite 2
  125.         .byte 0, 0, 0, 0                        ; sprite 3
  126.  
  127.        
  128. .segment "RAM"
  129.         .byte "Move along, nothing to see here"