megademo: working on leaving scene

This commit is contained in:
Vince Weaver 2018-10-15 00:07:29 -04:00
parent 78896d009f
commit 14aacd1151
5 changed files with 123 additions and 8 deletions

View File

@ -32,7 +32,7 @@ megademo.o: megademo.s \
starring.s starring1.inc starring2.inc starring3.img.lz4\
starring_people.s fs.inc FS_HGRC.BIN.lz4 deater.inc DEATER_HGRC.BIN.lz4\
check_email.s email_40_96.inc \
leaving.s leaving.inc \
leaving.s leaving.inc tfv_sprites.inc \
bird_mountain.s \
waterfall.s gr_unrolled_copy.s waterfall_page1.inc waterfall_page2.inc \
takeoff.s takeoff.inc takeoff.img.lz4 \

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -96,8 +96,11 @@ lvloopB:dex ; 2
; Vertical blank = 4550 cycles (70 scan lines)
; Total of 17030 cycles to get back to where was
; want 12*4 = 48 lines of HIRES = 3120-4=3116
; want 192-48=144 lines of LORES = 9360-4=9356
; want 12*4 = 48 lines of TEXT = 3120-4=3116
; want 136-48 = 88 lines of undisturbed LORES = 5720 - 4 = 5716
; lores lines 20-33 (80 - 135) are changing
; so don't do much then
; want 192-136=56 lines of LORES = 3640
@ -118,17 +121,26 @@ lvloop9:dex ; 2
bit SET_GR ; 4
; Try X=10 Y=167 cycles=9353 R3
; Try X=75 Y=15 cycles=5716
lda $0
ldy #167 ; 2
lvloop6:ldx #10 ; 2
ldy #15 ; 2
lvloop6:ldx #75 ; 2
lvloop7:dex ; 2
bne lvloop7 ; 2nt/3
dey ; 2
bne lvloop6 ; 2nt/3
; Try X=120 Y=6 cycles=3637 R3
lda $0
ldy #6 ; 2
lvloopQ:ldx #120 ; 2
lvloopR:dex ; 2
bne lvloopR ; 2nt/3
dey ; 2
bne lvloopQ ; 2nt/3
;======================================================
; We have 4550 cycles in the vblank, use them wisely
@ -163,3 +175,23 @@ lv_start_over:
; 1209 cycles
; 4+ 30*[35 + 5 ] + 5 = 1209
erase_yard:
lda #$44 ; green ; 2
ldx #30 ; 9 - 40 ; 2
yard_loop:
sta $528+9,X ; 20 ; 5
sta $5a8+9,X ; 22 ; 5
sta $628+9,X ; 24 ; 5
sta $6a8+9,X ; 26 ; 5
sta $728+9,X ; 28 ; 5
sta $7a8+9,X ; 30 ; 5
sta $450+9,X ; 32 ; 5
dex ; 2
bpl yard_loop ; 3
; -1
rts ; 6

Binary file not shown.

View File

@ -74,3 +74,86 @@ bird_rider_walk_left:
; = 33 + 7*52 + 30*22 + 64*3 + 69*1 + 54*16 - 7
; = 2175
tfv_stand_right:
.byte $4,$6
.byte $00,$DD,$BD,$00 ; 00=2 0x=0 x0=0 xx=2
.byte $00,$DD,$DB,$0B ; 00=1 0x=1 x0=0 xx=2
.byte $00,$22,$00,$00 ; 00=3 0x=0 x0=0 xx=1
.byte $00,$22,$02,$0B ; 00=1 0x=2 x0=0 xx=1
.byte $00,$22,$00,$00 ; 00=3 0x=0 x0=0 xx=1
.byte $00,$82,$80,$00 ; 00=2 0x=0 x0=1 xx=1
;=====================
; 00=12 0x=3 x0=1 xx=8
; = 33 + Y*(52)+ [30A + 64B + 69C + 54D]-Y
; = 33 + 6*52 + 30*12 + 64*3 + 69*1 + 54*8 - 6
; = 1392
tfv_walk_right:
.byte $4,$6
.byte $00,$DD,$BD,$00 ; 00=2 0x=0 x0=0 xx=2
.byte $00,$DD,$DB,$0B ; 00=1 0x=1 x0=0 xx=2
.byte $00,$22,$00,$00 ; 00=3 0x=0 x0=0 xx=1
.byte $00,$22,$02,$B0 ; 00=1 0x=1 x0=1 xx=1
.byte $22,$02,$20,$00 ; 00=1 0x=1 x0=1 xx=1
.byte $82,$00,$82,$00 ; 00=2 0x=0 x0=0 xx=2
;======================
; 00=10 0x=3 x0=2 xx=9
; = 33 + Y*(52)+ [30A + 64B + 69C + 54D]-Y
; = 33 + 6*52 + 30*10 + 64*3 + 69*2 + 54*9 - 6
; = 1455
tfg_stand_left:
.byte $4,$6
.byte $00,$b8,$88,$00
.byte $0B,$bb,$88,$00
.byte $00,$00,$11,$88
.byte $0B,$01,$11,$00
.byte $00,$11,$11,$10
.byte $00,$81,$81,$01
tfg_walk_left:
.byte $4,$6
.byte $00,$b8,$88,$00
.byte $0b,$bb,$88,$00
.byte $00,$00,$11,$88
.byte $b0,$01,$11,$00
.byte $00,$10,$11,$11
.byte $00,$81,$01,$81
bird_stand_right_sprite:
.byte $6,$7
.byte $00,$00,$00,$00,$00,$00 ; 00=6 0x=0 x0=0 xx=0
.byte $00,$00,$00,$00,$dd,$90 ; 00=4 0x=0 x0=1 xx=1
.byte $00,$00,$00,$00,$dd,$00 ; 00=5 0x=0 x0=0 xx=1
.byte $0d,$dd,$dd,$dd,$dd,$00 ; 00=1 0x=1 x0=0 xx=4
.byte $00,$00,$0d,$dd,$0d,$00 ; 00=3 0x=2 x0=0 xx=1
.byte $00,$00,$00,$99,$00,$00 ; 00=5 0x=0 x0=0 xx=1
.byte $00,$00,$00,$99,$90,$00 ; 00=4 0x=0 x0=1 xx=1
;=====================
; 00=28 0x=3 x0=2 xx=9
; = 33 + Y*(52)+ [30A + 64B + 69C + 54D]-Y
; = 33 + 7*52 + 30*28 + 64*3 + 69*2 + 54*9 - 7
; = 2046
;bird_stand_left_sprite:
; .byte $6,$7
; .byte $00,$00,$00,$00,$00,$00
; .byte $90,$dd,$00,$00,$00,$00
; .byte $00,$dd,$00,$00,$00,$00
; .byte $00,$dd,$dd,$dd,$dd,$0d
; .byte $00,$0d,$dd,$0d,$00,$00
; .byte $00,$00,$99,$00,$00,$00
; .byte $00,$90,$99,$00,$00,$00
bird_walk_left_sprite:
.byte $6,$7
.byte $00,$00,$00,$00,$00,$00
.byte $90,$dd,$00,$00,$00,$00
.byte $00,$dd,$00,$00,$00,$00
.byte $00,$dd,$dd,$dd,$dd,$0d
.byte $00,$0d,$dd,$0d,$00,$00
.byte $00,$00,$99,$00,$00,$00
.byte $00,$99,$00,$99,$00,$00