From a148baf90d3fff7035ba92213428bc5a86ce7525 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 14 Feb 2025 18:32:17 +0100 Subject: [PATCH] Animation on single memory page --- lumber.asm | 108 ++++++++++++----------------------------------------- lumber.xex | Bin 10241 -> 9701 bytes 2 files changed, 23 insertions(+), 85 deletions(-) diff --git a/lumber.asm b/lumber.asm index a71282f..fc43953 100644 --- a/lumber.asm +++ b/lumber.asm @@ -54,7 +54,10 @@ animation_addr .wo gamescreen_lower1r :5 .by $04 .by $84 ; second DLI - :2 .by $04 + .by $04 + .by $44 +lastline_addr + .wo last_line_r .by $41 .wo dl_level ;--------------------------------------------------- @@ -116,9 +119,18 @@ l18 l19 .by $01, $04, $01, $01, $01, $01, $01, $04, $01, $01, $01, $1D, $32, $1F, $20, $21 .by $22, $23, $24, $25, $26, $01, $04, $01, $01, $01, $01, $01, $01, $01, $05, $05 -l20 +last_line_r + dta $01,$01,$01,$01,$01,$01,$01,$01 + dta $01,$01,$27,$28,$28,$28,$28,$28 + dta $28,$28,$28,$28,$28,$29,$01,$7C + dta $7D,$01,$01,$7E,$7F,$01,$01,$01 +last_line_l + dta $01,$01,$01,$7F,$7E,$01,$01,$7D + dta $7C,$01,$27,$28,$28,$28,$28,$28 + dta $28,$28,$28,$28,$28,$29,$01,$01 + dta $01,$01,$01,$01,$01,$01,$01,$01 ;--------------------------------------------------- - .align $2000 + .align $100 ; Right animation gamescreen_lower1r ; phase 1 page 1 dta $03,$01,$01,$01,$01,$01,$01,$01 @@ -153,10 +165,6 @@ gamescreen_lower1r ; phase 1 page 1 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 dta $22,$23,$24,$25,$26,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower2r ; phase 2 page 1 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -190,10 +198,6 @@ gamescreen_lower2r ; phase 2 page 1 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 dta $22,$23,$24,$25,$26,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower3r ; phase 2 page 2 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -227,10 +231,6 @@ gamescreen_lower3r ; phase 2 page 2 dta $01,$1D,$1E,$1F,$20,$21,$21,$23 dta $24,$25,$26,$82,$01,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower4r ; phase 2 page 3 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -264,10 +264,6 @@ gamescreen_lower4r ; phase 2 page 3 dta $1E,$1F,$20,$21,$21,$23,$24,$25 dta $26,$01,$01,$82,$01,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower5r ; phase 2 page 4 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -301,10 +297,6 @@ gamescreen_lower5r ; phase 2 page 4 dta $20,$21,$21,$23,$24,$25,$26,$01 dta $01,$01,$01,$82,$01,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower6r ; phase 3 page 1 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -338,10 +330,6 @@ gamescreen_lower6r ; phase 3 page 1 dta $22,$23,$24,$25,$26,$01,$01,$01 dta $01,$01,$01,$82,$01,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower7r ; phase 3 page 2 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -375,10 +363,6 @@ gamescreen_lower7r ; phase 3 page 2 dta $24,$25,$26,$82,$01,$01,$01,$01 dta $01,$01,$01,$82,$01,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower8r ; phase 3 page 3 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -412,10 +396,6 @@ gamescreen_lower8r ; phase 3 page 3 dta $26,$01,$01,$82,$01,$01,$01,$01 dta $01,$01,$01,$82,$01,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower9r ; phase 3 page 4 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -449,10 +429,6 @@ gamescreen_lower9r ; phase 3 page 4 dta $01,$01,$01,$82,$01,$01,$01,$01 dta $01,$01,$01,$82,$01,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 gamescreen_lower10r ; phase 3 page 5 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -486,12 +462,6 @@ gamescreen_lower10r ; phase 3 page 5 dta $01,$01,$01,$82,$01,$01,$01,$01 dta $01,$01,$01,$82,$01,$01,$01,$76 dta $77,$78,$79,$7A,$7B,$01,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$7C - dta $7D,$01,$01,$7E,$7F,$01,$01,$01 -;--------------------------------------------------- - .align $2000 ; left animation gamescreen_lower1l ; phase 1 page 1 dta $03,$01,$01,$88,$07,$01,$01,$01 @@ -526,10 +496,6 @@ gamescreen_lower1l ; phase 1 page 1 dta $76,$01,$01,$1D,$1E,$1F,$20,$21 dta $22,$23,$24,$25,$26,$01,$01,$01 dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower2l ; phase 2 page 1 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -563,10 +529,6 @@ gamescreen_lower2l ; phase 2 page 1 dta $76,$01,$01,$1D,$1E,$1F,$20,$21 dta $22,$23,$24,$25,$26,$01,$01,$01 dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower3l ; phase 2 page 2 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -600,10 +562,6 @@ gamescreen_lower3l ; phase 2 page 2 dta $76,$01,$01,$82,$01,$1D,$1E,$1F dta $20,$21,$22,$23,$24,$25,$26,$01 dta $01,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower4l ; phase 2 page 3 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -637,10 +595,6 @@ gamescreen_lower4l ; phase 2 page 3 dta $76,$01,$01,$82,$01,$01,$01,$1D dta $1E,$1F,$20,$21,$22,$23,$24,$25 dta $26,$01,$01,$01,$01,$01,$01,$01 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower5l ; phase 2 page 4 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -674,10 +628,6 @@ gamescreen_lower5l ; phase 2 page 4 dta $76,$01,$01,$82,$01,$01,$01,$01 dta $01,$1D,$1E,$1F,$20,$21,$22,$23 dta $24,$25,$26,$01,$01,$01,$01,$01 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower6l ; phase 3 page 1 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -711,10 +661,6 @@ gamescreen_lower6l ; phase 3 page 1 dta $76,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 dta $22,$23,$24,$25,$26,$01,$01,$01 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower7l ; phase 3 page 2 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -748,10 +694,6 @@ gamescreen_lower7l ; phase 3 page 2 dta $76,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$82,$01,$1D,$1E,$1F dta $20,$21,$22,$23,$24,$25,$26,$01 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower8l ; phase 3 page 3 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -785,10 +727,6 @@ gamescreen_lower8l ; phase 3 page 3 dta $76,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$82,$01,$01,$01,$1D dta $1E,$1F,$20,$21,$22,$23,$24,$25 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower9l ; phase 3 page 4 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -822,10 +760,6 @@ gamescreen_lower9l ; phase 3 page 4 dta $76,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$82,$01,$01,$01,$01 dta $01,$01,$1D,$1E,$1F,$20,$21,$22 - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 gamescreen_lower10l ; phase 3 page 5 dta $03,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$1D,$1E,$1F,$20,$21 @@ -859,10 +793,6 @@ gamescreen_lower10l ; phase 3 page 5 dta $76,$01,$01,$01,$01,$01,$01,$01 dta $01,$01,$01,$82,$01,$01,$01,$01 dta $01,$01,$01,$01,$01,$1D,$1E,$1F - dta $01,$01,$01,$7F,$7E,$01,$01,$7D - dta $7C,$01,$27,$28,$28,$28,$28,$28 - dta $28,$28,$28,$28,$28,$29,$01,$01 - dta $01,$01,$01,$01,$01,$01,$01,$01 ; Animation sequence: ; - phase 1 page 1 (standard position) ; - phase 2 page 1 @@ -1046,6 +976,12 @@ loop jsr AnimationR jsr wait_for_press jsr wait_for_depress + jsr AnimationR + jsr wait_for_press + jsr wait_for_depress + jsr AnimationL + jsr wait_for_press + jsr wait_for_depress jsr AnimationL NoAuto jmp loop @@ -1059,6 +995,7 @@ LevelOver .proc AnimationR ;-------------------------------------------------- mva #>font_game_lower_right LowCharsetBase + mwa #last_line_r lastline_addr ; mwa #gamescreen_lower1r animation_addr ; waitRTC mwa #gamescreen_lower2r animation_addr @@ -1090,6 +1027,7 @@ LevelOver .proc AnimationL ;-------------------------------------------------- mva #>font_game_lower_left LowCharsetBase + mwa #last_line_l lastline_addr ; mwa #gamescreen_lower1l animation_addr ; waitRTC mwa #gamescreen_lower2l animation_addr diff --git a/lumber.xex b/lumber.xex index d3a2ecc31472d0f06afab8a18363f112dfe7fb31..6cf17dabe4356543d560cd42774990e9e5ad9aa1 100644 GIT binary patch delta 761 zcmZn+cMEa;%cg+U)I*23b_rngz0Cz)w-AHTxnOHv9f4ElU- zi~IN(Cx4PsoqU=9Hkke_0HKA2AhfYCgbo&g(8ZzMw;EEX<6EHd5e|Yl z3)yk{K(z@gHGsZY2KPlh*c(=8rdXr#ZP56(XnZ>~zC9Y>0gdkn=Nm)9%?U05;UgS` y=?%-taq3>2Wx!|$#en|gjq1We?2DXN9_V3U>SJW;<-4+gVUhFXYwDUzM$Q1;!zCU7 delta 705 zcmZ9}O-lkn7{Kw}Z6zo%D@)VLu@n@RUZ{KPOGzr!M_98LYIF~M0j&%=xFPHpSd@Z+ zq@r6VFLmj%hq_DA-477hJT@`lvhd&Evop)UerL~i9lf4_E*>32&R|%P2d`>MQ2Vp0 zEI-AZ1xXgvjcn6)iDu1(n)Vp0n{}LZf_0MB!#c$}&Fbw}7PP3|w0)v^2Ophb^|J<8 zXIbZ1=UIcSh&9x&X)mm)ejR;bbXy_<8qv``Cc{uVdca65!b823yTbHFpSTsYV`BHM z<+i)8ISXs_wV7PpDUa%ie#c)#e-9tU9Np^IH4?r&C&=(BByRYW8_$cU`$JT4f?ES8 zxhvolw*}thZiBbDJH|R4r1?OA1>4*RoEdQ3%!dPIl}M!>{0nMa4F~`L