mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-08 16:30:38 +00:00
ootw: level2: can board elevator now
This commit is contained in:
parent
3528233422
commit
9282330bdc
@ -2,3 +2,15 @@ gr_offsets:
|
|||||||
.word $400,$480,$500,$580,$600,$680,$700,$780
|
.word $400,$480,$500,$580,$600,$680,$700,$780
|
||||||
.word $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8
|
.word $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8
|
||||||
.word $450,$4d0,$550,$5d0,$650,$6d0,$750,$7d0
|
.word $450,$4d0,$550,$5d0,$650,$6d0,$750,$7d0
|
||||||
|
|
||||||
|
|
||||||
|
gr_offsets_h:
|
||||||
|
.byte >$400,>$480,>$500,>$580,>$600,>$680,>$700,>$780
|
||||||
|
.byte >$428,>$4a8,>$528,>$5a8,>$628,>$6a8,>$728,>$7a8
|
||||||
|
.byte >$450,>$4d0,>$550,>$5d0,>$650,>$6d0,>$750,>$7d0
|
||||||
|
|
||||||
|
|
||||||
|
gr_offsets_l:
|
||||||
|
.byte <$400,<$480,<$500,<$580,<$600,<$680,<$700,<$780
|
||||||
|
.byte <$428,<$4a8,<$528,<$5a8,<$628,<$6a8,<$728,<$7a8
|
||||||
|
.byte <$450,<$4d0,<$550,<$5d0,<$650,<$6d0,<$750,<$7d0
|
||||||
|
@ -21,6 +21,12 @@ ootw_elevator:
|
|||||||
|
|
||||||
jsr elevator_load_background
|
jsr elevator_load_background
|
||||||
|
|
||||||
|
;==============================
|
||||||
|
; setup physicist
|
||||||
|
|
||||||
|
lda #16
|
||||||
|
sta PHYSICIST_Y
|
||||||
|
|
||||||
|
|
||||||
;==============================
|
;==============================
|
||||||
; setup per-room variables
|
; setup per-room variables
|
||||||
@ -78,6 +84,22 @@ elevator_loop:
|
|||||||
|
|
||||||
jsr gr_copy_to_current
|
jsr gr_copy_to_current
|
||||||
|
|
||||||
|
;================================
|
||||||
|
; draw elevator
|
||||||
|
|
||||||
|
lda #17
|
||||||
|
sta XPOS
|
||||||
|
lda #32
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
|
lda #<elevator_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>elevator_sprite
|
||||||
|
sta INH
|
||||||
|
|
||||||
|
jsr put_sprite_crop
|
||||||
|
|
||||||
|
|
||||||
;===============================
|
;===============================
|
||||||
; check keyboard
|
; check keyboard
|
||||||
|
|
||||||
@ -167,25 +189,27 @@ elevator_load_background:
|
|||||||
ldy #0
|
ldy #0
|
||||||
elevator_background_loop:
|
elevator_background_loop:
|
||||||
|
|
||||||
lda gr_offsets,Y
|
lda gr_offsets_l,Y
|
||||||
sta line0_left_loop+1
|
sta line0_left_loop+1
|
||||||
sta line0_center_loop+1
|
sta line0_center_loop+1
|
||||||
|
sta line0_right_loop+1
|
||||||
|
|
||||||
lda gr_offsets+1,Y
|
lda gr_offsets_h,Y
|
||||||
clc
|
clc
|
||||||
adc #$8
|
adc #$8
|
||||||
sta line0_left_loop+2
|
sta line0_left_loop+2
|
||||||
sta line0_center_loop+2
|
sta line0_center_loop+2
|
||||||
|
sta line0_right_loop+2
|
||||||
|
|
||||||
lda elevator_fb,Y
|
lda elevator_fb_l,Y
|
||||||
ldx #0
|
ldx #0
|
||||||
line0_left_loop:
|
line0_left_loop:
|
||||||
sta $c00,X
|
sta $c00,X
|
||||||
inx
|
inx
|
||||||
cpx #16
|
cpx #17
|
||||||
bne line0_left_loop
|
bne line0_left_loop
|
||||||
|
|
||||||
lda elevator_fb+1,Y
|
lda elevator_fb_c,Y
|
||||||
line0_center_loop:
|
line0_center_loop:
|
||||||
sta $c00,X
|
sta $c00,X
|
||||||
inx
|
inx
|
||||||
@ -196,21 +220,28 @@ line0_center_loop:
|
|||||||
line0_right_loop:
|
line0_right_loop:
|
||||||
sta $c00,X
|
sta $c00,X
|
||||||
inx
|
inx
|
||||||
cpx #39
|
cpx #40
|
||||||
bne line0_right_loop
|
bne line0_right_loop
|
||||||
|
|
||||||
iny
|
iny
|
||||||
iny
|
cpy #24
|
||||||
cpy #48
|
|
||||||
bne elevator_background_loop
|
bne elevator_background_loop
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
elevator_fb:
|
elevator_fb_l:
|
||||||
.byte $88,$88,$88,$88,$88,$88,$88,$88,$88
|
.byte $88,$88,$88,$88,$88,$88,$88
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
.byte $88,$88,$88,$88,$88,$88,$88,$88
|
.byte $88,$88,$88,$88,$88,$88,$88,$88
|
||||||
|
|
||||||
|
elevator_fb_c:
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
elevator_sprite:
|
||||||
|
.byte $8,$1
|
||||||
|
.byte $25,$25,$25,$25,$25,$25,$25,$25
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ move_and_print:
|
|||||||
adc CH ; add in xpos
|
adc CH ; add in xpos
|
||||||
sta BASL ; store out low byte of addy
|
sta BASL ; store out low byte of addy
|
||||||
|
|
||||||
lda gr_offsets+1,Y ; look up high byte
|
lda gr_offsets,Y ; look up high byte
|
||||||
adc DRAW_PAGE ;
|
adc DRAW_PAGE ;
|
||||||
sta BASH ; and store it out
|
sta BASH ; and store it out
|
||||||
; BASH:BASL now points at right place
|
; BASH:BASL now points at right place
|
||||||
|
Loading…
x
Reference in New Issue
Block a user