diff --git a/tb1_snes/checksum.inc b/tb1_snes/checksum.inc index f3687b3..b18eab8 100644 --- a/tb1_snes/checksum.inc +++ b/tb1_snes/checksum.inc @@ -1,2 +1,2 @@ - .word $a1f3 ; Complement of checksum - .word $5e0c ; Unsigned 16-bit sum of ROM + .word $7233 ; Complement of checksum + .word $8dcc ; Unsigned 16-bit sum of ROM diff --git a/tb1_snes/level_1.s b/tb1_snes/level_1.s index 7f2502f..dcbb117 100644 --- a/tb1_snes/level_1.s +++ b/tb1_snes/level_1.s @@ -31,6 +31,11 @@ joypad1_held_h = $0d sprite_l = $10 sprite_h = $11 +SPRITE_HIGH_LOOKUP = $20 +SHL2 = $21 +SHL3 = $22 +SHL4 = $23 + HISCORE_1 = $cb HISCORE_2 = $cc HISCORE_3 = $cd @@ -352,6 +357,20 @@ level1_setup_video: jsr svmw_fade_in + + ;=========================== + ; init lookup tables + ;=========================== + + lda #$01 + sta SPRITE_HIGH_LOOKUP + lda #$04 + sta SHL2 + lda #$10 + sta SHL3 + lda #$40 + sta SHL4 + ;==================== ; setup the high score ;===================== @@ -1775,10 +1794,22 @@ done_with_boss: ; Missiles are 8,9,10,11 in sprite table -; ldy #$0 ; point to missile[0] + ldy #$8 ; point to missile[0] move_missiles: -; lda (MISSILE_PL),Y ; get missile[y] -; beq loop_move_missiles ; if missile.out==0 skip + jsr is_sprite_active + bcc loop_move_missiles ; if not active, skip + + phy + tya + asl + asl + tay + + lda $0201,Y + dea + sta $0201,Y + + ply ; iny ; move to missile.y ; iny @@ -1856,50 +1887,12 @@ done_missile_collision: ; jmp loop_move_at_y loop_move_missiles: -; iny -; iny -loop_move_at_y: -; iny -; cpy #NUM_MISSILES*3 ; have we checked all missiles? -; bne move_missiles ; if not, loop + iny + cpy #(8+NUM_MISSILES) ; have we checked all missiles? + bne move_missiles ; if not, loop done_move_missiles: -; ldy #$0 ; point to missiles[0] -draw_missiles: -; lda (MISSILE_PL),Y ; get missile[y] -; beq loop_draw_missiles ; if missile.out==0 skip - -; iny ; point to missile.x -; lda (MISSILE_PL),Y ; load it -; sta CH -; iny ; point to missile.y -; lda (MISSILE_PL),Y ; load it -; sta CV - -; sty YSAV1 ; save Y - -; lda #>missile_sprite ; point to the missile sprite -; sta STRINGH -; lda #