From 7549789248d2f4b9ad55eeff4a66dec87efc504f Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Mon, 21 Mar 2022 16:20:52 -0700 Subject: [PATCH] Finalize ROM-Less Booting --- Doc/ROM Applications.pdf | Bin 193897 -> 193894 bytes Doc/RomWBW Applications.pdf | Bin 241636 -> 241633 bytes Doc/RomWBW Architecture.pdf | Bin 451609 -> 452947 bytes Doc/RomWBW Disk Catalog.pdf | Bin 134794 -> 134791 bytes Doc/RomWBW Getting Started.pdf | Bin 272671 -> 272669 bytes ReadMe.md | 2 +- ReadMe.txt | 4 +-- Source/CBIOS/cbios.asm | 57 +++++++++++++++++++++++++++++-- Source/CBIOS/config.asm | 1 + Source/CBIOS/util.asm | 59 +++++++++++++++++++++++++++++---- Source/Doc/Architecture.md | 12 +++++++ Source/HBIOS/hbios.asm | 58 ++++++++++++++++++++++++++++---- Source/ver.inc | 2 +- Source/ver.lib | 2 +- 14 files changed, 177 insertions(+), 20 deletions(-) diff --git a/Doc/ROM Applications.pdf b/Doc/ROM Applications.pdf index 0eea282c3040e6edae6c86cf3d01ca084f3a3c49..cabcf55c75c5501e602a4f12ff9b8d82d2a1cc49 100644 GIT binary patch delta 11907 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 YtysD28`llM1c28DrcRxG$((`z0amJK-T(jq delta 10578 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 Ps6yIj&YXWBjnAk diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 7b8f44ed78bb1b43424891e840edadf9f0a4a74d..2f03b23c4701f4f6d7c8a76cede8680cb0dffa7f 100644 GIT binary patch delta 16893 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 Z|A8y_U-Yi6+ynF9dg6)a{Pv!${|7&b9!>xN delta 17009 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 KWA{5w-1>j|Jvom6 diff --git a/Doc/RomWBW Architecture.pdf b/Doc/RomWBW Architecture.pdf index f72f69b4cc2176589c218373a62c254ccd3814ea..56c5def434ea1262eb796ccf298284090fd59fe7 100644 GIT binary patch delta 59948 zcmZr2c_36@w^^QjiLr&sK1j?yro|E=Qb-F)*;=$%ipn-fDIzuLWvM7i*;9>DsL-li z6z#i;Qd$V#d2je7K7Wk&&b{y6bIv{YtoOZ)s~Y$3X{5QKaRrDmKg`WJsFfyjp?BdI z!-;i!dVZ{RvW%BCJfqwYp%#9XVJ3U0?m)X%OU=Z!yd|E?I9m7aMedrLC&{rYD|+wj z?;)wyq9K!AyEt*L+QX{$jr9&)zlgjWH(uP#=9*f3QY-0cPd| ztM4zQ+4nXmbu~}f-QM->%(Ldlb$KSCvn<}tdDl_Cc>3JH+O{0J+^JRky16DBm|KDt zp4GG4`|hP|na#)ejHIb&jWl-1?)hbW;p4V8v%2D6mMZ-LHIY+fd<&vX*Yh{2cb{M! zKc8VAE-bR5M4V(?*q(BFX4j@^595^Hy7pW#xe%ieP+E37%cJ~{XPV~8uQ_XNms_M< z+U?o2@4=zyh3EH9K6@2&7(gU9^{F*mw%ap_0WT-WAd)m_qXUt9%e0$ONY1!#ElYLoPzs;!pM^8=S_f@2F zkNH^2@F!S2G5*%~)?#YUsYSPc>Ni>}F?qXZ#i4h-o=N*+F8J--da711d+P?{@9p2$ zl&t#k^>W0tqIKxI3+@lUWK5rb{is`z%8mM-?#R=4n~Pov&K5&a^~j-o=S33k#3`SbCJgpE`ch_kfbK{N})l`ig1E$G&tWZ2a?P zc|~QWV~uAq=YDC;T-m9M+uFWUjvw8B`hfEdn=Hqi4B6h7!DdsJ?L7K9EQ0H++4p5^ zt7E25^&v{{^Wu<0cTz$+GcNZ=D+n|4t{l4`Bzr{QnI1A33Ipo3OVhuLE3%5^6tykv=oaeeXWKU_^NIb8cs0k zPh9S<=XeI$JZq1lZ*%*Zy`sy%CFS^oi#2nakFCh6iZ?rY`D5W-@gTE_Wx*TY983OI zAE>&&vv*s?SN4t*^|SvRPi*?&!;k6y@qUx>pLJh9o=2Aysotodd-Ds=-O}q{saCwv z=lkc-q7TQ`&aRPGf7X!@R0A_5f>g`Xxh>t*C*>S=~=#Yd*?Pmgz7^3 zg%hJY;;L$vct2a`t@&hKNzlgVUdwrN#DjMA)A(k<<_4tw)&%*tCX2WHiJCUfc6EQXOjnEbgq;~ZU$k@c4R$rmzH8s&%BQZr zuz1bG!i68})y7#o3){1Bx}CR)(kBze`8MXswoQ@LMjhA5tuuoaH`VT)dHC@= z&UGEvwGuwN3&LdJ$4IZ-;epJ)MS6j9>Kp7r_A=))Cd!*`nS8Ojc8OS8aEsw|XbyEnhyywBB5`45xw+o9 z!zMqHj~FN0xTPi3$4C~GIp`@DSr^Q*nPnokYKC)BX5j`ImBa@TMk>8cKI!$^jaT7k z^7dsR4y4J8H1CN$JbcI_URfn^cA9ju%~AgL+05kJ0F^`&o9ue+NwgK+IVx8hUZ%}Y zC~papO$ku$%-=gRW}%wX-1n*RCMG|sbQeX$Z?`ECu{Qc+DRLai1;@$@+!USt$jX7?jxNpYdNH$=rp%%PfkXCzfSPJgUe>R zX4mukeREP8o$MGYzn$XLlWp{$pL$b#&o#Y1_nwPKX#7?!$z+>cmwnmGUY$v*>-rX4 z7NyTPTyCh8?^kB{z%~Eg&3nsOyj+9V%ffQzkA*8^PoLd2QxXiQ4`loTPA{5#l{GzA zY^9U!>BDzlC+yQYHM7ltmYID=DIvPO7-pUYF9B&hX_yYo6hg|@&T?zB{o(wW@E@}oP}jmv$~3atF{6)RUrIL!?L;`SDOJcCR&g$@dfwO`sK~fNW}QYaNgokuY6)z9!Dx*o&Wj`p#eT?v8y28Kq)2~7ev;f z(6ne;Zc=7$0qcXpLj3~PYcb6Qx%2b|uMHIh>lL>WncRwRiYa6{29s^dU}`ZrJX1D} zEubqaqgK&~grHE>TVSaop~7OB(il7~x;fjF!-jrrmMPbq^t&Qyzn%#bB^axje2GgA4!7G1SJRrBR5OKtVk~j%IGkVK}B6+VBA)X z6|#Um6Q+h|X5Vk3sP8W=wKouMuuR!1m%Er4XV?UyuY(? zCnyLe8_N@!JT$kJL={LV$_RE&up_Vq7ab@SZztqQqI4HA6+w=n423;%ojJ_Gbyk#O zU~O7Uq%151afTX#JF4OW14$i$tfRw14RxOx?<8ZZJLys2%cL) zrYc|~`~wzfyBnaiUZNY3OT)3bVcaBvNu0J4ca+F+L?ZXeUQv)?C7O>XnvXkjV4h$; zi%KvT#7%G!taXqT+;otrc*$y&5*S&@pwnH%q<~myCGIF{VUaMYhA9*{|KiGJp}Sua zsDiQX@tcr^cg;Ii+c`|6sagwrU<=iFhMcgeO`N1?>4@wDIu8QG}g75-c4+6--zPQ}+_>P>%wFEc)j(NupwZ zKo)|FoHCs@O6GW&%o%8la51wF4GIg^qSNr5FdQ|8pmcSxd;pKdWSjH+xeVU`e;Q3- zy2g&c5`?WWBrpU%Bq}IGY;B~>?B{V{kRkfa?1I*9(3&<)%gl}rU<_|JGdtMEG;{1y zu-kYXI?zqfuP|SmFDr12lBxI*K_v(hq7>1clZaHov}lUJE6PxCGg<|`X)h*&jx`}p z65Ne4CGhq{8x!d?K~>B+^v5Kkx?pLvy#XCtFF?XQX#ToYenI{LT6FqIdgwH?V-gWG zPZy#h_!WJL!o;8XyB2ght)el8Ll}>bhH-x}41r1*vkZ2P{uP+Pnc0S{xo5q%#bpc zhRH_l4LSqg9D1WC!yv<`qcd<_Ohub-5oE9|Et7v-PWc&I1$(c9|Q5{=N0jeMWuwoS#E)k~i`Og?bp zX?W{TVdu9G=!frtMl(;Z6W58H#=7yWGv-`RM@Rd!g?q&GR8GoR#ij?AKlbkHsan)_ zf5#ye;)XBDyFQ%!JVV^+O5@8XO_n8f6F-p z9aweBrn+)s`{gdNne1#!{hR(jewI`R$({ZA>fDmzBetez_upv9ygKiy<|p|l;fId* zQsl2#%=_MS*-bD*PW2u4$q9=Ory?uOosYzudEgBo$t@; zA2)w|Yhj1QQ{8LVd)nslbE?iQS$~LMMOEC<*z*2oci{OIn{GMolwXFtwcc3R6!OgO z`Ye-rukdT8vrjv}%|a;o-S75H$+~Pm#cANN&&s6SsO?|+Hu#u4slGNvchR(4VPgWe zvvkBA)n^BLwJp=CNPA>@b;f(`__S}KHP241FPts0c@9s`g;KiV`%{1KXQi)#PrJ`Q zz?WAjA{YNz!P?bg`Zhb$Rorcb+^)~dw@2u4?c1-a+9vO~QY3S3Pg`xj`RiNH5?r#5 z-sVf}{&{8o!

G8%{-X(*sRJi>M8)Y_ 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 MMvSm^o}}{s04CzSIRF3v delta 59029 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 E0eQE9CjbBd diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index e204ef9866104b46baf21121a2eaec13bba19b5f..16622fc95e11b2dfdc19c96bae9e07286455c565 100644 GIT binary patch delta 5639 zcmai2d5qmt6!xB?ebvoSTESG%ox3l^q#d0pVws6OjH(!-n3x)(Eqw-Qr6IPdOD3g* zYVAa0h@FavB@wa2nlYBrMvcl;Th#Ys-WzkyBs%{z_ub!j&-u=GmV1}49J*}f(A(^ymQhUVsy>cZOhL(Z1^bMebKYu)wiD7Q#WMz`uk_D9X&nQx%QjQ&GYx2 zve(<)>$e{G_0`o+?Q;FaH9M!Qx&6A<$5(ala{B%czWU3$N2;dQ9-rR3=H=?tPk#LBh=-3p?SS(pHeA{A{m`4=s{FQNajxgas_Q-;d(0&ri5MQ8sy>d{-DJh9Mr(3AP`JL&WB%buIG{*Sr2Q)Z?`tJlr>et~#qb7$lG zmyf$|&c=?$xhKEy(;n|GzqhW?*mS`aEy?TLh#Q9GJBQ_S?Z54*m6T2d>81;xp6bo* zJ8c=Xu! zJ~Ky_W#WxAHjUX1x0nmwdwRaGmaEE#Akw@Hf|@3RFw`_Dyrn^q!Umt7&LHTCQn*Mx zky;w69I1j-DYpXyA1&21@Fek6Ducg&rO+Q@C4{zV)*rcwF=W4xDK|V{aj}e1F>_<|^hl+Q zqv2FaYD%O64^&MGADh$#E11ymi=>1jeGJWPWqi;{{s{zM~eX?DDG+$*O--?#lj(?*Aw#_WVm?0jdK&{4NI;UNZgeh88(Q9CcG z>Tq~Tb%k=Cqht@uSEN^W=7tnmXrc(zP=i)Wl>xULJlA6+PgEF+1*q{ad*1>{-Hemr-!PbJYECungz@P)0Sbakh^N~RM67gl; z9oh=AW>-K^7aS%rnjEOHES}D2sij*{{Tr-a`7BN_(*dXYPBGJN-i&SD~I9U>X ze{pigD3!(xfm>89&S@4ctZ`;CiKlrP1V7R;5jq5yy5)t6Iz0^tHXk^|lUj!DEM^|J z0h)YX@^0xNcbY3+K}!GTPnj7E4KBu1zuO?u@;dUfvW`!3&>Q&0*8;QCUu0HLzRmeU&ho52+B0J zqgD@O6}hehKg!TZLsXFxgKsU%Gu$x*kG{w7nI;T{TO_K&2gBxeA23N!J3*jG%^3vy zDWcxc?GX|tYe8VrORoWfRWV#^SPMm;r}4oGASkRnm*!!l z;WjDDT2xSh^}L`l;?T1&Q_%hbaZ1_%z^Uz9`;SdVdEC4TgNQI-{$RM4kD|dE^ql$( zf<*ysn^A~@O(O^mc#%3X2=8BfS7iJi^e-#Ip=?jRXbLDI+f;fvMRj(WQOmpk%rWE_J~sS{d-PAxitpg#@Dk zr2}?4CzIS05X3aR{wP{U@%kepsSKzBm@iT*ASg2^F6>^9HH2j#3sT|bi@`bovwe8U zU~9HiM*Epj&Rdlxj2O%&&t739v|YOCl-a^9l3wMp4_%a=?@<8QTKTU1ADeKOH|aIl zv=1qGc-DY;(~l$av(Bsbcnb?*cI`2ywlxlXwAvBg}(tEXUOmX delta 6311 zcmai2ZH!gb70nxrz!;UZX;f;b6DSl6*7N;A?SxTgszjwUnoLM($BNoSN+M9JP4zY! ziy@GrG<}VV38PVJ+SC}*(J(2b5c?H+Iz2a*KVG&Zu69lOB$)U<(kG-#j+=ET)az7d-UX)&#k`clAgQ9{=W1V-Cx>0 z@>tKbwOw1T+jhahk#)u1=kD7w0a(dp?jY(hK@XX9~$Kx}0 z?R)X#UtfM>PjlAfzl{w&eR$U!XV$&HeCx_X?_Kk&uif^A;V&=y!I~peSM1z6cfokq z{AoX(vL~(o%_AqSIB~Ri_sEv*Z%@5>;qkH0Ke}h;tG&lIA9``gx8G{+_`{@;@$WtS z-bHtBSas{-`;H&`*=v{2Jh0>|SGqSJetGb_dydV2VA&48XzkD!_r_C)Uz&5vrSB{{ zxbwh2zA^dUAI;r(uTNK_Z!ev+X!JAB z|7Ylr^ZM>7)(`ibTDWQdtOXaXcw^|dKWr?2Yx#5ge>d>NidXOd@9c{=y&0eU@cRdL zz4Ys6a&*HB)Av30(7X>` z_|BZ|)7NgBv-`)RKbbqyJoU}ly{qT`>G1fw=I&P(?S1z2>o1>Ny#2$;<42$QwENDL z&0B{W(;m67YxKgd##0|nH704Lk`9{|Oup<=V^n3hTBYXe|7`rc&!}Ei{`Icx?QZ>} zRPaICjLMd5HmT;wcw=@E4gY4&bB2labs9H{;#_SkZY}Z|ScEU%|ad{n-aH5pX zT5K+Dkpg#!vhG+ZX9KVEx)yLz;^smiCoXA62j<|V&1+3)c@roQ?;@Y4Y(b8V%M^)s zTEMDQ%$Y6&#z@E7Dl69+WBpklMa3N(5Q>P-D{rOa04B;yN2i@!S5jB5Q!&Q+WlH?L zXVS)$cyqRdOj2H68W?y9wN^e87m{(l5D{w?vW!Gq?Fd#>XFU?|QYAt`n@niI7TbY* zt6jRtQXl`5I=QN#6=wwgXS~wSjQY{1%&+JJV{S& z9Kda1+fm_0DWa3kNp8kzI!+2V;C7n@d@8*2F;6G10Xvw<=uY)mf;|^->dkJ9QluUUozgomGbT zVPd3|00Sd02wRd7W0fde;BSqgR$$RuYI#DMtg-dnwQP<@kF#FZg>|SZ863upl@)G{ zkFvtC+0kV};E01syw_$)LK|##nWD{L8yuAwnr=H!RX%OX)Cp`#hMhz$s|0%`sSD*W zt0jXSIwIvWt0W^4@*bQuGIb!j6xS-C+B=Y$sK0=LMK^Q^MIaNU=O^qu! zM{*^E!c=0XT~3hOlw;T!!t+!~NSdBAA$THn06$s*BmN5hs7#hbib|8P2;hf=8ha`4 z(P(;up()pNKnwq8;wqp7>1JxxH{1S z)d>ak1+rlrlMVcs;8BPEi@{3S1cB>`=~yR`Q4uXzI4Sqa^RO<|wQz|)jFQ#Z%K3o=*ts4s`MW=s~R%_ z3?5_{=8|w25frh@5<%?sRK|GViKz(uV=8-K>8_&`lcClclcQb{Q;>Pbd5KZLTS*{| zCocP{UEB9rb< zo}XfPjD&b;^dF1_A#M$6QFp8%N%*~o_oL`=_|yp5B=@3y2oh>j@Y5QdkiPQ3 zhMdR)F-yovKp&-bPF4v-1rEfz68|>*Fh(iEU_%1rfswxCX%p%32^)P@gsr9_mX;*} zBeXU-p-(E>;9HKU_tM6fF1t_j$i-d#!vhNk)SwQ7USFRVhQaIcnCS11z90HG1=p|o mdawPzOP2Na^>wdabNi|__piG1u5P$Qx9pxZYhdwU_x}L(1~_p5 diff --git a/Doc/RomWBW Getting Started.pdf b/Doc/RomWBW Getting Started.pdf index 71978e4279ee99b6b19191e9596d4f3e63e4c042..56aff8a351f5d3de02705dba845f07ed26c05b46 100644 GIT binary patch delta 14377 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 delta 14415 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 diff --git a/ReadMe.md b/ReadMe.md index b2abe703..8f8bbc8e 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -3,7 +3,7 @@ ## Z80/Z180 System Software Version 3.1 Pre-release -28 Feb 2022 +21 Mar 2022 Wayne Warthen diff --git a/ReadMe.txt b/ReadMe.txt index 5f17c6dc..70410157 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW Getting Started Wayne Warthen (mailto:wwarthen@gmail.com) -28 Feb 2022 +21 Mar 2022 @@ -17,7 +17,7 @@ RomWBW Z80/Z180 System Software Version 3.1 Pre-release -28 Feb 2022 +21 Mar 2022 Wayne Warthen wwarthen@gmail.com diff --git a/Source/CBIOS/cbios.asm b/Source/CBIOS/cbios.asm index 197cee9c..e1e16b13 100644 --- a/Source/CBIOS/cbios.asm +++ b/Source/CBIOS/cbios.asm @@ -302,6 +302,13 @@ BOOT: ; STANDARD BOOT INVOCATION ;LD SP,STACK ; STACK FOR INITIALIZATION LD SP,CCP_LOC ; PUT STACK JUST BELOW CCP +; +#IF DEBUG + CALL PRTSTRD + .DB "\r\nCBIOS Starting...$" + CALL PRTSTRD + .DB "\r\nCopying INIT code to 0x8000...$" +#ENDIF ; ; COPY INITIALIZATION CODE TO RUNNING LOCATION $8000 LD HL,BUFPOOL @@ -311,6 +318,11 @@ BOOT: PUSH HL ; SAVE START ADR AGAIN FOR BELOW PUSH BC ; SAVE LENGTH FOR BELOW LDIR ; COPY THE CODE +; +#IF DEBUG + CALL PRTSTRD + .DB "\r\nClearing disk buffer...$" +#ENDIF ; ; CLEAR BUFFER POP BC ; RECOVER LENGTH @@ -320,10 +332,30 @@ BOOT: INC DE ; OFFSET DEST DEC BC ; REDUCE LEN BY ONE LDIR ; USE LDIR TO FILL +; +#IF DEBUG + CALL PRTSTRD + .DB "\r\nStarting INIT routine at 0x8000$" +#ENDIF ; CALL INIT ; PERFORM COLD BOOD ROUTINE +; +#IF DEBUG + CALL PRTSTRD + .DB "\r\nResetting CP/M...$" +#ENDIF CALL RESCPM ; RESET CPM +; +#IF DEBUG + CALL PRTSTRD + .DB "\r\nPerforming Auto Submit...$" +#ENDIF CALL AUTOSUB ; PREP AUTO SUBMIT, IF APPROPRIATE +; +#IF DEBUG + CALL PRTSTRD + .DB "\r\nLaunching CP/M...$" +#ENDIF ; JR GOCPM ; THEN OFF TO CP/M WE GO... ; @@ -444,6 +476,12 @@ GOCPM: CURDSK: LD A,(CDISK) ; GET CURRENT USER/DISK GOCCP: +; +#IF DEBUG + CALL PRTSTRD + .DB "\r\nTransfer to CCP...$" +#ENDIF +; LD C,A ; SETUP C WITH CURRENT USER/DISK, ASSUME IT IS OK JP CCP_LOC ; JUMP TO COMMAND PROCESSOR ; @@ -2011,6 +2049,12 @@ BUFPOOL .EQU $ ; START OF BUFFER POOL HEAPEND .EQU CBIOS_END - 64 ; TOP OF HEAP MEM, END OF CBIOS LESS 32 ENTRY STACK ; INIT: +; +#IF DEBUG + CALL PRTSTRD + .DB "\r\nStarting INIT....$" +#ENDIF +; DI ; NO INTERRUPTS FOR NOW ; ADJUST BOOT VECTOR TO REBOOT ROUTINE @@ -2068,12 +2112,21 @@ INIT: LD (BNKBIOS),A ; ... AND SAVE IT LD A,E ; GET USER BANK RETURNED IN E LD (BNKUSER),A ; ... AND SAVE IT - +; + #IF DEBUG + CALL PRTSTRD + .DB "\r\nReseting HBIOS....$" + #ENDIF +; ; SOFT RESET HBIOS LD B,BF_SYSRESET ; HB FUNC: RESET LD C,BF_SYSRES_INT ; WARM START RST 08 ; DO IT - +; + #IF DEBUG + CALL PRTSTRD + .DB "\r\nCopying HCB....$" + #ENDIF ; CREATE A TEMP COPY OF THE HBIOS CONFIG BLOCK (HCB) ; FOR REFERENCE USE DURING INIT LD B,BF_SYSSETCPY ; HBIOS FUNC: SETUP BANK COPY diff --git a/Source/CBIOS/config.asm b/Source/CBIOS/config.asm index 180feaeb..3df64569 100644 --- a/Source/CBIOS/config.asm +++ b/Source/CBIOS/config.asm @@ -4,6 +4,7 @@ CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS +DEBUG .EQU FALSE ; MISCELLANEOUS DEBUG TRACING ; CPM_LOC .EQU $D000 ; LOCATION OF START OF CCP ; diff --git a/Source/CBIOS/util.asm b/Source/CBIOS/util.asm index 1d32990e..3ef5e9e8 100644 --- a/Source/CBIOS/util.asm +++ b/Source/CBIOS/util.asm @@ -105,14 +105,61 @@ WRITESTR2: POP AF RET ; +#IF DEBUG +; +; PRINT A STRING AT ADDRESS SPECIFIED IN HL +; STRING MUST BE TERMINATED BY '$' +; USAGE: +; LD HL,MYSTR +; CALL PRTSTR +; ... +; MYSTR: .DB "HELLO$" +; +PRTSTR: + LD A,(HL) + INC HL + CP '$' + RET Z + CALL COUT + JR PRTSTR ; +; PRINT A STRING DIRECT: REFERENCED BY POINTER AT TOP OF STACK +; STRING MUST BE TERMINATED BY '$' +; USAGE: +; CALL PRTSTRD +; .DB "HELLO$" +; ... ; -TSTPT: - PUSH DE - LD DE,STR_TSTPT - CALL WRITESTR - POP DE - JR REGDMP ; DUMP REGISTERS AND RETURN +PRTSTRD: + EX (SP),HL + PUSH AF + CALL PRTSTR + POP AF + EX (SP),HL + RET +; +; PRINT A STRING INDIRECT: REFERENCED BY INDIRECT POINTER AT TOP OF STACK +; STRING MUST BE TERMINATED BY '$' +; USAGE: +; CALL PRTSTRI(MYSTRING) +; MYSTRING .DB "HELLO$" +; +PRTSTRI: + EX (SP),HL + PUSH AF + LD A,(HL) + INC HL + PUSH HL + LD H,(HL) + LD L,A + CALL PRTSTR + POP HL + INC HL + POP AF + EX (SP),HL + RET +; +#ENDIF ; ; PANIC: TRY TO DUMP MACHINE STATE ; diff --git a/Source/Doc/Architecture.md b/Source/Doc/Architecture.md index cff5522d..ed9a33e5 100644 --- a/Source/Doc/Architecture.md +++ b/Source/Doc/Architecture.md @@ -223,6 +223,18 @@ initialization routine. At this point, the prior HBIOS code has been discarded and overwritten. Finally, the Boot Loader is invoked just like a ROM Boot. +ROM-less Boot +------------- + +Some hardware supported by RomWBW has a special mechanism for loading +the initial code. These systems have no ROM chips. However, they +have a small hardware bootstrap that loads a chunk of code from a +disk device directlly into RAM at system startup. + +The startup then proceeds very much like the Application Boot +process described above. HBIOS is installed in it's operating bank +and control is passed to the loader. + Notes ----- diff --git a/Source/HBIOS/hbios.asm b/Source/HBIOS/hbios.asm index 24cdd573..4382b343 100644 --- a/Source/HBIOS/hbios.asm +++ b/Source/HBIOS/hbios.asm @@ -1530,21 +1530,51 @@ MBC_SINGLE: ; #ENDIF ; -; IF THIS IS A ROM-LESS SYSTEM, THEN WE NEED TO COPY THE "APP" BANK TO -; TPA. IT IS DONE PRIOR TO COPYING HBIOS TO IT'S FINAL BANK BECAUSE -; THE SOURCE OF THE APP BANK CODE MAY BE THE BANK THAT HBIOS WANTS TO -; USE AS IT'S FINAL LOCATION (PRIMARILY IN CASE OF RAMBOOT WHERE THE -; SYSTEM HAS THE MINIMUM 128KB OF RAM). +; IF THIS IS A ROM-LESS SYSTEM, THEN WE NEED TO COPY THE PAYLOAD +; (LOADER, MONITOR, ZSDOS) THAT HAS BEEN LOADED TO PHYSICAL RAM +; BANKS 0 AND 1 TO THE USER TPA BANK TO RUN AFTER BOOT. +; IT IS DONE PRIOR TO COPYING HBIOS TO IT'S FINAL BANK BECAUSE +; THE PAYLOAD MAY EXTEND INTO THE HBIOS OPERATING BANK. THIS +; HAPPENS PRIMARILY IN THE CASE WHERE THE +; SYSTEM HAS THE MINIMUM 128KB OF RAM. ; #IFDEF ROMBOOT #IF (ROMSIZE == 0) - LD A,(HB_CURBNK) + ; + ; THE PAYLOAD IS LIKELY TO CROSS OVER THE RAM BANK 0/1 + ; BOUNDARY. BNKCPY DOES NOT HANDLE THIS BECAUSE IT ASSUMES + ; THE COMMON BANK IS USED AFTER PASSING OVER THE BANK + ; BOUNDARY. WE WORK AROUND THAT HERE BY DOING TWO COPIES. + ; THE FIRST ONE HANDLES THE PORTION OF THE PAYLOAD FROM THE + ; END OF HBIOS TO THE BANK BOUNDARY ($8000). THE SECOND + ; ONE HANDLES THE PORTION THAT EXTENDS INTO THE SECOND + ; PHYSICAL RAM BANK. +; + ; COPY PORTION OF PAYLOAD FOLLOWING HBIOS TO THE BANK + ; BOUNDARY AT $8000 INTO START OF TPA. + LD A,BID_RAM0 LD (HB_SRCBNK),A LD A,BID_USR LD (HB_DSTBNK),A LD HL,HB_END LD DE,0 - LD BC,$8000 + LD BC,$8000-HB_END +; + #IF (MEMMGR == MM_Z280) + CALL Z280_BNKCPY + #ELSE + CALL HBX_BNKCPY + #ENDIF +; + ; COPY REMAINDER OF PAYLOAD EXTENDING INTO THE SECOND PHYSICAL + ; RAM BANK. NOTE THAT THE DESTINATION ADDRESS (DE) IS + ; ALREADY CORRECT FROM THE PRIOR COPY. + LD A,BID_RAM0+1 + LD (HB_SRCBNK),A + LD HL,$0000 + ; DE IS ALREADY CORRECT + LD BC,$8000-($8000-HB_END) +; #IF (MEMMGR == MM_Z280) CALL Z280_BNKCPY #ELSE @@ -3697,6 +3727,11 @@ SYS_RESINT: ; GO BACK TO ROM BOOT LOADER ; SYS_RESWARM: +; +#IF (ROMSIZE == 0) + JR SYS_RESCOLD +#ENDIF +; CALL SYS_RESINT ; #IF (MEMMGR == MM_Z280) @@ -3713,6 +3748,14 @@ SYS_RESWARM: ; RESTART SYSTEM AS THOUGH POWER HAD JUST BEEN TURNED ON ; SYS_RESCOLD: +; +#IF (ROMSIZE == 0) + LD DE,STR_RESTART + CALL Z,WRITESTR + DI + HALT +#ENDIF +; #IF (MEMMGR == MM_Z280) JP Z280_RESTART #ELSE @@ -7015,6 +7058,7 @@ STR_LOWBAT .DB "\r\n\r\n+++ LOW BATTERY +++$" STR_PANIC .TEXT "\r\n>>> PANIC: $" STR_SYSCHK .TEXT "\r\n>>> SYSCHK: $" STR_CONTINUE .TEXT "\r\nContinue (Y/N)? $" +STR_RESTART .TEXT "\r\n\r\n>>> Press hardware reset button to restart system\r\n\r\n$" ; #IF (DSKYENABLE) ; 'H','B','I','O',' ',' ',' ',' ' #IF (DSKYMODE == DSKYMODE_V1) diff --git a/Source/ver.inc b/Source/ver.inc index 709318d5..d011272e 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,4 +2,4 @@ #DEFINE RMN 1 #DEFINE RUP 1 #DEFINE RTP 0 -#DEFINE BIOSVER "3.1.1-pre.161" +#DEFINE BIOSVER "3.1.1-pre.162" diff --git a/Source/ver.lib b/Source/ver.lib index dd51943f..5fc0acbd 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 1 rup equ 1 rtp equ 0 biosver macro - db "3.1.1-pre.161" + db "3.1.1-pre.162" endm