diff --git a/art/animations.asm b/art/animations.asm index 5a02205..a488ac7 100644 --- a/art/animations.asm +++ b/art/animations.asm @@ -97,6 +97,7 @@ mva #>font_game_lower_right LowCharsetBase mwa #last_line_r lastline_addr mwa #gamescreen_r_ph2p1 animation_addr + jsr SetPMr2 WaitForSync mwa #gamescreen_r_ph2p2 animation_addr WaitForSync @@ -107,6 +108,7 @@ WaitForSync mwa #gamescreen_r_ph3p1 animation_addr WaitForSync + jsr SetPMr3 jsr branches_go_down mwa #gamescreen_r_ph3p2 animation_addr WaitForSync @@ -122,7 +124,10 @@ jsr branches_go_down mwa #gamescreen_r_ph2p1 animation_addr WaitForSync + jsr SetPMr2 mwa #gamescreen_r_ph1p1 animation_addr + WaitForSync + jsr SetPMr1 mva #1 LumberjackDir ; right side rts .endp @@ -133,6 +138,7 @@ AnimationR2 = AnimationR1 mva #>font_game_lower_left LowCharsetBase mwa #last_line_l lastline_addr mwa #gamescreen_l_ph2p1 animation_addr + jsr SetPMl2 WaitForSync mwa #gamescreen_l_ph2p2 animation_addr WaitForSync @@ -143,6 +149,7 @@ AnimationR2 = AnimationR1 WaitForSync mwa #gamescreen_l_ph3p1 animation_addr WaitForSync + jsr SetPMl3 jsr branches_go_down mwa #gamescreen_l_ph3p2 animation_addr WaitForSync @@ -158,7 +165,10 @@ AnimationR2 = AnimationR1 jsr branches_go_down mwa #gamescreen_l_ph2p1 animation_addr WaitForSync + jsr SetPMl2 mwa #gamescreen_l_ph1p1 animation_addr + WaitForSync + jsr SetPMl1 mva #2 LumberjackDir ; left side rts .endp @@ -169,6 +179,7 @@ AnimationL2 = AnimationL1 mva #>font_game_lower_right LowCharsetBase mwa #last_line_r lastline_addr mwa #gamescreen_r_ph2p5 animation_addr + jsr SetPMr2 WaitForSync mwa #gamescreen_r_ph2p6 animation_addr WaitForSync @@ -179,6 +190,7 @@ AnimationL2 = AnimationL1 WaitForSync mwa #gamescreen_r_ph3p6 animation_addr WaitForSync + jsr SetPMr3 jsr branches_go_down mwa #gamescreen_r_ph3p2 animation_addr WaitForSync @@ -194,7 +206,10 @@ AnimationL2 = AnimationL1 jsr branches_go_down mwa #gamescreen_r_ph2p1 animation_addr WaitForSync + jsr SetPMr2 mwa #gamescreen_r_ph1p1 animation_addr + WaitForSync + jsr SetPMr1 mva #1 LumberjackDir ; right side rts .endp @@ -204,6 +219,7 @@ AnimationL2 = AnimationL1 mva #>font_game_lower_left LowCharsetBase mwa #last_line_l lastline_addr mwa #gamescreen_l_ph2p5 animation_addr + jsr SetPMl2 WaitForSync mwa #gamescreen_l_ph2p6 animation_addr WaitForSync @@ -214,6 +230,7 @@ AnimationL2 = AnimationL1 WaitForSync mwa #gamescreen_l_ph3p6 animation_addr WaitForSync + jsr SetPMl3 jsr branches_go_down mwa #gamescreen_l_ph3p2 animation_addr WaitForSync @@ -229,7 +246,10 @@ AnimationL2 = AnimationL1 jsr branches_go_down mwa #gamescreen_l_ph2p1 animation_addr WaitForSync + jsr SetPMl2 mwa #gamescreen_l_ph1p1 animation_addr + WaitForSync + jsr SetPMl1 mva #2 LumberjackDir ; left side rts .endp @@ -239,6 +259,7 @@ AnimationL2 = AnimationL1 mva #>font_game_lower_right LowCharsetBase mwa #last_line_r lastline_addr mwa #gamescreen_r_ph2p1 animation_addr + jsr SetPMr2 WaitForSync mwa #gamescreen_r_ph2p2 animation_addr WaitForSync @@ -249,6 +270,7 @@ AnimationL2 = AnimationL1 WaitForSync mwa #gamescreen_r_ph3p1 animation_addr WaitForSync + jsr SetPMr3 jsr branches_go_down mwa #gamescreen_r_ph3p11 animation_addr WaitForSync @@ -263,6 +285,8 @@ AnimationL2 = AnimationL1 WaitForSync jsr branches_go_down mwa #gamescreen_r_ph1p1 animation_addr + WaitForSync + jsr SetPMr1 mva #1 LumberjackDir ; right side (kill) rts .endp @@ -273,6 +297,7 @@ AnimationR5 = AnimationR4 mva #>font_game_lower_left LowCharsetBase mwa #last_line_l lastline_addr mwa #gamescreen_l_ph2p1 animation_addr + jsr SetPMl2 WaitForSync mwa #gamescreen_l_ph2p2 animation_addr WaitForSync @@ -283,6 +308,7 @@ AnimationR5 = AnimationR4 WaitForSync mwa #gamescreen_l_ph3p1 animation_addr WaitForSync + jsr SetPMl3 jsr branches_go_down mwa #gamescreen_l_ph3p11 animation_addr WaitForSync @@ -297,6 +323,8 @@ AnimationR5 = AnimationR4 WaitForSync jsr branches_go_down mwa #gamescreen_l_ph1p1 animation_addr + WaitForSync + jsr SetPMl1 mva #2 LumberjackDir ; left side (kill) rts .endp @@ -307,6 +335,7 @@ AnimationL5 = AnimationL4 mva #>font_game_lower_right LowCharsetBase mwa #last_line_r lastline_addr mwa #gamescreen_r_ph2p5 animation_addr + jsr SetPMr2 WaitForSync mwa #gamescreen_r_ph2p6 animation_addr WaitForSync @@ -317,6 +346,7 @@ AnimationL5 = AnimationL4 WaitForSync mwa #gamescreen_r_ph3p6 animation_addr WaitForSync + jsr SetPMr3 jsr branches_go_down mwa #gamescreen_r_ph3p11 animation_addr WaitForSync @@ -331,6 +361,8 @@ AnimationL5 = AnimationL4 WaitForSync jsr branches_go_down mwa #gamescreen_r_ph1p1 animation_addr + WaitForSync + jsr SetPMr1 mva #1 LumberjackDir ; right side (kill) rts .endp @@ -340,6 +372,7 @@ AnimationL5 = AnimationL4 mva #>font_game_lower_left LowCharsetBase mwa #last_line_l lastline_addr mwa #gamescreen_l_ph2p5 animation_addr + jsr SetPMl2 WaitForSync mwa #gamescreen_l_ph2p6 animation_addr WaitForSync @@ -350,6 +383,7 @@ AnimationL5 = AnimationL4 WaitForSync mwa #gamescreen_l_ph3p6 animation_addr WaitForSync + jsr SetPMl3 jsr branches_go_down mwa #gamescreen_l_ph3p11 animation_addr WaitForSync @@ -364,6 +398,8 @@ AnimationL5 = AnimationL4 WaitForSync jsr branches_go_down mwa #gamescreen_l_ph1p1 animation_addr + WaitForSync + jsr SetPMl1 mva #2 LumberjackDir ; left side (kill) rts .endp @@ -372,9 +408,8 @@ AnimationL5 = AnimationL4 ;-------------------------------------------------- mva #>font_game_lower_right LowCharsetBase mwa #last_line_r lastline_addr - mwa #gamescreen_r_ph2p1 animation_addr - WaitForSync mwa #gamescreen_r_ph2p2 animation_addr + jsr SetPMr2 WaitForSync mwa #gamescreen_r_ph2p3 animation_addr WaitForSync @@ -383,6 +418,7 @@ AnimationL5 = AnimationL4 WaitForSync mwa #gamescreen_r_ph3p1 animation_addr WaitForSync + jsr SetPMr3 jsr branches_go_down mwa #gamescreen_r_ph3p7 animation_addr WaitForSync @@ -398,7 +434,10 @@ AnimationL5 = AnimationL4 jsr branches_go_down mwa #gamescreen_r_ph2p5 animation_addr WaitForSync + jsr SetPMr2 mwa #gamescreen_r_ph1p2 animation_addr + WaitForSync + jsr SetPMr1 mva #1 LumberjackDir ; right side rts .endp @@ -408,9 +447,8 @@ AnimationR8 = AnimationR7 ;-------------------------------------------------- mva #>font_game_lower_left LowCharsetBase mwa #last_line_l lastline_addr - mwa #gamescreen_l_ph2p1 animation_addr - WaitForSync mwa #gamescreen_l_ph2p2 animation_addr + jsr SetPMl2 WaitForSync mwa #gamescreen_l_ph2p3 animation_addr WaitForSync @@ -419,6 +457,7 @@ AnimationR8 = AnimationR7 WaitForSync mwa #gamescreen_l_ph3p1 animation_addr WaitForSync + jsr SetPMl3 jsr branches_go_down mwa #gamescreen_l_ph3p7 animation_addr WaitForSync @@ -434,7 +473,10 @@ AnimationR8 = AnimationR7 jsr branches_go_down mwa #gamescreen_l_ph2p5 animation_addr WaitForSync + jsr SetPMl2 mwa #gamescreen_l_ph1p2 animation_addr + WaitForSync + jsr SetPMl1 mva #2 LumberjackDir ; left side rts .endp @@ -445,6 +487,7 @@ AnimationL8 = AnimationL7 mva #>font_game_lower_right LowCharsetBase mwa #last_line_r lastline_addr mwa #gamescreen_r_ph2p5 animation_addr + jsr SetPMr2 WaitForSync mwa #gamescreen_r_ph2p6 animation_addr WaitForSync @@ -455,6 +498,7 @@ AnimationL8 = AnimationL7 WaitForSync mwa #gamescreen_r_ph3p6 animation_addr WaitForSync + jsr SetPMr3 jsr branches_go_down mwa #gamescreen_r_ph3p7 animation_addr WaitForSync @@ -470,7 +514,10 @@ AnimationL8 = AnimationL7 jsr branches_go_down mwa #gamescreen_r_ph2p5 animation_addr WaitForSync + jsr SetPMr2 mwa #gamescreen_r_ph1p2 animation_addr + WaitForSync + jsr SetPMr1 mva #1 LumberjackDir ; right side rts .endp @@ -480,6 +527,7 @@ AnimationL8 = AnimationL7 mva #>font_game_lower_left LowCharsetBase mwa #last_line_l lastline_addr mwa #gamescreen_l_ph2p5 animation_addr + jsr SetPMl2 WaitForSync mwa #gamescreen_l_ph2p6 animation_addr WaitForSync @@ -490,6 +538,7 @@ AnimationL8 = AnimationL7 WaitForSync mwa #gamescreen_l_ph3p6 animation_addr WaitForSync + jsr SetPMl3 jsr branches_go_down mwa #gamescreen_l_ph3p7 animation_addr WaitForSync @@ -505,7 +554,10 @@ AnimationL8 = AnimationL7 jsr branches_go_down mwa #gamescreen_l_ph2p5 animation_addr WaitForSync + jsr SetPMl2 mwa #gamescreen_l_ph1p2 animation_addr + WaitForSync + jsr SetPMl1 mva #2 LumberjackDir ; left side rts .endp diff --git a/lumber.asm b/lumber.asm index 51ab4b2..9aa88d3 100644 --- a/lumber.asm +++ b/lumber.asm @@ -279,7 +279,7 @@ EndOfStartScreen */ sta dmactls mva #%00000011 GRACTL mva #>font_game_upper CHBAS - jsr SetPMr + jsr SetPMr1 pause 5 mva #0 StateFlag rts @@ -352,7 +352,7 @@ no_r_branch */ jsr ScoreUp jsr PowerUp - jsr SetPMr + jsr SetPMr1 lda branches_list+4 ; check branch over beq no_brancho_r ; branch over lumberjack @@ -407,7 +407,7 @@ no_l_branch */ jsr ScoreUp jsr PowerUp - jsr SetPMl + jsr SetPMl1 lda branches_list+4 ; check branch over beq no_brancho_l ; branch over lumberjack @@ -529,7 +529,7 @@ leftbranch cmp #1 beq right_side left_side - jsr SetPMl + jsr SetPMl1 mva #>font_game_lower_left LowCharsetBase mwa #last_line_l lastline_addr lda branches_list+5 @@ -541,7 +541,7 @@ no_branch_r mwa #gamescreen_l_ph1p1 animation_addr rts right_side - jsr SetPMr + jsr SetPMr1 mva #>font_game_lower_right LowCharsetBase mwa #last_line_r lastline_addr lda branches_list+5 @@ -626,7 +626,7 @@ no_branch_l jsr RASTERMUSICTRACKER ;Init */ jsr PrepareLevelPM - jsr SetPMr + jsr SetPMr1 mwa #gamescreen_r_ph1p1 animation_addr lda #@dmactl(narrow|dma|missiles|players|lineX2) ; narrow screen width, DL on, P/M on (2lines) sta dmactls @@ -753,7 +753,7 @@ HoffsetP1=103 datalinesP1=5 .endp ;-------------------------------------------------- -.proc SetPMl +.proc SetPMl1 ;-------------------------------------------------- mva #$4f HPOSP2 sta HPOSP3 @@ -766,7 +766,7 @@ datalinesP1=5 rts .endp ;-------------------------------------------------- -.proc SetPMr +.proc SetPMr1 ;-------------------------------------------------- mva #$9f HPOSP2 sta HPOSP3 @@ -779,6 +779,58 @@ datalinesP1=5 rts .endp ;-------------------------------------------------- +.proc SetPMl2 +;-------------------------------------------------- + mva #$4f HPOSP2 + sta HPOSP3 + mva #$5f HPOSM2 + sta HPOSM3 + mva #$e0 HPOSP0 ; hide + mva #$55 HPOSM0 + mva #$e0 HPOSM1 ; hide + mva #$50 HPOSP1 + rts +.endp +;-------------------------------------------------- +.proc SetPMr2 +;-------------------------------------------------- + mva #$9f HPOSP2 + sta HPOSP3 + mva #$af HPOSM2 + sta HPOSM3 + mva #$e0 HPOSP0 ; hide + mva #$a3 HPOSM0 + mva #$e0 HPOSM1 ; hide + mva #$a2 HPOSP1 + rts +.endp +;-------------------------------------------------- +.proc SetPMl3 +;-------------------------------------------------- + mva #$4f HPOSP2 + sta HPOSP3 + mva #$5f HPOSM2 + sta HPOSM3 + mva #$e0 HPOSP0 ; hide + mva #$54 HPOSM0 + mva #$56 HPOSM1 + mva #$5b HPOSP1 + rts +.endp +;-------------------------------------------------- +.proc SetPMr3 +;-------------------------------------------------- + mva #$9f HPOSP2 + sta HPOSP3 + mva #$af HPOSM2 + sta HPOSM3 + mva #$e0 HPOSP0 ; hide + mva #$a4 HPOSM0 + mva #$a4 HPOSM1 + mva #$97 HPOSP1 + rts +.endp +;-------------------------------------------------- .proc RmtSongSelect ; starting song line 0-255 to A reg ;-------------------------------------------------- diff --git a/lumber.xex b/lumber.xex index 9e25761..34d345a 100644 Binary files a/lumber.xex and b/lumber.xex differ