From 08a53f54d08673bbf6ab1e2253b3280f8ed8a83b Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Thu, 26 Sep 2024 16:18:51 -0700 Subject: [PATCH] Refactor DSKY --- Doc/RomWBW Applications.pdf | Bin 341049 -> 341049 bytes Doc/RomWBW Disk Catalog.pdf | Bin 123766 -> 123767 bytes Doc/RomWBW Errata.pdf | Bin 28491 -> 28708 bytes Doc/RomWBW System Guide.pdf | Bin 581987 -> 584582 bytes Doc/RomWBW User Guide.pdf | Bin 817627 -> 817628 bytes ReadMe.md | 2 +- ReadMe.txt | 2 +- Source/Doc/SystemGuide.md | 96 ++++++---- Source/HBIOS/cfg_DUO.asm | 3 +- Source/HBIOS/cfg_DYNO.asm | 1 - Source/HBIOS/cfg_EPITX.asm | 1 - Source/HBIOS/cfg_FZ80.asm | 1 - Source/HBIOS/cfg_GMZ180.asm | 2 - Source/HBIOS/cfg_HEATH.asm | 1 - Source/HBIOS/cfg_MASTER.asm | 2 - Source/HBIOS/cfg_MBC.asm | 1 - Source/HBIOS/cfg_MK4.asm | 1 - Source/HBIOS/cfg_MON.asm | 1 - Source/HBIOS/cfg_N8.asm | 1 - Source/HBIOS/cfg_NABU.asm | 1 - Source/HBIOS/cfg_RCEZ80.asm | 1 - Source/HBIOS/cfg_RCZ180.asm | 1 - Source/HBIOS/cfg_RCZ280.asm | 1 - Source/HBIOS/cfg_RCZ80.asm | 1 - Source/HBIOS/cfg_RPH.asm | 1 - Source/HBIOS/cfg_S100.asm | 1 - Source/HBIOS/cfg_SBC.asm | 1 - Source/HBIOS/cfg_SCZ180.asm | 1 - Source/HBIOS/cfg_Z80RETRO.asm | 1 - Source/HBIOS/cfg_ZETA.asm | 1 - Source/HBIOS/cfg_ZETA2.asm | 1 - Source/HBIOS/dbgmon.asm | 125 ++++--------- Source/HBIOS/ez80rtc.asm | 5 +- Source/HBIOS/fd.asm | 8 +- Source/HBIOS/gm7303.asm | 238 ++++++++++++++++--------- Source/HBIOS/hbios.asm | 207 +++++++--------------- Source/HBIOS/hbios.inc | 3 + Source/HBIOS/icm.asm | 324 ++++++++++++++++++++++++++-------- Source/HBIOS/lcd.asm | 180 +++++++++++++++---- Source/HBIOS/pkd.asm | 274 ++++++++++++++++++++++++---- Source/HBIOS/ppide.asm | 16 +- Source/HBIOS/romldr.asm | 88 ++++----- Source/HBIOS/std.asm | 14 ++ Source/ver.inc | 2 +- Source/ver.lib | 2 +- 45 files changed, 1034 insertions(+), 579 deletions(-) diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 822498c844e26455258897ccaf9264f69b93ba9a..db47ff0e5c1e04b0edacefeb1b24440d923030f4 100644 GIT binary patch delta 545 zcmdn_LS*L)kqMLQ)i)SyIJeBPIQwDrgy4o}TQny9x1SQ@xveaah0XWm5{ttNdpyUal^V<6Qmn_+MWx9MqC)n{?XB z_Kyea5{oGZ1h3ggZ|bn{7d+Cfd}>47gRdPLf=g{y+PJJ^3%LZv@G&#s!DFz_0?D2 zt+S~PKW3ZHz~#Gq-{dPCKWFc#&$lZV`uAVOsceyKP=L{)!xyqH=FC0Ua{Sg(UjOe) zyEjOr8MFpZZoHLq>f9c$t*Lt3Rh^&a>1Z!q-+%1w_sZ&bqQpV(tIO1)euU-Yt5ta{UoE z>Hjy13idxK-LsJQkJsc?yh8nZcGX8MuTQ;qi+i%-JK<(Krgl3fMj!^!%-ijlSR_8M zn;9CJSelwnkNw0V1LJIO_{0+7=xk(Q>0)H!Y-DL_;ACRv=4|L>?&j?1W@>0;=4xr; Q>};oCLrBSVX%kjC0KR+fN&o-= delta 545 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 U>{+?0#ac8MwY0V_Sk%?>AFQIpY5)KL diff --git a/Doc/RomWBW Errata.pdf b/Doc/RomWBW Errata.pdf index 8c4c7b6e8694a4c7ab1a398284387f702d8eedfe..2d69fe31babee4414d2ac8c96483427cbedbe258 100644 GIT binary patch delta 9399 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 diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index f6c807efe11e6d2a9c7d6d43d910dc0207b1c8ae..87f740ea29c335901bc32482aa8c3d1f598b9ff5 100644 GIT binary patch delta 108375 zcmZ^LcOcc@|9^Mbn@eWM-gggCC?cCk_DI=T4a7x-(!fhzHkFagO0Jz~5Q>zoG^9dP zB&pxI)cf71_xJbD?KtPW&Uu{kd_14e$2qTid(keJFeH}}gutinm!|hfI~YDR{)|YL zwRqU~#PNulE=%@+&FD}1rI%vWTaT zZ;QAu_{!;PjNvH`uV`Ep{pvJFDzyCZ?)PH-5ai2C;jx18ey>x7FBNUtY4m6xVUfl9 za)h{+`r``$lYUB`Vpq3CrMAZjP>t>{Z;a=@t|%v?=lf!rig(#`*zdNa%|)@OD*@J5 zZ9T8K2yE=!vy^C|x)mpoMJNn1lyug%oM=o9)p9R>6B7OT{(6JZB-2H@w}R|X#q%s1 z2lZ%MHM}WVtd7kCsUJog=Q&2ATnsatOB&l7y7f-C3{FUjl)cLu5U`Orv~NUtCF1>f zYs)(yJo_tmjV$}dhmU-(MqG;DBKV{#a5oeU!Dn)&7KX&_|GwRCRnSd9$ zMmu6mw-@wYz1SS!KICQUpo$xQbKUmvTjE!_kR8W8y{?ZS1@mq%@zt1jPy+o{qMl#9 zKOFg_mPS0Xp!NB~`hw8cx{ybd&@~IBnk<3}%iKo_)8|~egVY)XCYIIaQMR(XwFK+= zWk$kKX7>8;g0SW2u8j@J6`z)6M<(pYJjXtrJ2R($73=tJd)YFk+~I78{qTy{`h)c5 zO)*W&9lNxe460~%Cm1)L-j0-+eXg0%{J9Wgc<5>C`qcP89!JYD(bG_lP1w%D!74>vDcZh60aCi(H)jf3=t<4l+SK@ptUYE-~TT(Ru;3RsLBzPr$@{X(W&NLQVDy_9}caobz^;s80LZs-R3l@9%F z=MG&>#|PJ<1B`1QT)opN;#)RhbM8U2^8@XR)Ns^1(>g?=)hUvZqD)9`YA#j#L(h&VW)bETwOXwq|m zBX1Dda;QUEzd$JDOitgl|M^7*@Au70H?&_v7RyQu!KFjT>Lc<}4hVe=)p)+-dF$-* z2EEZE*aAZW-GA~d;Va*A{nrJB>?^Me*y-I|KeTV%2>i5wj;a^=8H)Rn8146|v@?uX zh0k;wz3SMTph)U&5%1cjBjS(Or&?ActIFWc63#P2mnVbEI4^$>LhASydSA7zzvj&< zH8;W+l54g9nT2C-OWI0@%UPZfO9MxtX^rvs)wfp;Ak<*kWxBIwY(nv6#r-*wEK=++(-jwilsOjvRMKZg2UPZ)dUTvRn4OO;i}KUV37%x$FML&QA^&PSXVO zw_BA83W|@43~eslHQs^F{`&dRwarmlJ}HIz{FLsYz~kcbxw7$EuzBml zh`iGA3yphUydBkxHcefszx=Tot8?e5`<2WtnbE~51+Az|b)U<`F}B`&UMxk8Ay0S4 zx|FYrPDTz_+qT(6MwuXPKV+M7y?Y*M(Az={Qf;fYi(RQ3sjD(!ykLRz5ID z`4wZ#sNiN=uTWAoJ&klIns2z_(Id4P#n~mt;g!U@E9M?_KY_8Dr;2fhr52n&Yij1y z!2TW&`ucw)q_`8G&yaIfABC+;G8j#-=u~`|=%1?Dhxnmb^nh*2wrI-e=rR%Jbvj-_ z`k2+QMw=3FUi8-uubgEA4d`@@`MWbl z%VX#1BKNq@pG_T5YTNwyk-y%!3gc4oNPWgadyTY+qMOuft#m@zx34EhSFmrUtge-Q z?)!)>N(r|ymX42Fz8d6LRK5ITj+B|nTXC7R@4(__^&6YjnjYO+{%P_)>&YkkySQ_W zVpeoshH+$cj?L9U`b6=|gaJ}DzobsI`nf$4fz=#?v29`Xh6yucJJZ5y*~qoQlG%w` zTKEGOjx=TjJ$b97Sl;zGwgq&tm>K(?8rI3C-xs!jF+Op|@`%VCdS0db9KtlIVBNt= z(5-H*+jwf6TUJA!%izb4Fn!lwl3VXc%}=WAsMjp^Xz=En?^jj+LT zC!}3<`Mdwgul~F~rx)b%-cm~~ajwtO6IX`P{Vo$_CM1JW^S+VacumS`o`{LW(+(}V z#)r*G<-1;|h9)oFfu4vyb$>Y)_T;1EVZQxhRbxeug$%Z6Z%-%<+%?UeteN04=iv8A zZtTkV3jMmVwAO~sgBNyOZl)T|ZG-n@-Sz&VzO5zj(u4}%Fh0@gWmaqNh^St)iqk8O zw^|xo`aYGV)HRCLc=0kW_POGfn%Z@wzZ79%=zlj>5+szamu7kVl|$; z3{U^BWTzMQsHO_zlsC7G@;c8>9TkLhDl)fKWp&Z$qk)?%VtWJb4~W+%yiIbw;$qsr z^f2qwr*PSUmnrbArM~GFQnIPx&wXkN-ab-gdx;-)%ygbyut}r5MvTe1yGDL7z8~W- zEdRN+AgbbOUB;EFs7>1DW3C>UpW9ScYVt5!&0|@=XTQ+6tQ>Jvsiy42(4fm1_xG-q zS~qK>tL^BOWv1=VY%_K#x~M1nEOU;U6>mPI?L?>`Ez;E+bVL>uONNU0^P~I+1>Pi{ zwG_1^7zVV|T4mtq&hXB`jR#IrEWH$Ge>6C4UU~C|^LaX_u*s$ef!E)BCfzC?ej)zc zIHcy};dvIdH_p}1xgl4%7474NMFd|}>>Go8v|@_|y^2~KS%9>9NC-KFeRG^h-O-5t zw64R&^Ff`}!z_b1F^IjGo1kc&20n0j$yw6zgPFMN&UZZS6vd^9nMKOuGI72eZ8POA z$vWC+;>v7zZn{4_eYv5%D2m6`ww&px*(bIYc=tQ$^{y;oXu3%f zp(isft=&;D_tdz@o%CGJ3Z2W!2{b}3{^r)=Z)H+l5TKpgD+F-g#Ft%^-UCfjn?;~TM(V&uN4>rvpYQ28K7kLMImb;6({du&%NsTJUsiHQ&JvABVa@&MdjKdgTa9gck zoFJ$bF#$`f+r}!VQiFTudB~O%d&Yn#Mg`ZC*<%u{fGhVD>dCCIN;n`tEO(rpplF%y zF2!+Bk)!70JA)d57du?t>t5P>w*{1)JS~=JCVS_Ae5lNU;i7CgS`}R`RY+L00J=6W zEnr}>%Tv@p;aci*N5K(}T|4h(aaPG$BMqGq_1iq1w_lLA5jBkCf?j9~8h&f?v3_`Z zBWTVQHL{*e;~09Pc3kp~Rf?5&o3@~!AdBdBeWY#t0eL@eBjgKZV<#>4i(01Gd)PDa z$INcBD7IL|hhXGc1&`8q+nz$t95Oab7glmnW9wS9HY37N>?HBHd?{t@B5h!N&H%Su3S(I6D&KM`{2?c8^vWl}lziq}2?ElXLN)8>n(@i`i zS*&G`YUE(-?$zWUyJXuo5m^GvnIs|zpk2{p1x3SqHQtb?8DcPvUuXxjxC7~LQtS4P zFnpD6f>RQe+g`D9Ov|j1ZAVSUvBUClmDw0ez=LB{+XPVD#R-b_*6j-B@8m&=c%{Cq zi_6>D5=qgRdQ@#-vhR6()8ayM0M_*04qh*1W3p;}%(nX&4{nyO;-8^!&+eeN>c)&6 zu{@t{Fqf0xe7WYvvyacZqIl^)4lcT(rBsJI;Sf5T&{gdH^=ZL;d;}UrlSZS;;3#-a zJcR^V>&l_Ynm8=PV;smzC2Eq%R4CS14F&3;N@G_jMVg(LfYT)4X)<^UMUzA%K(Z#% zP@5PV{6UY64YD=yP_!& zyo-r36jnI?^d?2Ec?Q-C*S`Vda!(8yWz~j zmZlrJ-@nNA77T}cJaIhMx71PQgau#T%;}fkQkJMeGe`G!H%!cU6pVeomxQvk49^et zvn)Q%KJ?S#fYVv}-oU6ioWRmowSJEuw*uz}1f&*+>!ZaXi!VkGsiM(O`ymf>24Xt= z$i;Nm*{fZ4&0}NBop^H1 zwaJ>F=jZ$bl;hnt9I;3_x2s>vseiFa{^#*qhn5ExUi;{do}-7y#4xtaZFqRABq!Sw z)oWtg`4UyQMa$qUGNW5{KC!Y7wt5|5B`7}kC}J+dbqZ}s=6WjdCPk!?@H>HKl-NhDk_{yS@ z>&f_wl^f}!C%=E(N>42yZgla#Q;xJm-Ktm+Kx&=QYu$V!pV1!E$hF{g*GurxG%`|} zEhFTK&=y`zpF<}Do~HU8p01e6(`f#NZc#U=W<9<~IP#57IYsdeql4bs-6D22yv)4X zBw&-o%!s+WMEs}Ya>2LMu;yz;C9;>19o2Rvw>{`E)+<0F+N!4midNmngad)XVrfiEv zozLb4m6L^GlLX)H#(s>{3HF2PWszU z`**%P&pvgZXmZKtP&#TxDCs#CMr=GRuW^`+X?Yl6o>w zwBITIhV08DzEk#wllGp=4Z%G^qrGXo?YdKno4f8tN(Em2xZ$DdXrpjo1J_)~hR@?! z8e1dw=JRJ?Y?an9E{JnXqkCqTg|#eMo}E6E9P2faS&0mCLJT#nleW3wymyHw`@yJI zQEv6L_lkkQJpOrELQwiHfyK(CF_)wlhi?^3|EPAqqxj(HQA4k+l8(9WkDry;$Pr`l{yr6{hk{Ey{YIK6vG`0&H3HCh@vF(VFLi zVAaOxCnx9MXcm7&X>9=Go zC#QIoB^YgJyZF9wOp7xQi0x`pPre|EfleTwzo*JRHiIw{HV^>^Bh zt;3_Zp(Y%Cgy;OloPnxua~Y4^OrqX@za{%dXL!d|zM7w{?6rd*e9wr?eJXv}@^|<9t zWmqfigX3*oSe*E=(e&^W&hNg<6-x`@~ijT|V3!waLYlp8UklppdboqrCU8&+o*D>FfAh+fjD^+^rSI>s4dadE( zI>r9cmmU`j#5~$((In}HE{!0nc_$p`_(46SKP}I;l_-=^ySy0m?F&4e3=42!?&L){ zy^d@-(twF}Y|WL`Qg?T4Y&)g>*!rc%BY&(_9tYd_PbR8B zxIJ71G)Yx~%U02rpND|n>n>hmb}k?lyR}dIx`J7j4k{#*Op6Z&A92jm*7MlF(Bozv zqc2&Hfe+qz@WG;<=xbX>49z49AIoj8E#tT194M(%RXTOh=_`MU>710ALJuz{@uf%O zPR^Zbbg^xDHb^qx#eDtK?U&^0Gq7*DO=zbY^&GYtnZy~kUy``=68o0-zDMUvv`U4% z{+vS89s$FO2Jr?3|6(PkBn1k;#)lOr* z4K817=SJXD5>DCIN087JONc4(`$m5k3(wFjDis^)H+Qe2nPpu?CfdnU zC49hH;y&*N`&4(cl=cks(5R=@z%T-`6(5UQ_+2|x1y6Brs0&E5mOXAKFUo_x{p{Te zp~w0Wm$3uO8I?FtnTb!Y(NPl8cW69)BCh>{i6Vld+!(9kFrGWHc^*J@S54`N#AFIt zIT*&%jvo7>OvlPOFky>ZfhAW9_bK)$VxS;q9fG4aa|c zDXEDkaK(Y=YOqYKA_!pD8quP9r$cRkBBlslCvsP|UdIl>3Nf945qULzPBoJnygTS> z&!j_b^*3K;`Do1<$-xDMXV|v^8S6mr05NL7V|j`Agmd!4>^h*BqsM$u#of7Y538ho z+N2RV$nPq0!!9T(Cqr`ilJZ;h&gbu1qMvD)LC$UM+L&SCdkK-ZzASu={^CM+cKliI z-15GfzW(x0-6)UAvrnae@R_Rgx~?98uFdSiBiRUKye5G_gL;psL31WTkf)#Zoj0B#I1~2u?Rt=IKTOrW>)bK$%W{TzE|! z0WU))5H(3q3b<%tKKIE{5HfOh<|UB9XjB<89;=C^k(tjykdq)Z?d-%$#1p_l3XF** zX_85+O+;rwD9Oc?&tI~3)@4c&8f z25Z4-Qm`b5pP~j~TrrTp8?z1!O`$*2&oq|!9O`mx$- z&?XOI=(ML9^g)!3kI0;mN|3>WS@0Ax)UUmIIE02hFp!3qGb@FxNudy+vtAldl&2tc z-^-bWLewOZAgw(bkc5{Y6tu^Mg{Da(^T8*3yrK;w1p% zVQ~~00yyB(DA4S-|-FIze!aiWDeVy0{6q+WPfQNd0HDEnYz=#$f9*EnI*+AB$l5kLvp9UQ41sYs^ zd7w%^Hxvz+f!ALH#@=M*hfMw5Sn#X!R{Lu}Ier4roIkKN77OSGSp}#=oBRc#GXYFW z(7+Z_pqty&pizIYtASwYfUyK3iI!c_dD~DD4Jv{IJi@Rjqp%vtSFok3@q*%BnZ{+cj6;Z zaGF?P+CQ!eV2dC?K$GCzX~FEgL=wP7k|9tCfL}!BtpQZ9Ul{rv?8HVS&@}M?jjV|p z{L>$>ZhJ5DC_ZGh|#?LJ4cwI{fEWYcuf!?_E@#8But)NQT$SvQ$J$p6n_G;wD z{RftbtWpQQF518E(BIzkp1$En=;!I2h34A|yPRe@2e#hQ`#dZ$F@1V|r1RZpujv=m zCkqkJC&~g}mB!R8mJ3G&y%?-I_^pm!SsCTqv}LiY+2~1uUv~wmsp5L#i^_%87>6^A z{xA1Zj|fjU4!>=Sx$*5l*eBEN_2%nuyh;4dv&A{zVbf^Sm*L9z!&C8Ij4BFZEffwOQaluG^q6m-suTI4 zB_sOAvk&3b1v2&_+>ei*Ma+Hqxbn{O;m5kG?~mRk*YrG1Ic@gfMsos0lbk&}V7q)L z`PJjW$?7)^^)c`0z3mY^-&_-RG`y=-n$9~7A3}>ERdf!5jN+f&0HoNx$4yNCV8L7J<{OlQNf7| zw=Y)5OP`tPQArr@-q$;7IeIO5sPf%>v%t3ruC{0iD>3P)ebV6-9gnNNDJ|%4f9^YY z<@PL0cbKT=-MsMTrc!o{^pThwi}#1qww2FJp4@fxL1{~Uyhzg)HZtGzwy078g)rChE9tpX-rWAk7 zM#-#jY`K-2N~RC+X({(u6hzO372uawyglE-7qzeS+yCeg8Or%a`=RY>Qnz*aT$bK*+JN8UEapkq8w3c2nH#f9((6R7H16tR} zIiqk{{?$-&-%!kC)`7fTzWo(k;k@GNGn}ygwIE|$_7__2r`+t!aEoiMeNTJ`*_su) z8%cXEep$}_@whOq3lrGawue>Z(-bTG+Mrd5AOde~A z!*lRVyY*?-662oXg1ym|8GUWFd()2^p+_cbogSP~7w0Q-$MBf>zBZAIr>Q+Iic>*t zAa3j&Potw92B&qN_-?b}necVL%u5o_-Z5#kb-+=ND4u-}o1Rd@8D4z8Oi-0bw7Ypc zp+vmXV(UOAS)0dvYo7%8U>tYMIDmRkC&$WTDra@{4(ejx$%JAYc6Zty7pJ4%{S}9{ zsrEJ&diGUFIEwZ*9wo~Sh+q$8f7y1pbhlP|ebkyf+A+UGHXbuocZv(VUT03P zwaeMXahlDnkZ9t$S@VO19Fib!o@N!s?U)wtc!BbSV9O6mqp|(+9A6R&6;v)A!k9x= zyZUyjA2`}4&v78JKMnH;r4PwJ5;8Qkv2t5x_`05EJ+GkR6E13=*5|;nOx(!MqIHmO z`^72cp2_tWh*-m*rY{bIrMu6^sj$*dmKggSthGSdavlRE)r$W7MPgrmX86lO4;8P` zLJ!~Ux!W^Yh$$7p$CD-!JIm!FPHy91)hMv-t{XC~so0dBLAod$oG)+90p2wVvs$K# z^5ikr>1d~y8gs`D*kHny(?F@CuvqyudwBjvoZt>q>pttrt|%`VUop->dI?YVMi28o z9~$Q%#=us7FE=Z|=@5q2h#qk)WY%(OoZcI)$1F*x`}n+-BDQoi7Uu4o=<_*w>_DO@ zkD0DJ(Xc&oqtBRP<$AE1Od@f#&IIB;Zz8CObbNl|gvB)?_QZM6Y>qq)n&pc=eru`Q z<$JY)k7^!ACj=S;0HZjcncNc2(a@YSecx*)wuu86jsd+-cLL10L92G3FO73A&kkGp zfR@e485i9Z!81579&X1o@mUuK29eJ?)J_)ks@mu|d{@a)9|2vY6xkEAago z<>5#PLf}|Y!$rW6hzlQsT4abO?MK?^0GEb%yrPN2{M_R!>N6(+2i3U^#>l?Uu-Wn+ z0_bE zN#%USn-Up2>dGAkg|!ba1_kGDus&1dt?a;Z=Y5}?Ys`CkUFehxU6gG9qyEO>r%#v6 zPdsoF`TF8TFMS=)4B8fa{|bY^!#4-fG9q{qK?W;hBco;G9k%~KsF!z`44#C8^^s^L z$PLRUj3<#++c$6K^bXpy-_ws1)If_-zFc@BZM6kY!a`0*0$He<1n^d*_lPE>5Xuj6 zMOy%=%q~mW;{#J$-U=0hidTE`@!^5&B$7avUuTH(p^7l}02@nM zG>DTi=1?1kZ9N(2X9|G=WD!Y|0Hi7zkJrQkA#bfK0$Xtd(Ul%82)zWIf#?~Kv6@5*S%yTzYtpc=fEDXTxa|;-qXRL5ka8^0 zxbf^5ptA|!2!qE1l}I4UkbtHpLaDBD%$}T31f2)E9cw2H1_1E!R3P!G6d4kksEMaB zUmeM=4JZ;T2jWE5B{K`1+$7k*NXl7Kq0qpyXgmas!(rRC7gOEK5ZSuz{wD>gloqJmAE0~TRG_db87_gn#>DX6w9jH zLw#?>;O|5PC;Z?Wn;?9DJ#s4&ONK)-5keeT%C99tKW0Rjon#=v>2jg9z5aLM1S|=T z%R&etu>iU|QXHw5%GwGTeH(2pm4Zf z7RTdp|8{3?43h>pDv5-Jf7$?Kr?L?2NF0#?pudv<1z7e75`)2FfA#!_F{ zl%+k_<~D@=f)Q$rAx{Lv4R4M{cz_Ot(FjvmF$Q6WAVWA)WyZN+#AR*-Y0Y^EAaMQ- z01pXVQfB+baX2UjA;!9j01wCAMk&KH(EtMpE|fwmAqn^lezY}`K!E#ivZ^qOVh~?B zVZ9R8jlu*1bEEzz@euHEe+WvM^Iz|QHGcpb0O~%3=T0J;_}6lg)-UD~$c*}AgaQYg zl!K6kf21R<5fp~iIm87d%PI?Dw_LI+2TADk}BMa(0KxL++KW{VtSC=a1wAWZztNFovc4^83oZLC7Do&*vNV>h3-$=`f&t$XMshJ)gporCq2JN#p8-iAPZ1Hq|3tcNAo?={oe*g) zxc)%{5;JP4!``CE%NX*1I7IptxXAwoE?x!*c=r)7n;Y_vV232*{~?Gt;N&Vb$b>(r zu@>&gzgRMBZIMUgzKnTP-aBGddr|KSB_ICcc7j9C?uecQC7OD$*1dhmdxwS6PfF$B`;r@V+!8 z58N||78U{5Xlv&FSFVB!xYbOj@PCj5D9*oF41Z`wtH8CXNI@VE3Z&4=@Ow~3Qt&V; z4XGmZ+i!jcZvtr80vh0^i^#Q<%&duG*6fG=s9`W`G>X8ec=&S~@Dep9QM>g{g z+86EvM)@}^t*SR(#$GnmeFSn%Vy#BaRRt#s2XUZ+5kzKSBdq^NW-(3i&rqu=ZdC}b z3c9)Vs~G+>BbgZp+fdcYe+P6T?l(dH(0D`~ z8SXPgiHQ8kk$->z;sZU&kTF6z3o9`t1am_0Wj@01BtgXf?QBFiHHa0Eoejmi8YjV9 z1o)W~N)7IDLh=5i_Lw>hC_OcJ*$bt@D0W8KvBKFQD0d{_$M+DFDcll@(uDP1p%mc_ zVJKCG!XDH?9vGsd+?YM)>7d8{9m5@BNipLwiuAGnW`4v5{qK`vTZC%8MCU} zejAIa`-q^|*;tecd?XgN>g7hTPCi(?ODwAtgA|8K;sFW&x0iEczybPi0EGXalM@NQ zZTQ=lficz~`JF`xGPMP8Y=DXBRsVwtv^1Utn1*vvf?)cEvnXW*Vb%MmE5IIVOaN@T zDX4o~5CSVJO#Gz;|A=qkB`1RMe+3@msx189$-q&LxlMw3V4G;LVjfVzXY)~OnG?L_ zfj#q3OwpOgY=|#s0;jfYLG#>|Etj7DKqa0>#V7%|{*hM}dR%{+|saG8MSu ze}f_syf6K0BZy2Bs{F#g!*qHCW3}NO(<<*$b8L`c% zXmA$+L4Z^AEQW`M=DB^%huFl!)Nf z_FqAARbc%O34p-5LIWNbKLC~i{#Yd@`9H)2Eq*O%1vuf+?}!0vxE}%htpE*F*=7h2 zP66+kxCwG(4M5Bb;IC>1BDlr*+jGdPnnCC{KrQ{Cp#9-t;7*1N%gm$1gn)OF*G}Zb zU&_e^e)19}0v%bu1^)U1WeYof0kh8O>%o~XQI;6W-|~(~0a=f^EV(JLEbs?q3Rveq zQ4lnQO#$nGf2)}t{^PcwVFon7W-kG6fEEM?Q52dF-dv29V4Qu0!t(qIPvEZb?=@0Z z!;=d8ZyRJF(IRW%i9%h&7BCNpNrhwQ!7f&T_59P?JP-Vi3NJDnqL65?04hxQ0$`NQ z|E4dv>Dk1h%ozHDB5=bSi&$iVt1!|3j|?Hg=c|z_iodt{-=hGL`X2*>Bw~Y5hU<`M z3`m3BNWkn&UbG-6v!T$Nz&~42Xk{do03-O(Hb7IzwgRp728Gt;Tnk0CwIu#$C;~66 z8Om(GW``>_pnrvD>RQ|pCer?6HqgYBJTNaGfI)-h_&}6gy{`Hn&VpWUd;k;;&f!D< zA7%yZL!bdZ|CGfVMFd|8z?rHrqWRID+;Eo^ntRpN!R%|6`4ce!b`kk6N16r}Q74MK=JTWO(NW&|s&I76f?6aLNXN?lcoh z0E{+b?k3ZiL}~ODZg6-5LYsvBk1?4i84RoP|6xsVHwrBO=MI6stJX|aU$tfl2#KpF z$N%j^WX4LSX(ctlF8&>9NmwH6paD>KtD|{Wal(Nnpmg5^Ey-BXK)Z8-i!6b16af26 zjQz2bAZFg&!m4cWn|i-JoV2QL{?u)2HB4Ym;F5REja+^U7f=C(tT%;CXy~1of3(!^ zq)GyJY{1F20gnE1lrq5aw}Uf#czB>O@EKVaAtV45XAj5=Zlb0EdGBkZ?{LG7#%qKS z!Qj>+&R?qtK&!CgSEVwXC(phX`oTcpo>dvvGX~pBSz|2S{+H27I0~F<40wzGebW6G zF9q&320KoHIZT)x{-!_kQ9~0zjTk1V($!$rim_sk-plb@P<@C%|6hWN zv?i$7ey^d-6TN|{m6(BiO@I9lf;APT1XBWkFACHEYil!~$@2g}k^|6dx_|^~Mt-#j zd;VW!2OX?E*B(6$I>0LdAoda9E>EyFa}V@dhC3OER%HZwp`|$BkqERq5>J3PMWRh% zY7|-%ZYxGAph(2k%SaR!=-)Um77==P&}=>Pe+c--R+3P`mW&o>9e)=R+ojq$!Lyg7 zf7STi#`5nmCyOqXIQlK0Iqk?k5oDd1_{G!OudmLQH`5f2Qlu*F?f`?n z*>ID9#YfE6&A$9e>ZSXiTHeUps>c)OHV3|mIoG++GQ2PH2S0Ot`Vi}Yt>y@3~EN$oGRVYx@BddY2_Q=rWjq8!ZgdD{&TGbm*khf zKX~)rk{-o*$nzBU9o?xYTFK7YZQ`NyS(~dbZYQiaxWpZ{Z|Li;{sh%m`*epqDmxBG zoq4ovKKFk2;fC^~pM5Z{n;g%vw~kC-KWJm=JXT1L>88$XiscEivg<1>z2!6AU1%C% z-Qa~7o-B>}T`0Oo zU~9gk=AC1i?kzOlns{3K{nVJ1!S%dBxJ+GV=k6IK@_x%Pv@a+Bc3!O|oi_ya zi|6pi>_qnJaAZD6#vC99M!vO5UMIfNO_!et39Eh^YLwH~RaYv)z zZr8$`HkG`$-ogGxFfl)TxTuC)5OC#U%McZk zQu2XgCpauQr^AarY);tD`99s#VN(O8=O|(~rRcHvfM{RhM1Z(@=`7u-D@WDczo1>eCH|= z{DR6=D=M!v<(aBiXQRZ`ceOgRMYFSeS{xg%PmEjbT6R*e`}W9Nm+-0|-&?L&7P{HS zw2{u&AaRA;y7QrRmb3WTFzwWJmwn*@;qJR7xx4|j{;rGqj_T<$1DDN?Y|j#HGzqIG z_-f$C!ndUh`*E)K<&4TH8`JdQ?6`Qwe9B=1M!mE&PiIfgi+593%q1u(ID~ihR0x;i z%6_8J&f{CVGv{v2zZN9DDI`l)#TbQk%9_Vu0ahrd{J`bE3hsiZ+EGHHOZLb8j|saIwjs9x&32 z49lRi?b0~PnAf@ghW4}bUNMPte>w5Vop1Bj209uAnOyuIS0?X9dYXRr5>VC8w3#_O zdoLk*AlPuBj&wWAJ5}^<$Zqvwa`O9;yQR0XYn4VkPMo^STFYgZE4c0U7U@Rm*=k}R$X~m!P%Xhci#&nTe&IxU2dG@_(&K*NY z`nq)>=J+`wws_3ofq{1-cOy$*jeenx&v`UeEw?sihSv1z6nwy9>`omS9|~zYyBw+9 z`_}vR9r{n#hr!CdZ27~*zOJQ zfPhosmyX4>VDSzY`RrK_-YoliESy3Y{ zm&}9Q-9w@ox*b=~O*mNH@eNYh&fRZ-et&NH6DeLRDqiS$@q`s^BNTX&v2!-RcgjCN zGl~qKW{?dZ$|-nWrK!C4>YN#JXnD8WJV~qf?U`Zr>&GW`b7qEyofiYDoXC-#3HYK5 zivcx8^sNCLJ^O~;-ArGd=sorI;e}xViCP)ekh>)bIxj7+`6h1~smbDZbNsNyQ%F5H zVM6D`s8M`@ci5#w2X)N5=VsmWQM%78^mK%TSgR@QG=Y300>Mk9BdqV30F8^tHWu?N{6@y0# zmX~h`PSFe}o`~mj)qBM$zkehhHB;yCxax^$#_=H=Nb6RJ;VML1uWXk^ZH zcNUNDl%~sWz@(kk&g|=|x_Z58y*5&y;k*#L2qm1=@Zi?`!WRscwdNgJ&jh^| zc@ZCZKCI^TYsEunQj&8BIDO@y`?oUk_fYnEUNL*pn?=?CB-CVJPucezsXvix60b21 zNkrD7JA1RxvL~EmYR>Htq3jckYYP%l;plOh=o8MQk0awm)f*xph0YQ4va)wOL&Hjr zxvObW!jWf!?xzpCPayRLoh~=hY;Bx=ejPCj%DK?o$7L15g?8M3rzvhMlGt<`VW>RP zo0Tqm*-54^=EX3VZk#+r&x(?wK-q^M-WU`o!WOBk-A$ya8gGHjH0 zqC6eFSt+xs482(H^od*!mRptb`k8uSv(*CyJrg>&9a<{H@6wWK02Xw=;pExn z-rt*LL(ja+;W9I$IZn?t5$LPjsK2A_X77`8H+wyI>LurB`Qo`LZusHM6?xm(@2Y~d z*h^#J7yXyq3^&SQ7%REyVi!P>D`l)o>>kIhYWdWe8Txn|0dwQzwzB;)fEx;S=pv<8{i9w%@wwW_Uq4WlV%cRqXq{sN&ehIl9%PyJ(Ow2QT~0z_SL? zImkvkd383_!Lf^N`Z5iHZm&{gn&zx0Q)HE!∾F=yFP;fZR&%t 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↜!dnDlOqB2ajgdMIf^8-!p@O7*>U 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 QvFO8{d-tCIq6>EZFTnb~l>h($ delta 41184 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 walxqziYK0U!vEjo7fw9!iHEOy$>|rr CCHS EX DE,HL JR HB_DSKACT1 -; - #ENDIF -#ENDIF ; HB_DSKACT_Z: RET ; +#ELSE +; +HB_DSKACT: +HB_DSKACTCHS: + RET +; +#ENDIF +; ;-------------------------------------------------------------------------------------------------- ; REAL TIME CLOCK DEVICE DISPATCHER ;-------------------------------------------------------------------------------------------------- @@ -6356,44 +6344,6 @@ HB_ADDIM1: #ENDIF ; ;-------------------------------------------------------------------------------------------------- -; DSKY SUPPORT -;-------------------------------------------------------------------------------------------------- -; -#IF (DSKYENABLE) -; -; CONVERT 32 BIT BINARY TO 8 BYTE HEX SEGMENT DISPLAY -; -; HL: ADR OF 32 BIT BINARY -; DE: ADR OF DEST LED SEGMENT DISPLAY BUFFER (8 BYTES) -; -DSKY_BIN2SEG: - LD B,4 ; 4 BYTES OF INPUT - LD A,B ; PUT IN ACCUM - CALL ADDHLA ; PROCESS FROM END (LITTLE ENDIAN) -DSKY_BIN2SEG1: - DEC HL ; DEC PTR (LITTLE ENDIAN) - LD A,(HL) ; HIGH NIBBLE - RRCA \ RRCA \ RRCA \ RRCA ; ROTATE BITS - CALL DSKY_BIN2SEG_NIB ; CONVERT NIBBLE INTO OUTPUT BUF - LD A,(HL) ; LOW NIBBLE - CALL DSKY_BIN2SEG_NIB ; CONVERT NIBBLE INTO OUTPUT BUF - DJNZ DSKY_BIN2SEG1 ; LOOP FOR ALL INPUT BYTES - RET ; DONE -; -DSKY_BIN2SEG_NIB: - PUSH HL ; SAVE HL - LD HL,DSKY_HEXMAP ; POINT TO SEG MAP TABLE - AND $0F ; ISOLATE LOW NIBBLE - CALL ADDHLA ; OFFSET INTO TABLE - LD A,(HL) ; LOAD VALUE FROM TABLE - POP HL ; RESTORE HL - LD (DE),A ; SAVE VALUE TO OUTPUT BUF - INC DE ; BUMP TO NEXT OUTPUT BYTE - RET ; DONE -; -#ENDIF -; -;-------------------------------------------------------------------------------------------------- ; SYSTEM TIMER INTERRUPT HANDLER ;-------------------------------------------------------------------------------------------------- ; @@ -8205,25 +8155,25 @@ HB_PRTSUM_END .EQU $ ; HB_DRIVERS_BEG .EQU $ ; -#IF (DSKYENABLE) - #IF (ICMENABLE) +;;;#IF (DSKYENABLE) +#IF (ICMENABLE) ORG_ICM .EQU $ #INCLUDE "icm.asm" SIZ_ICM .EQU $ - ORG_ICM MEMECHO "ICM occupies " MEMECHO SIZ_ICM MEMECHO " bytes.\n" - #ENDIF +#ENDIF ; - #IF (PKDENABLE) +#IF (PKDENABLE) ORG_PKD .EQU $ #INCLUDE "pkd.asm" SIZ_PKD .EQU $ - ORG_PKD MEMECHO "PKD occupies " MEMECHO SIZ_PKD MEMECHO " bytes.\n" - #ENDIF #ENDIF +;;;#ENDIF ; #IF (LCDENABLE) ORG_LCD .EQU $ @@ -8901,10 +8851,6 @@ STR_PANIC .TEXT "\r\n>>> PANIC: $" STR_SYSCHK .TEXT "\r\n>>> SYSCHK: $" STR_CONTINUE .TEXT "\r\nContinue (Y/N)? $" ; -#IF (DSKYENABLE) ; 'H','B','I','O',' ',' ',' ',' ' -MSG_HBVER .DB $76,$7F,$30,$3F,$00,$00,$00,$00 ; "HBIO " -#ENDIF -; HB_CURSEC .DB 0 ; CURRENT SECOND (TEMP) ; HB_BCDTMP .FILL 5,0 ; BCD NUMBER STORAGE (TEMP) @@ -9080,37 +9026,6 @@ MG014_STATMAPHI: ; #ENDIF ; -; CODES FOR NUMERICS -; HIGH BIT ALWAYS CLEAR TO SUPPRESS DECIMAL POINT -; SET HIGH BIT TO SHOW DECIMAL POINT -; -#IF (DSKYENABLE) -; -DSKY_HEXMAP: - .DB $3F ; 0 - .DB $06 ; 1 - .DB $5B ; 2 - .DB $4F ; 3 - .DB $66 ; 4 - .DB $6D ; 5 - .DB $7D ; 6 - .DB $07 ; 7 - .DB $7F ; 8 - .DB $67 ; 9 - .DB $77 ; A - .DB $7C ; B - .DB $39 ; C - .DB $5E ; D - .DB $79 ; E - .DB $71 ; F -; -DSKY_BUF .FILL 8,0 -DSKY_BUFLEN .EQU $ - DSKY_BUF -DSKY_HEXBUF .FILL 4,0 -DSKY_HEXBUFLEN .EQU $ - DSKY_HEXBUF -; -#ENDIF -; HB_DATA_END .EQU $ ; HB_END .EQU $ diff --git a/Source/HBIOS/hbios.inc b/Source/HBIOS/hbios.inc index 5547397f..aa24dd4a 100644 --- a/Source/HBIOS/hbios.inc +++ b/Source/HBIOS/hbios.inc @@ -46,6 +46,8 @@ BF_DSKYKEYLEDS .EQU BF_DSKY + 5 ; SET/CLEAR KEYPAD LEDS BF_DSKYSTATLED .EQU BF_DSKY + 6 ; SET/CLEAR STATUS LEDS BF_DSKYBEEP .EQU BF_DSKY + 7 ; BEEP ONBOARD DSKY SPEAKER BF_DSKYDEVICE .EQU BF_DSKY + 8 ; DSKY DEVICE INFO REPORT +BF_DSKYMESSAGE .EQU BF_DSKY + 9 ; DSKY MESSAGE HANDLING +BF_DSKYEVENT .EQU BF_DSKY + 10 ; DSKY EVENT HANDLING ; BF_VDA .EQU $40 BF_VDAINI .EQU BF_VDA + 0 ; INITIALIZE VDU @@ -372,6 +374,7 @@ DSKYDEV_ICM .EQU $00 ; Intersil ICM7218 DSKYDEV_PKD .EQU $01 ; Intel P8279 DSKYDEV_H8P .EQU $02 ; Heath H8 Panel DSKYDEV_GM7303 .EQU $03 ; Genesis GM7303 LCD Panel +DSKYDEV_LCD .EQU $04 ; RCBus LCD Panel ; ; VIDEO DEVICE IDS ; diff --git a/Source/HBIOS/icm.asm b/Source/HBIOS/icm.asm index a0490cd4..41781e6a 100644 --- a/Source/HBIOS/icm.asm +++ b/Source/HBIOS/icm.asm @@ -27,19 +27,26 @@ ; PB0 | $01 [FW] $41 [0] $81 [BK] $C1 [CL] ; ; -ICM_PPIA .EQU ICMPPIBASE + 0 ; PORT A -ICM_PPIB .EQU ICMPPIBASE + 1 ; PORT B -ICM_PPIC .EQU ICMPPIBASE + 2 ; PORT C -ICM_PPIX .EQU ICMPPIBASE + 3 ; PPI CONTROL PORT +ICM_PPIA .EQU ICMPPIBASE + 0 ; PORT A +ICM_PPIB .EQU ICMPPIBASE + 1 ; PORT B +ICM_PPIC .EQU ICMPPIBASE + 2 ; PORT C +ICM_PPIX .EQU ICMPPIBASE + 3 ; PPI CONTROL PORT +; +ICM_ROWS .EQU 1 ; DISPLAY ROWS +ICM_COLS .EQU 8 ; DISPLAY COLUMNS ; DEVECHO "ICM: IO=" DEVECHO ICMPPIBASE + DEVECHO ", SIZE=" + DEVECHO ICM_COLS + DEVECHO "X" + DEVECHO ICM_ROWS DEVECHO "\n" ; -;__ICM_INIT__________________________________________________________________________________________ +;__ICM_INIT________________________________________________________________________________________ ; ; CONFIGURE PARALLEL PORT AND CLEAR KEYPAD BUFFER -;____________________________________________________________________________________________________ +;__________________________________________________________________________________________________ ; ICM_PREINIT: LD A,(DSKY_DISPACT) ; DSKY DISPATCHER ALREADY SET? @@ -83,6 +90,33 @@ ICM_PREINIT: LD BC,ICM_DISPATCH CALL DSKY_SETDISP ; + CALL ICM_SHOWVER +; + RET +; +ICM_SHOWVER: + LD HL,ICM_VERSTR + LD DE,ICM_BUF + LD BC,ICM_COLS + LDIR + LD HL,ICM_BUF + 5 + LD A,RMJ + LD A,(ICM_SEGMAP + RMJ) + OR $80 + LD (HL),A + INC HL + LD A,(ICM_SEGMAP + RMN) + OR $80 + LD (HL),A + INC HL + LD A,(ICM_SEGMAP + RUP) + LD (HL),A +; + ; DISPLAY VERSION ON ICM + LD C,0 + LD B,8 + LD HL,ICM_BUF + CALL ICM_PUTBUF RET ; ICM_INIT: @@ -95,9 +129,18 @@ ICM_INIT: ; LD A,(ICM_PRESENT) ; PRESENT? OR A ; SET FLAGS - RET NZ ; YES, ALL DONE + JR NZ,ICM_INIT1 ; YES, CONTINUE PRTS(" NOT PRESENT$") ; NOT PRESENT + RET ; +ICM_INIT1: + CALL PC_SPACE + LD A,ICM_COLS + CALL PRTDEC8 + LD A,'X' + CALL COUT + LD A,ICM_ROWS + CALL PRTDEC8 RET ; ; ICM DEVICE FUNCTION DISPATCH ENTRY @@ -124,6 +167,10 @@ ICM_DISPATCH: JP Z,ICM_BEEP ; BEEP DSKY SPEAKER DEC A JP Z,ICM_DEVICE ; DEVICE INFO + DEC A + JP Z,ICM_MESSAGE ; HANDLE MESSAGE + DEC A + JP Z,ICM_EVENT ; HANDLE EVENT SYSCHKERR(ERR_NOFUNC) RET ; @@ -187,47 +234,44 @@ ICM_GETKEY2: ; DISPLAY HEX VALUE FROM DE:HL ; ICM_SHOWHEX: - LD BC,DSKY_HEXBUF ; POINT TO HEX BUFFER + LD BC,ICM_TMP32 ; POINT TO HEX BUFFER CALL ST32 ; STORE 32-BIT BINARY THERE - LD HL,DSKY_HEXBUF ; FROM: BINARY VALUE (HL) - LD DE,DSKY_BUF ; TO: SEGMENT BUFFER (DE) - CALL DSKY_BIN2SEG ; CONVERT - LD HL,DSKY_BUF ; POINT TO SEGMENT BUFFER - ; AND FALL THRU TO DISPLAY IT + LD HL,ICM_TMP32 ; FROM: BINARY VALUE (HL) + LD DE,ICM_BUF ; TO: SEGMENT BUFFER (DE) + CALL ICM_BIN2SEG ; CONVERT + LD HL,ICM_BUF ; POINT TO SEGMENT BUFFER + CALL ICM_PUTBUF ; DO IT + XOR A ; SUCCESS + RET ; AND RETURN ; ; ICM SHOW BUFFER ; HL: ADDRESS OF BUFFER ; ICM_SHOWSEG: - LD A,82H ; SETUP PPI - OUT (ICM_PPIX),A - CALL ICM_COFF - LD A,$F0 ; 7218 -> (DATA COMING, NO DECODE) - OUT (ICM_PPIA),A - CALL ICM_STROBEC ; STROBE COMMAND - LD B,DSKY_BUFLEN ; NUMBER OF DIGITS - LD C,ICM_PPIA -ICM_HEXOUT2: - LD A,(HL) - CALL ICM_XLAT ; MAP SEGMENTS - XOR $80 ; FIX DOT POLARITY - OUT (C),A - INC HL - DEC B - JP Z,ICM_STROBE ; DO FINAL STROBE AND RETURN - CALL ICM_STROBE ; STROBE BYTE VALUE - JR ICM_HEXOUT2 -ICM_STROBEC: ; COMMAND STROBE - LD A,80H | 30H - JP ICM_STROBE0 -ICM_STROBE: ; DATA STROBE - LD A,00H | 30H ; SET WRITE STROBE -ICM_STROBE0: - OUT (ICM_PPIC),A ; OUT TO PORTC - CALL DLY2 ; DELAY -ICM_COFF: - LD A,40H | 30H ; QUIESCE - OUT (ICM_PPIC),A ; OUT TO PORTC + ; CONVERT FROM DBG ALPHABET TO SEG CODES + LD B,ICM_COLS ; DO FOR ALL CHARS + LD DE,ICM_BUF ; DESTINATION BUFFER +ICM_SHOWSEG1: + LD A,(HL) ; GET SOURCE VALUE + INC HL ; BUMP FOR NEXT TIME + PUSH AF ; SAVE IT + AND $80 ; ISOLATE HI BIT (DP) + LD C,A ; SAVE IN C + POP AF ; RECOVER ORIGINAL + AND $7F ; REMOVE HI BIT (DP) + PUSH HL ; SAVE IT + LD HL,ICM_SEGMAP ; POINT TO XLAT MAP + CALL ADDHLA ; OFFSET BY VALUE + LD A,(HL) ; GET NEW VALUE + OR C ; RECOMBINE WITH DP BIT + LD (DE),A ; SAVE IT + INC DE ; BUMP PTR + POP HL ; RESTORE SOURCE PTR + DJNZ ICM_SHOWSEG1 ; LOOP TILL DONE +; + ; DISPLAY CONVERTED BUFFER + LD HL,ICM_BUF ; BUFFER + CALL ICM_PUTBUF ; DO IT XOR A ; SIGNAL SUCCESS RET ; @@ -249,10 +293,76 @@ ICM_DEVICE: XOR A ; SIGNAL SUCCESS RET ; -;__ICM_KEY___________________________________________________________________________________________ +; MESSAGE HANDLER +; +ICM_MESSAGE: + LD A,C ; GET MESSAGE ID + ADD A,A ; WORD OFFSET + LD HL,ICM_MSGTBL ; START OF MESSAGE TABLE + CALL ADDHLA ; ADD OFFSET + LD A,(HL) ; SAVE LSB + INC HL ; BUMP TO MSB + LD H,(HL) ; GET MSB + LD L,A ; GET LSB +; + ; HL HAS POINTER TO MESSAGE + CALL ICM_PUTBUF ; DISPLAY IT + XOR A ; SIGNAL SUCCESS + RET +; +; EVENT HANDLER +; +ICM_EVENT: + LD A,C ; EVENT ID + OR A ; 0=CPUSPD + JR Z,ICM_EVT_CPUSPD ; HANDLE CPU SPD CHANGE + DEC A ; 1=DSKACT + JR Z,ICM_EVT_DSKACT ; HANDLE DISK ACTIVITY + XOR A + RET +; +; CPU SPEED CHANGE +; +ICM_EVT_CPUSPD: + XOR A + RET +; +; DISK ACTIVITY +; +ICM_EVT_DSKACT: +; + ; USE DISK UNIT NUMBER FOR MSB + LD A,(HB_DSKUNIT) ; GET DISK UNIT NUM + LD (HB_DSKADR+3),A ; REPLACE HIGH BYTE W/ DISK # +; + ; CONVERT TO SEGMENT DISPLAY + LD HL,HB_DSKADR ; INPUT POINTER + LD DE,ICM_BUF ; BUF FOR OUTPUT + CALL ICM_BIN2SEG ; CONVERT TO SEG DISPLAY +; + ; DECIMAL POINT FOR DISK UNIT SEPARATION + LD HL,ICM_BUF+1 ; SECOND CHAR OF DISP + SET 7,(HL) ; TURN ON DECIMAL PT +; + ; DECIMAL POINT TO INDICATE WRITE ACTION + LD A,(HB_DSKFUNC) ; GET CURRENT I/O FUNCTION + CP BF_DIOWRITE ; IS IT A WRITE? + JR NZ,ICM_EVT_DSKACT2 ; IF NOT, SKIP + LD HL,ICM_BUF+7 ; POINT TO CHAR 7 + SET 7,(HL) ; SET WRITE DOT +; +ICM_EVT_DSKACT2: + ; UPDATE DISPLAY + LD HL,ICM_BUF ; SEG DISPLAY BUF TO HL + CALL ICM_PUTBUF +; + XOR A + RET +; +;__ICM_KEY_________________________________________________________________________________________ ; ; CHECK FOR KEY PRESS W/ DEBOUNCE -;____________________________________________________________________________________________________ +;__________________________________________________________________________________________________ ; ICM_KEY: CALL ICM_SCAN ; INITIAL KEY PRESS SCAN @@ -273,10 +383,10 @@ ICM_KEY2: OR A ; SET FLAGS BASED ON VALUE RET ; AND DONE ; -;__ICM_SCAN__________________________________________________________________________________________ +;__ICM_SCAN________________________________________________________________________________________ ; ; SCAN KEYPAD AND RETURN RAW SCAN CODE (RETURNS ZERO IF NO KEY PRESSED) -;____________________________________________________________________________________________________ +;__________________________________________________________________________________________________ ; ICM_SCAN: LD B,4 ; 4 COLUMNS @@ -300,37 +410,44 @@ ICM_SCAN2: OR E ; COMBINE WITH ROW JP ICM_RESET ; RETURN VIA RESET ; +;__ICM_PUTBUF______________________________________________________________________________________ ; -; CONVERT FORM STANDARD SEGMENT ENCODING TO ICM ENCODING -; -; From: To: -; +--01--+ +--40--+ -; 20 02 02 20 -; +--40--+ +--04--+ -; 10 04 08 10 -; +--08--+ 80 +--01--+ 80 +; WRITE BUFFER AT HL TO SEGMENT DISPLAY +;__________________________________________________________________________________________________ ; -ICM_XLAT: - PUSH BC - PUSH HL - LD C,A ; ORIG VALUE TO C - XOR A ; INIT RESULT VALUE - LD B,8 - LD HL,ICM_XTBL -ICM_XLAT1: - RRC C ; SHIFT NEXT BIT TO CF - JR NC,ICM_XLAT2 ; SKIP IF BIT NOT SET - OR (HL) -ICM_XLAT2: +ICM_PUTBUF: + LD A,82H ; SETUP PPI + OUT (ICM_PPIX),A + CALL ICM_COFF + LD A,$F0 ; 7218 -> (DATA COMING, NO DECODE) + OUT (ICM_PPIA),A + CALL ICM_STROBEC ; STROBE COMMAND + LD B,ICM_COLS ; NUMBER OF DIGITS + LD C,ICM_PPIA +ICM_HEXOUT2: + LD A,(HL) + XOR $80 ; FIX DOT POLARITY + OUT (C),A INC HL - DJNZ ICM_XLAT1 - POP HL - POP BC + DEC B + JP Z,ICM_STROBE ; DO FINAL STROBE AND RETURN + CALL ICM_STROBE ; STROBE BYTE VALUE + JR ICM_HEXOUT2 +ICM_STROBEC: ; COMMAND STROBE + LD A,80H | 30H + JP ICM_STROBE0 +ICM_STROBE: ; DATA STROBE + LD A,00H | 30H ; SET WRITE STROBE +ICM_STROBE0: + OUT (ICM_PPIC),A ; OUT TO PORTC + CALL DLY2 ; DELAY +ICM_COFF: + LD A,40H | 30H ; QUIESCE + OUT (ICM_PPIC),A ; OUT TO PORTC + XOR A ; SIGNAL SUCCESS RET ; -ICM_XTBL .DB $40, $20, $10, $01, $08, $02, $04, $80 -; -;_ _TABLE_____________________________________________________________________________________________________________ +;_KEYMAP_TABLE_____________________________________________________________________________________ ; ICM_KEYMAP: ; POS $00 $01 $02 $03 $04 $05 $06 $07 @@ -353,6 +470,35 @@ ICM_KEYBUF .DB 0 ; UTILTITY FUNCTIONS ;================================================================================================== ; +; CONVERT 32 BIT BINARY TO 8 BYTE HEX SEGMENT DISPLAY +; +; HL: ADR OF 32 BIT BINARY +; DE: ADR OF DEST LED SEGMENT DISPLAY BUFFER (8 BYTES) +; +ICM_BIN2SEG: + LD B,4 ; 4 BYTES OF INPUT + LD A,B ; PUT IN ACCUM + CALL ADDHLA ; PROCESS FROM END (LITTLE ENDIAN) +ICM_BIN2SEG1: + DEC HL ; DEC PTR (LITTLE ENDIAN) + LD A,(HL) ; HIGH NIBBLE + RRCA \ RRCA \ RRCA \ RRCA ; ROTATE BITS + CALL ICM_BIN2SEG_NIB ; CONVERT NIBBLE INTO OUTPUT BUF + LD A,(HL) ; LOW NIBBLE + CALL ICM_BIN2SEG_NIB ; CONVERT NIBBLE INTO OUTPUT BUF + DJNZ ICM_BIN2SEG1 ; LOOP FOR ALL INPUT BYTES + RET ; DONE +; +ICM_BIN2SEG_NIB: + PUSH HL ; SAVE HL + LD HL,ICM_SEGMAP ; POINT TO SEG MAP TABLE + AND $0F ; ISOLATE LOW NIBBLE + CALL ADDHLA ; OFFSET INTO TABLE + LD A,(HL) ; LOAD VALUE FROM TABLE + POP HL ; RESTORE HL + LD (DE),A ; SAVE VALUE TO OUTPUT BUF + INC DE ; BUMP TO NEXT OUTPUT BYTE + RET ; DONE ; ;================================================================================================== ; STORAGE @@ -361,3 +507,37 @@ ICM_KEYBUF .DB 0 ; SEG DISPLAY WORKING STORAGE ; ICM_PRESENT .DB 0 +ICM_BUF .FILL ICM_COLS +ICM_TMP32 .FILL 4,0 ; TEMP DWORD +; +ICM_VERSTR .DB $3E,$7F,$0A,$7B,$57,$00,$00,$00 ; "HBIOS " +; +ICM_SEGMAP: +; + ; POS $00 $01 $02 $03 $04 $05 $06 $07 + ; GLYPH '0' '1' '2' '3' '4' '5' '6' '7' + + .DB $7B, $30, $6D, $75, $36, $57, $5F, $70 +; + ; POS $08 $09 $0A $0B $0C $0D $0E $0F + ; GLYPH '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' + .DB $7F, $76, $7E, $1F, $4B, $3D, $4F, $4E +; + ; POS $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $1A + ; GLYPH ' ' '-' '.' 'P' 'o' 'r' 't' 'A' 'd' 'r' 'G' + .DB $00, $04, $00, $6E, $1D, $0C, $0F, $7E, $3D, $0C, $5F +; +ICM_MSGTBL: + .DW ICM_MSG_LDR_SEL + .DW ICM_MSG_LDR_BOOT + .DW ICM_MSG_LDR_LOAD + .DW ICM_MSG_LDR_GO + .DW ICM_MSG_MON_RDY + .DW ICM_MSG_MON_BOOT +; +ICM_MSG_LDR_SEL .DB $7F,$1D,$1D,$0F,$6C,$00,$00,$00 ; "Boot? " +ICM_MSG_LDR_BOOT .DB $7F,$1D,$1D,$0F,$80,$80,$80,$00 ; "Boot... " +ICM_MSG_LDR_LOAD .DB $0B,$1D,$7E,$3D,$80,$80,$80,$00 ; "Load... " +ICM_MSG_LDR_GO .DB $5F,$1D,$80,$80,$80,$00,$00,$00 ; "Go... " +ICM_MSG_MON_RDY .DB $04,$4B,$6E,$3B,$00,$3B,$6E,$04 ; "-CPU UP-" +ICM_MSG_MON_BOOT .DB $7F,$1D,$1D,$0F,$B0,$00,$00,$00 ; "Boot! " diff --git a/Source/HBIOS/lcd.asm b/Source/HBIOS/lcd.asm index 3373c304..87266bc0 100644 --- a/Source/HBIOS/lcd.asm +++ b/Source/HBIOS/lcd.asm @@ -15,6 +15,9 @@ LCD_FUNC .EQU LCDBASE + 0 ; WRITE LCD_STAT .EQU LCDBASE + 0 ; READ LCD_DATA .EQU LCDBASE + 1 ; READ/WRITE ; +LCD_ROWS .EQU 4 +LCD_COLS .EQU 20 +; LCD_FUNC_CLEAR .EQU $01 ; CLEAR DISPLAY LCD_FUNC_HOME .EQU $02 ; HOME CURSOR & REMOVE ALL SHIFTING LCD_FUNC_ENTRY .EQU $04 ; SET CUR DIR AND DISPLAY SHIFT @@ -26,6 +29,10 @@ LCD_FUNC_DDADR .EQU $80 ; SET DDRAM ADDRESS ; DEVECHO "LCD: IO=" DEVECHO LCDBASE + DEVECHO ", SIZE=" + DEVECHO LCD_COLS + DEVECHO "X" + DEVECHO LCD_ROWS DEVECHO "\n" ; ; HARDWARE RESET PRIOR TO ROMWBW CONSOLE INITIALIZATION @@ -52,6 +59,10 @@ LCD_PREINIT: LD A,(LCD_PRESENT) ; GET PRESENCE FLAG OR A ; SET FLAGS RET Z ; BAIL OUT IF NOT PRESENT +; + ; REGISTER DRIVER WITH HBIOS + LD BC,LCD_DISPATCH + CALL DSKY_SETDISP ; ; WE CAN NOW DO NORMAL I/O W/ BUSY FLAG LD DE,LCD_INIT_SEQ ; INIT SEQUENCE @@ -105,13 +116,20 @@ LCD_PREINIT1: ; LCD_INIT: CALL NEWLINE ; FORMATTING - PRTS("LCD: IO=$") + PRTS("LCD: IO=0x$") LD A,LCDBASE CALL PRTHEXBYTE ; LD A,(LCD_PRESENT) ; GET PRESENCE FLAG OR A ; SET FLAGS JR Z,LCD_INIT1 ; HANDLE NOT PRESENT +; + CALL PC_SPACE + LD A,LCD_COLS + CALL PRTDEC8 + PRTS("X$") + LD A,LCD_ROWS + CALL PRTDEC8 XOR A ; SIGNAL SUCCESS RET ; DONE ; @@ -120,33 +138,113 @@ LCD_INIT1: OR $FF RET ; -; CALLED FROM HBIOS RIGHT BEFORE A DISK ACCESS -; HL: ADDRESS OF 32-BIT SECTOR NUMBER (LITTLE-ENDIAN) +; DSKY DEVICE FUNCTION DISPATCH ENTRY +; A: RESULT (OUT), 0=OK, Z=OK, NZ=ERR +; B: FUNCTION (IN) +; +LCD_DISPATCH: + LD A,B ; GET REQUESTED FUNCTION + AND $0F ; ISOLATE SUB-FUNCTION + JP Z,LCD_NULL ; RESET DSKY HARDWARE + DEC A + JP Z,LCD_NULL ; GET KEYPAD STATUS + DEC A + JP Z,LCD_NULL ; READ A KEY FROM THE KEYPAD + DEC A + JP Z,LCD_NULL ; DISPLAY A 32-BIT BINARY VALUE IN HEX + DEC A + JP Z,LCD_SHOWSEG ; DISPLAY SEGMENTS + DEC A + JP Z,LCD_NULL ; SET KEYPAD LEDS + DEC A + JP Z,LCD_NULL ; SET STATUS LED + DEC A + JP Z,LCD_NULL ; BEEP DSKY SPEAKER + DEC A + JP Z,LCD_DEVICE ; DEVICE INFO + DEC A + JP Z,LCD_MESSAGE ; HANDLE MESSAGE + DEC A + JP Z,LCD_EVENT ; HANDLE EVENT + SYSCHKERR(ERR_NOFUNC) + RET +; +; +; +LCD_NULL: + XOR A + RET +; +; DRAW DISPLAY USING DEBUG ALPHABET +; HL = SOURCE BUFFER +; +LCD_SHOWSEG: + XOR A + RET +; +; DEVICE INFORMATION +; +LCD_DEVICE: + LD D,DSKYDEV_LCD ; D := DEVICE TYPE + LD E,0 ; E := PHYSICAL DEVICE NUMBER + LD H,0 ; H := MODE + LD L,LCDBASE ; L := BASE I/O ADDRESS + XOR A ; SIGNAL SUCCESS + RET +; +; MESSAGE HANDLER +; +LCD_MESSAGE: + LD A,C ; GET MESSAGE ID + ADD A,A ; WORD OFFSET + LD HL,LCD_MSGTBL ; START OF MESSAGE TABLE + CALL ADDHLA ; ADD OFFSET + LD A,(HL) ; SAVE LSB + INC HL ; BUMP TO MSB + LD H,(HL) ; GET MSB + LD L,A ; GET LSB +; + EX DE,HL + LD HL,$0300 ; ROW 3, COL 0 + CALL LCD_GOTORC + CALL LCD_LINEOUT + XOR A ; SIGNAL SUCCESS + RET +; +; EVENT HANDLER +; +LCD_EVENT: + LD A,C ; EVENT ID + OR A ; 0=CPUSPD + JR Z,LCD_EVT_CPUSPD ; HANDLE CPU SPD CHANGE + DEC A ; 1=DSKACT + JR Z,LCD_EVT_DSKACT ; HANDLE DISK ACTIVITY + XOR A + RET +; +; CPU SPEED CHANGE +; +LCD_EVT_CPUSPD: + XOR A + RET ; ; FORMAT: "Disk #99 R:12345678" ; 01234567890123456789 ; -LCD_DSKACT: - ; SAVE EVERYTHING - PUSH AF - PUSH BC - PUSH DE - PUSH HL +LCD_EVT_DSKACT: ; LD A,(LCD_PRESENT) ; GET PRESENCE FLAG OR A ; SET FLAGS - JR Z,LCD_DSKACT_Z ; HANDLE NOT PRESENT + RET Z ; HANDLE NOT PRESENT ; - PUSH HL LD HL,$0300 ; ROW 3, COL 0 CALL LCD_GOTORC ; SET DISPLAY ADDRESS - POP HL ; LD DE,LCD_STR_IO ; PREFIX CALL LCD_OUTDS ; SEND TO DISPLAY (COLS 0-5) ; LD A,(HB_DSKUNIT) ; GET DISK UNIT NUM - CALL LCD_DSKACT_BYTE ; SEND TO DISPLAY (COLS 6-7) HEX??? + CALL LCD_EVT_DSKACT_BYTE ; SEND TO DISPLAY (COLS 6-7) HEX??? ; LD A,' ' ; SEPARATOR CALL LCD_OUTD ; SEND TO DISPLAY (COL 8) @@ -155,33 +253,25 @@ LCD_DSKACT: LD A,(HB_DSKFUNC) ; ACTIVE DISK FUNCTION CP BF_DIOWRITE ; WRITE? LD A,'W' ; ASSUME WRITE - JR Z,LCD_DSKACT0 ; GO AHEAD + JR Z,LCD_EVT_DSKACT0 ; GO AHEAD LD A,'R' ; OTHERWISE READ -LCD_DSKACT0: +LCD_EVT_DSKACT0: CALL LCD_OUTD ; SEND CHAR (COL 10) ; LD A,':' ; SEPARATOR CALL LCD_OUTD ; SEND TO DISPLAY (COL 11) ; - LD A,3 ; POINT TO - CALL ADDHLA ; END OF DWORD (MSB) + LD HL,HB_DSKADR+3 ; END OF DWORD (MSB) LD B,4 ; DO 4 BYTES ; -LCD_DSKACT1: +LCD_EVT_DSKACT1: LD A,(HL) ; GET BYTE - CALL LCD_DSKACT_BYTE ; SEND TO DISPLAY (COLS 12-19) + CALL LCD_EVT_DSKACT_BYTE ; SEND TO DISPLAY (COLS 12-19) DEC HL ; DEC PTR - DJNZ LCD_DSKACT1 ; DO ALL 4 BYTES -; -LCD_DSKACT_Z: - ; CLEAN UP AND GO AWAY - POP HL - POP DE - POP BC - POP AF + DJNZ LCD_EVT_DSKACT1 ; DO ALL 4 BYTES RET ; -LCD_DSKACT_BYTE: +LCD_EVT_DSKACT_BYTE: PUSH AF ; SAVE BYTE RRCA ; DO TOP NIBBLE FIRST RRCA @@ -284,6 +374,18 @@ LCD_OUTD1: OUT (LCD_DATA),A ; SEND IT RET ; DONE ; +; SEND STRING, BLANK PAD TO END OF LINE +; ASSUMES WRITING TO FIRST COLUMN +; +LCD_LINEOUT: + LD B,LCD_COLS + CALL LCD_OUTDS +LCD_LINEOUT1: + LD A,' ' + CALL LCD_OUTD + DJNZ LCD_LINEOUT1 + RET +; ; SEND DATA STRING ; DE=STRING ADDRESS, NULL TERMINATED ; @@ -292,6 +394,7 @@ LCD_OUTDS: OR A ; SET FLAGS RET Z ; DONE WHEN NULL REACHED INC DE ; BUMP POINTER + DEC B ; PADDING COUNTER FOR ABOVE CALL LCD_OUTD ; SEND IT JR LCD_OUTDS ; LOOP AS NEEDED ; @@ -310,7 +413,7 @@ LCD_IND: LCD_GOTORC: PUSH HL ; SAVE INCOMING LD A,H ; ROW # TO A - LD HL,LCD_ROWS ; POINT TO ROWS TABLE + LD HL,LCD_ROWSIDX ; POINT TO ROWS INDEX TABLE CALL ADDHLA ; INDEX TO ROW ENTRY LD A,(HL) ; GET RWO START POP HL ; RECOVER INCOMING @@ -360,7 +463,7 @@ LCD_PRTD3M3: ; LCD_PRESENT .DB 0 ; NON-ZERO WHEN HARDWARE DETECTED ; -LCD_ROWS .DB $00,$40,$14,$54 ; ROW START INDEX +LCD_ROWSIDX .DB $00,$40,$14,$54 ; ROW START INDEX ; LCD_INIT_SEQ: .DB LCD_FUNC_SET | %11000 ; FUNCTION SET, 2 LINES, 5X8 FONT @@ -374,7 +477,7 @@ LCD_STR_BAN .DB "RomWBW v", BIOSVER, 0 LCD_STR_CFG .DB "Build: ", CONFIG, 0 LCD_STR_IO .DB "Disk #", 0 LCD_STR_XPU .DB " CPU",0 -LCD_STR_SPD .DB "12.345",0 +;;;LCD_STR_SPD .DB "12.345",0 LCD_STR_MHZ .DB " MHz",0 ; LCD_CPU .DW LCD_CPU_Z80 @@ -390,3 +493,18 @@ LCD_CPU_Z180K .DB "Z180-K",0 LCD_CPU_Z180N .DB "Z180-N",0 LCD_CPU_Z280 .DB "Z280",0 LCD_CPU_EZ80 .DB "EZ80",0 +; +LCD_MSGTBL: + .DW LCD_MSG_LDR_SEL + .DW LCD_MSG_LDR_BOOT + .DW LCD_MSG_LDR_LOAD + .DW LCD_MSG_LDR_GO + .DW LCD_MSG_MON_RDY + .DW LCD_MSG_MON_BOOT +; +LCD_MSG_LDR_SEL .DB "Ready",0 +LCD_MSG_LDR_BOOT .DB "Boot...",0 +LCD_MSG_LDR_LOAD .DB "Load...",0 +LCD_MSG_LDR_GO .DB "Go...",0 +LCD_MSG_MON_RDY .DB "-CPU UP-",0 +LCD_MSG_MON_BOOT .DB "Boot!",0 diff --git a/Source/HBIOS/pkd.asm b/Source/HBIOS/pkd.asm index 609199e4..ed35cd4b 100644 --- a/Source/HBIOS/pkd.asm +++ b/Source/HBIOS/pkd.asm @@ -14,13 +14,6 @@ ; 10 04 ; +--08--+ 80 ; -; [D] [E] [F] [BO] [F4] -; [A] [B] [C] [GO] [F3] -; [7] [8] [9] [EX] [F2] -; [4] [5] [6] [DE] [F1] -; [1] [2] [3] [EN] [SH] -; [FW] [0] [BK] [CL] [CTL] -; ; KEY CODE MAP (KEY CODES) CSCCCRRR ; |||||||| ; |||||+++-- ROW @@ -28,12 +21,13 @@ ; |+-------- SHIFT ; +--------- CONTROL ; -; 00 08 10 18 23 -; 01 09 11 19 22 -; 02 0A 12 1A 21 -; 03 0B 13 1B 20 -; 04 0C 14 1C SHIFT -; 05 0D 15 1D CTRL +; _____C0_________C1_________C2_________C3__________C4____ +; R0 | $00 [D] $08 [E] $10 [F] $18 [BO] $20 [F4] +; R1 | $01 [A] $09 [B] $11 [C] $19 [GO] $21 [F3] +; R2 | $02 [7] $0A [8] $12 [9] $1A [EX] $22 [F2] +; R3 | $03 [4] $0B [5] $13 [6] $1B [DE] $23 [F1] +; R5 | $04 [1] $0C [2] $14 [3] $1C [EN] +$40 [SH] +; R6 | $05 [FW] $0D [0] $15 [BK] $1D [CL] +$80 [CTL] ; ; LED BIT MAP (BIT VALUES) ; @@ -51,8 +45,11 @@ PKD_PPIB .EQU PKDPPIBASE + 1 ; PORT B PKD_PPIC .EQU PKDPPIBASE + 2 ; PORT C PKD_PPIX .EQU PKDPPIBASE + 3 ; PPI CONTROL PORT ; -PKD_PPIX_RD: .EQU %10010010 ; PPIX VALUE FOR READS -PKD_PPIX_WR: .EQU %10000010 ; PPIX VALUE FOR WRITES +PKD_PPIX_RD .EQU %10010010 ; PPIX VALUE FOR READS +PKD_PPIX_WR .EQU %10000010 ; PPIX VALUE FOR WRITES +; +PKD_ROWS .EQU 1 ; DISPLAY ROWS +PKD_COLS .EQU 8 ; DISPLAY COLUMNS ; ; PIO CHANNEL C: ; @@ -75,12 +72,16 @@ PKD_PRESCL .EQU PKDOSC/100000 ; PRESCALER ; DEVECHO "PKD: IO=" DEVECHO PKDPPIBASE + DEVECHO ", SIZE=" + DEVECHO PKD_COLS + DEVECHO "X" + DEVECHO PKD_ROWS DEVECHO "\n" ; -;__PKD_PREINIT_______________________________________________________________________________________ +;__PKD_PREINIT_____________________________________________________________________________________ ; ; CONFIGURE PARALLEL PORT AND INITIALIZE 8279 -;____________________________________________________________________________________________________ +;__________________________________________________________________________________________________ ; ; ; HARDWARE RESET 8279 BY PULSING RESET LINE @@ -124,6 +125,8 @@ PKD_PREINIT: ; REGISTER DRIVER WITH HBIOS LD BC,PKD_DISPATCH CALL DSKY_SETDISP +; + CALL PKD_SHOWVER ; RET ; @@ -134,10 +137,35 @@ PKD_REINIT: CALL PKD_CMD JP PKD_RESET ; -;__PKD_INIT__________________________________________________________________________________________ +PKD_SHOWVER: + LD HL,PKD_VERSTR + LD DE,PKD_BUF + LD BC,PKD_COLS + LDIR + LD HL,PKD_BUF + 5 + LD A,RMJ + LD A,(PKD_SEGMAP + RMJ) + OR $80 + LD (HL),A + INC HL + LD A,(PKD_SEGMAP + RMN) + OR $80 + LD (HL),A + INC HL + LD A,(PKD_SEGMAP + RUP) + LD (HL),A +; + ; DISPLAY VERSION ON PKD + LD C,0 + LD B,8 + LD HL,PKD_BUF + CALL PKD_PUTSTR + RET +; +;__PKD_INIT________________________________________________________________________________________ ; ; DISPLAY DSKY INFO -;____________________________________________________________________________________________________ +;__________________________________________________________________________________________________ ; PKD_INIT: CALL NEWLINE ; FORMATTING @@ -149,9 +177,19 @@ PKD_INIT: ; LD A,(PKD_PRESENT) ; PRESENT? OR A ; SET FLAGS - RET NZ ; YES, ALL DONE + JR NZ,PKD_INIT1 ; YES, CONTINUE PRTS(" NOT PRESENT$") ; NOT PRESENT - RET ; DONE + RET +; +PKD_INIT1: + CALL PC_SPACE + LD A,PKD_COLS + CALL PRTDEC8 + LD A,'X' + CALL COUT + LD A,PKD_ROWS + CALL PRTDEC8 + RET ; ; DSKY DEVICE FUNCTION DISPATCH ENTRY ; A: RESULT (OUT), 0=OK, Z=OK, NZ=ERR @@ -177,6 +215,10 @@ PKD_DISPATCH: JP Z,PKD_BEEP ; BEEP DSKY SPEAKER DEC A JP Z,PKD_DEVICE ; DEVICE INFO + DEC A + JP Z,PKD_MESSAGE ; HANDLE MESSAGE + DEC A + JP Z,PKD_EVENT ; HANDLE EVENT SYSCHKERR(ERR_NOFUNC) RET ; @@ -252,19 +294,47 @@ PKD_GETKEY2: ; DISPLAY HEX VALUE FROM DE:HL ; PKD_SHOWHEX: - LD BC,DSKY_HEXBUF ; POINT TO HEX BUFFER + LD BC,PKD_TMP32 ; POINT TO HEX BUFFER CALL ST32 ; STORE 32-BIT BINARY THERE - LD HL,DSKY_HEXBUF ; FROM: BINARY VALUE (HL) - LD DE,DSKY_BUF ; TO: SEGMENT BUFFER (DE) - CALL DSKY_BIN2SEG ; CONVERT - LD HL,DSKY_BUF ; POINT TO SEGMENT BUFFER - ; AND FALL THRU TO DISPLAY IT -; + LD HL,PKD_TMP32 ; FROM: BINARY VALUE (HL) + LD DE,PKD_BUF ; TO: SEGMENT BUFFER (DE) + CALL PKD_BIN2SEG ; CONVERT + LD HL,PKD_BUF ; POINT TO SEGMENT BUFFER + LD B,PKD_COLS ; LENGTH TO DISPLAY + LD C,0 ; STARTING POSITION + CALL PKD_PUTSTR ; DO IT + XOR A ; SUCCESS + RET ; AND RETURN ; +; DRAW DISPLAY USING DEBUG ALPHABET +; HL = SOURCE BUFFER ; PKD_SHOWSEG: + ; CONVERT FROM DBG ALPHABET TO SEG CODES + LD B,PKD_COLS ; DO FOR ALL CHARS + LD DE,PKD_BUF ; DESTINATION BUFFER +PKD_SHOWSEG1: + LD A,(HL) ; GET SOURCE VALUE + INC HL ; BUMP FOR NEXT TIME + PUSH AF ; SAVE IT + AND $80 ; ISOLATE HI BIT (DP) + LD C,A ; SAVE IN C + POP AF ; RECOVER ORIGINAL + AND $7F ; REMOVE HI BIT (DP) + PUSH HL ; SAVE IT + LD HL,PKD_SEGMAP ; POINT TO XLAT MAP + CALL ADDHLA ; OFFSET BY VALUE + LD A,(HL) ; GET NEW VALUE + OR C ; RECOMBINE WITH DP BIT + LD (DE),A ; SAVE IT + INC DE ; BUMP PTR + POP HL ; RESTORE SOURCE PTR + DJNZ PKD_SHOWSEG1 ; LOOP TILL DONE +; + ; DISPLAY CONVERTED BUFFER LD C,0 ; STARTING DISPLAY POSITION - LD B,DSKY_BUFLEN ; NUMBER OF CHARS + LD B,PKD_COLS ; NUMBER OF CHARS + LD HL,PKD_BUF ; BUFFER CALL PKD_PUTSTR ; DO IT XOR A ; SIGNAL SUCCESS RET @@ -316,7 +386,7 @@ PKD_BEEP: ; ; TIMER PUSH HL - LD hl,$8FFF + LD HL,$8FFF PKD_BEEP1: DEC HL LD A,H @@ -342,10 +412,80 @@ PKD_DEVICE: XOR A ; SIGNAL SUCCESS RET ; -;__PKD_PPIDETECT_____________________________________________________________________________________ +; MESSAGE HANDLER +; +PKD_MESSAGE: + LD A,C ; GET MESSAGE ID + ADD A,A ; WORD OFFSET + LD HL,PKD_MSGTBL ; START OF MESSAGE TABLE + CALL ADDHLA ; ADD OFFSET + LD A,(HL) ; SAVE LSB + INC HL ; BUMP TO MSB + LD H,(HL) ; GET MSB + LD L,A ; GET LSB +; + ; HL HAS POINTER TO MESSAGE + LD C,0 ; STARTING DISPLAY POSITION + LD B,PKD_COLS ; NUMBER OF CHARS + CALL PKD_PUTSTR ; DISPLAY IT + XOR A ; SIGNAL SUCCESS + RET +; +; EVENT HANDLER +; +PKD_EVENT: + LD A,C ; EVENT ID + OR A ; 0=CPUSPD + JR Z,PKD_EVT_CPUSPD ; HANDLE CPU SPD CHANGE + DEC A ; 1=DSKACT + JR Z,PKD_EVT_DSKACT ; HANDLE DISK ACTIVITY + XOR A + RET +; +; CPU SPEED CHANGE +; +PKD_EVT_CPUSPD: + XOR A + RET +; +; DISK ACTIVITY +; +PKD_EVT_DSKACT: +; + ; USE DISK UNIT NUMBER FOR MSB + LD A,(HB_DSKUNIT) ; GET DISK UNIT NUM + LD (HB_DSKADR+3),A ; REPLACE HIGH BYTE W/ DISK # +; + ; CONVERT TO SEGMENT DISPLAY + LD HL,HB_DSKADR ; INPUT POINTER + LD DE,PKD_BUF ; BUF FOR OUTPUT + CALL PKD_BIN2SEG ; CONVERT TO SEG DISPLAY +; + ; DECIMAL POINT FOR DISK UNIT SEPARATION + LD HL,PKD_BUF+1 ; SECOND CHAR OF DISP + SET 7,(HL) ; TURN ON DECIMAL PT +; + ; DECIMAL POINT TO INDICATE WRITE ACTION + LD A,(HB_DSKFUNC) ; GET CURRENT I/O FUNCTION + CP BF_DIOWRITE ; IS IT A WRITE? + JR NZ,PKD_EVT_DSKACT2 ; IF NOT, SKIP + LD HL,PKD_BUF+7 ; POINT TO CHAR 7 + SET 7,(HL) ; SET WRITE DOT +; +PKD_EVT_DSKACT2: + ; UPDATE DISPLAY + LD HL,PKD_BUF ; SEG DISPLAY BUF TO HL + LD B,PKD_COLS + LD C,0 + CALL PKD_PUTSTR +; + XOR A + RET +; +;__PKD_PPIDETECT___________________________________________________________________________________ ; ; PROBE FOR PPI HARDWARE -;____________________________________________________________________________________________________ +;__________________________________________________________________________________________________ ; PKD_PPIDETECT: ; @@ -364,7 +504,7 @@ PKD_PPIDETECT: OR A ; SET FLAGS RET ; AND RETURN ; -;_KEYMAP_TABLE_____________________________________________________________________________________________________________ +;__KEYMAP_TABLE____________________________________________________________________________________ ; PKD_KEYMAP: ; POS $00 $01 $02 $03 $04 $05 $06 $07 @@ -674,10 +814,74 @@ PKD_PPIIDLE: ; UTILTITY FUNCTIONS ;================================================================================================== ; +; CONVERT 32 BIT BINARY TO 8 BYTE HEX SEGMENT DISPLAY +; +; HL: ADR OF 32 BIT BINARY +; DE: ADR OF DEST LED SEGMENT DISPLAY BUFFER (8 BYTES) +; +PKD_BIN2SEG: + LD B,4 ; 4 BYTES OF INPUT + LD A,B ; PUT IN ACCUM + CALL ADDHLA ; PROCESS FROM END (LITTLE ENDIAN) +PKD_BIN2SEG1: + DEC HL ; DEC PTR (LITTLE ENDIAN) + LD A,(HL) ; HIGH NIBBLE + RRCA \ RRCA \ RRCA \ RRCA ; ROTATE BITS + CALL PKD_BIN2SEG_NIB ; CONVERT NIBBLE INTO OUTPUT BUF + LD A,(HL) ; LOW NIBBLE + CALL PKD_BIN2SEG_NIB ; CONVERT NIBBLE INTO OUTPUT BUF + DJNZ PKD_BIN2SEG1 ; LOOP FOR ALL INPUT BYTES + RET ; DONE +; +PKD_BIN2SEG_NIB: + PUSH HL ; SAVE HL + LD HL,PKD_SEGMAP ; POINT TO SEG MAP TABLE + AND $0F ; ISOLATE LOW NIBBLE + CALL ADDHLA ; OFFSET INTO TABLE + LD A,(HL) ; LOAD VALUE FROM TABLE + POP HL ; RESTORE HL + LD (DE),A ; SAVE VALUE TO OUTPUT BUF + INC DE ; BUMP TO NEXT OUTPUT BYTE + RET ; DONE ; ;================================================================================================== ; STORAGE ;================================================================================================== ; -PKD_PPIX_VAL .DB 0 ; PPIX SHADOW REG -PKD_PRESENT .DB 0 ; HARDWARE PRESENT FLAG +PKD_PPIX_VAL .DB 0 ; PPIX SHADOW REG +PKD_PRESENT .DB 0 ; HARDWARE PRESENT FLAG +PKD_BUF .FILL PKD_COLS +PKD_TMP32 .FILL 4,0 ; TEMP DWORD +; +PKD_VERSTR .DB $76,$7F,$30,$3F,$6D,$00,$00,$00 ; "HBIOS " +; +PKD_SEGMAP: +; + ; POS $00 $01 $02 $03 $04 $05 $06 $07 + ; GLYPH '0' '1' '2' '3' '4' '5' '6' '7' + + .DB $3F, $06, $5B, $4F, $66, $6D, $7D, $07 +; + ; POS $08 $09 $0A $0B $0C $0D $0E $0F + ; GLYPH '8' '9' 'A' 'B' 'C' 'D' 'E' 'F' + .DB $7F, $67, $77, $7C, $39, $5E, $79, $71 +; + ; POS $10 $11 $12 $13 $14 $15 $16 $17 $18 $19 $1A + ; GLYPH ' ' '-' '.' 'P' 'o' 'r' 't' 'A' 'd' 'r' 'G' + .DB $00, $40, $00, $73, $5C, $50, $78, $77, $5E, $50, $3D + +; +PKD_MSGTBL: + .DW PKD_MSG_LDR_SEL + .DW PKD_MSG_LDR_BOOT + .DW PKD_MSG_LDR_LOAD + .DW PKD_MSG_LDR_GO + .DW PKD_MSG_MON_RDY + .DW PKD_MSG_MON_BOOT +; +PKD_MSG_LDR_SEL .DB $7F,$5C,$5C,$78,$53,$00,$00,$00 ; "Boot? " +PKD_MSG_LDR_BOOT .DB $7F,$5C,$5C,$78,$80,$80,$80,$00 ; "Boot... " +PKD_MSG_LDR_LOAD .DB $38,$5C,$5F,$5E,$80,$80,$80,$00 ; "Load... " +PKD_MSG_LDR_GO .DB $3D,$5C,$80,$80,$80,$00,$00,$00 ; "Go... " +PKD_MSG_MON_RDY .DB $40,$39,$73,$3E,$00,$3E,$73,$40 ; "-CPU UP-" +PKD_MSG_MON_BOOT .DB $7F,$5C,$5C,$78,$82,$00,$00,$00 ; "Boot! " diff --git a/Source/HBIOS/ppide.asm b/Source/HBIOS/ppide.asm index 7ab1cdbc..a2769198 100644 --- a/Source/HBIOS/ppide.asm +++ b/Source/HBIOS/ppide.asm @@ -1360,15 +1360,15 @@ PPIDE_RESET: ; THIS DOES NOT TEST THAT A DSKYNG IS ACTUALLY PRESENT ; AND OPERATING -- COULD CAUSE PROBLEMS ; -#IF (DSKYENABLE) - #IF (PKDENABLE) +;;;#IF (DSKYENABLE) +#IF (PKDENABLE) ; SAVE CONTENTS OF DSKYNG DISPLAY ACROSS RESET LD B,8 LD C,0 - LD HL,DSKY_BUF + LD HL,PKD_BUF CALL PKD_GETSTR - #ENDIF #ENDIF +;;;#ENDIF ; ; PULSE IDE RESET LINE #IF (PPIDETRACE >= 3) @@ -1388,16 +1388,16 @@ PPIDE_RESET: LD DE,20 CALL VDELAY ; -#IF (DSKYENABLE) - #IF (PKDENABLE) +;;;#IF (DSKYENABLE) +#IF (PKDENABLE) ; REININT DSKYNG AND RESTORE CONTENTS CALL PKD_REINIT LD B,8 LD C,0 - LD HL,DSKY_BUF + LD HL,PKD_BUF CALL PKD_PUTSTR - #ENDIF #ENDIF +;;;#ENDIF ; ; SOME CF CARDS AND CF CARD EMULATORS NEED A LITTLE TIME TO ; "BOOT" THEIR INTERNAL ELECTRONICS, SO THEY CANNOT ASSERT BUSY diff --git a/Source/HBIOS/romldr.asm b/Source/HBIOS/romldr.asm index 2e2072b0..3b40e644 100644 --- a/Source/HBIOS/romldr.asm +++ b/Source/HBIOS/romldr.asm @@ -275,9 +275,11 @@ prompt: call pstr ; do it call clrbuf ; zero fill the cmd buffer ; + ;ld hl,msg_sel ; boot select msg + ;call dsky_show ; show on DSKY + ld c,DSKY_MSG_LDR_SEL ; boot select msg + call dsky_msg ; show on DSKY #if (DSKYENABLE) - ld hl,msg_sel ; boot select msg - call dsky_show ; show on DSKY call dsky_highlightallkeys call dsky_beep call dsky_l2on @@ -972,10 +974,10 @@ reboot: ; #if (BIOS == BIOS_WBW) ; -#if (DSKYENABLE) - ld hl,msg_boot ; point to boot message - call dsky_show ; display message -#endif + ;ld hl,msg_boot ; point to boot message + ;call dsky_show ; display message + ld c,DSKY_MSG_LDR_BOOT ; point to boot message + call dsky_msg ; display message ; ; cold boot system ld b,BF_SYSRESET ; system restart @@ -1004,10 +1006,10 @@ romload: ld h,(ix+ra_name+1) call pstr ; -#if (DSKYENABLE) - ld hl,msg_load ; point to load message - call dsky_show ; display message -#endif + ;ld hl,msg_load ; point to load message + ;call dsky_show ; display message + ld c,DSKY_MSG_LDR_LOAD ; point to load message + call dsky_msg ; display message ; #if (BIOS == BIOS_WBW) ; @@ -1088,10 +1090,10 @@ romload1: ; #endif ; -#if (DSKYENABLE) - ld hl,msg_go ; point to go message - call dsky_show ; display message -#endif + ;ld hl,msg_go ; point to go message + ;call dsky_show ; display message + ld c,DSKY_MSG_LDR_GO ; point to go message + call dsky_msg ; display message ; ld l,(ix+ra_ent) ; HL := app entry address ld h,(ix+ra_ent+1) ; ... @@ -1113,10 +1115,10 @@ diskboot: ld a,(bootslice) call prtdecb ; -#if (DSKYENABLE) - ld hl,msg_load ; point to load message - call dsky_show ; display message -#endif + ;ld hl,msg_load ; point to load message + ;call dsky_show ; display message + ld c,DSKY_MSG_LDR_LOAD ; point to load message + call dsky_msg ; display message ; #if (BIOS == BIOS_WBW) ; @@ -1397,10 +1399,10 @@ diskboot10: ; call pdot ; show progress ; -#if (DSKYENABLE) - ld hl,msg_go ; point to go message - call dsky_show ; display message -#endif + ;ld hl,msg_go ; point to go message + ;call dsky_show ; display message + ld c,DSKY_MSG_LDR_GO ; point to go message + call dsky_msg ; display message ; ; Jump to entry vector ld hl,(bb_cpment) ; get entry vector @@ -2225,14 +2227,20 @@ dsky_highlightkeysoff: ld hl,dsky_highlightkeyledsoff jr dsky_putled ; +#endif +; +dsky_msg: +#if (BIOS == BIOS_WBW) + ld b,BF_DSKYMESSAGE + jr dsky_hbcall +; dsky_hbcall: ld a,(dskyact) or a ret z rst 08 - ret -; #endif + ret ; ;======================================================================= ; Error handlers @@ -2336,22 +2344,22 @@ str_help .db "\r\n" #endif .db "\r\n [.] - Boot Disk Unit/Slice" .db 0 -; -#if (DSKYENABLE) - #if (GM7303ENABLE) - ; The GM7303 has an ASCII LCD display -msg_sel .db "Boot?", $00 -msg_boot .db "Boot...", $00 -msg_load .db "Load...", $00 -msg_go .db "Go...", $00 - #else - ; Other DSKY devices use 7 segment LEDs -msg_sel .db $7f,$5c,$5c,$78,$53,$00,$00,$00 ; "boot? " -msg_boot .db $7f,$5c,$5c,$78,$80,$80,$80,$00 ; "boot... " -msg_load .db $38,$5c,$5f,$5e,$80,$80,$80,$00 ; "load... " -msg_go .db $3d,$5c,$80,$80,$80,$00,$00,$00 ; "go... " - #endif -#endif +;;;; +;;;#if (DSKYENABLE) +;;; #if (GM7303ENABLE) +;;; ; The GM7303 has an ASCII LCD display +;;;msg_sel .db "Boot?", $00 +;;;msg_boot .db "Boot...", $00 +;;;msg_load .db "Load...", $00 +;;;msg_go .db "Go...", $00 +;;; #else +;;; ; Other DSKY devices use 7 segment LEDs +;;;msg_sel .db $7f,$5c,$5c,$78,$53,$00,$00,$00 ; "boot? " +;;;msg_boot .db $7f,$5c,$5c,$78,$80,$80,$80,$00 ; "boot... " +;;;msg_load .db $38,$5c,$5f,$5e,$80,$80,$80,$00 ; "load... " +;;;msg_go .db $3d,$5c,$80,$80,$80,$00,$00,$00 ; "go... " +;;; #endif +;;;#endif ; ;======================================================================= ; DSKY keypad led matrix masks diff --git a/Source/HBIOS/std.asm b/Source/HBIOS/std.asm index 8944bbf7..0a676c3a 100644 --- a/Source/HBIOS/std.asm +++ b/Source/HBIOS/std.asm @@ -174,6 +174,20 @@ DSKYMODE_V1 .EQU 1 DSKYMODE_NG .EQU 2 DSKYMODE_GM7303 .EQU 3 ; +; DSKY MESSAGE IDS +; +DSKY_MSG_LDR_SEL .EQU 0 +DSKY_MSG_LDR_BOOT .EQU 1 +DSKY_MSG_LDR_LOAD .EQU 2 +DSKY_MSG_LDR_GO .EQU 3 +DSKY_MSG_MON_RDY .EQU 4 +DSKY_MSG_MON_BOOT .EQU 5 +; +; DSKY EVENT IDS +; +DSKY_EVT_CPUSPD .EQU 0 +DSKY_EVT_DSKACT .EQU 1 +; ; FD MODE SELECTIONS ; FDMODE_NONE .EQU 0 diff --git a/Source/ver.inc b/Source/ver.inc index 3e79120b..548a5cac 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 5 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.5.0-dev.84" +#DEFINE BIOSVER "3.5.0-dev.85" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index fc99cc02..fc8bdc80 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 5 rup equ 0 rtp equ 0 biosver macro - db "3.5.0-dev.84" + db "3.5.0-dev.85" endm