From d5c7f01d1eb5595ef6782043e27a1180701dbd7f Mon Sep 17 00:00:00 2001 From: Pecusx Date: Mon, 7 Apr 2025 11:57:17 +0200 Subject: [PATCH] PAL & NTSC colors --- lumber.asm | 165 +++++++++++++++++++++++++++++++++++++++++++++-------- lumber.xex | Bin 25599 -> 25694 bytes 2 files changed, 142 insertions(+), 23 deletions(-) diff --git a/lumber.asm b/lumber.asm index 8eeed2f..ec31b74 100644 --- a/lumber.asm +++ b/lumber.asm @@ -130,6 +130,27 @@ gamescreen_middle .ds 32*18 ; 18 lines screen_score = gamescreen_middle+6*32+14 screen_level = gamescreen_middle+9*32+13 +;--------------------------------------------------- +GameColors + .ds 32 +c_black = 0 +c_white = 1 ; (numbers and letters) +c_sky = 2 +c_dark_brown = 3 +c_light_brown = 4 +c_red = 5 ; (power bar) +c_shirtA = 6 ; Lumberjack shirt A +c_shirtB = 7 ; Lumberjack shirt B +c_hands = 8 ; Lumberjack hand/face +c_birds = 9 +c_clouds = 10 +c_light_red = 11 ; (power bar up) +c_horizonA = 12 ; thin horizon line A +c_horizonB = 13 ; thin horizon line B +c_grass = 14 ; green grass +c_hat = 15 +c_buckle = 16 ; button and buckle +c_pants = 17 ; blue pants ;--------------------------------------------------- icl 'art/anim_exported.asm' ; Animations: @@ -311,7 +332,7 @@ key_released .proc IngameDLI1 ;-------------------------------------------------- pha - mva #$0c COLPF2 ; white (numbers and letters) + mva GameColors+c_white COLPF2 ; white (numbers and letters) ; set cloud 2 horizontal position lda clouds2Hpos clc @@ -344,16 +365,16 @@ DLI3 pha sta WSYNC mva LowCharsetBase CHBASE - mva #$f6 COLPF3 ; light brown + mva GameColors+c_light_brown COLPF3 ; light brown ;nop ;nop ;nop - mva #$B4 COLBAK ; thin line + mva GameColors+c_horizonA COLBAK ; thin line sta WSYNC - mva #$DA COLBAK ; additional lines + mva GameColors+c_horizonB COLBAK ; additional lines sta WSYNC sta WSYNC - mva #$c8 COLBAK ; green + mva GameColors+c_grass COLBAK ; green ; under horizon ; PMG colors, horizontal coordinates and sizes txa @@ -372,16 +393,16 @@ DLI3 DLI4 pha sta WSYNC - mva #$82 COLPF2 ; hat + mva GameColors+c_hat COLPF2 ; hat :4 STA WSYNC - mva #$0c COLPF2 + mva GameColors+c_white COLPF2 ; white mwa #IngameDLI1.DLI5 VDSLST pla rti DLI5 pha sta WSYNC - mva #$ea COLPF2 ; button and buckle + mva GameColors+c_buckle COLPF2 ; button and buckle mva #>font_game_upper CHBASE mwa #IngameDLI1.DLI6 VDSLST pla @@ -391,7 +412,7 @@ DLI6 sta WSYNC sta WSYNC sta WSYNC - mva #$94 COLPF2 ; blue pants + mva GameColors+c_pants COLPF2 ; blue pants pla rti .endp @@ -400,6 +421,7 @@ main ;-------------------------------------------------- jsr WaitForKeyRelease jsr MakeDarkScreen + jsr PAL_NTSC jsr initialize RMTsong song_main_menu jsr StartScreen @@ -757,7 +779,7 @@ no_branch_l ;-------------------------------------------------- .proc RestoreRedBar ;-------------------------------------------------- - mva #$36 COLOR2 ; red + mva GameColors+c_red COLOR2 ; red rts .endp ;-------------------------------------------------- @@ -766,13 +788,13 @@ no_branch_l mva #>font_game_upper CHBAS mva #>font_game_lower_right LowCharsetBase - mva #$00 PCOLR0 ; = $02C0 ;- - rejestr-cień COLPM0 + mva GameColors+c_black PCOLR0 ; = $02C0 ;- - rejestr-cień COLPM0 - mva #$00 COLOR0 - mva #$88 COLBAKS ; sky - mva #$f4 COLOR1 ; dark brown - mva #$36 COLOR2 ; red - mva #$f6 COLOR3 ; light brown + mva GameColors+c_black COLOR0 + mva GameColors+c_sky COLBAKS ; sky + mva GameColors+c_dark_brown COLOR1 ; dark brown + mva GameColors+c_red COLOR2 ; red + mva GameColors+c_light_brown COLOR3 ; light brown ;mva #$ff COLOR4 ;clear P/M memory @@ -857,8 +879,8 @@ no_branch_l sta SIZEP3_d lda #%01011111 sta SIZEM_d - mva #$22 COLPM2_d - mva #$24 COLPM3_d + mva GameColors+c_shirtA COLPM2_d + mva GameColors+c_shirtB COLPM3_d ; Lumberjack hand ldx #datalinesP0-1 @ lda P0_data,x @@ -866,7 +888,7 @@ no_branch_l dex bpl @- mva #0 SIZEP0_d - mva #$2a COLPM0_d + mva GameColors+c_hands COLPM0_d ; Lumberjack face ldx #datalinesM0-1 @ lda PMmemory+$180+HoffsetM0,x @@ -881,7 +903,7 @@ no_branch_l sta PMmemory+$180+HoffsetM1,x dex bpl @- - mva #$2a COLPM1_d + mva GameColors+c_hands COLPM1_d ; Lumberjack both hands ldx #datalinesP1-1 @ lda P1_data,x @@ -951,7 +973,7 @@ datalinesP1=5 jsr bird_a mva #0 SIZEP0_u sta SIZEP1_u - mva #$04 PCOLR0 + mva GameColors+c_birds PCOLR0 sta PCOLR1 lda #1 sta birdsHpos @@ -1020,7 +1042,7 @@ datalines_bird=8 sta SIZEP3_u lda #%01010101 sta SIZEM_u - mva #$0c PCOLR2 + mva GameColors+c_clouds PCOLR2 sta PCOLR3 lda #36 sta clouds2Hpos @@ -1462,7 +1484,7 @@ not_max_lev ;-------------------------------------------------- .proc PowerUp ;-------------------------------------------------- - mva #$3F COLOR2 ; red + mva GameColors+c_light_red COLOR2 ; light red inc PowerValue lda PowerValue cmp #49 @@ -1847,6 +1869,103 @@ KeyReleased rts .endp ;-------------------------------------------------- +.proc PAL_NTSC +;-------------------------------------------------- + lda PAL + and #%00001110 + beq is_PAL +is_NTSC + ldx #31 +@ lda NTSC_colors,x + sta GameColors,x + dex + bpl @- + rts +is_PAL + ldx #31 +@ lda PAL_colors,x + sta GameColors,x + dex + bpl @- + rts +.endp +;-------------------------------------------------- +; colors tables +PAL_colors + ; black + .by $00 + ; white (numbers and letters) + .by $0c + ; sky + .by $88 + ; dark brown + .by $f4 + ; light brown + .by $f6 + ; red (bower bar) + .by $34 + ; Lumberjack shirt A + .by $22 + ; Lumberjack shirt B + .by $24 + ; Lumberjack hand/face + .by $2a + ; birds + .by $04 + ; clouds + .by $0c + ; light red (power bar up) + .by $3f + ; thin horizon line A + .by $b4 + ; thin horizon line B + .by $da + ; green grass + .by $c8 + ; hat + .by $82 + ; button and buckle + .by $ea + ; blue pants + .by $94 +NTSC_colors + ; black + .by $00 + ; white (numbers and letters) + .by $0c + ; sky + .by $98 + ; dark brown + .by $24 + ; light brown + .by $26 + ; red (bower bar) + .by $44 + ; Lumberjack shirt A + .by $32 + ; Lumberjack shirt B + .by $34 + ; Lumberjack hand/face + .by $3a + ; birds + .by $04 + ; clouds + .by $0c + ; light red (power bar up) + .by $4f + ; thin horizon line A + .by $c4 + ; thin horizon line B + .by $ea + ; green grass + .by $d8 + ; hat + .by $92 + ; button and buckle + .by $fa + ; blue pants + .by $a4 +;-------------------------------------------------- initial_branches_list .by 1,0,2,0,1,0 ; diff --git a/lumber.xex b/lumber.xex index 7c3924ef776c306d07edb6e6472cd7e5947e9d59..d335fa3fbfcb6ae1a46dddf0508884d7f11c6619 100644 GIT binary patch delta 3961 zcmb_fe^3a2yI0xX=#hq*d#R;!YYmB)I^eK1Z=v9 zyWHcBb&6-5oN;HEYcBEGZkrZ6O=7RZA3`{4XLcB8nsz#-KOAFh>s%eCYQ`D+{qAyi zEYMD4%N%>}`}uy}_kG{zy?gJw_uh3}o^rgI<#~8Wa5YzYWtYo^|H(hOnQN56kY!gh zYuLznhlH$0#%euBcxU5iaO@YKbgp;wgwAh$ps8DKeY_`HQ0X+t)sxYa%BzLGOyzX+ zBmnvFbQzgs94X`t8CY&(bMzG>PtTdDyloVbVkK1aSedj*VV9NgWH@>%>B=TP#7<3~ ziVhmfCaK|$4k?seqtTK0y~Hvi2PQ@mE_P2DY29_DMc*T+g+?@7sAd{Im&zNyEY*n* zx4~|z9M5`G2j8`!C3WP^Q^^R#&|bBXw;c?+3`H zKC&W6?hG)Ftfu5%k>(X$cgi?@aMkU`pjW+`ek^g!7Kd;UX*O0 z{2c`M9Y!=2vwtoopN#2%m>ZBnDloDY6T$8y2yVy7Y0!h?lG}&zdG`q8l|gba5HB_E zfL_3Yd1k=mYbZH1K+aHBsQAgOL>Z?H!o)yqkyR+i7*or=tU-Oi3)~_v`<%McOMdGo zo*=0RSkUJYnrD9n?N8A8&{q+CYOR@g=)XgCtA+OWu0Lo#uDGTV{z zjxCv|5So|FZnS4@ly4(sPi99lkd&U*H?2rkGEbt>ZzjWIGD|440V#H6Hd-N4O0}YG zS7tLp>0~6-cxh=qmNIP^)~-zZf@HeTwkzXPC0jO_OiG&jS7wPl^Th?pY(pEAk>)Mk z*AYuggUNgeA-l#cR;2%B&+M{7;4(?(CVvhAyEOX|vM1AtkX_?%S&{C4&q!YOWh+K% z(>#v0ebYRFkUg3IgEF{hqy-atW4d@o=dy3X}FnC^7|n=o*6 zIPOSP!AjZhC5V^qh8fQdhWCdEyUc!ZAe&DPg8MKzKHhyIbE^3>YROC_i*Xt^qj_eg zJ-0;tIYFJ|MW~l%d5os}1a+Lp=LKHhE2vYvzE4mmc#DT++`CZYoYgp@aito!O5@6| z8UJ8JbzcINAk2PnE61UfJOPE%!%ztjSCEtqVLbpBFD0`S@849#gp)82$;MD|Tanbm z#)monn1fgIE{$@L9w^A#u88c95%>4!ibFAyAFGhHU1hNbS^INYtOcH>)1JRV)SoG1 ztV21c?-!I`>fM48i@0LjWvycsOcauOQ-5Ai-ic(zE|(U!%i3k=H4BUnN{e^P+6QRq z*}ymt*j_nwzO5rKEJK+MJ%6CQroSMBKGXgn|2sLfrF{keCppyBUb4JcA)6GetvMyC zyw09b-q2qZLa(+Tm&Cy^R~8!|4ELACh(Fw4N~b;7aSyDB?K52$P1owQiw9Sa>3Yv} zHKbimaLK0Yis@=jyIkPdS> zaDfRQ@Q=+tea#`&Q@x(Xi;P<4QS0dqf$9Q{FE^ZI3ejRf1qyAbWpC6`y$-=F0PE-t zFBO?5;?%q_|Bu9oGv=k*Eidl8Xt2=dQQPVw8Ly}s458%eV>W}*4)rJdxuTXAMankQ`!D3)LbZlp-G$t^&;S7%n zQ{%bD-$cEZCTh>JjE2A0(j5Fd6EMGgLrOoZ^>NCPAFrV?F{lj0I)lp5pAL-lPmPZn zx1gWJs|21Gc|WS6ZzJz*%3Wm4BJO(m4Vlpu6uH10C^NdKU04dR2Yb!N|X zi+f&>&2&QkUFA~s(r)oaErx~lcalc}@Z-Z%1E6ZE)=+&NRjaAKma6NhUPaZlR9{2Y zDhjWETp}OeBprz?^Xu%jfVzf?_?`qWE%y?4Mmc%2sOQhXTc}&lo{5JZ>dea>2^tl; z%qL38bRg8+S;fB}2p#CG>evwsub~vzS(#80cSXIxsLV^`MoMBWLCq(at6dTkl5H-R z&i>Q8s{A2WZqvEnPYql@!R5YE{$O*Bx6zfm<-+y%j(_x;gX1{|7x!fg^$nq4bvE%o G>HQbMNFK)k delta 3864 zcmb_fe{3699Y3F)I88(2<)`Z;>dTL!WP`3-+_W9AG$R`sBxUWEm98ndr7gr8qac`? zbcIV|pI_|cm1WljT(F4TUDsF5(?$o=*sMkBn#BRcsVbuEj|$L~m947|scKi4RKDN4 zB+fYjv4Uma-S_kPyzl$o=RMzhcVXIb<88-Fd7j$>O|I4kf5_!>;cxyEY85tzAP9wA zt&vSFfA2i7+42(~|TKr3l*>ST6Y8&`hn4dg06 z)5ZZPgriH(CC5=hSP)chy+iwnzABl2w&5e)N5qi2W?QXXAL193*i=kAI!~=2TM;`t zbyN%ME2oBaw-!-`$#1DPmcC)EB)yR{V}^_0P{!JO-fiOr%&TiLFU!>fE+*=MJm$oM zTjzggg2)drhuFKNO*^`rqL|4b>9Zs(|D1N1tvJW8vei0&h52+q_&e4aFQ?%$+LkE& z<%zhU&v-uSJvpoJPV6L;fe%4BAYS;I_3@{&RPTd|*Fk48f7VV}4fzoe^ll-iBV=Pg zxirWHatkH1ecX-b9*XD(eWbG=FZ99oH~ZjA?(9#l(Hk7bbkd_6r`!M7#~n&oLdmfq zvLi@-A54f`VCzNhXLpGFv+QQGjnv(X;ehBL*d6kl(aI%aV>(UOrG+9oK{Im$ef8q!2I}ehl z55X}5o|h4v{Gko(dkR76AaV;i_s!)L=W{wBrym=VO3ZBKL~!o_g6-Hk1G=zZa_Jx* zjR7tyVX`xluGX)EgP?-@%mF*fDS3R5Fv`6OCFfVmB|o?I^fiPQ6|)cHKiMSTK*(Oq&iO=g=C&TOGFioRVzAFFM#N&4ai$q1 zc4xL&DHfdi3dVM4+7ZeWBcsR5Tl0yW*@bEC&U9rJ^G%HH&h#?bRt*-jV9m`tv&@{i zH>;R!7=ttNqM_T4SjHMG=01e%9)HQo^uNrRN39e%OtLx2pFqHF&9@P<7t@1~-Qzu0 zrkkHLvY)qEITj|(gBaT<%|i&;i}^n|gL6jCx}m*U#q7t}?#y?V7IX8?$p7g<(~?z8 z2gY`1wk|E^9)#?3=8IM$YnblBVE#EH|JM(i-Byl;VG3YucjhsK?8EeRgzR&s+e%~= zBR`DMCw|bhS~(Vq`6|YCXC6SvUd%Gi$p7A&<(*mPK_g`q^Ek$KXTG(x7|WR*wkNgC znk;AVA;0L$*TeFVo?jlw_>eaGJ6MPBf(5w(7CZIhN4zqejg^+qPeK8bb@^Sq1lb(( z{S5Oxyo64)(X_)@2cu$NgCJd|8CEx!5Z4L`W|V!ANS1?KobLrE-JE>0`lDUGdfvpQ zL&2VuZMd zaT$m8a+sXQ)9Aw12kSAPZMdwOdmrv(RXSjE`=N=M!~s4zDu{<2B3pHCLV(asy55!e zpA+t9=k|P3qA*n$?27l)rq%@Gf2~d34#(;l&j--gFO*ZfTX}`oC~xpOC6#ccnuGD~ zni1>`2YO;7x78Ff6&O4Rod4c+?-OtGPDlwrpr75w2+Eh+BHc$DuXu4E)k|d&4fL2hrhTZFBA5HoY%mdIz zFR!K&_avP0)pW-54=LeHt)}s7ei%1N8}SA_tZPFeCsjq`4{ty$;Ruh+grg~UREdy& zD$R~)Bk6p-(ZyFNBPI|%Zm|+?hB-Y8yXEv9x(oiGu)n0z6!o}ZDDYZ6`DnGQHgUJ^ zjHyl2lLh)EDe0v~<4K;g=|eBg$IpqVc?v|70p1u8l))E^Xvz^)hElGm5`1}RY+!nF zLca#>EL{WW{HS}On7)R(*HAYhELEmaxz?1HEH5QbP`D#Vt?uvf`AV0H-U^vLtH*lk zy>9Q9yz(_ku75+oKYjA%r@lWZ_wO&vYkOoK36u?O9cDXH>6GhD4*9yckiXJ?q5N q5%uXk>ni^li51ad98u+rVtgz)1W|AZ{Qkc+ZQQ6