diff options
-rw-r--r-- | jumpmanjr.dasm | 27 | ||||
-rw-r--r-- | jumpmanjr.info | 11 | ||||
-rw-r--r-- | main.info | 11 |
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"; }; @@ -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"; }; |