mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-06 18:30:12 +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 $428,$4a8,$528,$5a8,$628,$6a8,$728,$7a8
|
||||
.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
|
||||
|
||||
;==============================
|
||||
; setup physicist
|
||||
|
||||
lda #16
|
||||
sta PHYSICIST_Y
|
||||
|
||||
|
||||
;==============================
|
||||
; setup per-room variables
|
||||
@ -78,6 +84,22 @@ elevator_loop:
|
||||
|
||||
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
|
||||
|
||||
@ -167,25 +189,27 @@ elevator_load_background:
|
||||
ldy #0
|
||||
elevator_background_loop:
|
||||
|
||||
lda gr_offsets,Y
|
||||
lda gr_offsets_l,Y
|
||||
sta line0_left_loop+1
|
||||
sta line0_center_loop+1
|
||||
sta line0_right_loop+1
|
||||
|
||||
lda gr_offsets+1,Y
|
||||
lda gr_offsets_h,Y
|
||||
clc
|
||||
adc #$8
|
||||
sta line0_left_loop+2
|
||||
sta line0_center_loop+2
|
||||
sta line0_right_loop+2
|
||||
|
||||
lda elevator_fb,Y
|
||||
lda elevator_fb_l,Y
|
||||
ldx #0
|
||||
line0_left_loop:
|
||||
sta $c00,X
|
||||
inx
|
||||
cpx #16
|
||||
cpx #17
|
||||
bne line0_left_loop
|
||||
|
||||
lda elevator_fb+1,Y
|
||||
lda elevator_fb_c,Y
|
||||
line0_center_loop:
|
||||
sta $c00,X
|
||||
inx
|
||||
@ -196,21 +220,28 @@ line0_center_loop:
|
||||
line0_right_loop:
|
||||
sta $c00,X
|
||||
inx
|
||||
cpx #39
|
||||
cpx #40
|
||||
bne line0_right_loop
|
||||
|
||||
iny
|
||||
iny
|
||||
cpy #48
|
||||
cpy #24
|
||||
bne elevator_background_loop
|
||||
|
||||
rts
|
||||
|
||||
|
||||
elevator_fb:
|
||||
.byte $88,$88,$88,$88,$88,$88,$88,$88,$88
|
||||
.byte $00,$00,$00,$00,$00,$00,$00
|
||||
elevator_fb_l:
|
||||
.byte $88,$88,$88,$88,$88,$88,$88
|
||||
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||
.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
|
||||
|
||||
|
||||
|
||||
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
|
||||
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 ;
|
||||
sta BASH ; and store it out
|
||||
; BASH:BASL now points at right place
|
||||
|
Loading…
x
Reference in New Issue
Block a user