From b99f48b7d5a4864858fd209251b6a677f3b359dd Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Tue, 5 Feb 2013 16:48:29 -0500 Subject: [PATCH] snes: finish init enemies in theory they are all set up now. Next to get them moving --- tb1_snes/checksum.inc | 4 ++-- tb1_snes/level_1.s | 49 ++++++++++++++++++++----------------------- 2 files changed, 25 insertions(+), 28 deletions(-) diff --git a/tb1_snes/checksum.inc b/tb1_snes/checksum.inc index a0f998a..93ea5bd 100644 --- a/tb1_snes/checksum.inc +++ b/tb1_snes/checksum.inc @@ -1,2 +1,2 @@ - .word $9af ; Complement of checksum - .word $f650 ; Unsigned 16-bit sum of ROM + .word $190 ; Complement of checksum + .word $fe6f ; Unsigned 16-bit sum of ROM diff --git a/tb1_snes/level_1.s b/tb1_snes/level_1.s index 10faeaf..d72e83d 100644 --- a/tb1_snes/level_1.s +++ b/tb1_snes/level_1.s @@ -428,8 +428,8 @@ do_new_game: ; ldx #.LOWORD(missile_0) ; setup missle struct pointer ; stx MISSILE_PL - ldx #.LOWORD(enemy_0) ; setup enemy struct pointer - stx ENEMY_PL +; ldx #.LOWORD(enemy_0) ; setup enemy struct pointer +; stx ENEMY_PL ;; Clear BSS @@ -828,7 +828,6 @@ store_enemy_kind: asl store_init_x: -; sta (ENEMY_PL),Y sta $200,X ; store x value at $200+(Y*4) @@ -847,22 +846,21 @@ store_init_x: inx sta $200,X ; store paramaters to $203+(Y*4) + ; X = (Y*4)+3 -; lda #$0 -; iny -; sta (ENEMY_PL),Y ; xadd -; iny -; sta (ENEMY_PL),Y ; yadd -; lda #$2 -; iny -; sta (ENEMY_PL),Y ; xmin -; iny -; lda #$24 -; sta (ENEMY_PL),Y ; ymin + lda #$24 + sta extra_sprite,X ; ymin + inx -; dey ; xmin -; dey ; yadd -; dey ; xadd + sta extra_sprite,X ; xmin + inx + + stz extra_sprite,X ; yadd + lda #$2 + + inx + + stz extra_sprite,X ; xadd ;=========================================== @@ -882,15 +880,15 @@ enemy_type_1: ; diagonal, no wait ; movement proportional to level -; lda LEVEL ; xadd = level -; sta (ENEMY_PL),Y + lda LEVEL ; xadd = level + sta extra_sprite,X -; iny + inx ; point to yadd -; lsr A -; ora #$1 -; sta (ENEMY_PL),Y ; yadd = level/2 -; jmp move_enemies + lsr A + ora #$1 + sta extra_sprite,X ; yadd = level/2 + jmp move_enemies enemy_type_2: ;===================== @@ -2619,8 +2617,7 @@ outside: .bss start_bss: -missile_0: .res NUM_MISSILES*3 -enemy_0: .res NUM_ENEMIES*9 +extra_sprite: .res 256 end_bss: