From 1148454fb3371ec8e0c72677ea2430e56c386dec Mon Sep 17 00:00:00 2001 From: minjaesong Date: Wed, 29 Apr 2026 19:20:15 +0900 Subject: [PATCH] graphics: colour 0 is default to half-transparent black --- doc/implementation.tex | 2 +- doc/tsvmpal.png | Bin 22201 -> 21956 bytes .../tsvm/peripheral/GraphicsAdapter.kt | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/implementation.tex b/doc/implementation.tex index a0e82bf..b7c6a22 100644 --- a/doc/implementation.tex +++ b/doc/implementation.tex @@ -662,7 +662,7 @@ TODO \endlastfoot \centering \begin{tabulary}{\textwidth}{rl} -{\ttfamily 0} & {\ttfamily \#000F} \\ +{\ttfamily 0} & {\ttfamily \#0008} \\ {\ttfamily 1} & {\ttfamily \#004F} \\ {\ttfamily 2} & {\ttfamily \#008F} \\ {\ttfamily 3} & {\ttfamily \#00BF} \\ diff --git a/doc/tsvmpal.png b/doc/tsvmpal.png index 8f39e044dd2f068fc295fca55859526c1b727acc..500b981d0fb31a22afee42f544608b9634f2094b 100644 GIT binary patch literal 21956 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 literal 22201 zcmeHPdsI_b);|%Eszs)Xb+r~@>}zbNVoenWfne1lMby?#vB*Ph4ONt&2muq4KwGKx ztFhB|Y!r!><+K(_I;992NJ7!#BPLZODUXm?DnSBCG{hV7y59|WFMRV)4*hVdHFqtt zuC8_NK6jsUe*3q7`<%OH^~zZPNsmtg0Qko(U-~)#6T<YY6*#9hhqii++q#c`= zELpwz?Y9B=%O^RXM8!9(4&1Fdxn)`T?1&G;-}(B=(GR{1*_Tv2ciF2I>zkiGm5}u3 zxQ2v}0u$@c9@U1Nwl1&+?3|uFef;7_mL@xVSTDT(%c+E;%UY*p${QF8Mh%iI-*ssZg9?2znmD!nwD&`#?MnwA0K6+}F@(SYhUXONpxk=5h6SvhJ&Tu4p8)o%oLM$hRg za)@bM@}UIwp01aWgk4p~Kj0P~4btBF*YP=i(&oAIZf`xGEQlv1u@Zcu=W+_4n71RK zzk*S@rMJ^D@myxpG&QL>RvOqGu+2fL>`2$O`Zi%>048QFe=8e+DJAYdlHX@*)BuEl zxTTBV$ZPFYU;J2qVS3DK!S8+29+)~we*NsP?{cFuzMt@qO_uaelQLfUI_{fSUpNx8 z^)o7}4|YFp@LG(%3ulvi$Atoisu~JN==Pm(-UTc{i(vW3IHT^srfl|*9QE->NH6n z%LnMv{XEX86Agi@Z}rfg)0DCqy!v6^UZItyBX*mF41-%3$yl+{3b{ z66YbAdkiEMF6J5YOdz!ZkoS3z=V?4;4c1DNPA#?B)eANQ=>b7-X$lvB+BVx+>^a?) z?|Gd5$_*h@BsI@?8m3z-hCbE7u>2)dvAign|Y*k7GYtNAH*~u;Mw|6}hUX z0GLC5+c^%bclv<$^I^x}Ey{E81Ht|EwAqwjG&8}sED|_DNj1M)un~LAS_$TrOH(|r z@k-WHkK&X6!|yyh%Zn9b0ii+v(za56e5#~XvZ7GIO*0>uV{&#@JO0hO>1@yyTlN}* zm7!MGHFG7a9tqITV4_UcT8Y-)=(os={dZ>TeH^uv+p9>IWbryt$`q z9c%7!qO-@RT^+9pz+EViLEv3ui{G~*{=W1s!_7*Sz0ZzQDd{4ZNP!JppW&F%4>xH% z17Xt3(QtP?kkmEji=w^u>Nx_9i-Gv!>CH% z2tlDcdwss(iG)VO8l7gArW767o(k9gXLY~*&|~N(e0iDJ5Cl$nGt;NkZCHT11%<)u z!*4x@0p)fJNiI{X=*T)Fo#Bif20`n3nC@=zIXGx_RS<4<sQ3vX|#hqL{yh*rSH8$lWMrrx-_9!Nz3OC|+< zLdhi($ePbyLBeu6cV0IRKutI=Q^4oWy~-4F1{t(LFR~v~F@9|sK_4NQ^bmw{Q)zU5 z1bW+gc>sS~IP#yoErx8qkw-U*T}>mHfzo`^~@zaJ$Vx{3AA!k}=LnIFoE9$dzk*1rn_9)iv zVS6wcbC7YNR-KSWBoZ(I4Ng|oQhM9#w{8Lw(qNA8^*no)OSuf z!_x8bk@IhcF}2sq?l{OR*N(Z!_B(^>iH1i?+9~@mIrGI}?AL_F0O_XSIZY zAo-c`o>lnH=CFC>L?b36Avmf7HWkM3ZGX8eg)I@ep2tTot^rM3EDP#sW>{h#`UU%t`+~ z!|@S~HhOlaR}vo!N&NoJn}YUf+gZ-s2|&7cAZt9}7-wL$mrwxsE5=&#^a3)$3IA&) z?h~C`XCCB9cCqM9dK_h?i(Z7_+<6v%nQYoE`4N0C00#98mHB|`fC3$6#3nh!G>Lek z9y$0}F%EHl$vTn?K|I_|se%rTT2v~j6V@poUMMrvT4D&>`{5V5gk#Q2aQ#wWaOcP?^uL?ehn^=`7j z*8q4R_nu6N&Dw#6V-)@@6Z@4SlLz6RvkHQk+`j?tLFu{jX47Q(AR(_XO0IWU*t?=| z#LasaVuXVagZ0IWCL3qcTe&g(g&2JhDx8;QAqXHuaTb zc^`cpH)Sqql(~a)J0j)fTbXptX%|^2moSJbqT`uN&naF+N7Q<1^l6tt-0vDd2Am=t z?iwkrYXXGI)8m`orS$L3v~i5l1V&q-Obb%8=)uu^9yin4;z-vJt=k*@J*$t6)wC?? ztZ0q8TE0k#_A+oV;7Hm%D?K^Pw%ydOYi6}YG6io)d4DDZr{{|c2fa;mmX2^$STdNJdo^xv0px;UA-F;fVB*(Tm<*L>L&(`T2>LIz z*Ldbo`mFJ))|6trr(nkR(S(39zuZ!`t0NIXZ#eNs#PA^2;y!l(=-(}LiEX1B7R7XkLV?FX4yqXQDV`Hv zl+h1;fta9(*7`ntT0RuLB&o4`g1t755{at{;$3KueHL)v*PqMrQzy24Z*iUESH}efS*+0RNvo*=?16C#npmSyUMT zM!^>#jvlp@%}CDZo5klXQE6P*;U)EO(O?zK>9D@bljSRHg{mZ46e0R|?1A{6!bxmP zO;QG8m06$1$-OjS6T|_pzTU!&3Uw#hd^NvX&(5J(hQk}o(d4Qq25uMkJ3!Bk##3v8 zO(VPnb(}Z%wzNu_qEg5V#x@IAE=n<$cPfUn1qu(wVX;_B7FuwmQYW$H<1W)4hB%br ztr6nxdNB7AEfi`mIaL_wi+Ot!G0_P11yU4~j3nNg801F)@yfwkv-u&2#D(3Lv;82KZmBFz1pQy^^ zDrD8eFz8@F9KULn&l>7AZGkb@DKrr8Y=!v>&0v`P53`Zn(Kt)9t0Pf9+-D<{r&@ee zN%Ry7IrK2yZqId=nfDDB*d0&7y!9+B@hGu@bVd0k{EazuhyXpxq{yrI?k zvr`*pqJ^qkQ>|}HSk7BhO?6sEJyK-!)l9ag{>MK|JK0W~{-*(zLZ4!u8+d^{b{icYao0}itXYDyv$4kZ)f zdkWjQsae!iTMWkY?WeF)wuF`h*m4L@wPA+}DykSv>Xa0;nK=6_MK+8oyRdLm+5If> zX;;Vaab!NsXLyJhlcEolRUn zGD^vL7%vb(r(i?1na0<3o9k>uu5<({Zn-0TzYoRc>QN95f;lO z%;c4a(^(l}h*%3Na}AofyV6#MnfP`|coT*?-44CZay7rJx~t8zl6o)YU4N7T(X)3S X4l4WpTzjE=^y8MTTq<~ZebN5{eOEMx diff --git a/tsvm_core/src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt b/tsvm_core/src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt index 85c3ccd..906dbcd 100644 --- a/tsvm_core/src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt +++ b/tsvm_core/src/net/torvald/tsvm/peripheral/GraphicsAdapter.kt @@ -1961,7 +1961,7 @@ void main() { val DEFAULT_PALETTE = intArrayOf( // 0b rrrrrrrr gggggggg bbbbbbbb aaaaaaaa - 255, + 136, 17663, 35071, 48127,