aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--jumpmanjr.dasm27
-rw-r--r--jumpmanjr.info11
-rw-r--r--main.info11
3 files changed, 35 insertions, 14 deletions
diff --git a/jumpmanjr.dasm b/jumpmanjr.dasm
index df9807d..16d5dc2 100644
--- a/jumpmanjr.dasm
+++ b/jumpmanjr.dasm
@@ -1,5 +1,5 @@
; da65 V2.15 - Git 104f898
-; Created: 2016-09-02 05:02:31
+; Created: 2016-09-02 13:28:05
; Input file: jumpmanjr.rom
; Page: 1
@@ -874,6 +874,8 @@ set_savmsc:
; VKEYBD now points to $9c00 aka keyboard_isr
set_vkeybd:
sta VKEYBD_hi ; 83ED 8D 09 02 ...
+; stub => map_draw_1_blank-1
+copy_blank_1_map:
ldx #$07 ; 83F0 A2 07 ..
L83F2: lda stub,x ; 83F2 BD 05 84 ...
sta $06D8,x ; 83F5 9D D8 06 ...
@@ -890,7 +892,8 @@ set_vvblki:
stub: rts ; 8405 60 `
; ----------------------------------------------------------------------------
-data_8406:
+; copied to $06d9 by code at copy_blank_1_map, possibly so it can be modified
+map_draw_1_blank:
.byte $FE,$49,$9C,$00,$00,$01,$FF ; 8406 FE 49 9C 00 00 01 FF .I.....
; ----------------------------------------------------------------------------
; service immediate vblank interrupt
@@ -1751,7 +1754,7 @@ sfx_death:
.byte $02,$DC,$02,$32,$02,$D2,$02,$3C ; 8A70 02 DC 02 32 02 D2 02 3C ...2...<
.byte $02,$C8,$02,$00,$00,$00,$00,$00 ; 8A78 02 C8 02 00 00 00 00 00 ........
; ----------------------------------------------------------------------------
-play_sfx_bounce_2:
+play_sfx_climb:
lda $061F ; 8A80 AD 1F 06 ...
bne L8A94 ; 8A83 D0 0F ..
lda #$97 ; 8A85 A9 97 ..
@@ -1763,8 +1766,8 @@ play_sfx_bounce_2:
L8A94: jmp L9925 ; 8A94 4C 25 99 L%.
; ----------------------------------------------------------------------------
-; used when jumpman is falling?
-sfx_bounce_2:
+; climbing up/down a ladder (not ropes)
+sfx_climb:
.byte $01,$81,$00,$04,$01,$00,$00,$00 ; 8A97 01 81 00 04 01 00 00 00 ........
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; 8A9F 00 00 00 00 00 00 00 00 ........
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; 8AA7 00 00 00 00 00 00 00 00 ........
@@ -3215,11 +3218,15 @@ copy_level_desc_2:
inx ; 967D E8 .
cpx #$40 ; 967E E0 40 .@
bne copy_level_desc_2 ; 9680 D0 F5 ..
+; call start subroutine for current level
+init_level:
lda work_level_sub_start ; 9682 AD A2 07 ...
sta $06E1 ; 9685 8D E1 06 ...
lda work_level_sub_start+1 ; 9688 AD A3 07 ...
sta $06E2 ; 968B 8D E2 06 ...
jsr L06E0 ; 968E 20 E0 06 ..
+; set color regs from level descriptor (COLOR4 always $00, black)
+set_level_colors:
lda #$00 ; 9691 A9 00 ..
sta COLOR4 ; 9693 8D C8 02 ...
sta $06AB ; 9696 8D AB 06 ...
@@ -3493,7 +3500,7 @@ L9878: sta player_x_pos ; 9878 8D 7E 06
clc ; 9889 18 .
adc #$04 ; 988A 69 04 i.
sta $0688 ; 988C 8D 88 06 ...
- jmp play_sfx_bounce_2 ; 988F 4C 80 8A L..
+ jmp play_sfx_climb ; 988F 4C 80 8A L..
; ----------------------------------------------------------------------------
L9892: lda collision_save+4 ; 9892 AD B4 06 ...
@@ -3519,6 +3526,8 @@ L98AD: clc ; 98AD 18
sta $0688 ; 98B9 8D 88 06 ...
lda $061F ; 98BC AD 1F 06 ...
bne L98D0 ; 98BF D0 0F ..
+; horizontal movement
+play_sfx_walk:
lda #$73 ; 98C1 A9 73 .s
sta sfx_slot_tempo ; 98C3 8D 3E 06 .>.
lda #$BE ; 98C6 A9 BE ..
@@ -7643,8 +7652,10 @@ sfx01: .byte $01,$A6,$02,$3C,$20,$51,$20,$48 ; BE25 01 A6 02 3C 20 51 20 48
.byte $10,$3C,$10,$3C,$08,$35,$08,$2F ; BE55 10 3C 10 3C 08 35 08 2F .<.<.5./
.byte $08,$2D,$08,$28,$08,$2D,$08,$2F ; BE5D 08 2D 08 28 08 2D 08 2F .-.(.-./
.byte $08,$35,$08,$3C,$08,$51,$08,$60 ; BE65 08 35 08 3C 08 51 08 60 .5.<.Q.`
- .byte $08,$51,$08,$79,$20,$00,$01,$81 ; BE6D 08 51 08 79 20 00 01 81 .Q.y ...
- .byte $00,$32,$01,$00 ; BE75 00 32 01 00 .2..
+ .byte $08,$51,$08,$79,$20,$00 ; BE6D 08 51 08 79 20 00 .Q.y .
+; horizontal movement
+sfx_walk:
+ .byte $01,$81,$00,$32,$01,$00 ; BE73 01 81 00 32 01 00 ...2..
sfx_extra_life:
.byte $01,$A8,$00,$05,$02,$0F,$02,$0A ; BE79 01 A8 00 05 02 0F 02 0A ........
.byte $02,$14,$02,$0F,$02,$19,$02,$14 ; BE81 02 14 02 0F 02 19 02 14 ........
diff --git a/jumpmanjr.info b/jumpmanjr.info
index 3410567..9ab0765 100644
--- a/jumpmanjr.info
+++ b/jumpmanjr.info
@@ -57,9 +57,12 @@ label { name "spellbound_got_all"; addr $AF5E; comment "got all the bombs"; };
label { name "bonus_250_pts"; addr $AF96; comment "per letter"; };
label { name "epyx_jumpman"; addr $AEAF; comment "letters for level08, spellbound (not ASCII or screencodes though)"; };
+label { name "init_level"; addr $9682; comment "call start subroutine for current level"; };
+label { name "set_level_colors"; addr $9691; comment "set color regs from level descriptor (COLOR4 always $00, black)"; };
label { name "jump_frame"; addr $06EB; comment "0 if not jumping, or frames since start of jump (range 1 to 21)"; };
range { name "code_99f7"; start $99F7; end $9A1B; type code; };
-range { name "data_8406"; start $8406; end $840c; type bytetable; };
+range { name "map_draw_1_blank"; start $8406; end $840c; type bytetable; comment "copied to $06d9 by code at copy_blank_1_map, possibly so it can be modified"; };
+label { name "copy_blank_1_map"; addr $83F0; comment "stub => map_draw_1_blank-1"; };
range { name "jump_delta_x_table"; start $9a1c; end $9A5B; type bytetable; comment "used by continue_jump, the amount of X movement per frame of jumping (for either direction, left or right)"; };
label { name "jump_delta_y_table"; addr $9A32; comment "used by continue_jump, amount of Y movement per frame ($FE is -2, or 2 scanlines up, $02 is 2 scanlines down)"; };
label { name "zero_filler_9a48"; addr $9a48; };
@@ -226,6 +229,8 @@ label { name "sfx_slot_freq"; addr $0647; size 1; };
range { name "sfx00"; start $BDF2; end $BE24; type bytetable; };
range { name "sfx01"; start $BE25; end $BE78; type bytetable; };
+label { name "sfx_walk"; addr $be73; comment "horizontal movement"; };
+label { name "play_sfx_walk"; addr $98C1; comment "horizontal movement"; };
range { name "sfx_extra_life"; start $BE79; end $BE8C; type bytetable; };
range { name "sfx02"; start $BE8D; end $BEAE; type bytetable; comment "end of game tune, melody"; };
range { name "sfx03"; start $BEAF; end $BED4; type bytetable; comment "end of game tune, bass"; };
@@ -642,9 +647,9 @@ label { name "dm_obj_to_screen"; addr $80BD; size 1; comment "actually write the
label { name "unused_vecs"; addr $803F; size 1; comment "3 unused jump vectors, all pointed to the same RTS"; };
label { name "unused_vec_rts"; addr $8048; size 1; comment "unused jump vectors point here"; };
label { name "sfx_bounce_1"; addr $8A4B; size 1; comment "used when jumpman is falling?"; };
-range { name "sfx_bounce_2"; start $8a97; end $8abf; type bytetable; comment "used when jumpman is falling?"; };
+range { name "sfx_climb"; start $8a97; end $8abf; type bytetable; comment "climbing up/down a ladder (not ropes)"; };
label { name "sfx_death"; addr $8a60; comment "jumpman hit by bullet or started falling"; };
-label { name "play_sfx_bounce_2"; addr $8A80; };
+label { name "play_sfx_climb"; addr $8A80; };
label { name "play_sfx_bounce_1"; addr $899A; };
label { name "falling_bounce"; addr $8983; comment "this looks like it hurts..."; };
label { name "afterlife"; addr $9600; comment "multiple code paths jump here. replay level, load next level, or go back to ask_num_players"; };
diff --git a/main.info b/main.info
index a89fe77..c8fa389 100644
--- a/main.info
+++ b/main.info
@@ -55,9 +55,12 @@ label { name "spellbound_got_all"; addr $AF5E; comment "got all the bombs"; };
label { name "bonus_250_pts"; addr $AF96; comment "per letter"; };
label { name "epyx_jumpman"; addr $AEAF; comment "letters for level08, spellbound (not ASCII or screencodes though)"; };
+label { name "init_level"; addr $9682; comment "call start subroutine for current level"; };
+label { name "set_level_colors"; addr $9691; comment "set color regs from level descriptor (COLOR4 always $00, black)"; };
label { name "jump_frame"; addr $06EB; comment "0 if not jumping, or frames since start of jump (range 1 to 21)"; };
range { name "code_99f7"; start $99F7; end $9A1B; type code; };
-range { name "data_8406"; start $8406; end $840c; type bytetable; };
+range { name "map_draw_1_blank"; start $8406; end $840c; type bytetable; comment "copied to $06d9 by code at copy_blank_1_map, possibly so it can be modified"; };
+label { name "copy_blank_1_map"; addr $83F0; comment "stub => map_draw_1_blank-1"; };
range { name "jump_delta_x_table"; start $9a1c; end $9A5B; type bytetable; comment "used by continue_jump, the amount of X movement per frame of jumping (for either direction, left or right)"; };
label { name "jump_delta_y_table"; addr $9A32; comment "used by continue_jump, amount of Y movement per frame ($FE is -2, or 2 scanlines up, $02 is 2 scanlines down)"; };
label { name "zero_filler_9a48"; addr $9a48; };
@@ -224,6 +227,8 @@ label { name "sfx_slot_freq"; addr $0647; size 1; };
range { name "sfx00"; start $BDF2; end $BE24; type bytetable; };
range { name "sfx01"; start $BE25; end $BE78; type bytetable; };
+label { name "sfx_walk"; addr $be73; comment "horizontal movement"; };
+label { name "play_sfx_walk"; addr $98C1; comment "horizontal movement"; };
range { name "sfx_extra_life"; start $BE79; end $BE8C; type bytetable; };
range { name "sfx02"; start $BE8D; end $BEAE; type bytetable; comment "end of game tune, melody"; };
range { name "sfx03"; start $BEAF; end $BED4; type bytetable; comment "end of game tune, bass"; };
@@ -640,9 +645,9 @@ label { name "dm_obj_to_screen"; addr $80BD; size 1; comment "actually write the
label { name "unused_vecs"; addr $803F; size 1; comment "3 unused jump vectors, all pointed to the same RTS"; };
label { name "unused_vec_rts"; addr $8048; size 1; comment "unused jump vectors point here"; };
label { name "sfx_bounce_1"; addr $8A4B; size 1; comment "used when jumpman is falling?"; };
-range { name "sfx_bounce_2"; start $8a97; end $8abf; type bytetable; comment "used when jumpman is falling?"; };
+range { name "sfx_climb"; start $8a97; end $8abf; type bytetable; comment "climbing up/down a ladder (not ropes)"; };
label { name "sfx_death"; addr $8a60; comment "jumpman hit by bullet or started falling"; };
-label { name "play_sfx_bounce_2"; addr $8A80; };
+label { name "play_sfx_climb"; addr $8A80; };
label { name "play_sfx_bounce_1"; addr $899A; };
label { name "falling_bounce"; addr $8983; comment "this looks like it hurts..."; };
label { name "afterlife"; addr $9600; comment "multiple code paths jump here. replay level, load next level, or go back to ask_num_players"; };