mirror of
https://github.com/Pecusx/Young-lumberjack.git
synced 2026-05-20 22:33:54 +02:00
463 lines
12 KiB
NASM
463 lines
12 KiB
NASM
;---------------------------------------------------
|
|
; Animation sequence:
|
|
; v1 - if no branches
|
|
; v2 - if the branch under (due to change of sides) the lumberjack and none above - (now v1)
|
|
;
|
|
; - (last position)
|
|
; - phase 2 page 1
|
|
; - phase 2 page 2
|
|
; - phase 3 page 1
|
|
; - phase 3 page 2
|
|
; - phase 2 page 3
|
|
; - phase 2 page 4
|
|
; - phase 1 page 1 (new position)
|
|
;
|
|
; v3 - if the branch opposite the lumberjack and no branch above - (now v1)
|
|
;
|
|
; - (last position)
|
|
; - phase 2 page 5
|
|
; - phase 2 page 6
|
|
; - phase 3 page 3
|
|
; - phase 3 page 4
|
|
; - phase 2 page 3
|
|
; - phase 2 page 4
|
|
; - phase 1 page 1 (new position)
|
|
;
|
|
; v4 - if no branch at the level of the lumberjack and branch above (kill)
|
|
; v5 - if the branch under (due to change of sides) the lumberjack and branch above (kill) - (now v4)
|
|
;
|
|
; - (last position)
|
|
; - phase 2 page 1
|
|
; - phase 2 page 11
|
|
; - phase 3 page 9
|
|
; - phase 3 page 10
|
|
; - phase 2 page 12
|
|
; - phase 2 page 13
|
|
; - phase 1 page 1 (new position) - killed
|
|
;
|
|
; v6 - if the branch opposite the lumberjack and branch above (kill) - (now v4)
|
|
;
|
|
; - (last position)
|
|
; - phase 2 page 5
|
|
; - phase 2 page 14
|
|
; - phase 3 page 11
|
|
; - phase 3 page 12
|
|
; - phase 2 page 12
|
|
; - phase 2 page 13
|
|
; - phase 1 page 1 (new position) - killed
|
|
;
|
|
; v7 - if no branch at the level of the lumberjack and branch above on the other side
|
|
; v8 - if the branch under (due to change of sides) the lumberjack and branch above on the other side - (now v7)
|
|
;
|
|
; - (last position)
|
|
; - phase 2 page 1
|
|
; - phase 2 page 7
|
|
; - phase 3 page 5
|
|
; - phase 3 page 6
|
|
; - phase 2 page 8
|
|
; - phase 2 page 9
|
|
; - phase 1 page 2 (new position)
|
|
;
|
|
; v9 - if the branch opposite the lumberjack and branch above on the other side - (now v7)
|
|
;
|
|
; - (last position)
|
|
; - phase 2 page 5
|
|
; - phase 2 page 10
|
|
; - phase 3 page 7
|
|
; - phase 3 page 8
|
|
; - phase 2 page 8
|
|
; - phase 2 page 9
|
|
; - phase 1 page 2 (new position)
|
|
;
|
|
;--------------------------------------------------
|
|
.proc AnimationR1
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_right LowCharsetBase
|
|
mwa #last_line_r lastline_addr
|
|
;mwa #gamescreen_r_ph2p1 animation_addr
|
|
;jsr SetPMr2
|
|
;WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p2 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p1 animation_addr
|
|
jsr SetPMr3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p2 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p3 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p4 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_r_ph1p1 animation_addr
|
|
jsr SetPMr1
|
|
;WaitForSync
|
|
mva #1 LumberjackDir ; right side
|
|
rts
|
|
.endp
|
|
;AnimationR2 = AnimationR1
|
|
;--------------------------------------------------
|
|
.proc AnimationL1
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_left LowCharsetBase
|
|
mwa #last_line_l lastline_addr
|
|
;mwa #gamescreen_l_ph2p1 animation_addr
|
|
;jsr SetPMl2
|
|
;WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p2 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p1 animation_addr
|
|
jsr SetPMl3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p2 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p3 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p4 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_l_ph1p1 animation_addr
|
|
jsr SetPMl1
|
|
;WaitForSync
|
|
mva #2 LumberjackDir ; left side
|
|
rts
|
|
.endp
|
|
/* AnimationL2 = AnimationL1
|
|
;--------------------------------------------------
|
|
.proc AnimationR3
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_right LowCharsetBase
|
|
mwa #last_line_r lastline_addr
|
|
mwa #gamescreen_r_ph2p5 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p6 animation_addr
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p3 animation_addr
|
|
jsr SetPMr3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p4 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p3 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p4 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_r_ph1p1 animation_addr
|
|
jsr SetPMr1
|
|
WaitForSync
|
|
mva #1 LumberjackDir ; right side
|
|
rts
|
|
.endp
|
|
;--------------------------------------------------
|
|
.proc AnimationL3
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_left LowCharsetBase
|
|
mwa #last_line_l lastline_addr
|
|
mwa #gamescreen_l_ph2p5 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p6 animation_addr
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p3 animation_addr
|
|
jsr SetPMl3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p4 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p3 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p4 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_l_ph1p1 animation_addr
|
|
jsr SetPMl1
|
|
WaitForSync
|
|
mva #2 LumberjackDir ; left side
|
|
rts
|
|
.endp */
|
|
;--------------------------------------------------
|
|
.proc AnimationR4
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_right LowCharsetBase
|
|
mwa #last_line_r lastline_addr
|
|
;mwa #gamescreen_r_ph2p1 animation_addr
|
|
;jsr SetPMr2
|
|
;WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p11 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p9 animation_addr
|
|
jsr SetPMr3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p10 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p12 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p13 animation_addr
|
|
;WaitForSync
|
|
mva #1 LumberjackDir ; right side (kill)
|
|
rts
|
|
.endp
|
|
;AnimationR5 = AnimationR4
|
|
;--------------------------------------------------
|
|
.proc AnimationL4
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_left LowCharsetBase
|
|
mwa #last_line_l lastline_addr
|
|
;mwa #gamescreen_l_ph2p1 animation_addr
|
|
;jsr SetPMl2
|
|
;WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p11 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p9 animation_addr
|
|
jsr SetPMl3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p10 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p12 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p13 animation_addr
|
|
;WaitForSync
|
|
mva #2 LumberjackDir ; left side (kill)
|
|
rts
|
|
.endp
|
|
/* AnimationL5 = AnimationL4
|
|
;--------------------------------------------------
|
|
.proc AnimationR6
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_right LowCharsetBase
|
|
mwa #last_line_r lastline_addr
|
|
mwa #gamescreen_r_ph2p5 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p14 animation_addr
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p11 animation_addr
|
|
jsr SetPMr3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p12 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p12 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p13 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_r_ph1p1 animation_addr
|
|
jsr SetPMr1
|
|
WaitForSync
|
|
mva #1 LumberjackDir ; right side (kill)
|
|
rts
|
|
.endp
|
|
;--------------------------------------------------
|
|
.proc AnimationL6
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_left LowCharsetBase
|
|
mwa #last_line_l lastline_addr
|
|
mwa #gamescreen_l_ph2p5 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p14 animation_addr
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p11 animation_addr
|
|
jsr SetPMl3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p12 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p12 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p13 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_l_ph1p1 animation_addr
|
|
jsr SetPMl1
|
|
WaitForSync
|
|
mva #2 LumberjackDir ; left side (kill)
|
|
rts
|
|
.endp */
|
|
;--------------------------------------------------
|
|
.proc AnimationR7
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_right LowCharsetBase
|
|
mwa #last_line_r lastline_addr
|
|
;mwa #gamescreen_r_ph2p1 animation_addr
|
|
;jsr SetPMr2
|
|
;WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p7 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p5 animation_addr
|
|
jsr SetPMr3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p6 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p8 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p9 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_r_ph1p2 animation_addr
|
|
jsr SetPMr1
|
|
;WaitForSync
|
|
mva #1 LumberjackDir ; right side
|
|
rts
|
|
.endp
|
|
;AnimationR8 = AnimationR7
|
|
;--------------------------------------------------
|
|
.proc AnimationL7
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_left LowCharsetBase
|
|
mwa #last_line_l lastline_addr
|
|
;mwa #gamescreen_l_ph2p1 animation_addr
|
|
;jsr SetPMl2
|
|
;WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p7 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p5 animation_addr
|
|
jsr SetPMl3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p6 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p8 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p9 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_l_ph1p2 animation_addr
|
|
jsr SetPMl1
|
|
;WaitForSync
|
|
mva #2 LumberjackDir ; left side
|
|
rts
|
|
.endp
|
|
/* AnimationL8 = AnimationL7
|
|
;--------------------------------------------------
|
|
.proc AnimationR9
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_right LowCharsetBase
|
|
mwa #last_line_r lastline_addr
|
|
mwa #gamescreen_r_ph2p5 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p10 animation_addr
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p7 animation_addr
|
|
jsr SetPMr3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph3p8 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p8 animation_addr
|
|
jsr SetPMr2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_r_ph2p9 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_r_ph1p2 animation_addr
|
|
jsr SetPMr1
|
|
WaitForSync
|
|
mva #1 LumberjackDir ; right side
|
|
rts
|
|
.endp
|
|
;--------------------------------------------------
|
|
.proc AnimationL9
|
|
;--------------------------------------------------
|
|
mva #>font_game_lower_left LowCharsetBase
|
|
mwa #last_line_l lastline_addr
|
|
mwa #gamescreen_l_ph2p5 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p10 animation_addr
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p7 animation_addr
|
|
jsr SetPMl3
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph3p8 animation_addr
|
|
jsr RestoreRedBar
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p8 animation_addr
|
|
jsr SetPMl2
|
|
WaitForSync
|
|
jsr branches_go_down
|
|
mwa #gamescreen_l_ph2p9 animation_addr
|
|
WaitForSync
|
|
mwa #gamescreen_l_ph1p2 animation_addr
|
|
jsr SetPMl1
|
|
WaitForSync
|
|
mva #2 LumberjackDir ; left side
|
|
rts
|
|
.endp */
|
|
;--------------------------------------------------
|