aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-08-30 13:44:46 -0400
committerB. Watson <yalhcru@gmail.com>2016-08-30 13:44:46 -0400
commitb6836545db316380fe176ba72cb1b7d0cb28962a (patch)
tree1bba1d55708c340d86d795bdff6ab04bae016b08
parent840593459b2a9e065caa273ee1bc32de03a236dc (diff)
downloadjumpmanjr-b6836545db316380fe176ba72cb1b7d0cb28962a.tar.gz
identify a few code sections, add start_level_5.diff example hack
-rw-r--r--jumpmanjr.dasm57
-rw-r--r--jumpmanjr.info11
-rw-r--r--main.info11
-rw-r--r--start_level_5.diff16
4 files changed, 67 insertions, 28 deletions
diff --git a/jumpmanjr.dasm b/jumpmanjr.dasm
index d82c7df..f6dce3b 100644
--- a/jumpmanjr.dasm
+++ b/jumpmanjr.dasm
@@ -1,5 +1,5 @@
; da65 V2.15 - Git 104f898
-; Created: 2016-08-30 05:02:11
+; Created: 2016-08-30 13:43:10
; Input file: jumpmanjr.rom
; Page: 1
@@ -5146,7 +5146,7 @@ level11_unkn_table0:
.addr LB658 ; A2D4 58 B6 X.
; map data
level11_map0:
- .addr LB590 ; A2D6 90 B5 ..
+ .addr data_b590 ; A2D6 90 B5 ..
; map data
level11_map1:
.addr LB5D2 ; A2D8 D2 B5 ..
@@ -5684,9 +5684,8 @@ LA9A5: .byte $42,$00,$62,$00,$82,$00,$A2,$00 ; A9A5 42 00 62 00 82 00 A2 00
.byte $68,$00,$88,$00,$6A,$00,$8A,$00 ; A9B5 68 00 88 00 6A 00 8A 00 h...j...
.byte $2C,$00,$6C,$00,$8C,$00,$CC,$00 ; A9BD 2C 00 6C 00 8C 00 CC 00 ,.l.....
.byte $FF ; A9C5 FF .
-LA9C6: .byte $20 ; A9C6 20
; ----------------------------------------------------------------------------
- rol $80,x ; A9C7 36 80 6.
+LA9C6: jsr L8036 ; A9C6 20 36 80 6.
lda #$02 ; A9C9 A9 02 ..
sta $0770 ; A9CB 8D 70 07 .p.
sta $0772 ; A9CE 8D 72 07 .r.
@@ -5803,9 +5802,20 @@ map_aaa6:
.byte $FE,$EB,$9C,$FD,$00,$04,$50,$00 ; AAA6 FE EB 9C FD 00 04 50 00 ......P.
.byte $0C,$FE,$33,$9C,$4E,$05,$01,$FE ; AAAE 0C FE 33 9C 4E 05 01 FE ..3.N...
.byte $C9,$9C,$50,$08,$0A,$FF ; AAB6 C9 9C 50 08 0A FF ..P...
-LAABC: .byte $AD,$2A,$06,$8D,$C7,$02,$60,$00 ; AABC AD 2A 06 8D C7 02 60 00 .*....`.
- .byte $8D,$C7,$02,$60,$00,$09,$40,$45 ; AAC4 8D C7 02 60 00 09 40 45 ...`..@E
- .byte $02,$58,$45,$02 ; AACC 02 58 45 02 .XE.
+; ----------------------------------------------------------------------------
+LAABC: lda $062A ; AABC AD 2A 06 .*.
+ sta COLOR3 ; AABF 8D C7 02 ...
+ rts ; AAC2 60 `
+
+; ----------------------------------------------------------------------------
+ brk ; AAC3 00 .
+ sta COLOR3 ; AAC4 8D C7 02 ...
+ rts ; AAC7 60 `
+
+; ----------------------------------------------------------------------------
+; dunno what this is for yet
+map_aac8:
+ .byte $00,$09,$40,$45,$02,$58,$45,$02 ; AAC8 00 09 40 45 02 58 45 02 ..@E.XE.
LAAD0: .byte $FE,$33,$9C,$FD,$04,$00,$04,$05 ; AAD0 FE 33 9C FD 04 00 04 05 .3......
.byte $02,$1A,$05,$0B,$50,$05,$07,$04 ; AAD8 02 1A 05 0B 50 05 07 04 ....P...
.byte $25,$26,$7C,$33,$08,$20,$3B,$03 ; AAE0 25 26 7C 33 08 20 3B 03 %&|3. ;.
@@ -5976,9 +5986,16 @@ LAE71: .byte $22,$00,$C2,$00,$26,$00,$C6,$00 ; AE71 22 00 C2 00 26 00 C6 00
LAE8A: .byte $03,$00,$00,$01,$7C,$01,$01,$00 ; AE8A 03 00 00 01 7C 01 01 00 ....|...
.byte $04,$0C,$AF,$10,$86,$00,$01,$0F ; AE92 04 0C AF 10 86 00 01 0F ........
.byte $FF ; AE9A FF .
-LAE9B: .byte $20,$36,$80,$A9,$C0,$8D,$70,$07 ; AE9B 20 36 80 A9 C0 8D 70 07 6....p.
- .byte $60 ; AEA3 60 `
-LAEA4: .byte $18,$08,$38,$20,$00,$48,$30,$18 ; AEA4 18 08 38 20 00 48 30 18 ..8 .H0.
+; ----------------------------------------------------------------------------
+LAE9B: jsr L8036 ; AE9B 20 36 80 6.
+ lda #$C0 ; AE9E A9 C0 ..
+ sta $0770 ; AEA0 8D 70 07 .p.
+ rts ; AEA3 60 `
+
+; ----------------------------------------------------------------------------
+; dunno
+data_table_aea4:
+ .byte $18,$08,$38,$20,$00,$48,$30,$18 ; AEA4 18 08 38 20 00 48 30 18 ..8 .H0.
.byte $28,$10,$10 ; AEAC 28 10 10 (..
; letters for level07, spellbound (not ASCII or screencodes though)
epyx_jumpman:
@@ -5994,12 +6011,7 @@ LAEBC: .byte $03,$03,$03,$03,$03,$C3,$C3,$7E ; AEBC 03 03 03 03 03 C3 C3 7E
.byte $C3,$66,$3C,$18,$18,$18,$18,$18 ; AEF4 C3 66 3C 18 18 18 18 18 .f<.....
.byte $C3,$C3,$66,$3C,$3C,$66,$C3,$C3 ; AEFC C3 C3 66 3C 3C 66 C3 C3 ..f<<f..
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; AF04 00 00 00 00 00 00 00 00 ........
- .byte $40 ; AF0C 40 @
-; ----------------------------------------------------------------------------
- ldy #$20 ; AF0D A0 20 .
- rti ; AF0F 40 @
-
-; ----------------------------------------------------------------------------
+ .byte $40,$A0,$20,$40 ; AF0C 40 A0 20 40 @. @
; looks almost like code but it's bogus
data_af10:
.byte $E0,$00,$38,$20,$30,$08,$30,$04 ; AF10 E0 00 38 20 30 08 30 04 ..8 0.0.
@@ -6013,7 +6025,7 @@ LAF1C: lda $062A ; AF1C AD 2A 06
LAF23: lda $B2 ; AF23 A5 B2 ..
lsr a ; AF25 4A J
tax ; AF26 AA .
- ldy LAEA4,x ; AF27 BC A4 AE ...
+ ldy data_table_aea4,x ; AF27 BC A4 AE ...
iny ; AF2A C8 .
ldx $0771 ; AF2B AE 71 07 .q.
tya ; AF2E 98 .
@@ -6554,7 +6566,8 @@ LB581: lda $062A ; B581 AD 2A 06
; ----------------------------------------------------------------------------
zero_filler_8588:
.byte $00,$00,$00,$00,$00,$00,$00,$00 ; B588 00 00 00 00 00 00 00 00 ........
-LB590: .byte $FE,$33,$9C,$FD,$04,$00,$04,$05 ; B590 FE 33 9C FD 04 00 04 05 .3......
+data_b590:
+ .byte $FE,$33,$9C,$FD,$04,$00,$04,$05 ; B590 FE 33 9C FD 04 00 04 05 .3......
.byte $08,$3C,$05,$0A,$7C,$05,$08,$04 ; B598 08 3C 05 0A 7C 05 08 04 .<..|...
.byte $25,$26,$04,$43,$26,$04,$55,$06 ; B5A0 25 26 04 43 26 04 55 06 %&.C&.U.
.byte $3C,$55,$0A,$84,$55,$06,$04,$43 ; B5A8 3C 55 0A 84 55 06 04 43 <U..U..C
@@ -6589,9 +6602,13 @@ LB658: .byte $00,$71,$B6,$08,$40,$02,$01,$08 ; B658 00 71 B6 08 40 02 01 08
.byte $05,$40,$E0,$38,$1C,$1E,$0D,$02 ; B680 05 40 E0 38 1C 1E 0D 02 .@.8....
.byte $05,$40,$EE,$3F,$1E,$1C,$0C,$02 ; B688 05 40 EE 3F 1E 1C 0C 02 .@.?....
.byte $05 ; B690 05 .
-LB691: .byte $AD,$21,$06,$D0,$01,$60 ; B691 AD 21 06 D0 01 60 .!...`
; ----------------------------------------------------------------------------
- inc $067E ; B697 EE 7E 06 .~.
+LB691: lda $0621 ; B691 AD 21 06 .!.
+ bne LB697 ; B694 D0 01 ..
+ rts ; B696 60 `
+
+; ----------------------------------------------------------------------------
+LB697: inc $067E ; B697 EE 7E 06 .~.
LB69A: rts ; B69A 60 `
; ----------------------------------------------------------------------------
diff --git a/jumpmanjr.info b/jumpmanjr.info
index 4abc577..9c9fdef 100644
--- a/jumpmanjr.info
+++ b/jumpmanjr.info
@@ -276,7 +276,8 @@ label { name "hellstones_sub3"; addr $A827; };
label { name "play_hellstone_sfx"; addr $A88D; };
label { name "sfx_hellstone"; addr $a90d; };
range { name "total_score_msg"; start $bdd2; end $bdf1; type bytetable; comment "screen codes, displayed by well_done_screen"; };
-range { name "zero_filler_8588"; start $B588; end $B696; type bytetable; };
+range { name "zero_filler_8588"; start $B588; end $B58f; type bytetable; };
+range { name "data_b590"; start $B590; end $B690; type bytetable; };
range { name "wind_table_1"; start $B76B; end $b7bf; type bytetable; comment "used in level11"; };
label { name "wind_table_2"; addr $b771; };
label { name "electrocution_bomb_pickup"; addr $A498; comment "not sure what this actually does"; };
@@ -289,10 +290,12 @@ range { name "sfx_electrocution"; start $A52D; end $A53C; type bytetable; };
range { name "data_a542"; start $A542; end $A68B; type bytetable; comment "dunno, referenced by electrocution_bomb_pickup"; };
range { name "dumbwaiter_player"; start $a782; end $A826; type bytetable; comment "the dumbwaiters from level02. stored upside-down."; };
label { name "dw_platform_player"; addr $A685; comment "horizontally moving platforms from level02"; };
-range { name "data_table_a8fd"; start $a8fd; end $A9C6; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
-range { name "map_aa90"; start $aa90; end $AD67; type bytetable; comment "dunno what this is for yet"; };
+range { name "data_table_a8fd"; start $a8fd; end $A9C5; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
+range { name "map_aa90"; start $aa90; end $aabb; type bytetable; comment "dunno what this is for yet"; };
+range { name "map_aac8"; start $aac8; end $AD67; type bytetable; comment "dunno what this is for yet"; };
label { name "map_aaa6"; addr $aaa6; comment "referenced by routine at $AA82"; };
-range { name "data_table_adc7"; start $adc7; end $af0c; type bytetable; comment "dunno, referenced by routines at $AD9E and $ADB5"; };
+range { name "data_table_adc7"; start $adc7; end $AE9A; type bytetable; comment "dunno, referenced by routines at $AD9E and $ADB5"; };
+range { name "data_table_aea4"; start $aea4; end $af0f; type bytetable; comment "dunno"; };
range { name "sfx_letter_bonus"; start $AFCB; end $b0c3; type bytetable; comment "played once per correct letter at end of level07 (spellbound)"; };
label { name "cue_letter_sfx"; addr $AFB9; comment "play sfx_letter_bonus"; };
label { name "map_b000"; addr $b000; comment "referenced by routine at $B0C4"; };
diff --git a/main.info b/main.info
index f8e6718..472f2c6 100644
--- a/main.info
+++ b/main.info
@@ -274,7 +274,8 @@ label { name "hellstones_sub3"; addr $A827; };
label { name "play_hellstone_sfx"; addr $A88D; };
label { name "sfx_hellstone"; addr $a90d; };
range { name "total_score_msg"; start $bdd2; end $bdf1; type bytetable; comment "screen codes, displayed by well_done_screen"; };
-range { name "zero_filler_8588"; start $B588; end $B696; type bytetable; };
+range { name "zero_filler_8588"; start $B588; end $B58f; type bytetable; };
+range { name "data_b590"; start $B590; end $B690; type bytetable; };
range { name "wind_table_1"; start $B76B; end $b7bf; type bytetable; comment "used in level11"; };
label { name "wind_table_2"; addr $b771; };
label { name "electrocution_bomb_pickup"; addr $A498; comment "not sure what this actually does"; };
@@ -287,10 +288,12 @@ range { name "sfx_electrocution"; start $A52D; end $A53C; type bytetable; };
range { name "data_a542"; start $A542; end $A68B; type bytetable; comment "dunno, referenced by electrocution_bomb_pickup"; };
range { name "dumbwaiter_player"; start $a782; end $A826; type bytetable; comment "the dumbwaiters from level02. stored upside-down."; };
label { name "dw_platform_player"; addr $A685; comment "horizontally moving platforms from level02"; };
-range { name "data_table_a8fd"; start $a8fd; end $A9C6; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
-range { name "map_aa90"; start $aa90; end $AD67; type bytetable; comment "dunno what this is for yet"; };
+range { name "data_table_a8fd"; start $a8fd; end $A9C5; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
+range { name "map_aa90"; start $aa90; end $aabb; type bytetable; comment "dunno what this is for yet"; };
+range { name "map_aac8"; start $aac8; end $AD67; type bytetable; comment "dunno what this is for yet"; };
label { name "map_aaa6"; addr $aaa6; comment "referenced by routine at $AA82"; };
-range { name "data_table_adc7"; start $adc7; end $af0c; type bytetable; comment "dunno, referenced by routines at $AD9E and $ADB5"; };
+range { name "data_table_adc7"; start $adc7; end $AE9A; type bytetable; comment "dunno, referenced by routines at $AD9E and $ADB5"; };
+range { name "data_table_aea4"; start $aea4; end $af0f; type bytetable; comment "dunno"; };
range { name "sfx_letter_bonus"; start $AFCB; end $b0c3; type bytetable; comment "played once per correct letter at end of level07 (spellbound)"; };
label { name "cue_letter_sfx"; addr $AFB9; comment "play sfx_letter_bonus"; };
label { name "map_b000"; addr $b000; comment "referenced by routine at $B0C4"; };
diff --git a/start_level_5.diff b/start_level_5.diff
new file mode 100644
index 0000000..b6f4db9
--- /dev/null
+++ b/start_level_5.diff
@@ -0,0 +1,16 @@
+--- jumpmanjr.dasm 2016-08-30 05:02:11.860081618 -0400
++++ jmjtest.dasm 2016-08-30 05:37:26.390155781 -0400
+@@ -2798,9 +2798,10 @@
+ ; ----------------------------------------------------------------------------
+ ask_num_players:
+ ldx #$FF ; 9400 A2 FF ..
+- lda #$00 ; 9402 A9 00 ..
+- sta select_key_enabled ; 9404 8D C7 06 ...
+- sta level ; 9407 8D F6 06 ...
++ lda #$04 ; 9402 A9 00 ..
++ sta level ; 9404 8D C7 06 ...
++ lda #$00 ; 9407 8D F6 06 ...
++ nop
+ dec level ; 940A CE F6 06 ...
+ ; clear area where NUMBER OF PLAYERS? will be displayed
+ anp_clear_loop: