From 63a31593b4576c22d4af48df217cc238e52a84d7 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Tue, 16 Mar 2021 10:57:40 -0700 Subject: [PATCH] Update ZPM3 TCAP & add TCSELECT Updated tcap.z3t for ZPM3 slice. Previous definition was VT-525. New definition is specifically VT-100. Credit to Marco Maccaferri for all of this. --- Source/Images/d_zpm3/u15/tcap.z3t | Bin 128 -> 128 bytes Source/Images/d_zpm3/u15/tcselect.com | Bin 0 -> 5120 bytes Source/Images/d_zpm3/u15/z3tcap.lbr | Bin 0 -> 23168 bytes Source/ZZR/ZZR Disk Layout.txt | 46 +++++++++++++++----------- 4 files changed, 26 insertions(+), 20 deletions(-) create mode 100644 Source/Images/d_zpm3/u15/tcselect.com create mode 100644 Source/Images/d_zpm3/u15/z3tcap.lbr diff --git a/Source/Images/d_zpm3/u15/tcap.z3t b/Source/Images/d_zpm3/u15/tcap.z3t index 1a43a949a28280389a0af3947a90c97926e90b8c..5f905f8af06e1beb7b93c164300987524c30eb03 100644 GIT binary patch literal 128 zcmWFw(KR$Ma8Uq*$OaKs2^L`n1_tS9YY*vYFCeX&shVP~n&JUudIPaxE|36WIKvmn x@d0A6VwYS715k1c3_01kS%npeiREQ^r6nLm3;;NS8WR8j literal 128 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 literal 0 HcmV?d00001 diff --git a/Source/Images/d_zpm3/u15/z3tcap.lbr b/Source/Images/d_zpm3/u15/z3tcap.lbr new file mode 100644 index 0000000000000000000000000000000000000000..ae7afa22e126414b4fba71caeb5a5f719036493d GIT binary patch literal 23168 zcmd^HdvIJ=dB0BLK;_sZgl)wuU2boW39B7)`}lx$Xa`CZM@o5 zc2~BQ(!|gdQrb>S+v$sT`j|eTHJ$(g3N5rDw9|AjO(88X(_toqMKZ0i8QU$%bO`5gDgUvowbr{%SdC92nM+SXW=~gct+m4X z;cuO|`NYiu5#WT0-wyoQNEjbVWDLFz_(%Vy2_Kq>M`i&o|>;F^wzWU%I0Op3wN)fe-dI5M)v)Pd@o&Fubf4!;vz!M`A%)cFY=O495pV9f>3;fzs zE%0nIn@0L~0)HxO|G~s)uBS)rzaIG8|1y+58H@L$c+`I%@b8U>@u6gQPp{w`fJdGS z<71=ASXA=g2>hCG{gZu%dyN00z@G@`Ka@_4pn0-ct5H~JP!QpVgCyPx=WM*s>cmnuMzY$8mJr*5GV*~^~2>h>i#cpgEKY@>@FoFV40=GxPcw%>U zd@RlWIRyN(e;3X_+fDZ~eG2%NTSE9qdT{GFS^)5^z;FAdR=Dop+kl_`W(dy=`odT_jp{eKjA-<_fKV-pV_g{FkpDx#|MXZR{yJ@&NsaEz?aJ-4 z?zaB8G~L+0a;cG6ukJsGk^YWw{egFJ07U*rfcJ*y=iK;2e>5ibp9g;3ha2@yyWU zzx2fx>Ct_d{}aHU{8}qqm+vU>FNN1HIpog{g7ohPK9~umpG;HM+*Ug0Rhjve(eTx4+2zSl?%gQ`Jh{sm`oid)>`(%euk3rM;uQ!@A2e z)G`IAKcHT%TebGhS5yD6ldn&A?s3Y+`gCMq)0_M?2A z!31sD4>DNhkFA!y&9aa5SoVC6wSUSf;UQ))36c+snxAsbT_4jJO$c&aKM*Z@A zZi=w7$^TOS?q#cgB9fTdm#@|Gg-R7=VE_9)Yo)z+*xvh~W$$e-wihm|GN{Ne~tCl%hYqBR+zzZw+#9XE0x`=Vzn`nDL);-YyJ)G7DLDdO4~tdCK-tvNAJMLHl=F z_5bA@{VXdvl#Iy!l+<4LKiL2FwU!+-6TofDR(WJBdtaD;r<_^L{;vKTZ$Jmg8~ygJ zSdQ33mR+zN%id`pQmTK}o?UG*q|{M)5N}&bIibH_HS4$EZLbWJ;ATtoFGax{q)D3X zJJy7cyZ*rVvr1N=*IRepX5DrD8)UO&I61%1sj6Kg5o{5vB4}5;W`LP3Ew>i5(Jceb4^(Fe@2Y0WYdD zOAs20V9_~L%$F($=Ft7c|Jy_3U){1FvFw9O$o-9z45i0W0v4g_OrZz5{@)wh9K#eG zhZP#<;5W|lk|fOb?@+#;m-TP+`iJ9R!m&<1AnyppJYy(W#JpU{@yGs__ zu`7b@OHX}^_22T2|J!oVA5ExjPFdxuGp_$J{O)hBx&tsK!+jVHFS&AyNH8p$@5A}W zoKn45c3l1T9hQ9)3ebTfST??X?zZgP7m?j1iwwuOx!fF=6Nl!lmM^|wC#p?^ye{uUSwYh!uLyI)Qa5kd( zAzcEm|H=G!ZysH+Fx6hzjS}5kz!L1*o8|H^Cay_;Lke)itjmHh%W`ZJYsMJyom@5S_A;VpOd!KnVep*drM1w)R_7mSYvHeb&QP5gXDqYtG7Bb?X8R zGNj+#e{9r07_$eXmYs}J9n|{zWofW9&ANeZNBdXX^YgRSib|(jeSaHC}d@dfUxzv}uy?{fRud(8TG zopqJ=AE{sXbC?Z;V>ecsI77-c5OIKeglkeN*|u!ACaSQ?3+Ci=qkSc!`1u8rxrJ z|M_AbygY0|`d?IW2*{*!;{SMC8@|8Ws~L9y#12UMb^QDB<>_jbdV=Hc#M~@40R!Xj zwc7t%vHb69?-B<1y;%3X_sUaXIDQk6^Ebx+?)cwg{f#l?3NLsr~q@sTF6)a5>c~ zB2&}O6h@i@%(Bj^Gnv%3RB{gFOHxl*1In0}q-AMpHB{<8zQU8BxoX9NgDfg@2c}`7 zw3^Nza$v(U-@^ioQ%|je9$uT9(v}L^xCX1$W=r{b2%}c4!(0swk(KmHh7#^`m=9H# zD*1v_xZh}n&Z&I)opnl=57G>Im?qDiyoZK&tNF^@I}7SCxE2biOV&LM76W zFV9!tYr3tB(;rT)j-rTR@~F}ybG14ObC3y`I7cH_sxx_Uw6^L4$V2r<_Q7rCxf$-I z*Jhom;{JISnKj~}63*>X{`GW6c5rY4sS2tBysGf!aiE%?5y#eG!u!0%uwo6S!- ztg55Rd6*E@(=~8Z2Mz;izpZD;IZ}6EbyOP_0hNj&wSZjEI8hY{-~?O8$ly4ealvFk z-#e<{)TXM%**cS&M&uQDz3&?_h@;Rq=4$u3#u!Dr6mv>Wl`4Gh=25_AE{j4H8emA0 zqjkZij7mX_ZE9##V|ZC*hAbMb@294Fs#OP#9lnHUqKqam@6_&R9tq#VGx>S66;Z(! zb+}0T!Qd!=4IQNlCmhbtH}nbSkS`VUHMq;I*;WUAYJU~0Q8b%;!T726fJ#kdQ%M|m z9@&k;Rcf#w8xLK2sGD`qnQGxW=nR_b+FqO`hAc1%Xi;ZL9uj1(NU5LD|&$8zWi zy04+bpxeqBkAyjEPZL5mfp7k*^6B^0ZB(OpB!x#|5GoXEB*)C*nAL4OXeYRyF9kOz zcjD32Z8+wqVO~fu$-R>;tK0he1lIQ<6!%uX_&xAx^dE%c)1_inB6dWBJ&FqQq%D_q_83HoZco?vVONW;4q5?oLi9$+-Odl>;CB;kO>b)QTR z+jx$d3g`g$QUXFAGeV*SJ(M0JOxmIW#tXo-q`=ae1F1nX0H!4c7GDNo$(#msFC-wu zvw;dbI}P*%0R5D1!iKSVZL}f`r^n+qo)G>J}9D5ImGyswfxD>E1y=NOt;2xygv5 zw>>K}YCZ2L9Kyn-avz(AjDGITgo~sa=d^-}VA4z3CHl;r1ve#j7BP0xU)#-X1rNc* zQB^3;dTc(F3or$2*-al8ryh|+%Uod<-tFQX=~F@wp7(|`T|$}eVdFD_u|P{TZi`3w!Eho*C{Bp_tI zs!KCiTkty@66^wykVD^L3A}^^?dD#4K*-%1(64~gIPSFsgeuj_6u%&W(5~)<284p& zwrEwn2BzHm2ne}fT|j6t_a=gb6h4aZp0;vt7$Af-P!)@uShSaQrK#NO1wP2z2ADV5 zawg2(2!hp_NQTQw{SE@OlzaKWgs>H$vc;)`B`jU;1s%+_Niy4+QSlBGrk9p;uOmoE z@n!-58jR=oc@F_0lu|l`Flsnf8|{G%O+y)(ESqIwP|z<$q6~#w$aKq!fJ&H?ZhTGJ z=!jlgnljQ-nsZ_o>J^()rgf=%SZc99WOQR~(#00rOE7@rszq>cbZg$t*ciw^h=Ro~etXan62fSVsk^4pP6d!N@B~Aj= zYyihMx5p9VUM`$*MR#HRVMFU*b(@?&zrgfh zf1>`VioF4w=k5u7?ttU;xxJ11>KE7owI{%g>RnK~1F{`m*4AyQ;q4FR?in3Rk7O=n z9_lx^C!~t z5R0t9kM895$;G_8Hn_T<1?0>w5AZI^>0rKb{yB7`^z6SrUwd{v6_&pr6;$5+x2YS&} z2KqM%9eDwZaW!IAEnNQW&@mP;rG z6viW8P%V6y(^eo^7Pt#d^5vL%o@C2{PrjVgUlxRXVRm{ySnLZO?*9Hs)`>L$ z_i|RM=#>lQ6YhnHHT7~#>wEkw&vLG&VsTXk!#g37BIqy?1Y$UKSsTXmwre40F@~4G*Ij^Y~nA)XYUX}`R zOM`oBEIyc*vt(YrA_z5h9O>%35l1}0pf-27sLy*aOn1h0P%9#Z9k^4r<6y$7;`K%5HH8EB~qv7VF~6$ ze&wv22S|jMSQH;%h{Ox~04$0ENI8sQYH$X5m$S@|C8O#6#K_6#T_6hH<(T1Jj;m)~ z-sKc}%4=%h0yWefv?lT{#}v#BBWT{`6nU3GZ;(PX(k{mpXqQu@T~N6*pj}RCdaU*Z zpLY2+%2uhtdTcoK=b>j<^PH}f%etIncaln!PHHE-pk0RQ7}n)AurBAB6b3V_%W;== z`5dbAsw$pTUsU~{MsG{QFh1)7v3O@R)){?<%n)kJTCf*8P=?MjL-Tr%pA)|CKgri5 zYz9WhM*m*R82;u3#6Cg(W&!`<0e|yih`;$1-wS{94Tj|Lqo8vZgw8qJK?5ph`;03+nSC*sxsHl-ko)-@ zWI*+ta7A?#d;lMzg3f3h-RBkMQ9%nr1^p{Gem+Y{P&Z-PoVsqepItr=dni$uf^y#jd_{-QD2ng7V`q774TXhYPc?%$S_&15B#Vh zwqDiL*H?r`ps9?6+w%QrV}cV*5NDGRCd{i^AUb4-G1N{IV=OFhunmwM(O?Yqh2(GaB4wOP;5pN6x(?SYKo1GMeb$!{ns#VctOVPw9se5xUuQr7l8S>8UjvU zXjzwlV++s(oR_a3)qLD3cMtWH^7uG5A>L97sL=ErU$_j~f->}+yaYKHlGZN*(weQK zw|N67EG;jB(n8+R!Mv{%mX;SmX%1LjbTYWRfj!a*5J6OamzY!t)ZQzEAxJMGgr?vP z6o%=8oyhc2@bf;?M?2!$$^fpd3{dbNO~&666UsIZY#L$k`C6gO}ubLK?LK!*|Z^9{LEbeB5G<2j{{sf|&w$2!K zQYIp>lfK=^MVhG0Z&)mUAMak&WF=b|1OnoLXrny2OExalGuVy%sL+u=^r=j?FrdAG zdiv3TurQl!VL0N}@ARY(Glg^A+-*SkMJ{Pi8ze;q?i`0#QwaVk81J zND-ky{i66$VMR}?RFDNpxy9!=dcn#+CLrEcj)?mx| z+6dn1qf5DYJs>2rw9`O{bn_`gH?veiH~WoQqERlP!9Fi&_L*hi`@o#yM@3Agkv>*U z6VBdp#gCGIe%0fqX*ytI-@^aq(V}T24TzGeX43%}6YpwaKdNOLnQNE9zP$hc7fS?R A`Tzg` literal 0 HcmV?d00001 diff --git a/Source/ZZR/ZZR Disk Layout.txt b/Source/ZZR/ZZR Disk Layout.txt index 18f06fc7..a584b166 100644 --- a/Source/ZZR/ZZR Disk Layout.txt +++ b/Source/ZZR/ZZR Disk Layout.txt @@ -1,29 +1,35 @@ -CF Boot Loader: Sector 0 (bytes 0-255) -RomWBW Partition Table: Sector 0 (bytes 256-511) -ZZRCC Monitor: Sectors 0xF8-0xFF (bytes 0x1F000-0x1FFFF) -RomWBW: Sectors 0x120-0x31F (bytes 0x24000-0x63FFF) -Start of Slices (0x1E partition): Sector 0x800 (byte 0x100000) - -Start Length Description -------- ------- --------------------------- -0x00000 0x00100 CF Boot Loader -0x00100 0x00100 RomWBW Partition Table -0x00200 0x1EE00 Filler -0x1F000 0x01000 ZZRCC Monitor -0x20000 0x04000 Filler -0x24000 0x40000 RomWBW -0x64000 0x9C000 Filler -0x100000: Start of slices (partition 0x1E) +Start Length Sector Count Description +------- ------- ------- ------- ----------------------------------------- +0x00000 0x00100 0x000 0x001 CF Boot Loader (first 256 bytes) +0x00100 0x00100 0x000 0x001 RomWBW Partition Table (last 256 bytes) +0x00200 0x1EE00 0x001 0x0F7 Filler +0x1F000 0x01000 0x0F8 0x008 ZZRCC Monitor / RomWBW Loader +0x20000 0x04000 0x100 0x020 Filler +0x24000 0x40000 0x120 0x200 RomWBW (256KB ROM image) +0x64000 0x9C000 0x320 0x4E0 Filler +0x100000 0x800 Slices Notes ----- - At startup CPLD ROM is mapped to Z80 CPU address space 0x0000-0x003F, CPU begins execution at 0x0000 -- CPLD ROM (CF bootstrap mode) reads CF Boot Loader (256B) from start of CF (MBR) to 0xB000 and runs it -- CF Boot Loader reads ZRC Monitor (4KB) from sectors 0xF8-0xFF of CF to 0xB400 and runs it -- User sends ZZRCC RomWBW Loader hex file (?KB) at 0x5000, then runs it using G5000 -- User sends RomWBW ROM hex file, then runs it using G0000 +- CPLD ROM (CF bootstrap mode) loads CF Boot Loader (256B) at 0xB000 and runs it +- CF Boot Loader loads ZRC Monitor at 0xB400 and runs it +- User loads ZZRCC RomWBW Loader hex file at 0x5000, then runs it using G5000 +- User loads RomWBW ROM hex file to contents of RAM, then runs it using G0000 ;;- ZZRCC Monitor reads 512KB (RomWBW) from sectors 0x120-0x51F of CF into first 512KB of RAM +Possible new layout: + +Start Length Sector Count Description +------- ------- ------- ------- ----------------------------------------- +0x00000 0x00100 0 1 CF Boot Loader (first 256 bytes) +0x00100 0x00100 0 1 RomWBW Partition Table (last 256 bytes) +0x00200 0x01000 0x001 0x008 ZZRCC Monitor / RomWBW Loader +0x01200 0x7EE00 0x009 0x3F7 Filler +0x80000 0x40000 0x400 0x200 RomWBW (256KB ROM image) +0xC0000 0x40000 0x600 0x200 Filler +0x100000 0x800 Slices (0x1E partition start) +