Committing before converting sources for Ophis
This commit is contained in:
@@ -8,7 +8,8 @@ pad1a=$0015
|
|||||||
pad1b=$0016
|
pad1b=$0016
|
||||||
pad1select=$0017
|
pad1select=$0017
|
||||||
pad1start=$0018
|
pad1start=$0018
|
||||||
pad1left=$0019
|
pad1up=$0019
|
||||||
pad1right=$001A
|
pad1down=$001A
|
||||||
pad1up=$001B
|
pad1left=$001B
|
||||||
pad1down=$001C
|
pad1right=$001C
|
||||||
|
pad1areleased=$001D
|
||||||
65
nesgame.S
65
nesgame.S
@@ -171,6 +171,48 @@ _MAIN_LoadPaletteLoop:
|
|||||||
STA playerx
|
STA playerx
|
||||||
STA playery
|
STA playery
|
||||||
_MAIN_loop:
|
_MAIN_loop:
|
||||||
|
LDA #$01
|
||||||
|
STA $4016
|
||||||
|
LDA #$01
|
||||||
|
STA $4016 ; $4016 is the controller port, this tells both
|
||||||
|
;; controllers to latch their buttons and
|
||||||
|
;; make data available
|
||||||
|
LDA #$0
|
||||||
|
STA pad1areleased
|
||||||
|
LDA $4016
|
||||||
|
AND #%00000001
|
||||||
|
BNE _MAIN_loop_pad1a_finished
|
||||||
|
_MAIN_loop_pad1a_release:
|
||||||
|
PHA
|
||||||
|
LDA #pad1a
|
||||||
|
AND #%00000001
|
||||||
|
PLA
|
||||||
|
BNE _MAIN_loop_pad1a_finished
|
||||||
|
LDX #$1
|
||||||
|
STX pad1areleased
|
||||||
|
_MAIN_loop_pad1a_finished:
|
||||||
|
STA pad1a
|
||||||
|
LDA $4016
|
||||||
|
_MAIN_loop_pad1b_finished:
|
||||||
|
STA pad1b
|
||||||
|
LDA $4016
|
||||||
|
_MAIN_loop_pad1sel_finished:
|
||||||
|
STA pad1select
|
||||||
|
LDA $4016
|
||||||
|
_MAIN_loop_pad1start_finished:
|
||||||
|
STA pad1start
|
||||||
|
LDA $4016
|
||||||
|
_MAIN_loop_pad1up_finished:
|
||||||
|
STA pad1up
|
||||||
|
LDA $4016
|
||||||
|
_MAIN_loop_pad1down_finished:
|
||||||
|
STA pad1down
|
||||||
|
LDA $4016
|
||||||
|
_MAIN_loop_pad1left_finished:
|
||||||
|
STA pad1left
|
||||||
|
LDA $4016
|
||||||
|
_MAIN_loop_pad1right_finished:
|
||||||
|
STA pad1right
|
||||||
JMP _MAIN_loop ;; Loop forever
|
JMP _MAIN_loop ;; Loop forever
|
||||||
|
|
||||||
NMI:
|
NMI:
|
||||||
@@ -183,28 +225,31 @@ NMI:
|
|||||||
LDA #HIGH(sprMarioData) ; ""
|
LDA #HIGH(sprMarioData) ; ""
|
||||||
STA curSpriteDataHi ; ""
|
STA curSpriteDataHi ; ""
|
||||||
_NMI_CopyMarioToOAM:
|
_NMI_CopyMarioToOAM:
|
||||||
LDA playery
|
LDA playery ; set Y position
|
||||||
CLC
|
CLC
|
||||||
ADC sprMarioData, x
|
ADC sprMarioData, x
|
||||||
STA $0200, x
|
STA $0200, x
|
||||||
INX
|
INX
|
||||||
|
LDA sprMarioData, x ; set tile number
|
||||||
LDA sprMarioData, x
|
|
||||||
STA $0200, x
|
STA $0200, x
|
||||||
INX
|
INX
|
||||||
|
LDA pad1a
|
||||||
LDA sprMarioData, x
|
AND #%00000001
|
||||||
|
BNE _NMI_CopyMarioToOAM_padup
|
||||||
|
LDA #$03
|
||||||
|
JMP _NMI_CopyMarioToOAM_paddone
|
||||||
|
_NMI_CopyMarioToOAM_padup:
|
||||||
|
LDA sprMarioData, x ; set attributes
|
||||||
|
_NMI_CopyMarioToOAM_paddone:
|
||||||
STA $0200, x
|
STA $0200, x
|
||||||
INX
|
INX
|
||||||
|
LDA playerx ; set X position
|
||||||
LDA playerx
|
|
||||||
CLC
|
CLC
|
||||||
ADC sprMarioData, x
|
ADC sprMarioData, x
|
||||||
STA $0200, x
|
STA $0200, x
|
||||||
INX
|
INX
|
||||||
|
INY ; increment the sprite counter
|
||||||
INY
|
CPY curSpriteLen ; any more sprites in the current multisprite?
|
||||||
CPY curSpriteLen
|
|
||||||
BNE _NMI_CopyMarioToOAM
|
BNE _NMI_CopyMarioToOAM
|
||||||
|
|
||||||
;; We need to copy all our OAM data to put sprites on screen during
|
;; We need to copy all our OAM data to put sprites on screen during
|
||||||
|
|||||||
Reference in New Issue
Block a user