aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-09-02 05:18:53 -0400
committerB. Watson <yalhcru@gmail.com>2016-09-02 05:18:53 -0400
commit58d244c1f35c23630714024f5482d6b970057dd9 (patch)
tree94e73118cdf920f1dfe0662b4097c67d01ef6138
parent670a6fef7b1767ae2a0ceed3881eade1278fbac4 (diff)
downloadjumpmanjr-58d244c1f35c23630714024f5482d6b970057dd9.tar.gz
work on walls, labels for herethereeverywhere sprites
-rw-r--r--jumpmanjr.dasm91
-rw-r--r--jumpmanjr.info27
-rw-r--r--main.info27
3 files changed, 92 insertions, 53 deletions
diff --git a/jumpmanjr.dasm b/jumpmanjr.dasm
index 683790d..df9807d 100644
--- a/jumpmanjr.dasm
+++ b/jumpmanjr.dasm
@@ -1,5 +1,5 @@
; da65 V2.15 - Git 104f898
-; Created: 2016-09-02 03:47:10
+; Created: 2016-09-02 05:02:31
; Input file: jumpmanjr.rom
; Page: 1
@@ -4028,7 +4028,7 @@ sh_ladder:
.byte $02,$02,$02,$02,$02,$02,$02,$02 ; 9C77 02 02 02 02 02 02 02 02 ........
.byte $00,$03,$02,$02,$02,$06,$03,$02 ; 9C7F 00 03 02 02 02 06 03 02 ........
.byte $02,$FF ; 9C87 02 FF ..
-; dunno what this is yet
+; dunno, solid black shape
sh_9c89:.byte $02,$00,$00,$00,$00,$02,$06,$00 ; 9C89 02 00 00 00 00 02 06 00 ........
.byte $00,$00,$02,$00,$01,$00,$00,$02 ; 9C91 00 00 02 00 01 00 00 02 ........
.byte $06,$01,$00,$00,$08,$00,$02,$00 ; 9C99 06 01 00 00 08 00 02 00 ........
@@ -4046,7 +4046,7 @@ sh_down_rope:
.byte $01,$00,$00,$02,$01,$00,$01,$02 ; 9CDA 01 00 00 02 01 00 01 02 ........
.byte $01,$01,$02,$02,$01,$01,$03,$02 ; 9CE2 01 01 02 02 01 01 03 02 ........
.byte $FF ; 9CEA FF .
-; dunno what this is yet
+; dunno, solid black shape
sh_9ceb:.byte $02,$00,$00,$00,$00,$02,$00,$01 ; 9CEB 02 00 00 00 00 02 00 01 ........
.byte $00,$00,$02,$00,$02,$00,$00,$02 ; 9CF3 00 00 02 00 02 00 00 02 ........
.byte $00,$03,$00,$00,$FF ; 9CFB 00 03 00 00 FF .....
@@ -4708,16 +4708,16 @@ level06_desc:
; ----------------------------------------------------------------------------
; a subroutine
level06_sub0:
- .addr LAA3A ; A142 3A AA :.
+ .addr walls_sub0 ; A142 3A AA :.
; a subroutine
level06_sub1:
- .addr LAA35 ; A144 35 AA 5.
+ .addr walls_sub1 ; A144 35 AA 5.
; a subroutine
level06_sub2:
- .addr LAA55 ; A146 55 AA U.
+ .addr walls_sub2 ; A146 55 AA U.
; a subroutine
level06_sub3:
- .addr LAABC ; A148 BC AA ..
+ .addr walls_sub3 ; A148 BC AA ..
; ----------------------------------------------------------------------------
; number of bombs to pick up on this level
level06_num_bombs:
@@ -4771,10 +4771,10 @@ level06_indirect_subs:
; ----------------------------------------------------------------------------
; called when a bomb is picked up. $06E6 for most levels (just an RTS), or else a ROM subroutine
level06_sub_bomb:
- .addr LAA73 ; A160 73 AA s.
+ .addr walls_bomb_sub ; A160 73 AA s.
; called at start of level, $06E6 for some levels, or else a ROM subroutine
level06_sub_start:
- .addr LA9C6 ; A162 C6 A9 ..
+ .addr walls_init ; A162 C6 A9 ..
; always $9740 aka game_main_loop
level06_sub6:
.addr game_main_loop ; A164 40 97 @.
@@ -5949,7 +5949,7 @@ LA8EF: tya ; A8EF 98
jmp LA845 ; A8FA 4C 45 A8 LE.
; ----------------------------------------------------------------------------
-; dunno, referenced by routine at $A8D4
+; dunno, referenced hellstones_sub0
data_table_a8fd:
.byte $00,$02,$02,$02,$02,$02,$02,$00 ; A8FD 00 02 02 02 02 02 02 00 ........
LA905: .byte $FE,$FE,$FE,$00,$00,$02,$02,$02 ; A905 FE FE FE 00 00 02 02 02 ........
@@ -5984,7 +5984,8 @@ l06_bombs:
l06_bombs_term:
.byte $FF ; A9C5 FF .
; ----------------------------------------------------------------------------
-LA9C6: jsr L8036 ; A9C6 20 36 80 6.
+walls_init:
+ 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.
@@ -6042,14 +6043,16 @@ LAA2D: tax ; AA2D AA
rts ; AA34 60 `
; ----------------------------------------------------------------------------
-LAA35: lda $0622 ; AA35 AD 22 06 .".
+walls_sub1:
+ lda $0622 ; AA35 AD 22 06 .".
bne LAA3B ; AA38 D0 01 ..
-LAA3A: rts ; AA3A 60 `
+walls_sub0:
+ rts ; AA3A 60 `
; ----------------------------------------------------------------------------
LAA3B: ldx #$05 ; AA3B A2 05 ..
LAA3D: dex ; AA3D CA .
- beq LAA3A ; AA3E F0 FA ..
+ beq walls_sub0 ; AA3E F0 FA ..
lda $0773,x ; AA40 BD 73 07 .s.
beq LAA3D ; AA43 F0 F8 ..
lda $0777,x ; AA45 BD 77 07 .w.
@@ -6060,11 +6063,12 @@ LAA3D: dex ; AA3D CA
jmp LAA3D ; AA52 4C 3D AA L=.
; ----------------------------------------------------------------------------
-LAA55: lda $0622 ; AA55 AD 22 06 .".
- beq LAA3A ; AA58 F0 E0 ..
+walls_sub2:
+ lda $0622 ; AA55 AD 22 06 .".
+ beq walls_sub0 ; AA58 F0 E0 ..
ldx #$05 ; AA5A A2 05 ..
LAA5C: dex ; AA5C CA .
- beq LAA3A ; AA5D F0 DB ..
+ beq walls_sub0 ; AA5D F0 DB ..
lda collision_save+7,x ; AA5F BD B7 06 ...
and #$01 ; AA62 29 01 ).
beq LAA5C ; AA64 F0 F6 ..
@@ -6075,7 +6079,9 @@ LAA5C: dex ; AA5C CA
jmp LAA5C ; AA70 4C 5C AA L\.
; ----------------------------------------------------------------------------
-LAA73: inc $0764 ; AA73 EE 64 07 .d.
+; toggles the center rope between up and down ropes
+walls_bomb_sub:
+ inc $0764 ; AA73 EE 64 07 .d.
lda $0764 ; AA76 AD 64 07 .d.
and #$01 ; AA79 29 01 ).
beq LAA82 ; AA7B F0 05 ..
@@ -6091,18 +6097,19 @@ LAA84: sta dm_progctr ; AA84 85 C0
jmp LAA25 ; AA8D 4C 25 AA L%.
; ----------------------------------------------------------------------------
-; dunno what this is for yet
-map_aa90:
+; map data for center down-rope, referenced by walls_bomb_sub
+walls_down_rope:
.byte $FE,$EB,$9C,$FD,$00,$04,$50,$00 ; AA90 FE EB 9C FD 00 04 50 00 ......P.
.byte $0C,$FE,$33,$9C,$4E,$05,$01,$FE ; AA98 0C FE 33 9C 4E 05 01 FE ..3.N...
.byte $DA,$9C,$50,$00,$0C,$FF ; AAA0 DA 9C 50 00 0C FF ..P...
-; referenced by routine at $AA82
-map_aaa6:
+; map data for center up-rope, referenced walls_bomb_sub
+walls_up_rope:
.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: lda $062A ; AABC AD 2A 06 .*.
+walls_sub3:
+ lda $062A ; AABC AD 2A 06 .*.
sta COLOR3 ; AABF 8D C7 02 ...
rts ; AAC2 60 `
@@ -6112,8 +6119,8 @@ LAABC: lda $062A ; AABC AD 2A 06
rts ; AAC7 60 `
; ----------------------------------------------------------------------------
-; dunno what this is for yet
-map_aac8:
+; non-map data, dunno what for. grouped with the level 5 stuff, but doesn't seem to be used by level 5
+data_aac8:
.byte $00,$09,$40,$45,$02,$58,$45,$02 ; AAC8 00 09 40 45 02 58 45 02 ..@E.XE.
; level map data starts here
l05_map:.byte $FE,$33,$9C,$FD,$04,$00,$04,$05 ; AAD0 FE 33 9C FD 04 00 04 05 .3......
@@ -6685,22 +6692,32 @@ LB292: inc bullet_y_delta+3 ; B292 EE 61 07
lda bullet_y_delta+3 ; B295 AD 61 07 .a.
and #$07 ; B298 29 07 ).
tax ; B29A AA .
- lda LB2D0,x ; B29B BD D0 B2 ...
+ lda portal_x,x ; B29B BD D0 B2 ...
sta $0680 ; B29E 8D 80 06 ...
- lda LB2D8,x ; B2A1 BD D8 B2 ...
+ lda portal_y,x ; B2A1 BD D8 B2 ...
sta $0685 ; B2A4 8D 85 06 ...
rts ; B2A7 60 `
; ----------------------------------------------------------------------------
-; dunno what this is for yet
-data_table_b2a8:
+; portal animation frames
+herethere_sprite0:
.byte $00,$00,$00,$18,$18,$18,$18,$00 ; B2A8 00 00 00 18 18 18 18 00 ........
- .byte $00,$00,$00,$00,$3C,$24,$24,$24 ; B2B0 00 00 00 00 3C 24 24 24 ....<$$$
- .byte $24,$3C,$00,$00,$00,$7E,$42,$42 ; B2B8 24 3C 00 00 00 7E 42 42 $<...~BB
- .byte $42,$42,$42,$42,$7E,$00,$FF,$81 ; B2C0 42 42 42 42 7E 00 FF 81 BBBB~...
- .byte $81,$81,$81,$81,$81,$81,$81,$FF ; B2C8 81 81 81 81 81 81 81 FF ........
-LB2D0: .byte $A4,$4C,$52,$70,$86,$86,$A4,$82 ; B2D0 A4 4C 52 70 86 86 A4 82 .LRp....
-LB2D8: .byte $20,$20,$98,$C0,$B4,$80,$68,$40 ; B2D8 20 20 98 C0 B4 80 68 40 ....h@
+ .byte $00,$00 ; B2B0 00 00 ..
+herethere_sprite1:
+ .byte $00,$00,$3C,$24,$24,$24,$24,$3C ; B2B2 00 00 3C 24 24 24 24 3C ..<$$$$<
+ .byte $00,$00 ; B2BA 00 00 ..
+herethere_sprite2:
+ .byte $00,$7E,$42,$42,$42,$42,$42,$42 ; B2BC 00 7E 42 42 42 42 42 42 .~BBBBBB
+ .byte $7E,$00 ; B2C4 7E 00 ~.
+herethere_sprite3:
+ .byte $FF,$81,$81,$81,$81,$81,$81,$81 ; B2C6 FF 81 81 81 81 81 81 81 ........
+ .byte $81,$FF ; B2CE 81 FF ..
+; herethere portal X positions
+portal_x:
+ .byte $A4,$4C,$52,$70,$86,$86,$A4,$82 ; B2D0 A4 4C 52 70 86 86 A4 82 .LRp....
+; herethere portal Y positions
+portal_y:
+ .byte $20,$20,$98,$C0,$B4,$80,$68,$40 ; B2D8 20 20 98 C0 B4 80 68 40 ....h@
; ----------------------------------------------------------------------------
herethere_sub3:
lda $0619 ; B2E0 AD 19 06 ...
@@ -6730,8 +6747,8 @@ herethere_bomb_sub:
rts ; B318 60 `
; ----------------------------------------------------------------------------
-; referenced by routine at $B2FD
-sxf_b319:
+; referenced by herethere_bomb_sub
+sxf_teleport:
.byte $01,$86,$00,$0A,$20,$00,$00 ; B319 01 86 00 0A 20 00 00 .... ..
l11_map:.byte $FE,$33,$9C,$FD,$04,$00,$04,$05 ; B320 FE 33 9C FD 04 00 04 05 .3......
.byte $08,$2C,$07,$15,$84,$05,$06,$1C ; B328 08 2C 07 15 84 05 06 1C .,......
diff --git a/jumpmanjr.info b/jumpmanjr.info
index da90ca8..3410567 100644
--- a/jumpmanjr.info
+++ b/jumpmanjr.info
@@ -344,11 +344,17 @@ range { name "l05_bombs"; start $ab6d; end $ab88; type bytetable; };
range { name "l05_bombs_term"; start $ab89; end $ab89; type bytetable; };
range { name "l05_map_changes"; start $ab8a; end $ac5f; type bytetable; };
-range { name "data_table_a8fd"; start $a8fd; end $a91f; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
+range { name "data_table_a8fd"; start $a8fd; end $a91f; type bytetable; comment "dunno, referenced hellstones_sub0"; };
range { name "l06_map"; start $a920; end $a973; type bytetable; };
range { name "l06_map_bombs"; start $a974; end $a9a4; type bytetable; };
range { name "l06_bombs"; start $a9a5; end $a9c4; type bytetable; };
range { name "l06_bombs_term"; start $a9c5; end $a9c5; type bytetable; };
+label { name "walls_bomb_sub"; addr $AA73; comment "toggles the center rope between up and down ropes"; };
+label { name "walls_init"; addr $A9C6; };
+label { name "walls_sub0"; addr $AA3A; };
+label { name "walls_sub1"; addr $AA35; };
+label { name "walls_sub2"; addr $AA55; };
+label { name "walls_sub3"; addr $AABC; };
range { name "l07_map"; start $ac60; end $acb9; type bytetable; };
range { name "l07_map_bombs"; start $acba; end $ace4; type bytetable; };
@@ -406,9 +412,9 @@ range { name "l12_bombs_term"; start $b619; end $b619; type bytetable; };
range { name "l12_map_changes"; start $b61a; end $b657; type bytetable; };
range { name "l12_unkn0"; start $b658; end $b690; type bytetable; };
-range { name "map_aa90"; start $aa90; end $aabb; type bytetable; comment "dunno what this is for yet"; };
-range { name "map_aac8"; start $aac8; end $aacf; type bytetable; comment "dunno what this is for yet"; };
-label { name "map_aaa6"; addr $aaa6; comment "referenced by routine at $AA82"; };
+range { name "walls_down_rope"; start $aa90; end $aabb; type bytetable; comment "map data for center down-rope, referenced by walls_bomb_sub"; };
+range { name "data_aac8"; start $aac8; end $aacf; type bytetable; comment "non-map data, dunno what for. grouped with the level 5 stuff, but doesn't seem to be used by level 5"; };
+label { name "walls_up_rope"; addr $aaa6; comment "map data for center up-rope, referenced walls_bomb_sub"; };
range { name "data_table_aea4"; start $aea4; end $af0f; type bytetable; comment "dunno"; };
range { name "sfx_letter_bonus"; start $AFCB; end $afff; type bytetable; comment "played once per correct letter at end of level08 (spellbound)"; };
label { name "cue_letter_sfx"; addr $AFB9; comment "play sfx_letter_bonus"; };
@@ -432,14 +438,19 @@ range { name "level_gfx"; start $9C21; end $9cff; type bytetable; comment "defin
label { name "sh_girder"; addr $9C33; comment "3 rows of pixels. 1st: 04 = 4 pixels wide, 00 00 = no X/Y offset, 01 01 01 01 = actual pixel data (4 color0 pixels). see level_maps.txt"; };
label { name "sh_blank_4x4"; addr $9C49; };
label { name "sh_ladder"; addr $9C5F; };
-label { name "sh_9c89"; addr $9c89; comment "dunno what this is yet"; };
+label { name "sh_9c89"; addr $9c89; comment "dunno, solid black shape"; };
label { name "sh_bomb"; addr $9cb3; };
label { name "sh_up_rope"; addr $9cc9; };
label { name "sh_down_rope"; addr $9cda; };
-label { name "sh_9ceb"; addr $9ceb; comment "dunno what this is yet"; };
+label { name "sh_9ceb"; addr $9ceb; comment "dunno, solid black shape"; };
range { name "sprite_table"; start $9d00; end $9dff; type bytetable; comment "jumpman's animation frames and other sprites, seem to be 10 bytes per sprite"; };
-range { name "sxf_b319"; start $b319; end $b31f; type bytetable; comment "referenced by routine at $B2FD"; };
-range { name "data_table_b2a8"; start $b2a8; end $B2df; type bytetable; comment "dunno what this is for yet"; };
+range { name "sxf_teleport"; start $b319; end $b31f; type bytetable; comment "referenced by herethere_bomb_sub"; };
+range { name "herethere_sprite0"; start $b2a8; end $B2b1; type bytetable; comment "portal animation frames"; };
+range { name "herethere_sprite1"; start $b2b2; end $b2bb; type bytetable; };
+range { name "herethere_sprite2"; start $b2bc; end $b2c5; type bytetable; };
+range { name "herethere_sprite3"; start $b2c6; end $B2cf; type bytetable; };
+range { name "portal_x"; start $B2D0; end $B2d7; type bytetable; comment "herethere portal X positions"; };
+range { name "portal_y"; start $B2D8; end $B2df; type bytetable; comment "herethere portal Y positions"; };
range { name "hatch_table_b50b"; start $b50b; end $B57b; type bytetable; comment "dunno what this is for yet"; };
range { name "scores_screen_dlist"; start $8C52; end $8C67; type bytetable; comment "a GR.2-ish DL, with DLIs, screen mem at $3000, for player scores screen"; };
label { name "reyalp_msg_minus_one"; addr $8c67; };
diff --git a/main.info b/main.info
index 9001d00..a89fe77 100644
--- a/main.info
+++ b/main.info
@@ -342,11 +342,17 @@ range { name "l05_bombs"; start $ab6d; end $ab88; type bytetable; };
range { name "l05_bombs_term"; start $ab89; end $ab89; type bytetable; };
range { name "l05_map_changes"; start $ab8a; end $ac5f; type bytetable; };
-range { name "data_table_a8fd"; start $a8fd; end $a91f; type bytetable; comment "dunno, referenced by routine at $A8D4"; };
+range { name "data_table_a8fd"; start $a8fd; end $a91f; type bytetable; comment "dunno, referenced hellstones_sub0"; };
range { name "l06_map"; start $a920; end $a973; type bytetable; };
range { name "l06_map_bombs"; start $a974; end $a9a4; type bytetable; };
range { name "l06_bombs"; start $a9a5; end $a9c4; type bytetable; };
range { name "l06_bombs_term"; start $a9c5; end $a9c5; type bytetable; };
+label { name "walls_bomb_sub"; addr $AA73; comment "toggles the center rope between up and down ropes"; };
+label { name "walls_init"; addr $A9C6; };
+label { name "walls_sub0"; addr $AA3A; };
+label { name "walls_sub1"; addr $AA35; };
+label { name "walls_sub2"; addr $AA55; };
+label { name "walls_sub3"; addr $AABC; };
range { name "l07_map"; start $ac60; end $acb9; type bytetable; };
range { name "l07_map_bombs"; start $acba; end $ace4; type bytetable; };
@@ -404,9 +410,9 @@ range { name "l12_bombs_term"; start $b619; end $b619; type bytetable; };
range { name "l12_map_changes"; start $b61a; end $b657; type bytetable; };
range { name "l12_unkn0"; start $b658; end $b690; type bytetable; };
-range { name "map_aa90"; start $aa90; end $aabb; type bytetable; comment "dunno what this is for yet"; };
-range { name "map_aac8"; start $aac8; end $aacf; type bytetable; comment "dunno what this is for yet"; };
-label { name "map_aaa6"; addr $aaa6; comment "referenced by routine at $AA82"; };
+range { name "walls_down_rope"; start $aa90; end $aabb; type bytetable; comment "map data for center down-rope, referenced by walls_bomb_sub"; };
+range { name "data_aac8"; start $aac8; end $aacf; type bytetable; comment "non-map data, dunno what for. grouped with the level 5 stuff, but doesn't seem to be used by level 5"; };
+label { name "walls_up_rope"; addr $aaa6; comment "map data for center up-rope, referenced walls_bomb_sub"; };
range { name "data_table_aea4"; start $aea4; end $af0f; type bytetable; comment "dunno"; };
range { name "sfx_letter_bonus"; start $AFCB; end $afff; type bytetable; comment "played once per correct letter at end of level08 (spellbound)"; };
label { name "cue_letter_sfx"; addr $AFB9; comment "play sfx_letter_bonus"; };
@@ -430,14 +436,19 @@ range { name "level_gfx"; start $9C21; end $9cff; type bytetable; comment "defin
label { name "sh_girder"; addr $9C33; comment "3 rows of pixels. 1st: 04 = 4 pixels wide, 00 00 = no X/Y offset, 01 01 01 01 = actual pixel data (4 color0 pixels). see level_maps.txt"; };
label { name "sh_blank_4x4"; addr $9C49; };
label { name "sh_ladder"; addr $9C5F; };
-label { name "sh_9c89"; addr $9c89; comment "dunno what this is yet"; };
+label { name "sh_9c89"; addr $9c89; comment "dunno, solid black shape"; };
label { name "sh_bomb"; addr $9cb3; };
label { name "sh_up_rope"; addr $9cc9; };
label { name "sh_down_rope"; addr $9cda; };
-label { name "sh_9ceb"; addr $9ceb; comment "dunno what this is yet"; };
+label { name "sh_9ceb"; addr $9ceb; comment "dunno, solid black shape"; };
range { name "sprite_table"; start $9d00; end $9dff; type bytetable; comment "jumpman's animation frames and other sprites, seem to be 10 bytes per sprite"; };
-range { name "sxf_b319"; start $b319; end $b31f; type bytetable; comment "referenced by routine at $B2FD"; };
-range { name "data_table_b2a8"; start $b2a8; end $B2df; type bytetable; comment "dunno what this is for yet"; };
+range { name "sxf_teleport"; start $b319; end $b31f; type bytetable; comment "referenced by herethere_bomb_sub"; };
+range { name "herethere_sprite0"; start $b2a8; end $B2b1; type bytetable; comment "portal animation frames"; };
+range { name "herethere_sprite1"; start $b2b2; end $b2bb; type bytetable; };
+range { name "herethere_sprite2"; start $b2bc; end $b2c5; type bytetable; };
+range { name "herethere_sprite3"; start $b2c6; end $B2cf; type bytetable; };
+range { name "portal_x"; start $B2D0; end $B2d7; type bytetable; comment "herethere portal X positions"; };
+range { name "portal_y"; start $B2D8; end $B2df; type bytetable; comment "herethere portal Y positions"; };
range { name "hatch_table_b50b"; start $b50b; end $B57b; type bytetable; comment "dunno what this is for yet"; };
range { name "scores_screen_dlist"; start $8C52; end $8C67; type bytetable; comment "a GR.2-ish DL, with DLIs, screen mem at $3000, for player scores screen"; };
label { name "reyalp_msg_minus_one"; addr $8c67; };