Scroll input
This commit is contained in:
98
plat.s
98
plat.s
@@ -355,6 +355,7 @@ player_status: .res 1 ; 76543210 | 0: facing (0 right, 1 left)
|
||||
; | 2: nametable Y
|
||||
; | 7: talking
|
||||
horizontal_speed: .res 1
|
||||
camera_speed: .res 1
|
||||
|
||||
cursor_x: .res 1
|
||||
cursor_y: .res 1
|
||||
@@ -413,17 +414,67 @@ main:
|
||||
jmp @loop
|
||||
|
||||
move_camera:
|
||||
lda #%1
|
||||
jmp @no
|
||||
lda player_pos_x
|
||||
clc
|
||||
adc scroll_x
|
||||
adc #240
|
||||
cmp scroll_x
|
||||
sta scroll_x
|
||||
bcs :+
|
||||
lda scroll_nmt
|
||||
eor #%00000001
|
||||
sta scroll_nmt
|
||||
bmi :++
|
||||
lda #1
|
||||
clc
|
||||
adc scroll_x
|
||||
cmp scroll_x
|
||||
sta scroll_x
|
||||
bcs :+
|
||||
lda scroll_nmt
|
||||
eor #%00000001
|
||||
sta scroll_nmt
|
||||
:
|
||||
:
|
||||
rts
|
||||
@no:
|
||||
|
||||
|
||||
jsr btn_select
|
||||
cmp #0
|
||||
beq :+
|
||||
lda #%11111111
|
||||
sta camera_speed
|
||||
jmp @end
|
||||
:
|
||||
|
||||
jsr btn_start
|
||||
cmp #0
|
||||
beq :+
|
||||
lda #1
|
||||
sta camera_speed
|
||||
:
|
||||
@end:
|
||||
|
||||
|
||||
lda camera_speed
|
||||
bmi @left
|
||||
clc
|
||||
adc scroll_x
|
||||
cmp scroll_x
|
||||
sta scroll_x
|
||||
bcs :+
|
||||
lda scroll_nmt
|
||||
eor #%00000001
|
||||
sta scroll_nmt
|
||||
:
|
||||
rts
|
||||
@left:
|
||||
clc
|
||||
adc scroll_x
|
||||
cmp scroll_x
|
||||
sta scroll_x
|
||||
bcc :+
|
||||
lda scroll_nmt
|
||||
eor #%00000001
|
||||
sta scroll_nmt
|
||||
:
|
||||
rts
|
||||
|
||||
draw_player:
|
||||
lda player_pos_y
|
||||
@@ -595,38 +646,25 @@ draw_player:
|
||||
rts
|
||||
|
||||
init_objects:
|
||||
lda #0
|
||||
sta var_n
|
||||
ldx #0
|
||||
:
|
||||
lda var_n
|
||||
clc
|
||||
adc #8
|
||||
sta var_n
|
||||
|
||||
sta player_pos_y, X ; Set Y position
|
||||
sta player_pos_x, X ; Set X position
|
||||
|
||||
txa
|
||||
lsr
|
||||
lsr
|
||||
sta oam+1, X
|
||||
|
||||
inx
|
||||
inx
|
||||
inx
|
||||
inx
|
||||
cpx #(8*4)
|
||||
bne :-
|
||||
lda #96
|
||||
sta player_pos_x ; Set X position
|
||||
lda #128
|
||||
sta player_pos_y ; Set Y position
|
||||
|
||||
lda #0
|
||||
sta player_vel_x
|
||||
sta player_vel_y
|
||||
sta player_status
|
||||
sta scroll_nmt
|
||||
lda #1
|
||||
sta player_nmt_x
|
||||
|
||||
lda #%00101000
|
||||
sta horizontal_speed
|
||||
|
||||
lda #0
|
||||
sta camera_speed
|
||||
|
||||
rts
|
||||
|
||||
draw:
|
||||
|
||||
Reference in New Issue
Block a user