From 777257b83d69c521909aa6d0d6ed89adfddaf65d Mon Sep 17 00:00:00 2001 From: John Bintz Date: Wed, 17 Jul 2024 07:08:59 -0400 Subject: [PATCH] Simplify cool bun rendering code --- bun.c | 18 +++++++----------- main | Bin 61032 -> 61004 bytes main.c | 2 +- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/bun.c b/bun.c index 9d69eb7..5fa8ace 100644 --- a/bun.c +++ b/bun.c @@ -94,7 +94,7 @@ void bun_offRightSide( bltalwm += (1 << (15 - i)); } - bltcon0 = BLTCON0(0xc0, 0, 1, 0, 1, shift); + bltcon0 = BLTCON0(0xf0, 1, 0, 0, 1, shift); bltcon1 = BLTCON1(bunClear->direction, shift); bltdmod = screenSetup->byteWidth - COOL_BUN_WIDTH_BYTES + @@ -106,15 +106,14 @@ void bun_offRightSide( custom.bltcon0 = bltcon0; custom.bltcon1 = bltcon1; - custom.bltadat = 0xffff; - custom.bltbpt = coolbunPlaneStarts[BUN_OFF_LEFT_SIDE][plane]; + custom.bltapt = coolbunPlaneStarts[BUN_OFF_LEFT_SIDE][plane]; custom.bltdpt = currentScreen->planes[plane] + bunClear->memoryStartOffsetBytes; custom.bltafwm = 0xffff; custom.bltalwm = bltalwm; - custom.bltbmod = wordShift * 2; + custom.bltamod = wordShift * 2; custom.bltdmod = bltdmod; custom.bltsize = bltsize; @@ -150,7 +149,7 @@ void bun_offLeftSide( bltalwm += (1 << i); } - bltcon0 = BLTCON0(0xc0, 0, 1, 0, 1, shift); + bltcon0 = BLTCON0(0xf0, 1, 0, 0, 1, shift); bltcon1 = BLTCON1(bunClear->direction, shift); bltdmod = screenSetup->byteWidth - 4 + wordShift * 2; @@ -161,10 +160,8 @@ void bun_offLeftSide( custom.bltcon0 = bltcon0; custom.bltcon1 = bltcon1; - // a has a mask we're shifting - custom.bltadat = 0xffff; - // b has bun data - custom.bltbpt = coolbunPlaneStarts[BUN_OFF_RIGHT_SIDE][plane]; + // a has bun data + custom.bltapt = coolbunPlaneStarts[BUN_OFF_RIGHT_SIDE][plane]; // d is the part on screen custom.bltdpt = currentScreen->planes[plane] + bunClear->memoryStartOffsetBytes; @@ -172,7 +169,7 @@ void bun_offLeftSide( custom.bltafwm = 0xffff; custom.bltalwm = bltalwm; - custom.bltbmod = wordShift * 2; + custom.bltamod = wordShift * 2; custom.bltdmod = bltdmod; custom.bltsize = bltsize; @@ -221,7 +218,6 @@ void bun_anywhere( custom.bltdpt = currentScreen->planes[plane] + bunClear->memoryStartOffsetBytes; - // custom.bltdpt = screenSetup.memoryStart; custom.bltafwm = 0xffff; custom.bltalwm = bltalwm; diff --git a/main b/main index 660f09c3c83bad9c186cf2c6aec267100acdfd35..7f0ca0d2b79bcf4cb2c1f5143829f6619b8660e0 100755 GIT binary patch delta 1565 zcmb7^ZAe>J7{{M;jd?L9xyJee)q3;NB*rw?XW?R}&Ww6dUSNBh1TLz=Bd%671 z{onIE=YO7a&V6(@YxZu|ND-U-vbc;*epfrk46#tWGdKLB+sUoMTP(y|gwt#Xzb8x% z#LupgQ+ZeuP@;5T3^I0lY^Bj7xET!{)27zaN9 z`@vx_1}4A*N;In&jDYy=lG@NX3!xcIB~bP+QBa9$3em0uYrz2DrSWTx_f;|__#w?z z!Ty{FvOi}R`K4@!@to2{wX#+v;~D-qyJoZKW07xFq8&<9+X3G7pH?Zi1>b+;b=rMw zm><`^X{@Z;MjB;CCA*6!w0^<%Y*bh1u|1bf-Y(L|sInjwKPa@vAH=%}T?LhFS6+nJ zrg*)sj7{-&-Ol`W=@Zh>THkH;+wa8Q*q4gt83;e#Jh`C^|Ixi?`yUP-T=~7^uY`Mbga}H&!zCF;7@PFCF zFxkqqofZchlG+u=a&g+`D^)sNETCT2x#`!~ta_cz)s>d)$WYUQZ*6{!KQLH@(y!su z&Zmr}*x0v?J5t`vxgQS1;H?T%OO>z^-1Eu>N~r%|-coaHM4r@A{732j9EGP78BZi; z);Sjoy(zQMC6!!bdY7H!ZKewOSM2gl5v!ad8)cKMm31opy^_)pe)Z)Rab_Yn5Ap9! z8YG zTZ8g$@*!&pV#Z`9V{HAd=Kbg$$c%1!%Keri%lwNGtv|r`ZQg3BL2XZ2_OcG1uoSR^ z`~j3gzD0a*^R)7i0?sZfc6HGv9B#OeYiLLsbqO4o>`f~n^?U%Vk9X2Zc(M*f8jmWeeBr8 zwDpTZ_IM&xo-|pjRldZOc4YYRXt2KTzW~brR*r@SwE$!HF|9cP6$t)`+Tn zM1fO?!R1Wi=^*k(phx*vPd+ZcL8O_*(FSm*FZaC^(wdpfsWwr?G44saxjUIJR9u+o INNR+C0Ex@wG5`Po delta 1616 zcmb7^UrbY19LIm>QrbfQS`dh!y|fi7)?PxZt)^2zLT-=%=~%+{V7Sf^!#W_f7-G!4 zbVga!#c_=Bfsj2ILW~dF*j@}_K!_oP7$7_uB0dN#*aRN-$89X^+ZI`3+{5n8$>-eP z{r&l#dw%!KE@k|@lyN7YjecEVXQST*=ULXRI-4b z_YCzFM@S=2DCDT-b6T(9u=VTm+>U*csjQRqT~xlePHh*?s;g?0;3_Co{QONw@ghH| zv$I8hR(Cw-viKQk=f@Fogp3ZzD89fS>JGAVd`@?idAL@8bpLM+-9IIAT0bE%(a2Rm5X@C%eq=>$`-^ah{#k*hqBUw?ST7-mC;YV0A@kd)qgGSu94m zBu|zID_>M4bmZI&60G%Ut0=6f;zhj>Bfo8a(m9Pc&Atgfm{k}!hfHO7ZUfz5i$YuR zutdIA+K$#Qd$yi$k@anX_8FP@ltCie$SRh*304=Z3-udhB>cxY!-&4aE6w(*1neH+xa)<{11CPtjj*2!pj5O4C1qj|0)SJ*BrsAU@pOP+s+y$71FOe zG_QL5uPyXSmE=LzBE;O2n1tH;U{fQ!{pspB7p#_i%hH>Qw(p^Pksq@J*bwiqoX$Td zuVv8Z)MXq~BmOHS>Z16g3oh_!c;xn5KPViN*U0bcq=J%8%Eb|2ExUQRjx-AWKFqtU z#VpSIt;>O#@b%WA@C|fYP5rX_mzKueZOKh_Qi;m0z~0AuUVU1;N~D?H-o{G}?$lMfl|;&B aCNuXW_VELWy?e)Yt-GFwr$^+3M)(Ihk@5%t diff --git a/main.c b/main.c index 5be08e9..721dcf7 100644 --- a/main.c +++ b/main.c @@ -52,7 +52,7 @@ extern uint8_t chip TopazBitplanes[]; extern uint16_t chip CopperColors[]; extern uint16_t chip SpriteCopperlist[]; extern uint16_t chip SpriteData[]; -extern uint16_t chip MaskBitplane[]; +extern uint8_t chip MaskBitplane[]; #define TOPAZ_WIDTH_PIXELS (160) #define TOPAZ_WIDTH_BYTES (TOPAZ_WIDTH_PIXELS / 8)