From 8b296aeb4aa5b4290faaa35c162f9c1aff8093b2 Mon Sep 17 00:00:00 2001 From: minjaesong Date: Mon, 23 Nov 2020 15:06:02 +0900 Subject: [PATCH] hp 264x font update --- hp2640.kra | 4 +-- hp2640.png | Bin 5559 -> 6247 bytes .../tsvm/peripheral/GraphicsAdapter.kt | 16 +++++------ .../torvald/tsvm/peripheral/TexticsAdapter.kt | 25 ++++++++++++++++++ 4 files changed, 35 insertions(+), 10 deletions(-) diff --git a/hp2640.kra b/hp2640.kra index f26607e..7e8b67a 100644 --- a/hp2640.kra +++ b/hp2640.kra @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:78f4d7b94986c53b58b7ab73ca0aefcf50b220ced1f9b78845348213c32bb843 -size 188752 +oid sha256:28c8b9817a50fe290522b3659969f48e061e3e9a7f6ac60d5cfac9e228e882aa +size 240845 diff --git a/hp2640.png b/hp2640.png index d0362cdda3dc106559d9cb6dd28927ea6436839d..00e77f0b5420a62f4ad0aa7d737de0e1d047b1c0 100644 GIT binary patch delta 5865 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 delta 5172 zcmV-46wB-9Ft;nPvjKk-?ny*JRCwC$T@7;7JP!^#y$8G}DVzj232+kVNeU+cPQq7p zJ~6_T?MJfgWV6ytrrnL#@y`=kmSkz$w(U<|`t|MGw?7EIdGlsTJx9DQTT;>hK>&Js zGq$G}M7_R#{R)?n<>)*4zeZ1Q?(=;rSEHyhMGy?^X6qpP8NpM{QSBnWHXY@^|uHIUmUUpuf}RRL+z9{QuwK1Ia%u z|CRtM?{gVBnI)BzTMoK5Nl|5v2%vJzM*xJp%)K(T&n6k@!-o&st5>hKw{PD*|NZsr zms;-r{{El8Rw94)`TqU;f4=+l=~K1*j~_om>Y2IhNc!);|DMP1;o+fL54D@h^~M?@ zejZi@NI)VQ1025ot+&0FifHm9AX(Y}OfYoWGYYu_QAN6LR70J08r5A3b)Tdcm;*7EZc zx2b~A@?u8;NNa=gos9$a{;v&Gi!+SKF18ez3`zjkd%XZYjR8e z;dPYPd#x^{OcYVwECYP}__5jdpFe+A>md0-mihAK%ZqX()3D6(`}gmm_OiS}^~rX# z3^gJ%(KCOz9+EMsPbAmL&n)A0IS{gYvh1*CbB=4?##?rc$nI-|bAwl!EYg&bri`Q` zn=+D;5fnTwjg*0EOBm`@6)8lIltIQ1 zDPw=J()Z>n#52NUpP3Dyt>ckran*>Dfue=zp1W$#7pT|QWt){q4pcL!j!bL~K#>A< zgn(=TB3c*fOxD}5Xk%!pr)iM381@h!+TJc~C4g3QmngNu5e&sWk)a77WDxgW!jK8G za)niLQtE*kdZ4qoY@|kdM@@8IX$!kKTUdWy0{}{Ed|uw`75lX&C8a}I(y;*~qe7H+ zr}AE_Y^1@F?~g{{K-z2R|5-^JXL!A9X(Y>gz2h`|pAXkrf-982t<}-hq7EL!yS0r) zMZdQXfRN}DEuSF7;EF0FQLrPL^^txbeREQ2(^>!__OeJj7&7@$+y^Od<%mZCP-B0b zV*nIw=Zf+Gj95~l02FBWuR~>!?L;={c44 z-sW2PnHew68D*eOTh=2P;RL-U4B;+inJAy3BkaPW#0hi*(RjxCMn@nYr~< z^Rs1fvDl@o$8cLdKh}D^TU<{j95h?bk-!th6gJDCSqCM8Q+R>tnLPAawMc*T$Qk#j z*wz*o6w8TYhwDr{fGiGLBg=!ur)b1A#F|>5Wjcuf&gDfj6zCW7`1OW)$g?ZlK(YM(vmsp;K>;$8q z6_wv(_AU%IrjELhqDzl8Fw}oY=$5F&Y*9JRyx=&vQ(0QI(^VtgInq@l-8qudn3|LT zN=ixqC9MSz>Wa{cKvA0fTju|kdqAxoSq5>#KwUL@?PNjrZt~UoVbSC=FK(2>A7icIbF9lwj+*j z7oI>GG=3=MHmAQb`39GxBpWhE`sjpmf|i*HS!yKvbR>!Zk9_g&@9+QSf-i}{H3Fi` z49>xvj1$$@8b3-%rXGJwHlLOZBkL(sT16ARz@y-?yudU+UJ$(i5TO;Bu+|`QIwVe! z6utDw3Fqh31{*0O`zO;n)#~ANRX0<~F7SWVW8 zGD9xWWG6%p;pA!2OQE+tE1rK938LB5bw#lF1&`*R z^15l1?Y3C6tqFut7ZYpbHOtnz)px`R4((TOKGK+)l%|ZN1W-}}C@BGyl#~EUS_+_= z+k>WiK-?Ziqgb@uLM*Nbh)V-f2Kj7h590FDa|=Ne%OLJ0Ru_~PWYq_ZxIILUvfaC;7*nkp+P$ptmNv2$nZ|&q)E>+6K+Pdu4SSR~ z1h<)pT|KOIo>m63+PQkm0@tV62vLwlfTz_zN0+e8 z=nWYW?n!wEk0xRPl!7iG#5oCR3J<@+z%U1na21C!Xg1oV{Hdm@ z(XyV`oX@wQ=p~kABsvP*)ML^kZV&Qwh7~X)GEh`K==TxvlUnXBJ(m`*jAN~5%d_!G zY05}C3?YBo^W;ED$$^p*KuHOpq?-j$E9!XGS^0?1R<9A&t7Z1 z_j#W7^bXFU^=!tJ0Z3&2QL{-zzkvCQ2}65S&&Ge1QRugT6bP*}SDV8`({fWm`r4Z> zXcwkwBzd{>$|Dg0omPfiSxqZLyjbR|bRjWqR3-w5~K&( zGAn=1k~EdIINMix<&rgeI@1cEnJ%WQuXHF&x}I%(QUYkH7Id%hzeno7C-Dt(KRM9J zi4}IF{r70s+3G+0;Nc+wMA~V#ZLz&8HPr`Q!bSo^)q+Ej8XnCRR?ADlQPbJpC5^2} z4y~vFQ{_^iEe+N{RlR&_tCz^3WiHaCq4a-s@dQuW9BvriW7L-D94#G=C$AS0tUPL) z-#WsLMkd)TN1I0hg!sbrqS=oEXbTSS(hJ>UQAkFdXO9Xcqv^sdda&g(5c~hEa0}^$ zcj5cQzS+Nt|F?#LK|{$zU5DR=jcn(8;a&JXhpORZdu2HZkXm>bB$R*5 z5y2BNL2fsU6-(Gidk|LNbDt=G->MH?=6Zd%wA*`s+atWow%F}qJArZb>{luhgO}SG z$?DRSadKk)4icR;0hCnTfz?6)pPf>6N%vhy?^d~=1DV&5CuO|1oL7xMW5*L|8i?3o zMfE)@IxDi>?{XkS4UgJOQ1G;l?pl9rGf~Hc2j4=|nRaBkXtg=w`15A)({7gW7y_@6 z{oaypCQ=6KmO;RR8ZRRvW~?lOw0U(I6!Z~gtSgUNCJI1aPBt3NVzkVvXd$bkeDumh zwK-f5)QXsaMEO`*#u6<3NSiOw7H}kD1`_3CWtpgcMU`2tMVEh>ldNSf zXat5cQbr32)I|66KoNrLNR*EmWk!VGmBRlFfjv-eyKQ%b?0fLp_*?e#Ngt;H0G;vR zzem}a94Lb;B<Exmqg?P#^F*QS3~0vYsKno_e=6m}J#k({SQw%3JVrE7%6Eu?q!C(0Iv z>f~DE)3Wi6jM)p{phy6nGzOq+`#*X-oX1cbOT>!a0$C)0E*=)GMc+V=v}jR2kVqib zGDrlEs3;$^jh($z5Ly}Jq^w6|U{Qxp*IqP>tF|U{BdJkz`heC-`k#L)q>45B8Qm)f zSq4t31we`_6G3He2+PYdYq!T<1vI`b*>2>t2%nel8hR~0JFOH#TA5isD4sIjdRO`k zp<;l=I4dn0c|BxJE

fi@N`<1bt4q!7t+{(xHPJ0FC4kb^BXeb};5xUa98CaCVE4&= zP6VKuULsl$KjKn(u;ui+0VD-GtFd%tuCOR>cQlT8u_~>QG7*0+6q@Z#+TA$X>AQFD z{<K=uz6}*Alz5oCKwZ08z_vk30r6?}1C? zB%V3S$0|P{=?N%ZNaeV48CGG8cwv^hx7Eq>a?^J;jcve(<(0ZcAxe6fuF-iK`XZlOuwf-XY zB%PE4^#Fg+15Xb)E8hI19RZXaC@DEmQgWcAE7b$Z31_uA%6Uo-BzIip=jffz3euic zz7SFEsnsK&H~U#G0M&qF;Xp0mNRUNz44J@@t*fjbc~%sM)#@pqhdgWM7?!^~90!U5 z2lCdIWi+6BfanDjQjZ55GeLGZ4ip8lmCuS=Vyu6lkLGr{3rosfSW@bNk^?0NN)D8i z94KiOfTUzDCtGqLjg!dl%l~Vi_t-6zoN`3@*4t6m#>(68Rz0iTLb?D-N=g7FC4iC= zKuHOpq@+IG)Ulo@qi0#yh%L-ozSibdZXV_RJ8xq=4fa}>qriazrUnkQ9`rd!GmLub zxto907*y{P@jUcdCtGh=2@z)~J6m(Ha?~)gEn&?%Doc!%-(>-0x<91JS8i z-dc}KgLVX|)t*|LXL2A95RV4DJ8wrsLdK@@eBsiaqBYI>!7yWSpi*gTaEkjcl=_NFIcUe@_P$_ zqFzzB38YoI747pS2L@mH&V7Z;PAQC1T})IL^@aMxec|!=^5x5mG3MWX`t+$O_)^<7;a8U7 zy0mfR@%QGYHvxz$=LgY4X)tKeQKIseM$#Zq=d}#UJop5>a$>CgdH3$!a~*$g-@bh@ zp%#)8K^N7jwV6P{;H5swzHu3_LrJ;1{(c}9DvPUj{eJws}+!RBlju8y1faZKs`VjKb-N7uxO_dY5bI`{3#&eDxR|ThFo9zsGXfG6*A9_StQ|lxQ76E@?JNOUv5r+V5HO%Ws!vNG57I2_J??^Xsc3)MrN>#Nr-7H-$!A9N%c~5OwnUGMhS?e~2X15#(WPkxh>(6E z!X{55^($&QK$ggwyN89Of6}z&ILaA*FCEW_5M5iI_R=k_ZbQTp7AgZFWom#$9M!dZ zn*X*(=8Cj}k51?+lgd&69f<=SVX|lU`HHmb*J-9WtL^FvU1u!P&Xt$#1dZhUX$wml iqPrY|q?Q__NB;v0 (-1).toByte() @@ -45,4 +50,24 @@ class TexticsAdapter(vm: VM) : GraphicsAdapter(vm, AdapterConfig( } } + private val TEX_HEIGHT = WIDTH * Math.sqrt(HEIGHT.toDouble() / WIDTH).toFloat() + private val ALIGN = (HEIGHT - TEX_HEIGHT).absoluteValue / 2f + + override fun render(delta: Float, batch: SpriteBatch, xoff: Float, yoff: Float) { + super.render(delta, batch, xoff, yoff) + + // CRT's default grey + batch.inUse { + batch.enableBlending() + batch.setBlendFunction(GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_COLOR) + batch.color = Color.WHITE + batch.draw(crtGradTex, xoff, HEIGHT + ALIGN + yoff, WIDTH.toFloat(), -TEX_HEIGHT) + //batch.draw(crtGradTex, xoff, HEIGHT + yoff, WIDTH.toFloat(), -HEIGHT.toFloat()) + } + } + + override fun dispose() { + crtGradTex.dispose() + super.dispose() + } } \ No newline at end of file