From c62ff52fc766e731d9e4a6061dd837e839ad0646 Mon Sep 17 00:00:00 2001 From: Pecusx Date: Fri, 4 Apr 2025 20:30:25 +0200 Subject: [PATCH] NTSC colors test --- lumber.asm | 83 ++++++++++++++++++++++++++++++++++++++--------------- lumber.xex | Bin 25599 -> 25682 bytes 2 files changed, 60 insertions(+), 23 deletions(-) diff --git a/lumber.asm b/lumber.asm index 8eeed2f..599d7a5 100644 --- a/lumber.asm +++ b/lumber.asm @@ -42,6 +42,7 @@ display = $a000 .zpvar birdsHpos .byte ; 0 - no birds on screen (from $13 to $de) .zpvar birdsOffset .byte .zpvar clouds1Hpos,clouds2Hpos,clouds3Hpos .byte ; 0 - no cloud on screen (from $0e to $de) + .zpvar PAL_NTSC_colors .byte ; $10 - NTSC , $00 - PAL ; PMG registers for sprites over horizon .zpvar HPOSP0_u .byte .zpvar HPOSP1_u .byte @@ -311,7 +312,8 @@ key_released .proc IngameDLI1 ;-------------------------------------------------- pha - mva #$0c COLPF2 ; white (numbers and letters) + SetColor #$0c + sta COLPF2 ; white (numbers and letters) ; set cloud 2 horizontal position lda clouds2Hpos clc @@ -344,16 +346,20 @@ DLI3 pha sta WSYNC mva LowCharsetBase CHBASE - mva #$f6 COLPF3 ; light brown + SetColor #$f6 + sta COLPF3 ; light brown ;nop ;nop ;nop - mva #$B4 COLBAK ; thin line + SetColor #$B4 + sta COLBAK ; thin line sta WSYNC - mva #$DA COLBAK ; additional lines + SetColor #$DA + sta COLBAK ; additional lines sta WSYNC sta WSYNC - mva #$c8 COLBAK ; green + SetColor #$c8 + sta COLBAK ; green ; under horizon ; PMG colors, horizontal coordinates and sizes txa @@ -372,16 +378,19 @@ DLI3 DLI4 pha sta WSYNC - mva #$82 COLPF2 ; hat + SetColor #$82 + sta COLPF2 ; hat :4 STA WSYNC - mva #$0c COLPF2 + SetColor #$0c + sta COLPF2 mwa #IngameDLI1.DLI5 VDSLST pla rti DLI5 pha sta WSYNC - mva #$ea COLPF2 ; button and buckle + SetColor #$ea + sta COLPF2 ; button and buckle mva #>font_game_upper CHBASE mwa #IngameDLI1.DLI6 VDSLST pla @@ -391,7 +400,8 @@ DLI6 sta WSYNC sta WSYNC sta WSYNC - mva #$94 COLPF2 ; blue pants + SetColor #$94 + sta COLPF2 ; blue pants pla rti .endp @@ -757,22 +767,36 @@ no_branch_l ;-------------------------------------------------- .proc RestoreRedBar ;-------------------------------------------------- - mva #$36 COLOR2 ; red + SetColor #$36 + sta COLOR2 ; red rts .endp ;-------------------------------------------------- .proc initialize ;-------------------------------------------------- - + lda #$00 + sta PAL_NTSC_colors + lda PAL + and #%00001110 + beq not_NTSC + lda #$10 + sta PAL_NTSC_colors ; color value modifier for SetColor macro +not_NTSC mva #>font_game_upper CHBAS mva #>font_game_lower_right LowCharsetBase - mva #$00 PCOLR0 ; = $02C0 ;- - rejestr-cień COLPM0 + SetColor #$00 + sta 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 + SetColor #$00 + sta COLOR0 + SetColor #$88 + sta COLBAKS ; sky + SetColor #$f4 + sta COLOR1 ; dark brown + SetColor #$36 + sta COLOR2 ; red + SetColor #$f6 + sta COLOR3 ; light brown ;mva #$ff COLOR4 ;clear P/M memory @@ -857,8 +881,10 @@ no_branch_l sta SIZEP3_d lda #%01011111 sta SIZEM_d - mva #$22 COLPM2_d - mva #$24 COLPM3_d + SetColor #$22 + sta COLPM2_d + SetColor #$24 + sta COLPM3_d ; Lumberjack hand ldx #datalinesP0-1 @ lda P0_data,x @@ -866,7 +892,8 @@ no_branch_l dex bpl @- mva #0 SIZEP0_d - mva #$2a COLPM0_d + SetColor #$2a + sta COLPM0_d ; Lumberjack face ldx #datalinesM0-1 @ lda PMmemory+$180+HoffsetM0,x @@ -881,7 +908,8 @@ no_branch_l sta PMmemory+$180+HoffsetM1,x dex bpl @- - mva #$2a COLPM1_d + SetColor #$2a + sta COLPM1_d ; Lumberjack both hands ldx #datalinesP1-1 @ lda P1_data,x @@ -951,7 +979,8 @@ datalinesP1=5 jsr bird_a mva #0 SIZEP0_u sta SIZEP1_u - mva #$04 PCOLR0 + SetColor #$04 + sta PCOLR0 sta PCOLR1 lda #1 sta birdsHpos @@ -1020,7 +1049,8 @@ datalines_bird=8 sta SIZEP3_u lda #%01010101 sta SIZEM_u - mva #$0c PCOLR2 + SetColor #$0c + sta PCOLR2 sta PCOLR3 lda #36 sta clouds2Hpos @@ -1901,5 +1931,12 @@ song_main_menu = $00 song_ingame = $07 song_game_over = $12 +;------------------------------------- + .MACRO SetColor + lda :1 + clc + adc PAL_NTSC_colors + .ENDM +;------------------------------------- RUN main diff --git a/lumber.xex b/lumber.xex index 7c3924ef776c306d07edb6e6472cd7e5947e9d59..93e3b760ae7d765f899720832696a1280eefecfa 100644 GIT binary patch delta 3874 zcmbtX0c;c38NNF^aR@DODFH8m<%NJmT7;-D8!IhiU02f9ltL5eAQU$tBo2W@Q@0Xe zbBOc&949xC9-=W|$lM&`rMW^!nW(6zbd)sCHuZ#vCUqK$rixbWmU%5IbehEe|1Pm} z4y$0boO}0w-~a#bfB*aQ-tSxQiTCogVk)&=c_Yni`oPp)AE!yR&`lyWGq+L+96(AtZmkc^inZ7q&fBEMbGDZxJZLuRQaeCc8(Oa#Uw7sOC|1>ACkCoVMCrc zqWodQWBz(}sZ+Okp4e+-RMKZbP7~S5`h+8Se`1E7MY~9nsmxIEG&O_xG9$SmG7{8$ zEV(2h>iJqdOXemdD1eJU_q?>1yuKfvY48g_f`9pi1yuGSxNk3VDWB)ZeM%EPMew-} z4as-Wv*{B-e+z=OXq^U&a9-jtJWoHsB^o6C?TKRjD@Yq?!8)@b2lb2u50FvDU6hdr z{UI*UAS?_L?&XWb8pG|^eY<5t%|Z-|VGp>u2g>R4 z9OZ+Gtc+Y#X2em8vNacVQ{(ssx$u8YG5jbanDr=Ild@rIFi#+4&F&i0QD!Y*Qj}PE zK}HTtG3LYITEzqO#nA+S!T2`gA(|oN3~gc=?rLvob)Jk7}q63 zU%+-^0B(L9-;;O<$03Pd$MKTHzk}nT#J|MxebDQR3M48NM}_%Oq2v?&U!2H}E3g=F z*$6a!1zN2`(00K6NmhpEkF%PQ~-ulyzI@NORhhx~)a-iZ*CZ2{fYuJxPDfE9fb+ z&-=Y3UzGR)8sSwmv$s{wZ~dvin?{6^_)QvVDTzNHjI*Okq->UIof43X&iSq7yy^g>wrFdhZ)+ zWLhIj6zI#iQ*LBqyP39|CGvF}5ki2@19Ufocj$M=b}?-is^$Q=i;XofFL%al{%8Xm zcK+KNv&9=&^oASjMeT6;oO0#zSXR7=MK>-tYDf%r3Z%7I@FFtu5Rbk zXon$(Pnx8ce;@w+u0emDcnIjF*pY_3gUo4%Iy2sZS$fc5PLjldLfcxemUkI`tva-6mlMhZ)ids)VSSO-CMAoB7*-yyULws7 VD=$?qu|E@z)F>ybH%agA`7fx(M-l)4 delta 3736 zcmbVPYj7J^6<)1m%W)o7{FG&zT*WC9LkLMDL)(EoN*^i6ZIfCFZsK}tH(<52rX+=^c8+=W+X-Eqcs%apNV|id$GGR!WArlzJ&Gg}_GoGdaX3ROe zw%nBiHPNhg_k7=Z-E;5WJ$ru4Hhs?a@~g$REvJ57T(&Xvd_vI2T_3lPs6+Zvt?+!^ zzx6d_XT;z5J+-vXu9Jx&b%;Li4(8Jr)FA+h;Ox-z$uU$Ras;%TdV_jEUxvmX>mDNZ z@JsZ-=mGVBo4y!y&_u9+{uusAH9o7fh^$7X_-MRQJvay6i{Qc0gKAV?Jld-})fnw1 zzhmlPdOEY1w8zd4W*mH)4*FaFv6U~8-MSig%lUfHA&YvjK(^z_sq+t&7q@vsC9)v$ z4%sHQZ{8{wUQnNv7hT{V$(1^PMfT``@V}T>yd8tvzOBi!SBGcIF+q92>VbzLA}D7M zBL)6+j@CP%#aGE8i1s5ZWg7D5K%spzITIsa?j-MZbAc>pWTJyR@!HA|eYb-II`KyD z_P@~q2f4XZTcOw4GGm%c&z$l9xr5tiR6>;_VVExRhe%T7g1k=TK6$;!zaT3Yw=Z>s zqsctQ^+35Yy}d3}!OjlocK_%18ub+QQmAM;Kl5nXnJGyx)AQ&cNidZeD*iwxh^rX+ z1ta08R?aeO(>A?Kt6-VJvLkOP!fd%Y%8bN6c#j9_uDD z<8I2x#l?&ZGztTQ$}8&|Jx{zIB~vl7BnFxuAODJ6<@=<356T}|RKAYTME57PzKW35 z(MHpe>Gf6=!stc$W1up$6U9Ror{6Tyvw7@6`7Mjew-B<%ZJO`sLDP{LH-N$(^a8~h zkoao)ERV^`t&K}Vn~<`myxBC(=I{-atz-8iWX)mWV~4d0Ijn&kxUBp&P#m(BV0TXV zZ=-B2LHqphH&%jGK7Na=Y;0VbGyQkw+ ztz&-zA#3Sd5waGs&2)4l)4$a;&F1g`%GR+rB4o{B;bZ@l>3<|A{F5kKOYq(K;cu)2 z|84rWUR^(p-1!zXj!8>~-A&`XNO$aL! zLhTj(Lr!Gp1;_}@p9Grz5IUacpb>x<8MzW8&R%?-K}~zfMZ64T8vs~ov%8McvfCG$ zX=S8jQK~4CXsu1Hh$Q}AoBAT0z2mNT!S-kL6mOxg@Rjs+zKW)jj?|_|qGjc{>ng;3 znSYM{Dp`=aJt+kOBO^0^Q4q$Z&G(-usqh_w7d*t0LaTg-k)oU7Nqef2C9e8#v8es-piACepUg|uu*8mfV*%Ns{o~QTl(Ub+H%057!pD zS!Tls&%5P)w^H5e4i&SMt&fINjy@VW86NB!JAGKcs<~Mq{(^P1i~E8C?LJ<@UPHat zQ17rXUo)N6EWN%ad7MG+;5m6X?a;+!SF{Hrd=`QP!L;58Qa0c8%^plgd8_rNQ2F&) zY0`~uVU^lR4elxu>>U7=GiaN&GA5TZt(3`SOeDbtFXT*5L?p-d5e=h-p^#%1J6 zpIpo&{Fs4{iRsL>!$MDkq!pcqZ$ziI=zLmvrfu1hoBQ