From 9f48df645ba8b41870d5ec0635effbd4533e1ec8 Mon Sep 17 00:00:00 2001 From: Michel Pollet Date: Sun, 20 Oct 2024 10:23:57 +0100 Subject: [PATCH] mii: Bug fixes Quite a few bugs fixed in the mouse and serial card driver. Also some internal changes to the video, and a few tweaks to libmui. The critical bits are the drivers and the IRQ handling in general. --- CHANGELOG.md | 24 +- docs/screen/v196versiontel.png | Bin 0 -> 371575 bytes libmui/fonts/Charcoal_mui.sfd | 96 +++++++- libmui/src/control/listbox.h | 38 ++- libmui/src/control/popup.h | 7 +- libmui/src/control/scrollbar.h | 10 +- libmui/src/mui_cdef_listbox.c | 68 +++++- libmui/src/mui_window.c | 9 +- libmui/src/stb_truetype.h | 14 +- src/drivers/mii_mb.c | 10 +- src/drivers/mii_mouse.c | 187 ++++++++++---- src/drivers/mii_mouse.h | 2 +- src/drivers/mii_ssc.c | 158 ++++++++---- src/mii.c | 140 ++++++----- src/mii.h | 68 +++++- src/mii_slot.h | 3 +- src/mii_video.c | 429 ++++++++++++++++----------------- src/mii_video.h | 7 +- ui_gl/mii_mui_about.c | 3 + 19 files changed, 847 insertions(+), 426 deletions(-) create mode 100644 docs/screen/v196versiontel.png diff --git a/CHANGELOG.md b/CHANGELOG.md index 135d9dd..8d34328 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,24 @@

# MII Version Changelog +## 1.96 +Bug fix release + * Mouse driver was revised completely. Now works in all program that I could try, + including Blazing Paddles; all the desktop apps, Dazzle Draw, MousePaint, etc. + * Also fixed the Super Serial Card driver, change the way data is processed, + and changed a lot of the way the IRQs are handled. + * In the process of this, I realized that I needed an IRQ MUX, as a program + that uses the SSC and the Mouse at the same time would not work. Typically, + I only know of one (french language VersionTel minitel emulator) that uses + both at the same time, but it's a good test. + * Also fixed a bug that prevented the 'debugger' to work properly. Doh. + +
+ VersionTel +
+
VersionTel is a rare program that uses 2 IRQs (SSC and Mouse)! +
+ ## 1.95 This is an intermediate release, mostly to fix a few bugs and add a few features that were requested. * Now have support for *writing* both DSK (PO and DO) as well as NIB files. As it @@ -17,7 +35,7 @@ This is an intermediate release, mostly to fix a few bugs and add a few features an IWM, but that'll come. * Changed the SmartPort driver to continue booting if there are no Disks. This seems to solve a problem people had with booting from a floppy when there was - no hard drive -- MII would stop at the basic prompt; not it continues to boot + no hard drive -- MII would stop at the basic prompt; now it continues to boot from the next slot down the line (with a message). * Audio processing was redone. There is now a notion of an audio 'sink' with an (now 32 bit float) FIFO. The speaker code (and soon, perhaps, the mockingboard) writes to it's own sink, and there an audio mixer that reads from all the sinks and mixes them together. This allows for a more flexible audio system, and also allows for a 'master volume' control. * Also now use 'sokol_audio' for the audio output, which gives me the possibility of a multi-platform audio output, if ever needed. I also added support for "miniaudio"; but it does a bit too much for my need at the minute, and slows down the compilation considerably, so it's not the default. @@ -36,7 +54,7 @@ This is an intermediate release, mostly to fix a few bugs and add a few features | ![NTSC](docs/screen/v19ntsc.png) | ![Mega2](docs/screen/v19mega2.png) | |--------------------------------------|--------------------------------------| * Added AVX/SSE/generic vectorial versions of some code paths, for speed. - * Added some more 'artifacts' color frindges to the HIRES rendering as well. + * Added some more 'artifacts' color fringes to the HIRES rendering as well.

Artifacts @@ -71,7 +89,7 @@ This is an intermediate release, mostly to fix a few bugs and add a few features split the 'XORG/GLX' code from the 'Pure GL' code from the 'MII UI' code, so it should be a lot easier to port to other platforms. * Redid the *DHRES rendering*, it's now a lot more accurate, has the correct artifacts. It's not as optimized as the previous version, but it looks better. - * Now remap the *joystick* coodinates to a 'square' -- my current 8bitdo joystick + * Now remap the *joystick* coordinates to a 'square' -- my current 8bitdo joystick has a circular deadzone, and it was a bit annoying to use. I might make that a setting, but for now, it's hardwired. * *Emulator now passes a2audit*. There is only one kludge to do it, regarding the diff --git a/docs/screen/v196versiontel.png b/docs/screen/v196versiontel.png new file mode 100644 index 0000000000000000000000000000000000000000..6181218731e7acc7f5ea8cccb979789312b369a1 GIT binary patch literal 371575 zcmeFZcQ}^s|35AXNfNRWviG>j-t)F+2-$mQZz0LbP7<<`5Rz%7kM`FuXcS%kW({AC<+95ghv%L+&tO*Ax& zQ#3U6UTk!D$7EP)2!8Zh>M2+$D6pVm!!K~;ISjOO@ahx;UjBLA3x}hhJCAlA-hT++ z1n~Oon6q#4a~FR9jE2|O|GZ9u*GzwoIlB_~Idrtk@bfu*Bj7a={Co}Hw&8zWs{vl0 zePRFpgM?RSE&u&fUO`2j8o|NM#la&0=W`)=g}Awd5Zu&UeDJRj4>ufr?!~`*bk@?b zg3chc^1xPFT3ta}n%c$H*~-?z5)IA!c|g1g>&Uy~}qHpiC4rKaZA$|P*%6=@$4_4luj+G1OC3wkV; zXM*^^h|l=cNw4L43s2gU9-mBsPoEN`{8dFvdoM&#RdduHwN=lRW?IX|I9O!}D6%Eh z=&hRR@M+K3&OFVwOIkx!7r9K%6zMD%1*n~TL`oXm`7YG0kz4wR{t-TP&SRX{rTF=` zX4LvSIR-_a%ewnwsB~q` ze9S2wE!g^-;_@$h6_ee>Z8`a<8|RM4KD2tsC+^+vx?%E5AqBTH9-a5Nm1aFqZYl{2 z(>Zwk*_eSJRsI!;CpC&wXjtJNyd&O@h)zz7O^h{Ke?2}%V|(Zt*?V1h5$2$`t+t-K zo{F-Nxw9jOsfDwdC5N}8%h>}%6A|}zF*Uchbf-46w6=8;rCF#GE!|D2y&WB#+=RSEX@0jW1h3ED=A@zi zeTcigD2*P>BWY(>OKM&YUJfpHS#MiU1dSLDwTP>Qm5`>4+@B`kH&GfJcXt;dPEIc` zFAgsr4rfe(Es)f zH*FsmOHNHoH)ju5b4yuIODA{Qe>P!Z{;%_0JX{@q-;RYjr=^3XBOK}mSLObXOP;N` zf1PnQ1lG2WF2B!$!TygU-EFP@Jy`$Ix3f=v-_Acf0;m70-TyfH?|c7!FdU_#A|&H% z?s3*V1sPGAv+E04IGfvA2>pJ^e~a6k&yo+p&c$_$o1ItC+>~8_OYj!Exuqq)Ag>i4 zA1{~XKblf-a&tFzGPgWy3L59Ig?6}kc+4$tS@N=*ao;j!hvO~TO|47?pfN693sZhe z1edwlKblZ;wS`$}>hRBAoi$|vO_?LiEN<~5_}Q)ac%Uh6cx7f~23_Jc<>E5uF|#y7 z-1^;=g}IQNv#X;iJWg9jQ)^337bolAADj)ikfgeTC=G&x>)-FFJD9p#!3m-?%C=4( z-v9nU+t$%i%iZ*BG`aZ^g1iE7_uTwE2rk}#oULQ&>IO6Mtj*uC^Y`gzk3|S>1_svj zY@R{`zu$*@5t4SbG?|8(@(;-MCS{OG#@OM;I%Zp1(5`HPi10#r&T~d)Zi? zJp~vrc5W_q1o!_sV4Qz$nDZ=V{C&qFod3Tu5&3<%YVGKN^Am(ZT0bWYBgwy}wvBG(^u5xh3zopPFco@gq|AdK znf~Q*`h%9qIFHRy2fjwNneMM?DqfK{7*);kN6(oHWt-z-{4o7|d(G#$j;WwG;Hz~SDspI1#7)Fg9^5<`+ogQBJ`Mmr8ddELf zgC*G^3H|Q_ur~`9q&EV`C{#{=_;|F4KiZVV$B_K%?rrk=jAI%)6E)MMilcyt(}asOZaKMnVb^?%$x`|^W2^%9|Li+)x{x0xU9 zs^;i})YPcLp#kOKED2s}lS>F$K?faj|DVevB~(K0Ht!l$pK_TFy}r$t=6G_ne|&tL z#_t@sKcB)JxwN?Gvs_&H;xkFZdf3mOKVy~OhU49+2|N~()kx!WWMN?;uXT}@ZeAS7 zXO28L7-{4njv5$C7#Y@7uFGzE%LdkVlZ9puk zX75n^bW1$v*rWO3P~#8qW1Q!$HR*K?Orglaof9#j;Vv0ZEh20RhLx zCz~WL{U_V`;xQTs3Ow-Q%8#E%!%rnlz1Qh4f& zUrCmXtK7a@o1h?NlEDrn+`9zqm7L^6H)YL3#F9TU)HrYR=L&^LAbKALL8M>ROE2FMbf)a=HuWL8}~Dlz}%VfLK9AA5&eo0~6{Q#a>1gYMA8 z(>-YnJU$RV*@*4w=~-QMs?fiysrlAt>-+vz;&ajO?n1GYqQ3AnGBPq$()dI-J7_Ja z95l}vRlClw1)T~L{pwT;M2Lv^&vnGZJV34OiSK?fS9-!W?OIKhYQhO!KYLzA;_DyI z`|bX`ijA@Uqd#{9`4^iF%j@9CC<979^q)zgwq}>=wz#Jye>~E1#vWX9t-d2WUo;?;DC1`5f=j;C4PFe z7Pwby!;6!-y}fN%?P}Tn_(lrHT^3f>99;w#SE*_9!=4^hZ$B6d0!@4HruP{JJ2BH9V1I(pI2ka5&$S8?*4zcGtRkt3znkfV*n-p=lgQN1GG zo_@V=g&{|{)+5w&LFvd_e0&WDONDc+&JFtvcc#Z10{qPUzW1ab4rHEa7Y>~*z9M!A z&1!!e8Y30cIudef^}!T`3hnF@xjjWx8uMsAvY)}a4|#Ig%}wZ z@EUiv2h_^-iX^Bd#0rXw>2v;7E%-JnJc^7mYp4~j6r8*l@r=s!UbU^mJGq>z5i;)b z8*ds^v#ra^%TISJ8{<)(o;qpWR%Lp;A6TFGHX zu2hULMSg{q^xz`lQ>m!-#+_nkNE|^l20qM@G-aRqYeVT zv%K9_oGBD{XzD-qnZXRA-cF#vvxcNMbvU`_EkZeY^mn~5x%NuNdnjXXRY)ybz1Cp6 z`m(LVHY#wpJeMqX75{B_MQ!b2+SHL%Kccz0d2ut)L+HkxlQ8q=DeMNjIaJ3?_}JJO zA*a7$Pi>r>to-NmQjE~2o;FX5?2Wrck#LH+egDiExN%AEb>6_l#AVK0%|%k?FmZA* zho&WWp;YDXp0&)82=W-OU&RoV)YAB3x~-OX4njggT9S}|ck#tu*8`r0gw}<2>8#oV zoo}ch%X`%!9`>4s4$35S=Dl;BiH+NNob>F8X=!O~tcWK;?J?J}Z2dC)H#_U<>SWgT zV)!TTlMLjmo%VP&NNZ?2IyxE~Pc4@;_AnLb6doQNFh$~oH&fMmi=#I^dGdts)-4U9 zTU=cDxR`4eqd}jNn7f{^E4@Kc;5|e8cc8uKQ2m_W&3DdjV8V!@YHOuxg2Q*I^DqlF zKR=J3(>3k#-eGj}s$qP?5!488AzQczuqAe8_^npAe58!cudF07LZ$J?`int;mszW< ztD~rEGU2kR&>yHU3Yfz2gjLgPTrzUFJLc>>QFAN#>yJ0y&d$yr9=CkP`ufgsigDTV z{#}x0O0A`2Gp%i+sQfq&Dc|tcd;4x2_bq(-q=?iQ`}+0k$cV1G`ubJFq=utQSR~?y zKg$);Z;NH3rd?>_v1K(z-rS|l%!CP7whmcx%6FOF`?yDVjZ4Q6(x7}b_0d)A-Rgym zu?l+<3e%lgs#EXbqB{kKVS##Ir<=odON>+|DMh^F+;O@w{`ANnr)rt!IZq*CM{Cu0 zx#Xotj*C-MK>tF1hA&Q!8Xg8Z)Nww?J0sJ23@Ke6OM?YaBc_Y`@vV@A%}3qMt=JAsaN?=UDlC*-%l{IdY4t}y0PQ< z)`u2hw#JtmZRgcQKYTA;OBA!`eRkHq@vo00Ax$O_O?Fqt8uz=M73m0EUk*OIWiJ-J z+@BIO9hs91vG%YWC8ngI%|&{&nbL?$H9Rx~@fe{P**XKs#}XnBM+z%>%-PVg=?Cgx zs0}#uOzYk~oH`XFkI`p)l6m~ode1Ofo#|*JHmJ^a;H8TI1ztE*9*QX1?s-?^zf^_c?NmYj(Fw6)2S3z;4z!SyU1nu%G1vF%*8 zg`!eT{P>+RLyli7fQOg)r^kcXPf!b|>*3-eu5%qQq(9PJ@30NOvmIFVOk0ImPfkv* zQ>1q@rK>Ysv%nqd#|2a-saddE zTGwd-a0X(gtgI{@)mpw@>4vwziOB~Ou2(~L^+uUye6-=sro7}lJUl~ox1M4C-3{I> zXlUXvk7?x_e}*5j zzSz}C&g=igl}nQU{P>@*|I`R)*RDP_t%nTFbm8yFgFiQLSx)TV7x{5a^LL=6#`bOe z_iNYFX4$L$ngE>`)v^D)?Rx4m{W0wQd%mRezKzIdWn(K$7=IeB4qD&$XTsPHjNcv@ z8;g>X_^T6fhgjvK(NYp?BnsmC#l&HMXS%&BkPoVkq9!>L0^h!U`;RO1PECm;5FxH- zr|@8gp8LlsI)&H5?w_4u$f4`Y8ZDPY9M!tKW5-KgZJ6O37T7ptfw+Jk+=tUK?^>b1 z;x2RpPhNzQ1Sd?tSci=`$b>dsl`#qR`7=?3%r<(k#0Lw+{&8SrHW5ykT+XzsxN7n4 zzQ0wu5AMzA;SN1Et8$-c>;3+5fP%#e>7F9`qzpw|RR8{82zCT0aMYEc?Pc7ZF`POR3F7aXb_#|hIBMCh>*1D+eQvqX^Lz{Ck5 zL&rH+Z%lWbl$4ZPDHYoeSv6HDg+uh@*Q{+p9c1V)W#+}j#W~mXYTOqg%5WGr)LEl4 zkaU_F8XJRJYB2$}B_n=NWdk0U&FR~iZ5Kb@9*Euqkbj1Jca}$BQAS>4<#YU+M67m_ zvH0_+i2pAaKfgnp3r{$W8vx(7$UT(GdinBYy08~!Xj67}Hl+2aEOi^m9n#X$1Q8Yk zFI6fkD&S5kDt0~upP!hRKo2&VsPVXU>lS)2nq3u4yf=4iABKlpB1XS=r`g-vi+iq- z2< z+vOO!tzPLXt+N~6BC8wTLc+qROmR-)sC>0d${0C?+p76nFzPT#gwmZL^-+~jkfw*o zGR_=NUZM3s(XtZZQ2DPn0Ri)77b~Q2!?c{ zlOFlVr`v}zFu!%Lgf{g~POiFEyL3Q|={-EoO>nQLzc%hvIpK5#GZf;AZNaz+mxRf* zjX-+O$w?pq*7DvV7A9ufX9uS0e4zAOiTy9w81Nqt-#|Dglf+EHx4yU9EcN0;W3wCE zyStCCZk?KP@$$;JPnwmvdwInYqx>7mB8lJ;=d6S&*!36durdcN(8}^J?u8!Q^m+vF zP$<30#Kp#jX@v(1Lz1A0wxst^R*Wb~(URQW-qyC-fB&si)|Wb;tzR3n1De&!450;# zY29z&xfK^%I6> zxz?j{H4`QOngAOECoF`?M?<5p#$y@QZI4wsqsp`GKIftvD)rTdt57P~+1XVYz8SI$ z0I+y)aDaD1h&SM1n_25+oXyddE8)$3y}d50Gju%~pv3thBi7?R5jX&+Pac_$zTTBt!S1B~2{{cxTvtx&gwQpo*Paj{C_&>OunGeC?)vgtw|uL}zc ztE)$yDoL(gW54ruF46VzW22Iiq9VxQY{Zv%+3yDWu@TdTGQ}geeMLtT3r3a!gONnY zKqea(qbl(w+?n0lhqUE$u$V7PqXC(vx3|}CtsXiAsrL!noz1HPPo`ad9qn()Kc;{f zW|%pm2Y10^b?_cl!S*FN*ra0E0|kITVPV5FNqCjQQ#dO z2ez>dtnCS>_q1?ghDuhBU6%Za&!sFbktw3}PQN%y9UHT6#q)YhTkb~XUNa9evD2b_ z^e8Y020BcNO9)URanyxSNuUn+(!#^T#Ut`NUh3A(v6(F$C*~2Fx2`2}(=W*nUZ)&~ zoCMWI`6v*+>+9?Cy+F4kvx8{kA3;tLPDl+TsD&3~WD35nJB$|u`bdoAX|6U-t?eBK zh#3n|V0M{6=_i+?S+IS0441^ja}ou#7EXroNFkgMD_V}0!^xkfbZiB35ph(tAxH0n zGB;Lg>;xJRQ2wg(G=pBl+M~de=OT@6pVcY6T{1GZvitHS17BMA!q#n;+mWmvJZo=Q zwQ*@N22wX~cvc&_U=n1abXk(ogQ+QFo5Q2G1nCGargYJ7u~&{wOito0^5<$67;;#b zkLGHr8)d1x2s}s9nN^N;TBK-XOsd{*o@Pq^^zQQ&QmIlsww(RBcx218OI+i_=IN}g zEFdaN(p9aEjWe64@3+c9p9vzMch=U7NXV6!FJHb}>#0JGzwRxPr%4vo`a&eF`$?w- z{wQ{jrvL?m=xrvVQah;mpbj;Rr^d(DX1T3z<~!lUuMIi&CeLN2EY*DTGCi}hr`=Wt zY{YzNH?T1%@UZIRU8^aEKL?0WxwDi7mgyB~vzS&vH~M`9Q@U=mB(LB9u;N*3_y!iK z)Hl~^7(Gl_`U-ReFg0w$v8jC?iBZQ;s2nG}PHdmOS8W)*3lkw(v31@Rw6TH3+_m%k zY2Exz<7l_6cr{s)rQ9V1D4@UYI}fL!&TTS@OHyNbFc|dB^y$n-)yQ&%9-CBFT-Fv8 z$TqwTiV3_4RWICk%y|=>n0`pmLvjq%NbDR0(IPQXdPas|nTmpfPA#1}KDN^$B;VQO z7;;85(JQJ<)TxB@xfr_Gg;#scp`BXdZAkjb&^=rcU79OB(24}LOYOv*p+v9p`hMqh zh*M>4dASxHLGS^+BV9ml!n1ARMeS^ba7Xf%Qm!JZ;|!V`l|S-Q3(Wd?Tx&t)Zb2c?%a8_l%^5ya?4&cJ_>t@j-vgb^a5;nk};% z0NUFr{n*6C#gh-}jW|hifth*J_M%X_O6 zT~9UG4bN)TFpK7dCX+8fdHkF*Xz<^EeY+3>e!UhHp!$_g>DnwXida`D>-_f-sXWEN ze9wPM_7`hxY&-=T!O7k}$C!zg)gFi=LI!1I)CD>z^#W~x)j2Ck<@&{t9OD)+t@;B3 z0>0^Ehe_2NQQ?Gnu1z}flG77(LIDp-gX@pptl9S1<|QvW0$T?M3No^37XfGiAh-=R zzV|}9mz>)TaN7^|$PBaF=m$)H4Ev@-%TMXoXBH1&B_jq?KI-dnfNdKQ@ z?Qh{JkX#te{WQDrPM@8rR4S{Zs|!+vAqPJvCnuzY>{q+HyFjADzXa8e<5l-&S|W&K z?^e5B5K7iNh0=u2;mZqkrk|dNfFn@p!YO(T!oq&b!^P0se5NH}<7z!uT!qrfW2^uZ z=ojyH#M45pV94P$`qmPJ91tyjLS7`p+XcP=w1Q95F2LA;)G`hX;nE(kt}wf^1Gk-_ zSjtv~d_G$3#%O-$?fdtha1s6D;n@vdUf!ReVGI`=tmlKuc%~xxi&4q305=QuJX9Y* zb}shkK{f+`DVK8(lE4|q71(-qMRtR>dDq(7+AOW@uKDlZKgK*ccp6fxq(L+{!p_D9 zGa*>we&8%HIf;yFl)|3TCtOO@_##K^&8#{_)F)S@kAKj%auK=n2g2R za2wbVU=o0|;nG~6hO*xC=NCzIraB{M5E$!pn21tSQ=t|YbDcx75uabSMx??4rj=uo z$2d4RV!i4Zp-sn!dsM*nh*T967LL_;*vrXb)>%dqp)FzUeG@(3K;x4RWkpKLg1b<% zBK@yZvoZlj#{5^WI@b0QS9+mp1_@=yxBf-oTyR(Ld8{+KUk;~;KDJ%Su3vt6a6xQO zu)jbiQOsv^PM#`&mz9;ZU?(Td{a0>5!9`eqEVldU2W%#lV-dbk+OEPl!i)xO_*BMv zUn=hK=q0T^M8S7g9-Yf$U#?S*}}nW9=*I5|rS3T$m{1p|)+EV?g-H!~ZBpcWDt z_aO4UXGVMiC;-3+CP%o`O@RT@_dxfy0T;_774lp8BTnu4>cEGrpdrEmk>>Nf>jm^G zR{hDpy#VKOv>f=Z6DQWz)BxU7^nVIcH%xXfvWH*J zR#0l2-8fU2s#=V7@X@3$E2oCZ%u$RMHAVu_wi#;DQ+WQ5MPy zbMsjs$`>z~Y~@N&17QOQ-bL=Jj||Y&5^{=#L!i)X0d$4M2Eglu#)fxYPEM$yc9yy_ zaO>@}Kw{X;flN=<^L}JmW#no9+C6pWwiuLI*}>uA8FRP?Me`^i1&Kj4xhHP|x8u!7 zacaU+d2I=h8K?!quHKQ61<%@r&#C8WFHnJ$2rNW=JC6H{c+Ajgm@+K~O~{???fVCo z*49BUvhMpkFseSM7R%5t21i0Jnt3jodgEXW`=S`B=zVu88ea&h7{VXIRrAZs%F156 zxPKB#5Zf*+EUZ9liMZqF$R4e&nHb2JuE@K%{vjk#qh=>(N^AXMSs-p&>cQHe^|=~f z$h767xC@uEf8fta)7;HBp#ehdG(2~psy4f%BvvLIItdW6b^?z_`)OD{sYY8zkL%&? zN{gjhCMxCW2KL)zx>b({xC#-S!PN80US5?@O}M|#&u_P@Adivr{cIsZ8NLbmauSI? zhplk;BN012uHiQDx;YoLW22+#Fg<~ax*xyMVOI8mNZi(^BW}*Mnv^V-DUzImBDdrf z%=(-@Y|&ffF%emdMkOh1MEQ^UY%oUXDe&O*=$n(kRQmc0)Qc$0CSkYWf?8KTDx%*D zS{5~}JtEcQ=G6yiv6vmmoxMHA)%M47In)Yx;XGViXwRfk-ZHw4xl6nV#K%V&c}$;H zJf%O8rF7l;YIV~lSDlIOX3Jd0Stp#I#!D7+uYp0vo7tIhvVO6SP} zRC4h!NZ4i;q)YNt%n!3n#yecp$Z#=zU2X;Bk}jnnHJAAj2y~^Y7l8ny&R-6jTB{s& zaBsdqtMu?bw`K$cC-d^rM>SHIv;qRueYsfZ=N{5U95jthPn*`5X2rrI6w}ZDk)Xi4 z2)YM6lcG7EBC3hpL>>CcU%!J68d)sqnST6jSO#N1&IIE%H9W(`o5_xT!4fa3tM|b$ zGIvtvu{<0>$cTI}*U`~YyVkJ0wa=jP%pFBSgVhgG_?tIx4i0>?)R~eMLF?>rH5Q>{ zRO>M5{OG{Pf9qDo`}c20e}ec26~bd}y}NfW8&FLH($$CRJu2oSR7HGDT16>i+!sb7vhHTg}LzWXx4a1lbn8AYHH|D?$WTW(j_$R$W~k6B84U%zg7lHK*^nsNeh7 zuc7CJ^vul6sR&EOprF(4G=2c;+IQ|;R67UdiWDA(s)%@M`)uE}f)_7dym{jUgje3# z7Z8s3t6rc*wT5&}RNXtjS^#wzuv?o&@>%Lc*RDwh0V0QREMIp)&xC@MR3Pxk8w9$0 z_ckC5;bUWvU%!5Hy%q?^moMe$2o&=A-@ZlgrK#vT6GwRfr3F&)mCKhwa|54+qlHB- z^c)CCATS_%Go**$DpB zGz|?6b#?iHBk_Iqe0+QyIvLgK3K<Sm5IT(8MQ0G>76k&>b!(0YrsvLUL_ z83hG}$g$Eeshd|3YzeH%pCqVzhlcXhne6QCq0V?Sun6U$NpL!9Av8U!&=~Twt}cn~ z9E|A)Qsx6u^v(qt8VxzQHpmwy=g5jiVPRlmVghl@MuYycci92$gIjo*Juk4)tbb zVG)~jo4q=xbx|x?dW~dXor#UDZea}stnc5yS55_9AJzbw5jbe)sRk81veo6~GodjP z74#!3yd$u*7GO?O9UXBLj9*@DEuh|%dfww>&Cz1dBTdz}!IfG*xv^nj@tI zmN`_v+hj&iO&Gf+C1X)7YeCdJ<(7ym~-*QxdzPP)~ z$H!M=_y&&H+;r88wk*>F0_ZHMp4mS}z#as}EO0(&`e#RKHd9)+9LYxzAVDzzx&cO^ zV06V3oCem=s8xA2tb(!kj>*Z%S?WJP!8G^tt8JeJH_x3rcLE!!UIxJ673=8UzMY(u zq^+X^%tB&k%fc23hap&?0|kV&PGM%y%ZA0+RxO<#4l$ zGgHI|fsZ{nJe&|vt(bS_!UF2ed!v;^?YTgi+kz_aNkJ$6Zv!?ad+jRLbAc$d<$acW z=4fzma2T(2&YW;M9bXWGVR{dvcnZc5L0AOT_)ig*k*fKjax6rV5WRZR_}3aw4;zmI zPkB%x1Cx_riYZ|wio8h3fRA#6Py>%!9Ew^9&roJtcR$YZN(I{A=jQNFEucy{v&vm3CwH1^0I%OS&)Tl8t{q>|&Xa6F*Jm_8kV9`l zw*Zo7CO4whjI9grZlkyuYVf zKTAvV^Y!I0tO6*nsHlkG;h759o6yQv^{JnPpy~Xjbo#7as?%TXz-EGh(`$7cat6R6 zFt0$g0>aJ~ibVD6xtp7Z$3R~7^rQ=~cpidUN+7Sukk}-)4y7M({i2}Zn3es4*vZ-O zi^jVVY(N0tL>365T7fL&ON)6`s8dK^-J-`f45Vhh&etiNC^eO~ zwJiV*!Fz)y+5!AJ_V%m+xj)22G-CZQHNSpXh6HowNHOFf>8bBRp{77whnNNs6$S<7 z-q_^i8=XQbpSgH&8e|6|QXL@lLF_IS_TBwCYLN?s<`2(W2wMPgek`SAW^$%Cn?@PNnUqwQo00T?r1M3%i)s z{Su3?Z3^pCVtIO&Nc78AGt=!st8z*6=c zg?EoRaB3%1$rTy3{h#bDX<6A8Go_myUppo#46*&bfC`MB7z-ns{4xuY>7?hc;)DU;RQ9IyW@=VoZhY_iT-sLk#ugikU&IeM z5~t0dx>p&HCEOg2HSL#tPaGB2Y8L-6KAxQY*$vb2{OGCx;JkUsCF`J|M1ECx)=2=G zyF#)y-!;%&<B2-e!vl$vL=P`c^?Mi0bmrHhx$XyQAZD)Xy+ zLg#!!T5c-lC3IVL&AWDV3+v~b#L_6>qYrFIP@`pFddJG;#6#Ry5Ui@ArKPpF+UZnD z*m<8Zj)_cDTzWHlGtPsrHG-jl>TMd`H8#_zUx+Pc;I$9s#R*0nJLpN;Q{jBhubfXJ!|g* zX;z^ROBIo-Z(xw8$sFDsubAg;Gmx&BSy@$G-E$c&zj~uEDM^~l z^0#k4PIHMwes`_5t9aI@QaPrQ&6HI)vP?hEgFql(G0JKnQk6?a5?c*In@aumoKm_j zpyo`L9dvYv_ou@zdjr{$$>&Het6^7Blbvn$4nx)pTX}*ha>hjf=mX>T4yo!)Nk}@V zbxY-v-f2O>(PV;eXz4-+Ddsp({1*$96M35OG3bvot8YggAnB#0Db?f**)7h4>9A9Z zDjv5$oR#&`dn~Ord7XhSFh_#|LPVQsDyJ&PQh+Y)&sp~bN#|Ri!GV#kiiL$j2*GWF zqT>*#!;%bdM?aIH>FnvzDbU_lmCezpH*)48{U8~J{8?1QMzCL`&h#T$f{ATZ6?Z<1 zyVr_I4Q87fP3EFuo%b0BH|Nzi?<%>@E~|kPhW@d*iJ68r88~L`uyL&yZ=$0fPcSo~ zerU5;J;-Lt4iuqu?#l)rK0D2K8Xlf<@W;K?OqBb$`fz4u1|&{^xA@q=@^*;2hNqjo zyTeADs0z%(&++O32fk40WcOTGH@8-^d(`-(-Rjt3AEAQ~ENL>q)N|22JYJEP2K0kojQ> zo~y8}0Gf9Myooc)-&Eri^CB950Yy|+#!VRu>ihemBHX+O)V3{l6$HzXXO4szZ5mh5 zH^116`PK(^CeSl8)FmtCak+ua1=T1(PnFLc*b9QkTKiRo5i&HyQJsRKH1Uu6RD2UK zK@A3N!HoO)!nt`^I1#fmTflKgZx31^`UWatT0P}YEXbFjh8tsIX7*Wc!Wy`xY+*p2 z)}6s+`Vsm`II-BG%1jg~K}}7BGhK~_eAsP8*aT z50Wq}!tDdHga^s>+A@+~o2Oj}}~I!Zzr|S z2B%4$Uj@fGrkI-F+j8^t_ z$ZbwvTC!(6a`_LWOwIB&DYP`jW7`W~zxD-bnjn@svehg)N=I9}*HOvMZR@T_WFPp2 zl$WR|DPLk8Gu&VXu_zwd#zhnz#h`X{Zb@DvX=<&}eUYF(3`n4yJ|YqlYfH;p zyu5}D{$x)|k`?CxU;ju^jZ#2$bs3bI$p!{CfLUR6Rm}g_I)JA+*L_ed74oTrT(b}8 zmqeyqcG1iOLXF_)gfVEL2bM@Fr9gxP02h`KhrZ_Xh z(FrS&&3%8+gtzMi7!o7;RASqu5tNd&Wb=y=Y7kGrCrip~K^md_)6-8)O)WD28-m*B zUR#HE(ii43J>0&I(g)~d(O~e2Sa{&T0jf{#JE+m)o<1m2hYcIj4{j!{t*tR;Jq3mj zn4ft2Pj(dv2PzC&K#E5om6d#>%jBOV-HdUsHUuUU>|rwxvf^O^mT7^#3oIZG?_13l zp@EI(ARje0PMMWKV(Txk;r%)_fYU#fLHVzulXNB+9gDg}Z@Aaj?Z*oLp(2sYARv=x~m$p-i zV?urWc0TDd^U5*#aw`RS99OLvQ>Jf}bhIAf4?}nniya|5*GWlVFk*#Z`*)}$XQyYS zxp$ag7%-BiD?W2!ExBE5~NzM5nyk(beIP(iLLSk-Nfxekke$#YDS8pwG zn_c6g?>XOj+jv~_+!uTx?t%Sg@37j?>E1o=JBv4@MH6<-a3%Y?dM^k+No0OeQB_St5m5ms1Y5W7=)P6=r;&cpx zsR2lf>5dto)4((ZSO_q;j*gBMpp;*3aRP56(rIo$B>@7~XB3Lj7;Fc03K??ON!l2v zU8(>fK+J*K$+wsfo^bzNzTK$5Uh*Ek_EJ_5iN{(2hDVq!mJ$0WKbeAGV-p*ZWIK zo~wRm$id0PWP;4-noq!0010Y)Gp_8(PqBJ_lg(wt4KHP1gtZDvJ6PiOH|NzvHXb19 zmVW&BHGL&W0D+Lw6~`8$r@gJG_cS$CVU?Lc7>$IU5bBL*U{IIK2TA}UxAKo$4-c;X z^c3E(P9T3$yFxU(3??G?*EKZ~I+*rPg}qk&7xPkjGR4N_C!+mP|+gZKR#;Hh?X<)m%HGY74!asPW7L!vG4 zM5nvXr;t?ubAoq$3jU{?aH*_ZhIA)AiOrUS+uGXxv)89c#REkqWSYN7zO)gjU9E(j zT2!E813O^Cg4<3M~S!K&ox!h9v+X7g2C%tarY1jURubkquO1-CLX zANI=Q$PJs7;aJg*Qw3;silna?yB2 z)sq2A8`p53&EV`tTs*pmhfw-95yGW({mZ;Umvk2X@he8O{u=N?eL4LMR$qUy*!J^N zly7J6AM}k~NnwaD17icW={vcQ_dG($2clxn4*H5O=fp=xO*-b28t0E(VXW+1yVp2{ zdPVhCj{X*r`?9$rh1h=er#j>psJ8l>qt%9~h`lVi@{Lcd+0O?SaQTYMO#@qEGw zg=lw8U|u^Od|vUqf``X2vA676jr7GuUSbA6AdLnSQHVe8_8r<^!4_sfXq%OfA}OiU zy7^#Teb)41snM}d{?2eaq66MsOLr9M}xGTl6`%szs+{g;0rFZt#0 zX0S{wx=Ya(?0H@PSafx>rI&|Nkm50bJH12t9iUM`xO%(MZ&udZ)r_8F$g$^J4^>NH zA><>CH7Zpra9QiH*4Opf)PNrnUo|pXQ0?wi~8!-=g41O9lK?L=o z65MhoEApCBNz2;a^%%JXNkBnh5d%gy0Yop3luMYGRw0Cr4h_ljEq`P-v&e7bokPFBbO6~^1=cG8vin6#DL>&p5OXK3rL^^0=KnF45O+YPx zJ^i5P_LmMtIhJdFsv1e%R#U%I`=d$LExx|DcAZNFdoCHe@Gz^9)jCYVSsXtrD{1!otGZL~V-Lx$N3uP*M#_ zO_~zumD(Q1Q;xMWELcfeMYWvIgK<-4IFFTvTClJ93Ql4Lx&+v@m?`A31XOA%J;77p zBf;B=q>saT)UqjwLs6`w^nD5}&!wda{=-^7}O%zTT;Zs#79}- zl+Qqh0UG?rJZyn0z@bYtYs-P%n2LG*XZHnLB*7~Rkn-DkQ2XJ1a8I5oRwW~_d8-2M z3E*#fdU`LiKpQOj{ZRX>J{Q!TaR59w%$}}!q4dWs)?gF;{8>3n3hD-heI#8% zYU;&Iu*JjvtP`*d5JX@+!$?g9hO@Jo90a<7MX;j^!lqUoSRM)T@(hXBNJtX>Uc>$} z&98C6dJX=9GRC2__jZ}M5UPMBYQ5Gb zK_!`}^#Y5dI@3D~fR0K}v~_iX_sgaP`(>FHvlIUf>0|8er1w%;>V-oH4!~s@u*U=x z6WATh%g^suKM55a&F!Hig1w>dOpt;;kjEBS_LqrYsX#XlK zu>3*;WHjf9qi&hEMT25g4BNd1ZB0x}pi6*5j;twTv4)eK`WKf5r=}XMQIyq&lz8FJ zlXVwkSHQal5+Jw=XwJ;mGRyKDWj1};u+BeU{4PX4Q0ZDl+K%&%?jpMH#fJm zXU`IR8^QGt8`S~LL$$l-e-ljEBBJp4bqWb@*ak~TygveKN0^ib7_BrkOv^_nL2_to zlk;7T1CIgd8;OgzV%xQthycjX%>jYHk{pTABl*5_b8{2;6d)GB0t53n@hi*)h*JPD zJGOyCYZ4KTX$C97qdnM02%9asTke6I#t{s7_wL;@FcUwy@|WbnWkgps_GN55*3u7=V$HQHEwg zo%^CD{Pz=JjA4#sVPkv#mxA-rtPFJRAL;PFOaMN8a$-`TP80tjT&4+%ZZ^Vr)q4UI zd75|h^@W_q1#c1Op>aqs;w>axK{WT zs+T3%+P80arwi-mX-e+f@cIHN1O}pCtb!ES57n~Nz3V6Y=ulPp+r9xH^+`%f!eazZ zVSU|2gc86#R6k$@0%I&lE_0s9uLVTy?zlU&5^dD3v4z?!ZL+4#T;a`vpbLRs1OpGO zjfzS)EJb2Ay$@F9mo8lb5ja}|16>j<2%xpW8-OLweCyvnob!Hg4z$D`Sb3n6y?e(? z8Jj8W^(HSbOizRWQwmpBL*ptp(cEh2G{eI%F-_bZN^k)Hl>_Dn5aFQaRr{>%>A4Hc z7A&8g?`h5no6+$#3;5Tm$z%HEi64MLtJ4Jv|2$3bd;J2D6y$Fhx-)_jHj9hMcYOM! zUv8xWGXyOCAS#1x!ix9*W9m%cYTUQDPm-il$(AHaQaeI2g*2%Y$u1p3k|asTC4_`h zNlKwIg)}IY5Jw$jl8_J@3?W5GrX)#Hz2B#E@B6+!_w%{;)2()UKhLxNYyGCB*5AS{ zU1MRqOphM6r}e&_qW`_=UNSVRtd8suQ3bno6B_Yj^u+&URqS-SC2H{E$~=4E@8 z2&B^{n^$Rl=e;qtc!YT#T>fxy5#%m|s8n|?PGzREsVaz9|I(wjjxt9~d6JygP; z?t3#hzn|3@mdK?58G4U&Px*qm;6GMQNL;4hCHRr6oH#(o$ifzXgecxp;-X%DLyC!L&V0u)NuB z+Xs&Q!5t`#}%z48>Czz?I5pPU;(FjZ5Z&%g9d__=LXyAW7ljSbvX` z`EFZ(Wi*GBF7D9Pt9tT8S2?`;sJoZi4OOJ*%GpQKdp7u~f9ZYO&r(~l|KZyT$uxG! zFOd!bQ)F%!s}}mB(a$(JKoZF4HMhQ`e7D&HKWROmnB(U|&9-RumpwFecsel2_0^j; zZCYG8=toi6Pz_n>Nb4o5R*fy_$usn@A>8Fz2njQ$Wb^X`r2As=SS_p7Py z_RA*KNC{%$y|MOirjW?UX%s;Bv#S3*(|NQpIUwAkOFZY5Z|q6~)!S!BMt-x@T!LgV zJm?^0x1X%E**A|`gG&FhN8S1lpu=8s(aei8!p=+Wk)pYh%=Zgc0_ydj$o&hxop$MM z*iTPipD7&g5Qh$>WXOVpuhjNxX!#9~eJx_XtE($L{>fn~JJE)Ybj}v5MZJ6b zwx@J3tb4d6PDfl+g*G$i&zpxy5i%1wuxRJaZ;g$M^_J7n^zGZ1+v(JtwHIFi&lQvk z4?k^ISOLa3*n-i4G04dW7^87HJMW(RS$-~dykTDe$v^*mr24T4eQ!!M957KJw)(OA z_6-$u^)4w;wl?&6>rX+JtKQ^Qy8#n$9xtzT0Z8bMw? z4EwhoP2MePYR|uYW>!qPMp!{nQIYK@r-&t!w*M-bl1UH%$mVR3fP2KuIvJ6!apjTM z*fX;ylt>J$BV?2Q{yQexR@GW=*x>D24W)I4BD|Qoy33Gne=iWZrCe}X2?|p4<@j!= z4}#RF4RQq9wtTXwX&@##l=x@P>?y1XEqLWM7S&X)TfUTk>)>}<4sBE_WQdHHM(5>Y z?dPVYXpgH?szB_uc;3{chhC3Im86XMlJWi7hgqY26s@&-t6t{R^cw4JpnB=@W%66* zxwzQThqWR>`CG4;g&Q{k1xMjGx5U4j9J%XcIo%m^P4frN<&Zf@G{@&`YKF6ey-iZ zRGAVpoTe*ujj_>2XsIxl-sGX4n0fI1hiT2yn#nKge6LT}v%GYD@c9xi_~q+ckn;xT zYwn$!;Y7xfs=V?#t!pNW6~d<0J2^J*PS1o!E(-Z*rJeBoD4&u?%C$x~G5G|R} zZZF?`>cYCm^5vUWtV^DJ%Ok}xVL684dF`QTb9tiew}-r4q_xpYTfZY9@fVpR)o%|h z8lk@7CDc{^R06Gb%@i;``@z&lzV1PWABL^8n!SzA6XsJe6e_JyfMx&!CG z=@v9(Fa)0Q7OVk)PrpB}3LLPz5OrNPiX29TJ9*xcJzFhLcEkGj;p%m3Emd~z%ijFD zL`QS2%1)~T9!Bc8Ks_?oM;tP1eiOS(f9kjJ3O(B)b@9R0*Nrf2{NyUeOi%Ujl-G^Q zPk8^f=!2L0nUQ-bkT+U`*Dd@d*K@^q`@O~s<5f?Wc{+6ciISU3L5GmG$|P$BLwawo1>5OtQC~ zHq1&h)8K6E*KNQ6o=caG)>f?T{u1fw>eU7+*rcEVlI)MQER>J^(%AA|=E#-YsYPkc z)4rbT7Ag9@3%@@@mgl)1J$fuPj4Sq>YO7`AZ+mxhPb311V}9*VBM1t$#>6PB1uKq# z+fZAS!|4Ka2f2li2eCOKys(A>Hz-m;QL&(R1rLkoxzumRx~;oav-;^P#kft2HT?Wz z?+xA%eA7K>+TbL~4)r!XWooNNi=+_J|FZq{wf!^(Ry09J3E!}CICFOct_4atXVaK5 zYhj%ac62dUdNYOsWwiF4{Ebg^ju_;_2Kjs8;iX|}{(Y=Zlr{B6Xr(1$l*jTiQ#WpG zp;tUU^YH$JgoLrmgIXj^N=la$=f8GLu-BBeDD)b8eE8`eyv>$HF}I#np6WpOXs7Ia zt+!4u75zkUM6oAw0Xv-_P1$d86q$v&{_DVoMON@|NfINxmqNwbgqAc!xGZi$y=r&BtPp-Ch~NJxw|U>Zkt#Y}u) z28yyv^J zTqp!DrcLuJ0>#(lKYQYhp=wbUrwtu#>D0xd>x<6r?uGJ=qgElTrnwaZ0jD=sN|Q*l zJ-(x#_1`178K&dAOjZ(p`SauEWd0G>VY;clf90)p?>de(yUMDZY1Rq|o}`;U9!$2T5*{-b{2!UF9-y~2-cPj~Nb zB_-WcN%KzPfw=s8U4G_WxNP)$r?l1C9XFd>uTL9P{37mwalb{y@fVvn-o}=JMS*mr zg09`i%{`R6%p$*JRJpdHs{B_SGa48ERc1;=;IH7aINMag^!kh|O-fAkL{HImm6Up$ zMR9I>ZD4zkm(t?Sf9abXnRsYsXp{C$Uy4Q9Yb?F}pxw0u!C@x;+HPiE?5MgO0cU<| zmuY#DwI?@JZRz*_e!P@ZkHIG{At4V9A56Q4Asx^G!c2%6DYzLSk(`^0U_!m^I)Cbm zUiaqHB6R*cbQQ>{a;2`U`)}*Cvbx5W>SNtS<)6C$cv1e=Bo|=O!#6Z4}Tqyb!csI=*Xw%Efozx3A8oQEj zb>QyJ)h>vdEkyb%!*zA1aWbniGiEzu-@;=7bOlIb{GHNU&8uW{^}zSYHQ!U`+MF=aGpbl4#7}%rcdx9y9*0e8xI|7MQztcC(J-j zIM$J=kPkN6h6BX-Mq}O>hB$AFKIGX<)zuuWxJ^wF4yi|yTXV>Mg%NG1C1`$?!?z`; zV`u;&TR+*#0etF7)*^_vuM@ggDq0l(-5P%LHNt}HNpixaJgcB?q

j$SV`{@25+4 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

(V3^w2P8j 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

I_W4xwjA8OX#%|i)63(sJ<|*fgkA=)T7~8t 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 z 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 VAVrVCU}-=8`1#D9eo_^x{T~b{p5_1m literal 0 HcmV?d00001 diff --git a/libmui/fonts/Charcoal_mui.sfd b/libmui/fonts/Charcoal_mui.sfd index 791237a..b602581 100644 --- a/libmui/fonts/Charcoal_mui.sfd +++ b/libmui/fonts/Charcoal_mui.sfd @@ -22,7 +22,7 @@ OS2Version: 0 OS2_WeightWidthSlopeOnly: 0 OS2_UseTypoMetrics: 0 CreationTime: 830956166 -ModificationTime: 1711450964 +ModificationTime: 1724911886 PfmFamily: 81 TTFWeight: 400 TTFWidth: 5 @@ -800,10 +800,10 @@ NameList: AGL For New Fonts DisplaySize: -96 AntiAlias: 1 FitToEm: 1 -WinInfo: 230 23 12 +WinInfo: 207 23 12 BeginPrivate: 0 EndPrivate -BeginChars: 489 471 +BeginChars: 491 473 StartChar: .notdef Encoding: 409 -1 0 @@ -857,7 +857,7 @@ EndChar StartChar: .null Encoding: 5 8 1 -AltUni2: 002400.ffffffff.0 00001d.ffffffff.0 002400.ffffffff.0 00001d.ffffffff.0 +AltUni2: 00001d.ffffffff.0 002400.ffffffff.0 00001d.ffffffff.0 002400.ffffffff.0 Width: 0 GlyphClass: 1 Flags: W @@ -2429,7 +2429,7 @@ EndChar StartChar: hyphen Encoding: 36 45 16 -AltUni2: 002010.ffffffff.0 0000ad.ffffffff.0 002010.ffffffff.0 0000ad.ffffffff.0 +AltUni2: 0000ad.ffffffff.0 002010.ffffffff.0 0000ad.ffffffff.0 002010.ffffffff.0 Width: 1190 GlyphClass: 1 Flags: W @@ -31696,14 +31696,14 @@ SplineSet -84 -111 l 5,29,-1 505.200195312 1611 l 5,26,-1 EndSplineSet -Validated: 524289 +Validated: 1 EndChar StartChar: triagdn Encoding: 488 9660 470 Width: 1467 VWidth: 1000 -Flags: WO +Flags: W LayerCount: 2 Fore SplineSet @@ -31718,7 +31718,87 @@ SplineSet 731.5 206 l 1,12,13 331.900390625 616.400390625 331.900390625 616.400390625 65.5 890 c 0,0,1 EndSplineSet -Validated: 524289 +Validated: 1 +EndChar + +StartChar: clickbox +Encoding: 489 9746 471 +Width: 1881 +Flags: W +LayerCount: 2 +Fore +SplineSet +136 1304 m 1,0,-1 + 1744 1304 l 1,1,-1 + 1744 -304 l 1,2,-1 + 136 -304 l 1,3,-1 + 136 1304 l 1,0,-1 +0 1448 m 1,4,-1 + 0 -432 l 1,5,-1 + 1881 -432 l 1,6,-1 + 1881 1448 l 1,7,-1 + 0 1448 l 1,4,-1 +1016.33984375 114.719726562 m 1,8,-1 + 1016.33984375 -163.740234375 l 1,9,-1 + 860.73046875 -163.740234375 l 1,10,-1 + 860.73046875 114.719726562 l 1,11,-1 + 1016.33984375 114.719726562 l 1,8,-1 +1489.54003906 45.5595703125 m 1,12,-1 + 1380.33984375 -63.6396484375 l 1,13,-1 + 1159.20996094 156.580078125 l 1,14,-1 + 1269.3203125 266.690429688 l 1,15,-1 + 1489.54003906 45.5595703125 l 1,12,-1 +1016.33984375 862.740234375 m 1,16,-1 + 860.73046875 862.740234375 l 1,17,-1 + 860.73046875 1141.20019531 l 1,18,-1 + 1016.33984375 1141.20019531 l 1,19,-1 + 1016.33984375 862.740234375 l 1,16,-1 +1489.54003906 931.900390625 m 1,20,-1 + 1269.3203125 710.76953125 l 1,21,-1 + 1159.20996094 820.879882812 l 1,22,-1 + 1380.33984375 1041.09960938 l 1,23,-1 + 1489.54003906 931.900390625 l 1,20,-1 +733.330078125 805.41015625 m 1,24,-1 + 623.219726562 695.299804688 l 1,25,-1 + 427.5703125 890.950195312 l 1,26,-1 + 537.6796875 1001.05957031 l 1,27,-1 + 733.330078125 805.41015625 l 1,24,-1 +1638.78027344 417.75 m 1,28,-1 + 1327.55957031 417.75 l 1,29,-1 + 1327.55957031 573.360351562 l 1,30,-1 + 1638.78027344 573.360351562 l 1,31,-1 + 1638.78027344 417.75 l 1,28,-1 +549.509765625 417.75 m 1,32,-1 + 238.290039062 417.75 l 1,33,-1 + 238.290039062 573.360351562 l 1,34,-1 + 549.509765625 573.360351562 l 1,35,-1 + 549.509765625 417.75 l 1,32,-1 +719.6796875 161.129882812 m 1,36,-1 + 498.549804688 -59.08984375 l 1,37,-1 + 389.349609375 50.1103515625 l 1,38,-1 + 610.48046875 271.240234375 l 1,39,-1 + 719.6796875 161.129882812 l 1,36,-1 +EndSplineSet +EndChar + +StartChar: closebox +Encoding: 490 9744 472 +Width: 1881 +Flags: W +LayerCount: 2 +Fore +SplineSet +136 1304 m 1,0,-1 + 1744 1304 l 1,1,-1 + 1744 -304 l 1,2,-1 + 136 -304 l 1,3,-1 + 136 1304 l 1,0,-1 +0 1448 m 1,4,-1 + 0 -432 l 1,5,-1 + 1881 -432 l 1,6,-1 + 1881 1448 l 1,7,-1 + 0 1448 l 1,4,-1 +EndSplineSet EndChar EndChars EndSplineFont diff --git a/libmui/src/control/listbox.h b/libmui/src/control/listbox.h index d317134..d51cb02 100644 --- a/libmui/src/control/listbox.h +++ b/libmui/src/control/listbox.h @@ -8,7 +8,6 @@ #pragma once - #include #include @@ -16,24 +15,42 @@ struct mui_control_t; struct mui_window_t; struct mui_listbox_elem_t; -/* This is currently unused */ -typedef void (*mui_ldef_p)( - struct mui_control_t * c, - uint32_t elem_index, - struct mui_listbox_elem_t * elem); - typedef struct mui_listbox_elem_t { uint32_t disabled : 1; // currently this is a UTF8 string using the 'icons' font char icon[8]; // UTF8 icon - // default 'LDEF' is to draw the 'elem' string + // default 'LDEF' is to draw the 'elem' string using normal font void * elem; // char * or... ? } mui_listbox_elem_t; DECLARE_C_ARRAY(mui_listbox_elem_t, mui_listbox_elems, 2); IMPLEMENT_C_ARRAY(mui_listbox_elems); +enum mui_ldef_op_e { + /* + * Initialize the LDEF, the 'ldef_param' is passed in, and the + */ + MUI_LDEF_OP_INIT, + /* + * Allow the LDEF to dispose of ldef_param, if applicable + */ + MUI_LDEF_OP_DISPOSE, + MUI_LDEF_OP_DRAW, + MUI_LDEF_OP_GET_TEXT, + MUI_LDEF_OP_EVENT, + MUI_LDEF_OP_COUNT, +}; + +/* This is currently unused */ +typedef void (*mui_ldef_p)( + mui_control_t * c, + enum mui_ldef_op_e op, + void * ldef_param, + uint32_t elem_index, + mui_listbox_elem_t * elem, + void * io_result ); + mui_control_t * mui_listbox_new( @@ -46,3 +63,8 @@ mui_listbox_prepare( mui_listbox_elems_t * mui_listbox_get_elems( mui_control_t * c); +void +mui_listbox_set_ldef( + mui_control_t * c, + mui_ldef_p ldef, + void * ldef_param); diff --git a/libmui/src/control/popup.h b/libmui/src/control/popup.h index a993bb2..60af1ab 100644 --- a/libmui/src/control/popup.h +++ b/libmui/src/control/popup.h @@ -12,10 +12,13 @@ #include #include -/* Popup menu control. +/* + * Popup menu control. + * * flags are MUI_TEXT_ALIGN_* -- however this corresponds to the margins * of the popup control itself when placed into it's 'frame' -- the - * popup will be placed left,right,center of the frame rectangle depending. + * popup will be placed left,right,center of the frame rectangle depending + * on these flags. */ mui_control_t * mui_popupmenu_new( diff --git a/libmui/src/control/scrollbar.h b/libmui/src/control/scrollbar.h index 200276a..caa0c88 100644 --- a/libmui/src/control/scrollbar.h +++ b/libmui/src/control/scrollbar.h @@ -11,11 +11,11 @@ #include #include - - -/* Page step and line step are optional, they default to '30' pixels and - * the 'visible' area of the scrollbar, respectively. - * If you want to for example have a scrollbar that scrolls by 5 when you +/* + * Page step and line step are optional, they default to '30' pixels and the + * 'visible' area of the scrollbar, respectively. + * + * If you want to -for example- have a scrollbar that scrolls by 5 when you * click the arrows, and by 20 when you click the bar, you would set the * line_step to 5, and the page_step to 20. */ diff --git a/libmui/src/mui_cdef_listbox.c b/libmui/src/mui_cdef_listbox.c index dfea9ca..a38cc27 100644 --- a/libmui/src/mui_cdef_listbox.c +++ b/libmui/src/mui_cdef_listbox.c @@ -24,6 +24,7 @@ typedef struct mui_listbox_control_t { uint8_t elem_height; mui_listbox_elems_t elems; mui_ldef_p ldef; + void * ldef_param; // returned from MUI_LDEF_OP_INIT // to handle double-click mui_time_t last_click; // typehead search related @@ -37,6 +38,56 @@ typedef struct mui_listbox_control_t { extern const mui_control_color_t mui_control_color[MUI_CONTROL_STATE_COUNT]; +typedef struct mui_ldef_default_t { + mui_font_t * main; + mui_font_t * icons; +} mui_ldef_default_t; + +/* + * CURRENTLY NOT IN USE + */ +static void +mui_ldef_default( + mui_control_t * c, + enum mui_ldef_op_e op, + void * ldef_param, + uint32_t elem_index, + mui_listbox_elem_t * elem, + void * io_result ) +{ + switch (op) { + case MUI_LDEF_OP_INIT: { + mui_ldef_default_t * d = calloc(1, sizeof(*d)); + d->main = mui_font_find(c->win->ui, "main"); + d->icons = mui_font_find(c->win->ui, "icons"); + *((mui_ldef_default_t **)io_result) = d; + } break; + case MUI_LDEF_OP_DISPOSE: + if (ldef_param) + free(ldef_param); + break; + case MUI_LDEF_OP_DRAW: { + mui_drawable_t * dr = io_result; + mui_font_t * main = mui_font_find(c->win->ui, "main"); + c2_rect_t f = c->frame; + c2_rect_offset(&f, c->win->content.l, c->win->content.t); + f.t += elem_index * ((mui_listbox_control_t *)c)->elem_height; + f.b = f.t + ((mui_listbox_control_t *)c)->elem_height; + mui_font_text_draw(main, dr, f.tl, elem->elem, 0, + mui_control_color[elem->disabled ? + MUI_CONTROL_STATE_DISABLED : 0].text); + } break; + case MUI_LDEF_OP_GET_TEXT: + *((char **)io_result) = elem->elem; + break; + case MUI_LDEF_OP_EVENT: + break; + default: + break; + } +} + + static void mui_listbox_draw( mui_window_t * win, @@ -52,7 +103,7 @@ mui_listbox_draw( cg_rectangle(cg, f.l, f.t, c2_rect_width(&f), c2_rect_height(&f)); cg_stroke(cg); - { + { // this clips the frame so we don't draw over the border c2_rect_t clip = f; c2_rect_inset(&clip, 1, 1); mui_drawable_clip_push(dr, &clip); @@ -403,3 +454,18 @@ mui_listbox_prepare( mui_control_inval(lb->scrollbar); mui_control_inval(c); } + +void +mui_listbox_set_ldef( + mui_control_t * c, + mui_ldef_p ldef, + void * ldef_param) +{ + mui_listbox_control_t *lb = (mui_listbox_control_t *)c; + if (lb->ldef) + lb->ldef(c, MUI_LDEF_OP_DISPOSE, lb->ldef_param, 0, NULL, NULL); + lb->ldef = ldef; + lb->ldef_param = ldef_param; + if (lb->ldef) + lb->ldef(c, MUI_LDEF_OP_INIT, ldef_param, 0, NULL, &lb->ldef_param); +} diff --git a/libmui/src/mui_window.c b/libmui/src/mui_window.c index 1322a67..9a03e44 100644 --- a/libmui/src/mui_window.c +++ b/libmui/src/mui_window.c @@ -31,7 +31,7 @@ mui_window_update_rects( memset(parts, 0, sizeof(parts[0]) * MUI_WINDOW_PART_COUNT); parts[MUI_WINDOW_PART_CONTENT] = win->frame; c2_rect_inset(&parts[MUI_WINDOW_PART_CONTENT], 4, 4); - parts[MUI_WINDOW_PART_CONTENT].t += title_height - 1; + parts[MUI_WINDOW_PART_CONTENT].t += title_height - 2; stb_ttc_measure m = {}; if (win->title) { @@ -98,11 +98,16 @@ mui_titled_window_draw( if (isFront) { const int lrMargin = 6; const int steps = 6; + struct cg_matrix_t m = cg->state->matrix; cg_set_line_width(cg, 2); for (int i = 1; i < (title_height + 4) / steps; i++) { cg_move_to(cg, win->frame.l + lrMargin, win->frame.t + i * steps); cg_line_to(cg, win->frame.r - lrMargin, win->frame.t + i * steps); } + cg_translate(cg, 0.5, 0.5); + cg_set_source_color(cg, &CG_COLOR(contentFill)); + cg_stroke_preserve(cg); + cg_set_matrix(cg, &m); cg_set_source_color(cg, &CG_COLOR(decoColor)); cg_stroke(cg); } @@ -131,7 +136,7 @@ mui_titled_window_draw( c2_rect_t title = parts[MUI_WINDOW_PART_TITLE]; if (isFront) { c2_rect_t titleBack = parts[MUI_WINDOW_PART_TITLE]; - c2_rect_inset(&titleBack, -6, 0); + c2_rect_inset(&titleBack, -8, 0); cg_round_rectangle(cg, titleBack.l, titleBack.t, c2_rect_width(&titleBack), c2_rect_height(&titleBack), 12, 12); cg_set_source_color(cg, &CG_COLOR(frameFill)); diff --git a/libmui/src/stb_truetype.h b/libmui/src/stb_truetype.h index bbf2284..90a5c2e 100644 --- a/libmui/src/stb_truetype.h +++ b/libmui/src/stb_truetype.h @@ -54,7 +54,7 @@ // Hou Qiming Derek Vinyard // Rob Loach Cort Stratton // Kenney Phillis Jr. Brian Costabile -// Ken Voskuil (kaesve) +// Ken Voskuil (kaesve) Yakov Galka // // VERSION HISTORY // @@ -4604,6 +4604,8 @@ STBTT_DEF unsigned char * stbtt_GetGlyphSDF(const stbtt_fontinfo *info, float sc scale_y = -scale_y; { + // distance from singular values (in the same units as the pixel grid) + const float eps = 1./1024, eps2 = eps*eps; int x,y,i,j; float *precompute; stbtt_vertex *verts; @@ -4616,15 +4618,15 @@ STBTT_DEF unsigned char * stbtt_GetGlyphSDF(const stbtt_fontinfo *info, float sc float x0 = verts[i].x*scale_x, y0 = verts[i].y*scale_y; float x1 = verts[j].x*scale_x, y1 = verts[j].y*scale_y; float dist = (float) STBTT_sqrt((x1-x0)*(x1-x0) + (y1-y0)*(y1-y0)); - precompute[i] = (dist == 0) ? 0.0f : 1.0f / dist; + precompute[i] = (dist < eps) ? 0.0f : 1.0f / dist; } else if (verts[i].type == STBTT_vcurve) { float x2 = verts[j].x *scale_x, y2 = verts[j].y *scale_y; float x1 = verts[i].cx*scale_x, y1 = verts[i].cy*scale_y; float x0 = verts[i].x *scale_x, y0 = verts[i].y *scale_y; float bx = x0 - 2*x1 + x2, by = y0 - 2*y1 + y2; float len2 = bx*bx + by*by; - if (len2 != 0.0f) - precompute[i] = 1.0f / (bx*bx + by*by); + if (len2 >= eps2) + precompute[i] = 1.0f / len2; else precompute[i] = 0.0f; } else @@ -4689,8 +4691,8 @@ STBTT_DEF unsigned char * stbtt_GetGlyphSDF(const stbtt_fontinfo *info, float sc float a = 3*(ax*bx + ay*by); float b = 2*(ax*ax + ay*ay) + (mx*bx+my*by); float c = mx*ax+my*ay; - if (a == 0.0) { // if a is 0, it's linear - if (b != 0.0) { + if (STBTT_fabs(a) < eps2) { // if a is 0, it's linear + if (STBTT_fabs(b) >= eps2) { res[num++] = -c/b; } } else { diff --git a/src/drivers/mii_mb.c b/src/drivers/mii_mb.c index 5e94cd2..8e78d69 100644 --- a/src/drivers/mii_mb.c +++ b/src/drivers/mii_mb.c @@ -12,6 +12,7 @@ typedef struct mii_mb_t { uint8_t init; // init sequence bits bool init_done; uint8_t timer; + uint8_t irq_num; struct mb_t * mb; mii_audio_source_t source; uint64_t flush_cycle_count; @@ -66,8 +67,6 @@ mii_mb_start( printf("MB Start\n"); mb->init = 0; mb->init_done = true; - mb->timer = mii_timer_register(mb->mii, _mii_mb_timer, mb, 1000, __func__); - mb->flush_cycle_count = 512 * mb->mii->audio.clk_per_sample; mii_audio_add_source(&mb->mii->audio, &mb->source); } @@ -151,6 +150,13 @@ _mii_mb_init( .ts = mii->cpu.total_cycle, }; mb_io_reset(mb->mb, &clock); + + char name[32]; + snprintf(name, sizeof(name), "MB %d", slot->id+1); + + mb->timer = mii_timer_register(mb->mii, _mii_mb_timer, mb, 1000, name); + mb->irq_num = mii_irq_register(mb->mii, name); + uint16_t addr = 0xc100 + (slot->id * 0x100); mii_mb_start(mb); mii_bank_install_access_cb(&mii->bank[MII_BANK_CARD_ROM], diff --git a/src/drivers/mii_mouse.c b/src/drivers/mii_mouse.c index 54cd8c0..91b6a81 100644 --- a/src/drivers/mii_mouse.c +++ b/src/drivers/mii_mouse.c @@ -64,6 +64,22 @@ * `----------------- Reserved */ +enum { + MOUSE_STATUS_PREV_BUT1 = (1 << 0), + MOUSE_STATUS_MOVE_IRQ = (1 << 1), + MOUSE_STATUS_BUT_IRQ = (1 << 2), + MOUSE_STATUS_VBL_IRQ = (1 << 3), + MOUSE_STATUS_BUT1 = (1 << 4), + MOUSE_STATUS_MOVED = (1 << 5), + MOUSE_STATUS_PREV_BUT0 = (1 << 6), + MOUSE_STATUS_BUT0 = (1 << 7), + + MOUSE_MODE_ON = (1 << 0), + MOUSE_MODE_MOVE_IRQ = (1 << 1), + MOUSE_MODE_BUT_IRQ = (1 << 2), + MOUSE_MODE_VBL_IRQ = (1 << 3), +}; + enum { CLAMP_MIN_LO = 0x478, CLAMP_MIN_HI = 0x578, @@ -80,61 +96,57 @@ enum { MOUSE_MODE = 0x0738, }; -enum { - mouseEnabled = 1, - mouseIntMoveEnabled = 2, - mouseIntButtonEnabled = 4, - mouseIntVBlankEnabled = 8, -}; - typedef struct mii_card_mouse_t { + STAILQ_ENTRY(mii_card_mouse_t) self; struct mii_slot_t * slot; mii_t * mii; + uint8_t irq_num; // MII IRQ line uint8_t timer_id; // 60hz timer uint8_t slot_offset; - uint8_t mode; // cached mode byte + uint8_t mode; // cached mode byte + uint8_t status; // cached status byte struct { uint16_t x, y; bool button; } last; } mii_card_mouse_t; +STAILQ_HEAD(, mii_card_mouse_t) + _mii_card_mouse = STAILQ_HEAD_INITIALIZER(_mii_card_mouse); + static uint64_t _mii_mouse_vbl_handler( mii_t * mii, void *param) { mii_card_mouse_t *c = param; - /* this is not exact, the VBL interrupt should still work when - * the mouse is disabled, but it's not really important -- for the moment - */ - if (!mii->mouse.enabled) - return 1000000 / 60; mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; // mii_bank_t * sw = &mii->bank[MII_BANK_SW]; - uint8_t status = mii_bank_peek(main, MOUSE_STATUS + c->slot_offset); + uint8_t status = c->status; uint8_t old = status; - if (c->mode & mouseIntMoveEnabled) { + if (c->mode & MOUSE_MODE_MOVE_IRQ) { if ((mii->mouse.x != c->last.x) || (mii->mouse.y != c->last.y)) { - mii->cpu_state.irq = 1; - status |= 1 << 1; + mii_irq_raise(mii, c->irq_num); + status |= MOUSE_STATUS_MOVE_IRQ; } } - if (c->mode & mouseIntButtonEnabled) { + if (c->mode & MOUSE_MODE_BUT_IRQ) { if (mii->mouse.button && !c->last.button) { - mii->cpu_state.irq = 1; - status |= 1 << 2; + mii_irq_raise(mii, c->irq_num); + status |= MOUSE_STATUS_BUT_IRQ; } } - if (c->mode & mouseIntVBlankEnabled) { - mii->cpu_state.irq = 1; - status |= 1 << 3; + if (c->mode & MOUSE_MODE_VBL_IRQ && !(status & MOUSE_STATUS_VBL_IRQ)) { + mii_irq_raise(mii, c->irq_num); + status |= MOUSE_STATUS_VBL_IRQ; } // if (mii->cpu_state.irq) mii->trace_cpu = true; - if (status != old) + if (status != old) { mii_bank_poke(main, MOUSE_STATUS + c->slot_offset, status); + c->status = status; + } return 1000000 / 60; } @@ -151,11 +163,20 @@ _mii_mouse_init( printf("%s loading in slot %d\n", __func__, slot->id + 1); c->slot_offset = slot->id + 1 + 0xc0; - uint8_t data[256] = {}; c->timer_id = mii_timer_register(mii, - _mii_mouse_vbl_handler, c, - 1000000 / 60, __func__); + _mii_mouse_vbl_handler, c, + 1000000 / 60, __func__); + STAILQ_INSERT_TAIL(&_mii_card_mouse, c, self); + c->irq_num = mii_irq_register(mii, "mouse"); + + /* + * The mouse card ROM is a 256 bytes, and has entry points for the + * various calls, and a signature at the start. + * This re-create it as a bare minimum - the entry points poke at the + * softswitches, which in turn calls back the emulator. + */ + uint8_t data[256] = {}; // Identification as a mouse card // From Technical Note Misc #8, "Pascal 1.1 Firmware Protocol ID Bytes": data[0x05] = 0x38; @@ -189,6 +210,10 @@ _mii_mouse_dispose( struct mii_slot_t *slot ) { mii_card_mouse_t *c = slot->drv_priv; + +// mii_timer_unregister(mii, c->timer_id); + mii_irq_unregister(mii, c->irq_num); + STAILQ_REMOVE(&_mii_card_mouse, c, mii_card_mouse_t, self); free(c); slot->drv_priv = NULL; } @@ -205,37 +230,51 @@ _mii_mouse_access( int psw = addr & 0x0F; mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; + switch (psw) { case 2: { if (write) { byte &= 0xf; mii_bank_poke(main, MOUSE_MODE + c->slot_offset, byte); - mii->mouse.enabled = byte & mouseEnabled; + mii->mouse.enabled = byte & MOUSE_MODE_ON; printf("%s: mode %02x: %s Move:%d Button:%d VBL:%d\n", __func__, byte, mii->mouse.enabled ? "ON " : "OFF", - byte & mouseIntMoveEnabled ? 1 : 0, - byte & mouseIntButtonEnabled ? 1 : 0, - byte & mouseIntVBlankEnabled ? 1 : 0); + byte & MOUSE_MODE_MOVE_IRQ ? 1 : 0, + byte & MOUSE_MODE_BUT_IRQ ? 1 : 0, + byte & MOUSE_MODE_VBL_IRQ ? 1 : 0); c->mode = byte; } } break; - case 3: // service mouse - // no need to handle that, the VBL handler does it - break; + case 3: {// service mouse + // call the timer now, and reset it + // mii_timer_set(mii, c->timer_id, 1000000 / 60); + // _mii_mouse_vbl_handler(mii, c); + // now they've been read, clear the flags + uint8_t status = c->status; + status &= ~(MOUSE_STATUS_BUT_IRQ| + MOUSE_STATUS_MOVE_IRQ|MOUSE_STATUS_VBL_IRQ); + mii_bank_poke(main, MOUSE_STATUS + c->slot_offset, status); + c->status = status; + mii_irq_clear(mii, c->irq_num); + } break; case 4: {// read mouse if (!mii->mouse.enabled) break; - uint8_t status = 0; - if ((mii->mouse.x != c->last.x) || (mii->mouse.y != c->last.y)) - status |= 1 << 5; - status |= c->last.button ? 1 << 6 : 0; - status |= mii->mouse.button ? 1 << 7 : 0; mii_bank_poke(main, MOUSE_X_HI + c->slot_offset, mii->mouse.x >> 8); mii_bank_poke(main, MOUSE_Y_HI + c->slot_offset, mii->mouse.y >> 8); mii_bank_poke(main, MOUSE_X_LO + c->slot_offset, mii->mouse.x); mii_bank_poke(main, MOUSE_Y_LO + c->slot_offset, mii->mouse.y); + // update the status byte. IRQ flags were set by timer + uint8_t status = c->status; + status &= ~MOUSE_STATUS_MOVED; + if ((mii->mouse.x != c->last.x) || (mii->mouse.y != c->last.y)) + status |= MOUSE_STATUS_MOVED; + status = (status & ~MOUSE_STATUS_PREV_BUT0) | + (c->last.button ? MOUSE_STATUS_PREV_BUT0 : 0); + status = (status & ~MOUSE_STATUS_BUT0) | + (mii->mouse.button ? MOUSE_STATUS_BUT0 : 0); mii_bank_poke(main, MOUSE_STATUS + c->slot_offset, status); - // mii_bank_poke(main, MOUSE_MODE + c->slot_offset, 0xf); // already in place + c->status = status; c->last.x = mii->mouse.x; c->last.y = mii->mouse.y; c->last.button = mii->mouse.button; @@ -254,9 +293,9 @@ _mii_mouse_access( mii->mouse.max_y = mii_bank_peek(main, CLAMP_MAX_LO) | (mii_bank_peek(main, CLAMP_MAX_HI) << 8); } - // printf("Mouse clamp to %d,%d - %d,%d\n", - // mii->mouse.min_x, mii->mouse.min_y, - // mii->mouse.max_x, mii->mouse.max_y); + printf("Mouse clamp to %d,%d - %d,%d\n", + mii->mouse.min_x, mii->mouse.min_y, + mii->mouse.max_x, mii->mouse.max_y); break; case 8: // home mouse mii->mouse.x = mii->mouse.min_x; @@ -284,3 +323,65 @@ static mii_slot_drv_t _driver = { .access = _mii_mouse_access, }; MI_DRIVER_REGISTER(_driver); + + + +#include "mish.h" + +static void +_mii_mish_mouse( + void * param, + int argc, + const char * argv[]) +{ + mii_t * mii = param; + mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; + + if (!argv[1] || !strcmp(argv[1], "status")) { + mii_card_mouse_t *c; + printf("mouse: cards:\n"); + STAILQ_FOREACH(c, &_mii_card_mouse, self) { + printf("mouse %d:\n", c->slot->id + 1); + + #define MCM(__n) { .a = __n, .s = (#__n)+6 } + static const struct { + uint16_t a; + const char * s; + } mouse_regs[] = { + MCM(MOUSE_X_LO), MCM(MOUSE_X_HI), MCM(MOUSE_Y_LO), + MCM(MOUSE_Y_HI), MCM(MOUSE_STATUS), MCM(MOUSE_MODE), + }; + for (int i = 0; i < 6; i++) { + uint8_t val = mii_bank_peek(main, mouse_regs[i].a + c->slot_offset); + printf(" $%04x: %-10s: $%02x\n", + mouse_regs[i].a, mouse_regs[i].s, val); + } + uint8_t status = mii_bank_peek(main, MOUSE_STATUS + c->slot_offset); + // printf individual status bits + static char * status_bits[] = { + "PREV_BUT1", "MOVE_IRQ", "BUT_IRQ", "VBL_IRQ", + "BUT1", "MOVED", "PREV_BUT0", "BUT0", + }; + printf(" status: "); + for (int i = 0; i < 8; i++) + printf("%s ", (status & (1 << i)) ? status_bits[i] : "."); + printf("\n"); + // printf individual mode bits + uint8_t mode = mii_bank_peek(main, MOUSE_MODE + c->slot_offset); + static char * mode_bits[] = { + "ON", "MOVE_IRQ", "BUT_IRQ", "VBL_IRQ", + }; + printf(" mode: "); + for (int i = 0; i < 4; i++) + printf("%s ", (mode & (1 << i)) ? mode_bits[i] : "."); + } + return; + } +} + +MISH_CMD_NAMES(_mouse, "mouse"); +MISH_CMD_HELP(_mouse, + "mouse: Mouse card internals", + " : dump status" + ); +MII_MISH(_mouse, _mii_mish_mouse); diff --git a/src/drivers/mii_mouse.h b/src/drivers/mii_mouse.h index b3bd521..81608bc 100644 --- a/src/drivers/mii_mouse.h +++ b/src/drivers/mii_mouse.h @@ -14,7 +14,7 @@ // mins/max are set by the card, x,y,button are set by the UI typedef struct mii_mouse_t { bool enabled; // read only, set by driver - uint16_t min_x, max_x, + int16_t min_x, max_x, min_y, max_y; // set by driver when enabled uint16_t x, y; bool button; diff --git a/src/drivers/mii_ssc.c b/src/drivers/mii_ssc.c index e21ce1f..209e39a 100644 --- a/src/drivers/mii_ssc.c +++ b/src/drivers/mii_ssc.c @@ -34,8 +34,8 @@ make && A2_TTY=/dev/tntX ./surl-server #include #include #include -#include -#include +#include + #include "mii.h" #include "mii_bank.h" #include "mii_sw.h" @@ -160,6 +160,7 @@ typedef struct mii_card_ssc_t { struct mii_slot_t * slot; struct mii_bank_t * rom; mii_t * mii; + uint8_t irq_num; // MII IRQ line uint8_t slot_offset; mii_ssc_setconf_t conf; int state; // current state, MII_SSC_STATE_* @@ -184,6 +185,7 @@ STAILQ_HEAD(, mii_card_ssc_t) _mii_card_ssc_started = STAILQ_HEAD_INITIALIZER(_mii_card_ssc_started); pthread_t _mii_ssc_thread_id = 0; mii_ssc_cmd_fifo_t _mii_ssc_cmd = {}; +int _mii_ssc_signal[2] = {0, 0}; static int _mii_scc_set_conf( @@ -196,11 +198,6 @@ _mii_ssc_thread( void *param) { printf("%s: start\n", __func__); - // ignore the signal, we use it to wake up the thread - sigaction(SIGUSR1, &(struct sigaction){ - .sa_handler = SIG_IGN, - .sa_flags = SA_RESTART, - }, NULL); do { /* * Get commands from the MII running thread. Add/remove cards @@ -226,15 +223,20 @@ _mii_ssc_thread( return NULL; } } - /* here we use select. This is not optimal on linux, but it is portable - to other OSes -- perhaps I'll add an epoll() version later */ + /* + * Here we use select. This is not optimal on linux, but it is portable + * to other OSes -- perhaps I'll add an epoll() version later + */ fd_set rfds, wfds; FD_ZERO(&rfds); FD_ZERO(&wfds); int maxfd = 0; + FD_SET(_mii_ssc_signal[0], &rfds); + if (_mii_ssc_signal[0] > maxfd) + maxfd = _mii_ssc_signal[0]; mii_card_ssc_t *c = NULL, *safe; STAILQ_FOREACH_SAFE(c, &_mii_card_ssc_started, self, safe) { - // guy might be being reconfigured, or perhaps had an error + // this guy might be being reconfigured, or perhaps had an error if (c->tty_fd < 0) continue; if (!mii_ssc_fifo_isempty(&c->tx)) { @@ -259,11 +261,17 @@ _mii_ssc_thread( } if (res == 0) // timeout continue; + if (FD_ISSET(_mii_ssc_signal[0], &rfds)) { + uint8_t b; + if (read(_mii_ssc_signal[0], &b, sizeof(b))) + /* ignored */ {}; + } STAILQ_FOREACH(c, &_mii_card_ssc_started, self) { - /* Here we know the read fifo isn't full, otherwise we wouldn'ty - have asked for more data. - See what space we have in the fifo, try reading as much as that, - and push it to the FIFO */ + /* + * Here we know the read fifo isn't full, otherwise we wouldn't have + * asked for more data. See what space we have in the fifo, try + * reading as much as that, and push it to the FIFO + */ if (FD_ISSET(c->tty_fd, &rfds)) { uint8_t buf[mii_ssc_cmd_fifo_fifo_size]; int max = mii_ssc_fifo_get_write_size(&c->rx); @@ -278,10 +286,12 @@ _mii_ssc_thread( for (int i = 0; i < res; i++) mii_ssc_fifo_write(&c->rx, buf[i]); } - /* here as well, this wouldn't be set if we hadn't got stuff - to send -- see what's in the fifo, 'peek' the bytes into - an aligned buffer, try to write it all, and then *actually* - remove them (read) the one that were sent from the fifo */ + /* + * Same here, this wouldn't be set if we hadn't got stuff to send -- + * see what's in the fifo, 'peek' the bytes into an aligned buffer, + * try to write it all, and then *actually* remove them (read) the + * one that were sent from the fifo + */ if (FD_ISSET(c->tty_fd, &wfds)) { uint8_t buf[mii_ssc_cmd_fifo_fifo_size]; int max = mii_ssc_fifo_get_read_size(&c->tx); @@ -303,6 +313,20 @@ _mii_ssc_thread( return NULL; } +/* + * Write a byte to 'our' end of the socketpair (the other end is in the thread). + * This is used to wake up the thread for example when the FIFO is full/empty + */ +static void +_mii_ssc_thread_signal( + mii_card_ssc_t *c) +{ + uint8_t b = 0x55; + if (_mii_ssc_signal[1] > 0) { + write(_mii_ssc_signal[1], &b, sizeof(b)); + } +} + static void _mii_ssc_thread_start( mii_card_ssc_t *c) @@ -313,6 +337,11 @@ _mii_ssc_thread_start( printf("%s TTY not open, skip\n", __func__); return; } + // create as socketpair in _mii_ssc_signal + if (socketpair(AF_UNIX, SOCK_STREAM, 0, _mii_ssc_signal) < 0) { + printf("%s: socketpair: %s\n", __func__, strerror(errno)); + return; + } c->state = MII_SSC_STATE_START; mii_ssc_cmd_t cmd = { .cmd = MII_SSC_STATE_START, .card = c }; mii_ssc_cmd_fifo_write(&_mii_ssc_cmd, cmd); @@ -323,16 +352,23 @@ _mii_ssc_thread_start( printf("%s: starting thread\n", __func__); pthread_create(&_mii_ssc_thread_id, NULL, _mii_ssc_thread, NULL); } else { - pthread_kill(_mii_ssc_thread_id, SIGUSR1); + _mii_ssc_thread_signal(c); } } /* * This is called when the CPU touches the CX00-CXFF ROM area, and we * need to install the secondary part of the ROM. - * Also, if the access was from the ROM, we start the card as there's no - * other way to know when the card is started -- we don't want to create - * a thread fro SSC if the card is being ignored by the Apple IIe + * This is what the hardware does, and that ROM gets 'reset' when something + * touches $cfff. (see _mii_deselect_cXrom()) + * + * Also, the other key thing here is that if we detect the PC is in the the main + * part of our ROM code, we start the card as there's no other way to know when + * the card is started -- we don't want to create a thread for SSC if the card + * is installed but never used. + * + * This seems to work pretty well, it handles most programs that use the SSC + * that I have tried. */ static bool _mii_ssc_select( @@ -364,11 +400,11 @@ _mii_ssc_select( return false; } -/* Called a some sort of proportional number of cycles related to the - baudrate to check the FIFOs and update the status/raise IRQs. - this doesn't have to be exact, it just have to be often enough to - not miss any data. - */ +/* + * Called at some sort of proportional number of cycles related to the baudrate + * to check the FIFOs and update the status/raise IRQs. this doesn't have to be + * exact, it just have to be often enough to not miss any data. + */ static uint64_t _mii_ssc_timer_cb( mii_t * mii, @@ -384,7 +420,7 @@ _mii_ssc_timer_cb( uint8_t rx_full = !mii_ssc_fifo_isempty(&c->rx); // what it really mean is 'there room for more data', not 'full' uint8_t tx_empty = !mii_ssc_fifo_isfull(&c->tx); - uint8_t old = c->status; +// uint8_t old = c->status; c->status = (c->status & ~(1 << SSC_6551_RX_FULL)) | (rx_full << SSC_6551_RX_FULL); c->status = (c->status & ~(1 << SSC_6551_TX_EMPTY)) | @@ -392,32 +428,33 @@ _mii_ssc_timer_cb( uint8_t irq = 0;//(c->status & (1 << SSC_6551_IRQ)); uint8_t t_irqen = ((c->command >> SSC_6551_COMMAND_IRQ_T) & 3) == 1; uint8_t r_irqen = !(c->command & (1 << SSC_6551_COMMAND_IRQ_R)); - +#if 0 if (old != c->status) printf("SSC%d New Status %08b RX:%2d TX:%2d t_irqen:%d r_irqen:%d\n", c->slot->id+1, c->status, mii_ssc_fifo_get_read_size(&c->rx), mii_ssc_fifo_get_write_size(&c->tx), t_irqen, r_irqen); +#endif // we set the IRQ flag even if the real IRQs are disabled. // rising edge triggers the IRQR if (!irq && rx_full) { // raise the IRQ if (r_irqen) { irq = 1; - printf("SSC%d: IRQ RX\n", c->slot->id+1); - mii->cpu_state.irq = 1; + // printf("SSC%d: IRQ RX\n", c->slot->id+1); } } if (!irq && (tx_empty)) { // raise the IRQ if (t_irqen) { irq = 1; - printf("SSC%d: IRQ TX\n", c->slot->id+1); - mii->cpu_state.irq = 1; + // printf("SSC%d: IRQ TX\n", c->slot->id+1); } } - if (irq) + if (irq) { c->status |= 1 << SSC_6551_IRQ; + mii_irq_raise(mii, c->irq_num); + } return c->timer_delay; } @@ -549,7 +586,10 @@ _mii_ssc_init( snprintf(name, sizeof(name), "SSC %d", slot->id+1); c->timer_check = mii_timer_register(mii, _mii_ssc_timer_cb, c, 0, strdup(name)); - // fastest speed we could get to? + c->irq_num = mii_irq_register(mii, strdup(name)); + + // this is semi random for now, it is recalculated once the program + // changes the baud rate/config c->timer_delay = 11520; c->tty_fd = -1; STAILQ_INSERT_TAIL(&_mii_card_ssc_slots, c, self); @@ -577,7 +617,7 @@ _mii_ssc_dispose( if (c->state == MII_SSC_STATE_RUNNING) { mii_ssc_cmd_t cmd = { .cmd = MII_SSC_STATE_STOP, .card = c }; mii_ssc_cmd_fifo_write(&_mii_ssc_cmd, cmd); - pthread_kill(_mii_ssc_thread_id, SIGUSR1); + _mii_ssc_thread_signal(c); while (c->state == MII_SSC_STATE_RUNNING) usleep(1000); printf("SSC%d: stopped\n", c->slot->id+1); @@ -588,10 +628,11 @@ _mii_ssc_dispose( _mii_ssc_thread_id = 0; mii_ssc_cmd_t cmd = { .cmd = MII_THREAD_TERMINATE }; mii_ssc_cmd_fifo_write(&_mii_ssc_cmd, cmd); - pthread_kill(id, SIGUSR1); + _mii_ssc_thread_signal(c); pthread_join(id, NULL); printf("SSC%d: thread stopped\n", c->slot->id+1); } + mii_irq_unregister(mii, c->irq_num); free(c); slot->drv_priv = NULL; } @@ -617,7 +658,7 @@ _mii_ssc_command_set( if ((c->command & (1 << SSC_6551_COMMAND_IRQ_R)) && !(byte & (1 << SSC_6551_COMMAND_IRQ_R))) { if (c->status & (1 << SSC_6551_IRQ)) - mii->cpu_state.irq = 1; + mii_irq_raise(mii, c->irq_num); } int status; if (ioctl(c->tty_fd, TIOCMGET, &status) == -1) { @@ -693,7 +734,7 @@ _mii_ssc_access( c->total_tx++; mii_ssc_fifo_write(&c->tx, byte); if (tx_empty) // wake thread if it's sleeping - pthread_kill(_mii_ssc_thread_id, SIGUSR1); + _mii_ssc_thread_signal(c); bool isfull = mii_ssc_fifo_isfull(&c->tx); if (isfull) { c->status &= ~(1 << SSC_6551_TX_EMPTY); @@ -710,12 +751,12 @@ _mii_ssc_access( c->status &= ~(1 << SSC_6551_RX_FULL); } else { if (wasfull) // wake thread to read more - pthread_kill(_mii_ssc_thread_id, SIGUSR1); + _mii_ssc_thread_signal(c); // send another irq? uint8_t r_irqen = !(c->command & (1 << SSC_6551_COMMAND_IRQ_R)); if (r_irqen) { - mii->cpu_state.irq = 1; + mii_irq_raise(mii, c->irq_num); } } } @@ -723,13 +764,14 @@ _mii_ssc_access( } break; case 0x9: {// STATUS if (write) { - printf("SSC%d: RESET requesdt\n",c->slot->id+1); + printf("SSC%d: RESET request\n", c->slot->id+1); _mii_ssc_command_set(c, 0x10); break; } res = c->status; // if it was set before, clear it. c->status &= ~(1 << SSC_6551_IRQ); + mii_irq_clear(mii, c->irq_num); } break; case 0xa: {// COMMAND if (!write) { @@ -750,24 +792,36 @@ _mii_ssc_access( int baud = _mii_ssc_to_baud[c->control & 0x0F]; cfsetospeed(&tio, baud); cfsetispeed(&tio, baud); + tio.c_cflag &= ~(CSTOPB|CSIZE|PARENB|PARODD); // Update stop bits bit 7: 0 = 1 stop bit, 1 = 2 stop bits - tio.c_cflag &= ~CSTOPB; tio.c_cflag |= _mii_ssc_to_stop[(c->control >> 7) & 1]; // Update data bits bit 5-6 0=8 bits, 1=7 bits, 2=6 bits, 3=5 bits - tio.c_cflag &= ~CSIZE; tio.c_cflag |= _mii_ssc_to_bits[(c->control >> 6) & 3]; // parity are in c->command, bits 5-7, // 0=None, 1=Odd, 2=Even, 3=Mark, 4=Space - tio.c_cflag &= ~PARENB; - tio.c_cflag &= ~PARODD; tio.c_cflag |= _mii_ssc_to_parity[(c->command >> 5) & 3]; tcsetattr(c->tty_fd, TCSANOW, &tio); - printf("SSC%d: set %02x baud %d stop %d bits %d parity %d\n", - c->slot->id+1, byte, + int framesize = 1 + (((c->control >> 6) & 3)) + + ((c->control >> 7) & 1 ? 2 : 1) + + _mii_scc_to_bits_count[(c->control >> 5) & 3] + + (((c->command >> 5) & 3) ? 1 : 0); + // recalculate the timer delay between characters + float cps = (float)_mii_ssc_to_baud_rate[c->control & 0x0F] / framesize; + c->timer_delay = (1000000.0 * mii->speed) / cps; + + printf("SSC%d: baud:%5d stop:%d data:%d parity:%d (total %d)\n", + c->slot->id+1, _mii_ssc_to_baud_rate[c->control & 0x0F], (c->control >> 7) & 1 ? 2 : 1, _mii_scc_to_bits_count[(c->control >> 5) & 3], - (c->command >> 5) & 3); + (c->command >> 5) & 3, + framesize); +// printf("SSC%d: cps %.2f timer cycles %u\n", +// c->slot->id+1, cps, c->timer_delay); + // update the timer if it is too far in the future + if (mii_timer_get(mii, c->timer_check) > c->timer_delay) { + mii_timer_set(mii, c->timer_check, c->timer_delay); + } } break; default: // printf("%s PC:%04x addr %04x %02x wr:%d\n", __func__, @@ -794,6 +848,12 @@ _mii_ssc_command( printf("SSC%d: set tty %s: %s\n", slot->id+1, conf->device, c->human_config); } break; + case MII_SLOT_SSC_GET_TTY: { + mii_ssc_setconf_t * conf = param; + mii_card_ssc_t *c = slot->drv_priv; + *conf = c->conf; + res = 0; + } break; } return res; } diff --git a/src/mii.c b/src/mii.c index c2e0868..43a0f82 100644 --- a/src/mii.c +++ b/src/mii.c @@ -49,12 +49,21 @@ static const mii_bank_t _mii_banks_init[MII_BANK_COUNT] = { .mem_offset = 0xc000, .no_alloc = 1, }, + /* + * Aux memory is multiple times 64KB (with the ramworks card). *This* bank + * is always mapped to that aux bank zero, and is used for video as the + * video is always locked to that bank. + * + * So in MOST cases MII_BANK_AUX_BASE is pretty much the same as + * MII_BANK_AUX whent he ramworks is not in use. + */ [MII_BANK_AUX_BASE] = { .name = "AUX_BASE", .base = 0x0000, .size = 0xd0, // 208 pages, 48KB .no_alloc = 1, }, + /* This one is the one that is remapped with ramworks is in use */ [MII_BANK_AUX] = { .name = "AUX", .base = 0x0000, @@ -698,8 +707,9 @@ mii_prepare( mii->bank[MII_BANK_ROM].mem = (uint8_t*)&mii_rom_iic[0]; } - int banks = (flags >> MII_INIT_RAMWORKS_BIT) & 0xf; - banks = 12; +// int banks = (flags >> MII_INIT_RAMWORKS_BIT) & 0xf; + // hard code it for now, doesn't seem to have any detrimental effect + int banks = 12; if (banks > 12) banks = 12; for (int i = 0; i < banks; i++) // add available banks @@ -861,7 +871,7 @@ mii_timer_register( int64_t when, const char *name) { - if (mii->timer.map == (uint64_t)-1) { + if (mii->timer.map == (uint64_t)-1ll) { printf("%s no more timers!!\n", __func__); return 0xff; } @@ -916,7 +926,62 @@ mii_timer_run( } } -#if MII_65C02_DIRECT_ACCESS +uint8_t +mii_irq_register( + mii_t *mii, + const char *name ) +{ + if (mii->irq.map == 0xff) { + printf("%s no more IRQs!!\n", __func__); + return 0xff; + } + for (int i = 0; i < (int)sizeof(mii->irq.map) * 8; i++) { + if (!(mii->irq.map & (1 << i))) { + mii->irq.map |= 1 << i; + mii->irq.irq[i].name = name; + return i; + } + } + return 0xff; +} + +void +mii_irq_unregister( + mii_t *mii, + uint8_t irq_id ) +{ + if (irq_id >= (int)sizeof(mii->irq.map) * 8) + return; + mii->irq.map &= ~(1 << irq_id); +} + +void +mii_irq_raise( + mii_t *mii, + uint8_t irq_id ) +{ + if (irq_id >= (int)sizeof(mii->irq.map) * 8) + return; + if (!(mii->irq.raised & (1 << irq_id))) + mii->irq.irq[irq_id].count++; + mii->irq.raised |= 1 << irq_id; +} + +void +mii_irq_clear( + mii_t *mii, + uint8_t irq_id ) +{ + if (irq_id >= (int)sizeof(mii->irq.map) * 8) + return; + mii->irq.raised &= ~(1 << irq_id); +} + + +#if MII_65C02_DIRECT_ACCESS == 0 +#error "MII_65C02_DIRECT_ACCESS *has* to be enabled here" +#endif + static mii_cpu_state_t _mii_cpu_direct_access_cb( struct mii_cpu_t *cpu, @@ -924,6 +989,7 @@ _mii_cpu_direct_access_cb( { mii_t *mii = cpu->access_param; + mii->cpu_state = access; // update to latest state uint8_t cycle = mii->timer.last_cycle; mii_timer_run(mii, mii->cpu.cycle > cycle ? mii->cpu.cycle - cycle : @@ -962,8 +1028,11 @@ _mii_cpu_direct_access_cb( } } } - mii_mem_access(mii, addr, &access.data, wr, true); - return access; + mii_mem_access(mii, addr, &mii->cpu_state.data, wr, true); + // if any registered IRQ is raise, raise the CPU IRQ + mii->cpu_state.irq = mii->cpu_state.irq | !!mii->irq.raised; + + return mii->cpu_state; } void mii_run( @@ -981,63 +1050,6 @@ mii_run( if (unlikely(mii->cpu_state.trap)) _mii_handle_trap(mii); } -#else - -void -mii_run( - mii_t *mii) -{ - /* this runs all cycles for one instruction */ - uint16_t cycle = mii->cpu.cycle; - do { - if (unlikely(mii->trace_cpu > 1)) - mii_dump_trace_state(mii); - mii->cpu_state = mii_cpu_run(&mii->cpu, mii->cpu_state); - - mii_timer_run(mii, - mii->cpu.cycle > cycle ? mii->cpu.cycle - cycle : - mii->cpu.cycle); - cycle = mii->cpu.cycle; - - // extract 16-bit address from pin mask - const uint16_t addr = mii->cpu_state.addr; -// const uint8_t data = mii->cpu_state.data; - int wr = mii->cpu_state.w; -// uint8_t d = data; - if (unlikely(mii->debug.bp_map)) { - for (int i = 0; i < (int)sizeof(mii->debug.bp_map) * 8; i++) { - if (!(mii->debug.bp_map & (1 << i))) - continue; - if (addr >= mii->debug.bp[i].addr && - addr < mii->debug.bp[i].addr + mii->debug.bp[i].size) { - if (((mii->debug.bp[i].kind & MII_BP_R) && !wr) || - ((mii->debug.bp[i].kind & MII_BP_W) && wr)) { - - if (1 || !mii->debug.bp[i].silent) { - printf("BREAKPOINT %d at %04x PC:%04x\n", - i, addr, mii->cpu.PC); - mii_dump_run_trace(mii); - mii_dump_trace_state(mii); - mii->state = MII_STOPPED; - } - } - if (!(mii->debug.bp[i].kind & MII_BP_STICKY)) - mii->debug.bp_map &= ~(1 << i); - mii->debug.bp[i].kind |= MII_BP_HIT; - } - } - } - mii_mem_access(mii, addr, &mii->cpu_state.data, wr, true); - if (unlikely(mii->cpu_state.trap)) { - _mii_handle_trap(mii); - } - } while (!(mii->cpu_state.sync)); - - // log PC for the running disassembler display - mii->trace.log[mii->trace.idx] = mii->cpu.PC; - mii->trace.idx = (mii->trace.idx + 1) & (MII_PC_LOG_SIZE - 1); -} -#endif //! Read one byte from and addres, using the current memory mapping uint8_t @@ -1116,7 +1128,7 @@ mii_cpu_next( printf("NEXT opcode %04x:%02x\n", mii->cpu.PC, op); if (op == 0x20) { // JSR here? // set a temp breakpoint on reading 3 bytes from PC - if (mii->debug.bp_map != 0xffff) { + if (mii->debug.bp_map != (uint16_t)-1) { int i = ffsl(~mii->debug.bp_map) - 1; mii->debug.bp[i].addr = mii->cpu.PC + 3; mii->debug.bp[i].kind = MII_BP_R; diff --git a/src/mii.h b/src/mii.h index e925e9f..6d85bc1 100644 --- a/src/mii.h +++ b/src/mii.h @@ -48,7 +48,10 @@ enum { /* * A 'trap' is a sequence of 2 special NOPs that are used to trigger - * a callback. The callback is called with the mii_t * and the trap ID + * a callback. The callback is called with the mii_t * and the trap ID, + * + * This is used extensively by the smartport driver to jump back to the + * emulator code when a disk access is needed. */ typedef void (*mii_trap_handler_cb)( mii_t * mii, @@ -103,12 +106,31 @@ typedef uint64_t (*mii_timer_p)( * principal emulator state, for a faceless emulation */ typedef struct mii_t { + // this is the 'emulation' type, IIEE or IIC [currently only IIe works] uint emu; // MII_EMU_* mii_cpu_t cpu; mii_cpu_state_t cpu_state; - /* this is the video frame/VBL rate vs 60hz, default to MII_SPEED_NTSC */ + /* this is the CPU speed, default to MII_SPEED_NTSC */ float speed; unsigned int state; + /* + * These are used as MUX for IRQ requests from drivers. Each driver + * can request an IRQ number, and 'raise' and 'clear' it, and the + * CPU IRQ line will be set if any of them are raised, and cleared + * when none are raised. + * + * This fixes the problem of multiple drivers trying to raise the + * only IRQ line on the CPU. Typically if you have the mouse card and + * the serial card, or the mockingboard. + */ + struct { + uint16_t map; + uint16_t raised; + struct { + const char * name; + uint8_t count; + } irq[16]; + } irq; /* * These are 'cycle timers' -- they count down from a set value, * and stop at 0 (or possibly -1 or -2, depending on the instructions) @@ -141,10 +163,23 @@ typedef struct mii_t { }; } mem[256]; int mem_dirty; // recalculate mem[] on next access + /* + * RAMWORKS card emulation, this is a 16MB address space, with 128 + * possible 64KB banks. The 'avail' bitfield marks the banks that + * are 'possible' (depending on what size of RAMWORKS card is installed). + * The 'bank' array is a pointer to the actual memory block. + * + * These memory blocks replace the main AUX bank when a register is set. + */ struct { unsigned __int128 avail; uint8_t * bank[128]; } ramworks; + /* + * These are the 'real' state of the soft switches, as opposed to the + * value stores in the C000 page. This is made so they can be easily + * manipulated, copied, and restored... use the macros in mii_sw.h + */ uint32_t sw_state; // B_SW* bitfield mii_trace_t trace; int trace_cpu; @@ -163,11 +198,17 @@ typedef struct mii_t { } bp[16]; } debug; mii_bank_t bank[MII_BANK_COUNT]; - // the page c000 can have individual callbacks to override/supplement - // existing default behaviour. This is currently used for the titan - // accelerator 'card' + /* + * The page c000 can have individual callbacks to override/supplement + * existing default behaviour. This is currently used for the titan + * accelerator 'card' + */ mii_bank_access_t * soft_switches_override; mii_slot_t slot[7]; + + /* + * These are all the state of the various subsystems. + */ mii_video_t video; mii_speaker_t speaker; mii_mouse_t mouse; @@ -330,6 +371,23 @@ mii_timer_set( uint8_t timer_id, int64_t when); +uint8_t +mii_irq_register( + mii_t *mii, + const char *name ); +void +mii_irq_unregister( + mii_t *mii, + uint8_t irq_id ); +void +mii_irq_raise( + mii_t *mii, + uint8_t irq_id ); +void +mii_irq_clear( + mii_t *mii, + uint8_t irq_id ); + void mii_dump_trace_state( mii_t *mii); diff --git a/src/mii_slot.h b/src/mii_slot.h index 5ec2408..16d51e8 100644 --- a/src/mii_slot.h +++ b/src/mii_slot.h @@ -76,7 +76,8 @@ enum { MII_SLOT_DRIVE_LOAD = 0x20, // + drive index 0...n MII_SLOT_DRIVE_WP = 0x30, // + drive index 0...n - MII_SLOT_SSC_SET_TTY = 0x10, // param is a pathname, or NULL for a pty + MII_SLOT_SSC_SET_TTY = 0x10, // param is a mii_ssc_setconf_t + MII_SLOT_SSC_GET_TTY = 0x11, // param is a mii_ssc_setconf_t // + drive index 0..1. Param is a mii_floppy_t ** MII_SLOT_D2_GET_FLOPPY = 0x40, }; diff --git a/src/mii_video.c b/src/mii_video.c index 4629f86..df9c6ec 100644 --- a/src/mii_video.c +++ b/src/mii_video.c @@ -222,7 +222,6 @@ _mii_line_to_video_addr( return addr; } - static inline int _mii_addr_to_line_text_lores( uint16_t a) // ZERO based, not 0x400 based @@ -315,22 +314,23 @@ _mii_line_check_hires_dires( static void _mii_line_render_dhires_mono( - mii_t *mii) + struct mii_video_t *video, + uint32_t sw, + mii_bank_t * main, + mii_bank_t * aux ) { - mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; - mii_bank_t * aux = &mii->bank[MII_VIDEO_BANK]; - bool page2 = SW_GETSTATE(mii, SW80STORE) ? 0 : SW_GETSTATE(mii, SWPAGE2); -// uint8_t mode = mii->video.color_mode; + bool page2 = SWW_GETSTATE(sw, SW80STORE) ? 0 : SWW_GETSTATE(sw, SWPAGE2); uint16_t a = (0x2000 + (0x2000 * page2)); - mii->video.base_addr = a; - a = _mii_line_to_video_addr(a, mii->video.line); - mii->video.line_addr = a; - uint32_t * screen = mii->video.pixels + - (mii->video.line * MII_VRAM_WIDTH * 2); + + video->base_addr = a; + a = _mii_line_to_video_addr(a, video->line); + video->line_addr = a; + uint32_t * screen = video->pixels + + (video->line * MII_VRAM_WIDTH * 2); const uint32_t clut[2] = { - mii->video.clut.mono[0], - mii->video.clut.mono[1] }; + video->clut.mono[0], + video->clut.mono[1] }; for (int x = 0; x < 40; x++) { uint32_t ext = (mii_bank_peek(aux, a + x) & 0x7f) | ((mii_bank_peek(main, a + x) & 0x7f) << 7); @@ -357,18 +357,19 @@ _mii_get_1bits( static void _mii_line_render_dhires_color( - mii_t *mii) + struct mii_video_t *video, + uint32_t sw, + mii_bank_t * main, + mii_bank_t * aux ) { - mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; - mii_bank_t * aux = &mii->bank[MII_VIDEO_BANK]; - bool page2 = SW_GETSTATE(mii, SW80STORE) ? 0 : SW_GETSTATE(mii, SWPAGE2); - + bool page2 = SWW_GETSTATE(sw, SW80STORE) ? 0 : SWW_GETSTATE(sw, SWPAGE2); uint16_t a = (0x2000 + (0x2000 * page2)); - mii->video.base_addr = a; - a = _mii_line_to_video_addr(a, mii->video.line); - mii->video.line_addr = a; - uint32_t * screen = mii->video.pixels + - (mii->video.line * MII_VRAM_WIDTH * 2); + + video->base_addr = a; + a = _mii_line_to_video_addr(a, video->line); + video->line_addr = a; + uint32_t * screen = video->pixels + + (video->line * MII_VRAM_WIDTH * 2); uint8_t bits[71] = { 0 }; @@ -392,78 +393,26 @@ _mii_line_render_dhires_color( (_mii_get_1bits(bits, i + 2) << (3 - ((d + 2) % 4))) + (_mii_get_1bits(bits, i + 1) << (3 - ((d + 1) % 4))) + (_mii_get_1bits(bits, i) << (3 - (d % 4))); - uint32_t col = mii->video.clut.dhires[pixel]; + uint32_t col = video->clut.dhires[pixel]; *screen++ = col; } } -#if 0 -static int _trace = 0; -#define TRACE -#ifdef TRACE -#define T(_w) if (_trace) { _w; } -#else -#define T(_w) -#endif - static void _mii_line_render_hires( - mii_t *mii) -{ - mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; - bool page2 = SW_GETSTATE(mii, SW80STORE) ? 0 : SW_GETSTATE(mii, SWPAGE2); - uint8_t mode = mii->video.color_mode; - uint16_t a = (0x2000 + (0x2000 * page2)); - mii->video.base_addr = a; - a = _mii_line_to_video_addr(a, mii->video.line); - mii->video.line_addr = a; - uint32_t * screen = mii->video.pixels + - (mii->video.line * MII_VRAM_WIDTH * 2); - uint8_t bits[280] = { 0 }; - uint8_t *src = main->mem + a; - uint bits_dx = 0; - uint8_t last_run = 0; - for (int x = 0; x < 40; x += 2) { - /* prepare fourteen pixels */ - uint8_t b0 = src[x]; - uint8_t b1 = src[x + 1]; - uint8_t t[2] = { (b0 >> 7) << 2, (b1 >> 7) << 2 }; // prepare high bits - // just want the pixels as a nice clean 14 bits bitfield here - uint16_t run = ((reverse8(b0) >> 1) << 7) | (reverse8(b1) >> 1); -// uint16_t run = ((b1 & 0x7f) << 9) | ((b0 & 0x7f) << 2) | last_run; - uint8_t px; - for (int dx = 0 ; dx < 14; dx++) { - // take 2 bits, add the corresponding 'high bit' to it - px = run & 3; - px |= t[dx > 7]; - // now we have 2 pixels, we can set them in the bit buffer - bits[bits_dx++] = px; - } - last_run = run >> 14; - } - // now we have a 'nice' table of actual colors, without artifacts in bits - // we can plot this - for (int i = 0; i < 280; i++) { - uint8_t pixel = bits[i]; - uint32_t col = mii->video.clut.hires2[pixel]; - *screen++ = col; - *screen++ = col; - } -} -#else -static void -_mii_line_render_hires( - mii_t *mii) + struct mii_video_t *video, + uint32_t sw, + mii_bank_t * main, + mii_bank_t * aux ) { - mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; - bool page2 = SW_GETSTATE(mii, SW80STORE) ? 0 : SW_GETSTATE(mii, SWPAGE2); -// uint8_t mode = mii->video.color_mode; + bool page2 = SWW_GETSTATE(sw, SW80STORE) ? 0 : SWW_GETSTATE(sw, SWPAGE2); uint16_t a = (0x2000 + (0x2000 * page2)); - mii->video.base_addr = a; - a = _mii_line_to_video_addr(a, mii->video.line); - mii->video.line_addr = a; - uint32_t * screen = mii->video.pixels + - (mii->video.line * MII_VRAM_WIDTH * 2); + + video->base_addr = a; + a = _mii_line_to_video_addr(a, video->line); + video->line_addr = a; + uint32_t * screen = video->pixels + + (video->line * MII_VRAM_WIDTH * 2); uint8_t *src = main->mem; uint8_t b0 = 0; @@ -477,7 +426,7 @@ _mii_line_render_hires( ((b2 & 0x03) << ( 9 )); int odd = (x & 1) << 1; int offset = (b1 & 0x80) >> 5; - if (!mii->video.monochrome) { + if (!video->monochrome) { for (int i = 0; i < 7; i++) { uint8_t left = (run >> (1 + i)) & 1; uint8_t pixel = (run >> (2 + i)) & 1; @@ -495,9 +444,9 @@ _mii_line_render_hires( idx = offset + odd + 1 - (i & 1) + 1; } } - uint32_t col = mii->video.clut.hires[idx]; + uint32_t col = video->clut.hires[idx]; if (col != lastcol) { - uint32_t nc = mii->video.clut_low.hires[idx]; + uint32_t nc = video->clut_low.hires[idx]; *screen++ = nc; //col & C_SCANLINE_MASK; *screen++ = nc; //col & C_SCANLINE_MASK; lastcol = col; @@ -509,7 +458,7 @@ _mii_line_render_hires( } else { for (int i = 0; i < 7; i++) { uint8_t pixel = (run >> (2 + i)) & 1; - uint32_t col = mii->video.clut.mono[pixel]; + uint32_t col = video->clut.mono[pixel]; if (col != lastcol) { *screen++ = col & C_SCANLINE_MASK; lastcol = col; @@ -522,31 +471,32 @@ _mii_line_render_hires( b1 = b2; } } -#endif static void _mii_line_render_text( - mii_t *mii) + struct mii_video_t *video, + uint32_t sw, + mii_bank_t * main, + mii_bank_t * aux ) { - mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; - mii_bank_t * aux = &mii->bank[MII_VIDEO_BANK]; - bool page2 = SW_GETSTATE(mii, SW80STORE) ? 0 : SW_GETSTATE(mii, SWPAGE2); -// uint8_t mode = mii->video.color_mode; - + bool page2 = SWW_GETSTATE(sw, SW80STORE) ? 0 : SWW_GETSTATE(sw, SWPAGE2); uint16_t a = (0x400 + (0x400 * page2)); - mii->video.base_addr = a; - int i = mii->video.line >> 3; - a += ((i & 0x07) << 7) | ((i >> 3) << 5) | ((i >> 3) << 3); - mii->video.line_addr = a; - const uint8_t *rom_base = mii->emu == MII_EMU_IIEE ? - mii_rom_iiee_video : mii_rom_iic_video; - bool col80 = SW_GETSTATE(mii, SW80COL); - bool altset = SW_GETSTATE(mii, SWALTCHARSET); - int flash = mii->video.frame_count & MII_VIDEO_FLASH_FRAME_MASK ? + video->base_addr = a; + int i = video->line >> 3; + a += ((i & 0x07) << 7) | ((i >> 3) << 5) | ((i >> 3) << 3); + video->line_addr = a; +// const uint8_t *rom_base = mii->emu == MII_EMU_IIEE ? +// mii_rom_iiee_video : mii_rom_iic_video; + // TODO custom fonts + const uint8_t *rom_base = mii_rom_iiee_video; + + bool col80 = SWW_GETSTATE(sw, SW80COL); + bool altset = SWW_GETSTATE(sw, SWALTCHARSET); + int flash = video->frame_count & MII_VIDEO_FLASH_FRAME_MASK ? -0x40 : 0x40; - uint32_t * screen = mii->video.pixels + - (mii->video.line * MII_VRAM_WIDTH * 2); + uint32_t * screen = video->pixels + + (video->line * MII_VRAM_WIDTH * 2); for (int x = 0; x < 40 + (40 * col80); x++) { uint8_t c = 0; @@ -559,10 +509,10 @@ _mii_line_render_text( c = (int)c + flash; } const uint8_t * rom = rom_base + (c << 3); - uint8_t bits = rom[mii->video.line & 0x07]; + uint8_t bits = rom[video->line & 0x07]; for (int pi = 0; pi < 7; pi++) { uint8_t pixel = (bits >> pi) & 1; - uint32_t col = mii->video.clut.mono[!pixel]; + uint32_t col = video->clut.mono[!pixel]; *screen++ = col; if (!col80) *screen++ = col; @@ -572,24 +522,24 @@ _mii_line_render_text( static void _mii_line_render_lores( - mii_t *mii ) + struct mii_video_t *video, + uint32_t sw, + mii_bank_t * main, + mii_bank_t * aux ) { - mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; - mii_bank_t * aux = &mii->bank[MII_VIDEO_BANK]; - bool page2 = SW_GETSTATE(mii, SW80STORE) ? 0 : SW_GETSTATE(mii, SWPAGE2); -// uint8_t mode = mii->video.color_mode; - + bool page2 = SWW_GETSTATE(sw, SW80STORE) ? 0 : SWW_GETSTATE(sw, SWPAGE2); uint16_t a = (0x400 + (0x400 * page2)); - mii->video.base_addr = a; - int i = mii->video.line >> 3; + + video->base_addr = a; + int i = video->line >> 3; a += ((i & 0x07) << 7) | ((i >> 3) << 5) | ((i >> 3) << 3); - mii->video.line_addr = a; + video->line_addr = a; - bool col80 = SW_GETSTATE(mii, SW80COL); - uint32_t * screen = mii->video.pixels + - (mii->video.line * MII_VRAM_WIDTH * 2); - mii_video_clut_t * clut = &mii->video.clut; - mii_video_clut_t * clut_low = &mii->video.clut_low; + bool col80 = SWW_GETSTATE(sw, SW80COL); + uint32_t * screen = video->pixels + + (video->line * MII_VRAM_WIDTH * 2); + mii_video_clut_t * clut = &video->clut; + mii_video_clut_t * clut_low = &video->clut_low; uint32_t lastcolor = 0; for (int x = 0; x < 40 + (40 * col80); x++) { uint16_t c = 0; @@ -598,12 +548,12 @@ _mii_line_render_lores( else c = mii_bank_peek(main, a + x); - int lo_line = mii->video.line / 4; + int lo_line = video->line / 4; c = (c >> ((lo_line & 1) * 4)) & 0xf; // c |= (c << 4); uint32_t color = clut->lores[(x & col80) ^ col80][c & 0x0f]; uint32_t dim = clut_low->lores[(x & col80) ^ col80][c & 0x0f]; - if (!mii->video.monochrome) { + if (!video->monochrome) { for (int pi = 0; pi < 7; pi++) { uint32_t pixel = color; if (pixel != lastcolor) { @@ -636,21 +586,6 @@ _mii_line_render_lores( } } -/* - * This is called when writes are made from outside the 6502 emulation, for - * example the DMA froms smartport. Otherwise you could BLOAD an image in video - * ram and there would be now way of knowing if the addresses *were* in the - * video ram. So this call is used by anything doing DMA (curretnly just smartport) - */ -void -mii_video_OOB_write_check( - mii_t *mii, - uint16_t addr, - uint16_t size) -{ - for (int i = 0; i < size; i += 40) - mii->video.line_cb.check(&mii->video, mii->sw_state, addr + i); -} /* * This return the correct line drawing function callback for the mode @@ -658,7 +593,7 @@ mii_video_OOB_write_check( */ static mii_video_cb_t _mii_video_get_line_render_cb( - mii_t *mii, + mii_video_t *video, uint32_t sw_state) { mii_video_cb_t res = { 0 }; @@ -669,9 +604,8 @@ _mii_video_get_line_render_cb( bool dhires = SWW_GETSTATE(sw_state, SWDHIRES); if (hires && !text && col80 && dhires) { - mii_bank_t * sw = &mii->bank[MII_BANK_SW]; - uint8_t reg = mii_bank_peek(sw, SWAN3_REGISTER); - if (reg != 0 && !mii->video.monochrome) + uint8_t reg = video->an3_mode; + if (reg != 0 && !video->monochrome) res.render = _mii_line_render_dhires_color; else res.render = _mii_line_render_dhires_mono; @@ -705,31 +639,47 @@ _mii_video_mark_dirty( */ static void _mii_video_mode_changed( - mii_t *mii) + mii_video_t *video, + uint32_t sw_state) { - uint32_t sw_state = mii->sw_state; - - mii_video_cb_t res = _mii_video_get_line_render_cb(mii, sw_state); - if (res.render != mii->video.line_cb.render) { - mii->video.line_cb = res; - _mii_video_mark_dirty(&mii->video); + mii_video_cb_t res = _mii_video_get_line_render_cb(video, sw_state); + if (res.render != video->line_cb.render) { + video->line_cb = res; + _mii_video_mark_dirty(video); } } + +/* + * This is called when writes are made from outside the 6502 emulation, for + * example the DMA from smartport. Otherwise you could BLOAD an image in video + * ram and there would be no way of knowing if the addresses *were* in the video + * ram. So this call is used by anything doing DMA (currently just smartport) + */ +void +mii_video_OOB_write_check( + mii_t *mii, + uint16_t addr, + uint16_t size) +{ + for (int i = 0; i < size; i += 40) + mii->video.line_cb.check(&mii->video, mii->sw_state, addr + i); +} + /* - * This is the state of the video output + * This is the state machine to draw a line of the video output * All timings lifted from https://rich12345.tripod.com/aiivideo/vbl.html * * This is a 'protothread' basically cooperative scheduling using an * old compiler trick. It's not a real thread, but it's a way to * write code that looks like a thread, and is easy to read. - * The 'pt_start' macro starts the thread, and pt_yield() yields - * the thread to the main loop. - * The pt_end() macro ends the thread. + * + pt_start macro starts the 'thread' (and return to last yield point). + * + pt_yield() yields until the function is called again. + * + pt_end() macro ends the thread. * Remeber you cannot have locals in the thread, they must be * static or global. * *everything* before the pt_start call is ran every time, so you can use - * that to reload some sort of state, as here, were we reload all the + * that to reload some sort of state, as here, were we get all the * video mode softswitches. * * This function is also a 'cycle timer' it returns the number of 6502 @@ -740,40 +690,44 @@ _mii_video_mode_changed( */ static uint64_t mii_video_timer_cb( - mii_t *mii, - void *param) + mii_t *mii, + void *param) { uint64_t res = MII_VIDEO_H_CYCLES * mii->speed; + mii_bank_t * sw = &mii->bank[MII_BANK_SW]; - uint32_t sw_state = mii->sw_state; + uint32_t sw_state = mii->sw_state; + mii_bank_t * main = &mii->bank[MII_BANK_MAIN]; + mii_bank_t * aux = &mii->bank[MII_VIDEO_BANK]; + mii_video_t * video = &mii->video; - pt_start(mii->video.state); + pt_start(video->state); /* - We cheat and draw a whole line at a time, then 'wait' until + We 'cheat' and draw a whole line at a time, then 'wait' until horizontal blanking, then wait until vertical blanking. */ do { // 'clear' VBL flag. Flag is 0 during retrace mii_bank_poke(sw, SWVBL, 0x80); - mii_video_line_drawing_cb line_drawing = mii->video.line_cb.render; + mii_video_line_drawing_cb line_drawing = video->line_cb.render; /* If we are in mixed mode past line 160, check if we need to * switch from the 'main mode' callback to the text callback */ - if (mii->video.line >= MII_VIDEO_MIXED_LINE) { + if (video->line >= MII_VIDEO_MIXED_LINE) { bool mixed = SWW_GETSTATE(sw_state, SWMIXED); if (mixed) { uint32_t sw = sw_state; SWW_SETSTATE(sw, SWTEXT, 1); if (sw != sw_state) - line_drawing = _mii_video_get_line_render_cb(mii, sw).render; + line_drawing = _mii_video_get_line_render_cb(video, sw).render; } } - if (mii->video.lines_dirty[mii->video.line / 64] & - (1ULL << (mii->video.line & 63))) { - line_drawing(mii); + if (video->lines_dirty[video->line / 64] & + (1ULL << (video->line & 63))) { + line_drawing(video, sw_state, main, aux); - uint32_t * screen = mii->video.pixels + - (mii->video.line * MII_VRAM_WIDTH * 2); + uint32_t * screen = video->pixels + + (video->line * MII_VRAM_WIDTH * 2); uint32_t * l2 = screen + MII_VRAM_WIDTH; #if defined(__AVX2__) @@ -807,57 +761,65 @@ mii_video_timer_cb( #endif #endif - mii->video.lines_dirty[mii->video.line / 64] &= - ~(1ULL << (mii->video.line & 63)); - mii->video.frame_dirty = 1; + video->lines_dirty[video->line / 64] &= + ~(1ULL << (video->line & 63)); + video->frame_dirty = 1; #if MII_VIDEO_DEBUG_HEAPMAP - mii->video.video_hmap[mii->video.line] = 0xff; + video->video_hmap[video->line] = 0xff; #endif } - mii->video.line++; - if (mii->video.line == 192) { - mii->video.line = 0; - mii->video.line_addr = mii->video.base_addr; - mii->video.timer_max = MII_VIDEO_H_CYCLES; - res = mii->video.timer_max * mii->speed; - pt_yield(mii->video.state); + video->line++; + if (video->line == 192) { + video->line = 0; + video->line_addr = video->base_addr; + video->timer_max = MII_VIDEO_H_CYCLES; + res = video->timer_max * mii->speed; + pt_yield(video->state); mii_bank_poke(sw, SWVBL, 0x00); - mii->video.timer_max = MII_VBL_UP_CYCLES; - res = mii->video.timer_max * mii->speed; + video->timer_max = MII_VBL_UP_CYCLES; + res = video->timer_max * mii->speed; /* - * This is to handle the corner case where text has some blinking - * text, and we need to redraw the screen. - * We only check every 16 frames, so we don't waste time - * redrawing the screen every frame. Also, the alt char set needs - * to be off, as the blinking text is only in the main charset. + * This is to handle the corner case where text screen has some + * blinking text, and we need to redraw the screen. + * + * We only check every 16 frames, so we don't waste time redrawing + * the screen every frame. Also, the alt char set needs to be off, + * as the blinking text is only in the main charset. */ - uint32_t new_frame = mii->video.frame_count + 1; + uint32_t new_frame = video->frame_count + 1; if ((new_frame & MII_VIDEO_FLASH_FRAME_MASK) != - (mii->video.frame_count & MII_VIDEO_FLASH_FRAME_MASK)) { + (video->frame_count & MII_VIDEO_FLASH_FRAME_MASK)) { if (!SW_GETSTATE(mii, SWALTCHARSET)) - _mii_video_mark_dirty(&mii->video); + _mii_video_mark_dirty(video); } - mii->video.frame_count = new_frame; - pt_yield(mii->video.state); + video->frame_count = new_frame; + pt_yield(video->state); // check if we need to switch the video mode, in case the UI switches // Color/mono palette etc mii->cpu.instruction_run = 0; // stop current instruction run! - if (mii->video.frame_dirty) - mii->video.frame_seed++; - mii->video.frame_dirty = 0; + if (video->frame_dirty) + video->frame_seed++; + video->frame_dirty = 0; } else { - mii->video.timer_max = MII_VIDEO_H_CYCLES + MII_VIDEO_HB_CYCLES; - res = mii->video.timer_max * mii->speed; - pt_yield(mii->video.state); + video->timer_max = MII_VIDEO_H_CYCLES + MII_VIDEO_HB_CYCLES; + res = video->timer_max * mii->speed; + pt_yield(video->state); } } while (1); - pt_end(mii->video.state); + pt_end(video->state); return res; } /* * TODO: this doesn't work yet. Don't get overexcited about this. * Or, get overexcited about this and fix it! :-) + * + * This is mostly how it's supposed to work anyway. Any 'read' access should + * be able to deduce where the 'beam' is by looking at what the remaining + * timer cycles are, and the current line. + * And then deduce the exact position horizontally on the screen. + * + * But, it doesn't really work for now. */ uint8_t mii_video_get_vapor( @@ -914,7 +876,7 @@ mii_access_video( // res = true; // we return false here, so generic SW code is called SW_SETSTATE(mii, SWHIRES, addr & 1); mii_bank_poke(sw, SWHIRES, (addr & 1) << 7); - _mii_video_mode_changed(mii); + _mii_video_mode_changed(&mii->video, mii->sw_state); break; case SWPAGE2OFF: case SWPAGE2ON: @@ -925,7 +887,7 @@ mii_access_video( *byte = mii_bank_peek(sw, SWPAGE2); // 80STORE completely changes the meaning of PAGE2 if (!SW_GETSTATE(mii, SW80STORE)) { - _mii_video_mode_changed(mii); + _mii_video_mode_changed(&mii->video, mii->sw_state); _mii_video_mark_dirty(&mii->video); } break; @@ -935,11 +897,12 @@ mii_access_video( res = true; SW_SETSTATE(mii, SW80COL, addr & 1); mii_bank_poke(sw, SW80COL, (addr & 1) << 7); - _mii_video_mode_changed(mii); + _mii_video_mode_changed(&mii->video, mii->sw_state); break; case SWDHIRESOFF: // 0xc05f, case SWDHIRESON: { // = 0xc05e, res = true; + mii_video_t * video = &mii->video; uint8_t an3 = !!mii_bank_peek(sw, SWAN3); bool an3_on = !!(addr & 1); // 5f is ON, 5e is OFF uint8_t reg = mii_bank_peek(sw, SWAN3_REGISTER); @@ -947,21 +910,22 @@ mii_access_video( uint8_t bit = SW_GETSTATE(mii, SW80COL); reg = ((reg << 1) | bit) & 3; // printf("VIDEO 80:%d REG now %x\n", bit, reg); + video->an3_mode = reg; mii_bank_poke(sw, SWAN3_REGISTER, reg); } mii_bank_poke(sw, SWAN3, an3_on ? 0x80 : 0); // printf("DHRES IS %s mode:%d\n", (addr & 1) ? "OFF" : "ON ", reg); SW_SETSTATE(mii, SWDHIRES, !(addr & 1)); mii_bank_poke(sw, SWRDDHIRES, (!(addr & 1)) << 7); - _mii_video_mark_dirty(&mii->video); - _mii_video_mode_changed(mii); + _mii_video_mark_dirty(video); + _mii_video_mode_changed(&mii->video, mii->sw_state); } break; case SWTEXTOFF: case SWTEXTON: res = true; SW_SETSTATE(mii, SWTEXT, addr & 1); mii_bank_poke(sw, SWTEXT, (addr & 1) << 7); - _mii_video_mode_changed(mii); + _mii_video_mode_changed(&mii->video, mii->sw_state); if (!write) *byte = mii_video_get_vapor(mii); break; @@ -970,7 +934,7 @@ mii_access_video( res = true; SW_SETSTATE(mii, SWMIXED, addr & 1); mii_bank_poke(sw, SWMIXED, (addr & 1) << 7); - _mii_video_mode_changed(mii); + _mii_video_mode_changed(&mii->video, mii->sw_state); if (!write) *byte = mii_video_get_vapor(mii); break; @@ -978,6 +942,11 @@ mii_access_video( return res; } +/* + * This is mostly a debug function, to be able to 'force' a full screen + * refresh, for example when the emulator is paused, and you want to see + * the screen 'as it is' for example if you poke memory while debugging. + */ void mii_video_full_refresh( mii_t *mii) @@ -1006,7 +975,7 @@ mii_video_init( // start the DHRES in color mii_bank_t * sw = &mii->bank[MII_BANK_SW]; mii_bank_poke(sw, SWAN3_REGISTER, 1); - _mii_video_mode_changed(mii); + _mii_video_mode_changed(&mii->video, mii->sw_state); mii_video_set_mode(mii, 0); } @@ -1136,22 +1105,31 @@ _mii_rgb_to_lumed_color( #endif } - +/* + * All this kitchen mess is to implement a 'palette' system, where we can + * cycle through different color palettes. The palettes are defined in the + * palettes array, and the mii_video_set_mode() function is used to switch + * between them. + * + * It calculates a 'dimmed' version of the colors, and stores them in the + * clut_low structure, the 'dimmed' colors are used for creating artifacts. + */ void mii_video_set_mode( mii_t *mii, uint8_t mode) { + mii_video_t * video = &mii->video; // used to implement cycling through palettes if (mode >= (sizeof(palettes) / sizeof(palettes[0]))) mode = 0; // printf("%s mode %d\n", __func__, mode); - mii->video.color_mode = mode; - mii_video_clut_t * clut = &mii->video.clut; + video->color_mode = mode; + mii_video_clut_t * clut = &video->clut; uint32_t base = palettes[mode].mono_color; - mii->video.monochrome = base != 0; - if (mii->video.monochrome) { + video->monochrome = base != 0; + if (video->monochrome) { // convert one set of RGB colors to monochrome. arbitrarily 0 const mii_palette_t * pal = &palettes[0]; // base CLUT is using color *indexes* in the palette we picked @@ -1173,8 +1151,8 @@ mii_video_set_mode( bb = out.b * 255; base = HI_RGB(br, bg, bb); - clut = &mii->video.clut_low; - *clut = mii->video.clut; + clut = &video->clut_low; + *clut = video->clut; for (uint i = 0; i < sizeof(clut->colors) / sizeof(clut->colors[0]); i++) { clut->colors[i] = _mii_rgb_to_lumed_color( @@ -1185,8 +1163,8 @@ mii_video_set_mode( // base CLUT is using color *indexes* in the palette we picked for (uint i = 0; i < sizeof(clut->colors) / sizeof(clut->colors[0]); i++) clut->colors[i] = pal->color[mii_base_clut.colors[i]]; - clut = &mii->video.clut_low; - *clut = mii->video.clut; + clut = &video->clut_low; + *clut = video->clut; for (uint i = 0; i < sizeof(clut->colors) / sizeof(clut->colors[0]); i++) { uint8_t br, bg, bb; @@ -1213,13 +1191,14 @@ _mii_mish_video( const char * argv[]) { mii_t * mii = param; + mii_video_t * video = &mii->video; if (!argv[1] || !strcmp(argv[1], "list")) { for (int i = 0; i < 16; i++) { printf("%01x: %08x %08x %08x\n", i, - mii->video.clut.lores[0][i], - mii->video.clut.lores[1][i], - mii->video.clut.dhires[i]); + video->clut.lores[0][i], + video->clut.lores[1][i], + video->clut.dhires[i]); } return; } @@ -1227,8 +1206,9 @@ _mii_mish_video( mii_bank_t * sw = &mii->bank[MII_BANK_SW]; uint8_t reg = mii_bank_peek(sw, SWAN3_REGISTER); printf("AN3 REG %d -> %d\n", reg, 1); + video->an3_mode = 1; mii_bank_poke(sw, SWAN3_REGISTER, 1); - _mii_video_mode_changed(mii); + _mii_video_mode_changed(video, mii->sw_state); mii_video_full_refresh(mii); return; } @@ -1236,13 +1216,14 @@ _mii_mish_video( mii_bank_t * sw = &mii->bank[MII_BANK_SW]; uint8_t reg = mii_bank_peek(sw, SWAN3_REGISTER); printf("AN3 REG %d -> %d\n", reg, 0); + video->an3_mode = 0; mii_bank_poke(sw, SWAN3_REGISTER, 0); - _mii_video_mode_changed(mii); + _mii_video_mode_changed(video, mii->sw_state); mii_video_full_refresh(mii); return; } if (!strcmp(argv[1], "dirty")) { - _mii_video_mode_changed(mii); + _mii_video_mode_changed(video, mii->sw_state); mii_video_full_refresh(mii); return; } diff --git a/src/mii_video.h b/src/mii_video.h index 5038176..6c7960e 100644 --- a/src/mii_video.h +++ b/src/mii_video.h @@ -35,7 +35,10 @@ struct mii_t; struct mii_video_t; typedef void (*mii_video_line_drawing_cb)( - mii_t *mii ); + struct mii_video_t *video, + uint32_t sw, + mii_bank_t * main, + mii_bank_t * aux ); typedef void (*mii_video_line_check_cb)( struct mii_video_t *video, uint32_t sw, @@ -58,7 +61,6 @@ typedef union mii_video_clut_t { mii_color_t lores[2][16]; // lores (main, and aux page DLORES) mii_color_t dhires[16]; mii_color_t hires[10]; -// mii_color_t hires2[8]; mii_color_t text[2]; // text mii_color_t mono[2]; // DHRES mono mode }; @@ -69,6 +71,7 @@ typedef struct mii_video_t { void * state; // protothread state in mii_video.c uint8_t timer_id; // timer id for the video thread uint8_t line; // current line for cycle timer + uint8_t an3_mode; // current mode uint16_t base_addr; // current mode base address uint16_t line_addr; // VRAM address for the line we are on uint64_t timer_max; // timer start value diff --git a/ui_gl/mii_mui_about.c b/ui_gl/mii_mui_about.c index 8f220f8..30bc7e4 100644 --- a/ui_gl/mii_mui_about.c +++ b/ui_gl/mii_mui_about.c @@ -114,7 +114,10 @@ static const char * thanksto = "Jef Raskin\n" "Susan Kare\n" "Thierry Magniez\n" + "Xavier Schott\n" + "Yann Jacob\n" "Matthew Bloch\n" + "Bill Martens\n" "Charles \"regnips\" Springer\n" "Jeroen \"Sprite_tm\" Domburg\n" "Claude \"Claude\" Schwarz\n"