From 1b185bd7f9a8993c08b5ce4d9a05a27a309d49fe Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Tue, 5 Jan 2021 16:38:17 -0800 Subject: [PATCH] Regenerate documentation --- Binary/ReadMe.txt | 9 ++++++++ Doc/ChangeLog.txt | 2 ++ Doc/RomWBW Applications.pdf | Bin 142480 -> 142480 bytes Doc/RomWBW Architecture.pdf | Bin 438354 -> 438354 bytes Doc/RomWBW Disk Catalog.pdf | Bin 131009 -> 131009 bytes Doc/RomWBW Getting Started.pdf | Bin 170896 -> 177868 bytes ReadMe.md | 38 +++++++++++++++++++++++++++++---- ReadMe.txt | 36 ++++++++++++++++++++++++++++--- 8 files changed, 78 insertions(+), 7 deletions(-) diff --git a/Binary/ReadMe.txt b/Binary/ReadMe.txt index 87cf1a25..9cef6740 100644 --- a/Binary/ReadMe.txt +++ b/Binary/ReadMe.txt @@ -42,6 +42,15 @@ MK4_custom.rom will be added to this directory. Documentation of the pre-built ROM Images is contained in the RomList.txt file in this directory. +ROM Firmware Update Images (_.upd) +------------------------------------- + +The files with a ".upd" extension are binary images identical to the +.rom files, but they only have the first 128K bytes. The first 128K +is the system image without the ROM disk contents. These files can be +used to update the system image without modifyuing the ROM disk +contents. Refer to the Getting Started document for more information. + ROM Executable Images (_.com) --------------------------------------- diff --git a/Doc/ChangeLog.txt b/Doc/ChangeLog.txt index d0a05938..a978dd4a 100644 --- a/Doc/ChangeLog.txt +++ b/Doc/ChangeLog.txt @@ -12,6 +12,8 @@ Version 3.1.1 - C?M: Support for RC2014 bus PropIO V2 - W?S: Updated FLASH software to v1.3.4 - PMS: Preliminary support for writing to FLASH ROMs +- PMS: Creation of process to update ROM system area w/o updating ROM disk contents +- PMS: Added "updater.asm" which allows uploading and updating ROM in one step Version 3.1 ----------- diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 2fc794ed09b15fbe958912d12e175b54cd99330d..19b6c364931bd51991aa5db6be0822503b0181e1 100644 GIT binary patch delta 163 zcmbPmlVie7j)oS-EljaYdWHsu2BwB)My3WPx&{{N1_tVyT>8HGDK3d6sR|k{Rz?O! zNJ_SMGchgIOfWJrFf(*>v~V8HGDK3d6sR|k{Rz?O! zNJ_SMGchgIOfWMwax*q`b9FVga5l9xGPE>ubTx8xb9FH=F*Gwace7KlA*du)!Oo7W bxFoTtq@pM_jmyy3(8ADyOI6j?-;E0ZO3o-; diff --git a/Doc/RomWBW Architecture.pdf b/Doc/RomWBW Architecture.pdf index 72921d8ea6bf760d0238fd4fcdf861689aa2c7d6..236b127a06ea4e275e05c1e07a7c9a6b452eacf8 100644 GIT binary patch delta 206 zcmccgKBLeS)E(k(;BTrK_W>k(-5yim+{ delta 206 zcmccgK)`3X@&-gNl6A~MkYzdhRt(Qx6essOzp&wX%~FY2*gZ4%nZaV z+XdgVern)0Ff=kWGc+}{G&G#-UnBLeS)cpqqC)@i>b4bv7@Dlg_*Il zqp^vZtC@w9se!4JtEHWS4M8Qb3U+o}#U+VFB^5=fXhJFeoA Z#G;alqSQ1lLnBjD6LT(ARabvEE&weADeeFO delta 161 zcmX^3pZ(x}_J%Et_g?B57#bOx8JZee8k*@ESg0EqsB3cR`{t*(B$lKqXt-Dz85kic z+0OHdF;q0c&BVme&Dqk~(aFr&)y2ix*v-($)Y-(u$jQyZ$lTS^PQiwtl2`>hJFeoA Y#G;alqSQ1lpaG^P=3J_(uKsRZ09UjsasU7T diff --git a/Doc/RomWBW Getting Started.pdf b/Doc/RomWBW Getting Started.pdf index b30e07ac99dd004ddfd16072e212317bb1927a2a..23254d00908c1470cfab94dd1dea3c417297c05c 100644 GIT binary patch delta 39508 zcmaHUc|c6x`>;D{(Y`OFrnIM;y@{k!lJ+Q(%23+(A}xlB5Gl91L@7%Mt+WwZsfa>S zA%sdLqAbOG?%Wxl%J=vFqkES7?9VyRdCqf3Y6buO5&qP5kO9(u7}8|EaJI4QC5YC1 zDjI7yX!!0Q@WCb5JlA=BG2enGt6H)GpIk{;8#>;C5n1lt&xtx$cjPyVgvkW}X$CY)M^UC{}Y-WQ}fP zs-ox>XZ}aT+wwKU+QrQ#qU-JpX6X@lx~R%;m>l9~PjR3M9CAU1Yj%D=xni zvd>Yrg(yrr;YPm|t|YH$AM3OHwrtMHkE2EsdqVJZ9!al_!l!NrwVQvo*x{<@^5M|N zev%9i*U;w;z9)2tD@Ui*GIuBr<)6ya_J2idt+>mGp?{Y>DB*#G`uxmij{I0T8JM~J z((k)pP9JqB-0MrtIsf+j-Mq%vZcOJ}7Z$|7O_Xo)qwY#LEWf{8+kbwEpQ)Kcb$nL4 z$u|v`+EmL1=Uu+ZQp$SjC}p_`h9+3;m^ax zaA}l`PVA+fjjM-7e`(aT4rzU%cDn7~d)GT}NIA)Y|J6t1+c;tUJ7Sgs*EVezA7F;$ z#Wh)xj#YV^_c)Ii-x1*6rZK5tBD%>ziFWMGHQU%?{O?2kQ#a_%59%g0wC%13Ov}6; zc+<(I#&tFcz$in$)Z4S`GGCBXvc_&JuEVY}jEZSrc^!4sw zzfA91Em?lAAkXlKFfT?R`V_p?kH2gT7q$Qs3(6Ha|8wOVjS8>0)TJoi{_xF!*MQ7x zpcr#6C82UB=}lK{mw?<7+t?3V>Taews`oXlG75ilDO{jX$)xX#e08G0SexLpxL?00 zS8q8zI$y`D5Fy7j)ie6e_`b>Ng!7`o(<~U%5baR)fYyNT_gBwnaHLm z=J`wgw&n+Ie(SK-j?V1jRxLg&PIHd$>T}4`%a{tVP^fiKczCC@Q{xQ9DnjVdKwhFO zbmDfB;NF%^jZY1p{@CC3?e00NC2vBgb*J;v#JmWt~ba2|TClDkb(R zmyYLg7v#pBzkhl8;?0&Dbw4ILM88^}O|e&b(2?yF@8p}F{-{y#98)BJ_xbwk_VCbF zKeE&+>nDY3r=GU0|8!-7|3Fvk$?q0{uY~rE9x=SJNMXsqz zx_gn*;bXUB^=}QF3^r=sUZJ^uecta?na=eIWlhlwR3+_uH{Ho$7@p1u^Rrp4BcQRd z!tPqw$lD+5JEOTy3uFiw5v$5o_uY~S`DRLZy&zzD`$&FsQsv~L@Uf&f|Cu|iq$CAT z;iM#JG&}+C$gk(<6&@TJw#_RXPlFZP)!}K8rm_~%wIYIKT?&DpLI5J!Gk{K&GW zm>9@i<1ukR6M2FrUdhC_<{uZ^U2wVU!nz~F>JML*#|Csf_$^<>S4(c*XFlakR5Fx~ zx^}K6co}2Kfy1|kDvx}UN?u7^sCukz>-(o(%|(SDnjcK&z0|*3oxG|eS4uO#p8G_I z!MQLWr@LJ{Y<5r;_p9veaf%#rD&8-5lX>?mGd_*{!Pup=!?neFMKhlv(x_K-b$21W zUYRLRMrDmRpkRNf*dLYx@NTdTegk}jmsf(OPtc_s7~n}{nyvv!A5WtbVO#Dc+(b>h zkx}LbNEVJ2TO&l!rRY=fBz>B$zCIal7gK{HmWV@CxK`0YhDIXjl8FEUk)lf?5b-oJ zP$JNtv6uoZs3HdMTe41?Y5?XCXkd=ME{RUX(+Ff;8XcX2qflUBl~c&;Y)ArUKtfE8 z0X5b*S%vq|L~niE(6^>7oo^m4_Url;!wt<*!)vV#Z92GYYDsq`FF~3yQ=iJBHs)Da zZmMWLnEcM@*7S}NyiWpO^a`cX<=SdRw(Iu#9Fmigm(o9QOi)#`QO@h4%UQeH(jNB* zg>|=+D>~EP9#^+MDK6Q#z;^t}!rk}pT|P=#!eBOZEOl8ikV}-cT2(jELmG`$ zqH1f*LQVg8Q5AT~19v4tB2f4{{QP zjOwojT>r?N&(Gz^SG~$TTHoaK;c2cXMI*nv0$QtUohqmbx5P5LxwPjC^wAHI~ zoDsOhr_i0R{p?|!#o-Qlva!+DujFl8`@afZG*rL!y6-ekas@As78LYEr#>y-P*{~**d6S( z{P39{MG7(G;6bMKjUH;Glb`9Y(^&&%nh*R9(k-GRD!<#Ucr*5(_ucJEq~+_|TbbLZ zQrsBv9*dEhRtlUAdXq+fsp)BoPYg@~wF6t-rf|}K_yN@=!&|po>(6{nO`_F$_ zc-zYO)`D#dBm9{Cf98o@jZiFY*lZP2^lr@OdaCr);iw)rf6{%z%DNE6%SpSP1X~&P z#O=v)!IeMW{Tf&(opy4IKxqZ9Mr2LVl-|h)EyeSr^|#MkxL*OEY)pG$OTPN_PE+U7 zi{%P_&;J+=bu+$*d>r%;+AqIepKGh!zU|%1_DoOD`#ACEbe#cnNjh`ouz;U^_5L+Q z_6vubhRrMncImkK1{-e^xYd5G)$!HNXNA>Qv!*xQ+T+LT>s-FGy7|`Ig;~8j&dTH? z6Hy);jEYP;H2?e|2rs$$O!Q`u{%)V2(c=Nzriv|uRRhMC%QWglo)o%MuciM@`2723GUg;gq5r%;4D2Mu&_%@5n0R2%!Qpu zB*XZ2HL$dc!3#9?#E3*9YXu?_Nvywa@OdpuI9@XpF4Z=J^|fMPc6l&LURl08s-jP!WXXNfv0_RF5JaUQN&07dBa&GA+dTtuIA^sWHwucx z+QKA>B>Ei0Br2@7Oam6Hmw^d3da%E_5FB8`S9WPxH6N_C8j~}bCB#{BCK+(#EJMOX zOC(`SKaq_6g^iajgb#BI!J=l_usrf>%`Wmd&>ya)TYU^ejzVO?rLfqU#ViGRO^5yhhP9m+qmxCQ zHN;T^oT*08z1CSD9Zhgn$59Bdn4l88vYrPh_D(kqo^TUJUSvYNWr`d0cp!ZgpA-ev z$gJpuNTC7Ys&W{C-Q5+yT-40Yxr>7*es?f_P~* zE-K~-Q656Dyr49jXMhQw3Kj+ywV+JRTbB?1d`wxA%2LlP0aKAsCrIso;i1iS6e`%j z6Ewt8i=4?S=oSsphv@Jcz@k1J8bZbxg&*t^hNoBami332@FDHyIBEFLBLOKQjTNBG zB7z3z8T@Y==4zQnX3;QL1fcu%E;>Yp7e;G9q&ceJo*)cc=kS$PMDt=|p#3Wb8e0td zmANS~_bn z5wwT>vpHUvagG-l3rf?!PDp1tp&FZ}nYK?yH8<1v=q&G)Fqo?((9g_PgLkKk;lN{M zwmK}B0T%JU?tv}|G9|*ut$c{DY<*5BFFXcFF<`BqvrN+fuGIjh`LA8D;_R8E7?4nv z;S7kg^?)OSb<|t3tUq6N0YqcDy8(L0nZ529P-m&(VWk{P;s!L98BA7SW&oO%#p-Z= zwkQrfelFI4Lqfp5hd@G*Hbg+uNMKn>De>Wfw^st)KbMvy{IjBx2Bu@d2HhJXew;{G(J70adEH z%D-smsFXy|hY2cb@XKORF7&ymPF;dHN4;qOV4VgKXZs{rZCF&mye(j(`p#FjzrKqb ztO0-w3F1HcB*AwyH2w$kM08P_$voJ|`C@kh&V_Us;3W(;RgAsI319PQdvIJ`c{z*>$2|DS=rJ{l^RBcdnnXr*HOsh3Bs!{kdG@+z5)>31 z5sr7olfdy4OvSqa4~J9U$o~yfHoUzAzwZ|Z0SIac%H8M_Fay}-9s0DtUmaf7F9x1& z_iKpHHChlI{peSNud*f(-)V@?RV-nNL7(zQ)Dc&6942Kj zr)NYBP8ksgBa)+P@WaW!12&@?Ah`O^ngLy`AYo|qExK=@6jA=!H%Js#$jzZhdJ^3> z07Vk?x&8tU-KYRFCec{AZbBX2F@Z+Ozb5|KO-NuWby6K3WK9T~)W|S^Fc$y=7lFV) zI^eI*LF`b*{QD&imH&n^BvvS+M(0F#|LLE~G8H_D%G#E|U)E~HvIkDIL!uJkz1*@O zlGTD6|AZqxT#yhev`y7f&WM0wVDasL!&^iPg2Ism9E7rlD#mqE3#<@F8~NcmtNYxOD~PJ^s?23bO}I^-Raf`YqoKYbj2zmD2x{g zHN(k(I89KB72nMEV;bw^!J*$>5n=`TBz+JsXdvB-AK|jADpy-wY&^#4cr3kUlASH`A{!hnr*ry1^@Zvy93^<%5{a+2z zQ4MPRyNS`~E<*qWx}MYLu0C`kBC7$Z&kdqUpx*)XBdv-+GxCDwNHY-HPUx(_RRc}3v6kKcyo=6~=4@}G!+W^pz#&>086iMt{|TE&bUI2l zQb1>mmrh4s5CK^$HGnQbLz)DHe_sRW3#HM;1VSTxJ}wG~BGXE=ggt^m7LWPq!q}1{ z&jl@!J`yCw^lBG9ukw51##@J!;Vu`CD{nuKMlqS^8n;kI6YM@E{&9cs(yg~C46l0H z=PFOxJL9mtEp~!?w2zrcYU`S=I3CFJ%4LPT)q`$7y0BS8R;2Cxhxhki{A7BOq}Y=B z`88coeBz-!50Sj8c~km<=iv^SD*oX`w-#yDTD!t~UOZQ0PQG`}Uw(-;;ujYY;AL#? zTW+~L+2+t{wJW|A^@?RHkFJu4Jtp6f&()_Q*;7v27^LH3Z8{O`zvxWMn-BJunU4#` zdOzeHb{X0?*kxa;<{|36ahqvswDG%NnirmWuSs0(MUmy3psW{b{g@{mkSK1VC*$tA zhZcDC#<{$p-l(SD z^2g(W;x==^VHp)bx42OS)gu93g9l`+8ln5>j%=;C)Mg}%#g zr%L*EH~$6v(!0J6X1Ht-DctXP=Txm-_4BWrR(*d7U)jSbH7hT-Y3)!frFKe(Q+Oq! z@_+qOYEpW(S23W#7^k`{Y;V_c!3T)JbGwU&)ZLhmSNkXXnV-{pm-ym$emHS8O@ijI)n=A|uPp^O2xvw>2>);Mo z>5biz`3uF=6MEYl)<%qfCf~kwdUR4t`Mp6L(se`lZtwkhccT{YOC506lyVhymZrRM z-!|xWiIDrENK$i6)Wv?KpU&xCSL0OYZN?d&UjEf0sqd(OTzT1(_k8P_vg=fCXm#XR zmH4)D>s;>j!aWrVT{txFKxL`!_nV``AF_oP#^yKrFS!%H|MUG*s?*U6Ry8Lm73dxe~u(uUXPE~nZn9Q48U z*Pd5>UjHurz)L>78qVO1kiYO(pVyxjfogSof_TS4(r`wp{`u@1%m<)X7fw%g4dtdH*!VCQwHlc``_&vK@A#JGC z*;pR4;&5R5wL+_jhwn#YLbWrNt@%E0?5K8StaM-VgCrTcL%n}x)6wno0{DV_1kAYx zv@TgreEjVU3{FmKxUcRNYdqxVwMH-&o?0>epeDt zF-6CFkjr{2S9?x<`TTSA&fZ5S@0Hz*ieGx&0S42nn+)vAX-NRrHT2&fDhJ+of z-xtx+dfS&`{~oeADfE@^>gSYLN5h{-bQvEc&&AV5!rMLR#3@g_Tfb6I<-!2#k+*qi zrbDAkp}?=dhLOw5mEMg-Ni)f5 z4fx*dnjb$VUOx_QR}s^?nPYqQAm67~OwS4t#gNg=#8bvwHpkCb;4?exn0bCrKKH@L zg;$rRE5{CZ>*;%lc5V&+S=jg^>_*^_`SWMlw8~AR18ZJI(jTYa_{I?K2|m@Tuwl84 z)k%JJg(VJ&(q)U6`j2OC?D|uu8J_uBFqHYSXgEmD$U^*D#a$5Ozkc~7+9rIN_=14& zgcRG_2m8y7dTu!E;X6H)U%R-vAoE&9{q@~4wQsL)+$iC6BOy04bGgX9=APGAcF|T0 z)3?oUJ7l=%mTk!UBldnVJ4YM*hes+}ON)vXB^-+=sH ze_rOYF&rfN`567mx7VcM-Y3=br^fDo2v&A})^pY1<7%$2mP#8P8~B(TKNXn2O5-d2 z!QYecp!R-l`+_Y+A3FEPB&Sa`D<#;Ds6W#Ba6a}zO<>hT^}OOFQ9-lXbN3StTFX*& z18!NKIIJI+eKCHO#(Tq?Df91~sQROOZ1tjD1Th2V+h*-!+fT2&HJ)S=Y>6kSnV-4x zQcWQ(o+hK=b13Ca&KJ4BxLV(iz1>b(B`UVOO2lhtKa*2v+}7__Z7 z+Qmcv+bie283tmM?6x;sqwh-H{p_|bOQ^*yU})r0QRlQsaZ3EN%U6sCuGf^DXK8(T$s=C- zKDx)3Z2o@e?PV7Nx8z7piN=FF+z&POC@wMDrfG+3T&I?P=k2r3slhu^$KKX&`Q3~g znRpljh@cOjGK)GFhmi1Mqhj%=2H5b2c zIb<0S#{D3};&%M1>HH^O--K^STi3O%btpIZ*_kwtbw?bRu1mjse|L$JGC9}-ul|{I z!7w*%r=8i!6=w6~n3IBJ;Vb+UON*4CW83bVTwcDmwY6nlsNVBkb*=6^`Y*O#TRh*} zm}Vi79!Y+}v>hag=)0}jy>4q+cTB0G*ptwyKVwR#AD<5l{FC}o)Ze2*!R5z`m+JRE2q`{L^Ru}I~sTlXD=pU~8NHIAy=xx4CMx^hkh-?$ULT&p2z>lx``heR z_1Xl!b>+zBa|d|c_3kvMw}=JAy84Z1P?Elrx=bfFe*XmRJn43Fr?ZKLRd=Gr=|azN4Rab-IaLR_<|fo1Em(p7<%t#2Z6LYizQ6|Cj->XrQ$9 z=4hx4ck=5Vqt+9ml9r*gWj})^-YZ(4s@{CL{KomBB4QH7XYXfE7B`sv_pLo61Xh8@ovk0Dv zps$+z9l%>N zL@bIAC2O>5)*ZIEL5o&ASwm>1*(|t!F8k4UuBJCinRtk@=q#k*idAC|oBty{sS;y7rSK;^gH)jUawlyB<7Fc{ULVLY; zA8fRR*0W>!D(QC0su5|?bW*XYUFXT&lp;?=7q)6Wa9(q3mECAie7K3-Zpr?4 z*2{?Jvk!#aE`KlV_)#;vc*;^JXcbewpeBs5L%@E=wKUs;m4=6G6j1#09!IAn#cf7Dyn8b7&G=4L#8Q%-h` zA$JHLzkBFD8NTr^y)y1&!JoZ4oA_F|Ub!}0rm5eVzOty^;j`@F{cYtd;cRXB_t`!s9h(xK?Y~!;lczwK-rFH*ayB8& zK&G6jt!VhzeL^a+s!#Rn{!2*%+$RK%ChUIFYPvwI;Fn)OURJ|FJEslQZ8Zfqo}GCn z@<@A6?*>eE?N+pwF5KPckhXXTFddOtn{S4EC|+o$Z(nOelvvS90Z zrmM~y2g2!8erC#wNez zwnNL?tWvW|{JCK7=gU6dNW7DFD>(lH-s<6(m0V*#JCE!vxV+foV^zFD;P1`iJwHwn zyelV5_^98n#W!v6+~*Q~A?M`=uT!o|@B?|r#=D&J7AMF}1g6iIZoW`axVZLQQv1p~ zn`=GGxp`FL?-2W%)MFNV_TGM~7JKHIT$-fn+VL;0UDISe=B9XB&gxxz`SNrFeM_Rh z?veV#HTFz42VFlUkQfihLzcC|@$3CfosqHX7Cb^6=+2Ud|w`IP3w@5%(>SGB1rp(5IRB>c7nh!2#Kt?#h`Pp7^x-v{i{L1oo7Bo>N$Ax z#E~LDNDD~?(2<{hkT5Xi+6YJrQSgV>f@h*H=s)Do>Sy?Z{z8997YFW3Sa^Pe0mN`U z21y8676|bpO9LP}j;fDM*dG9ifN+CFW5T4S?4YaWpdaMqeN# zf}>HLgsp7ndbr{5lqth?~gTtV0py~j__B9Mp&f;GV0R!^LvT#Tdbf7|j??~|e z)g`EfWeF)a99oMrV97!W5sCofU2ew_FEIjg2k)XH5hJlGcK>^wEggV^8|jOH5-<@d ziIQeo428g!)t_CEB96e4l@jtX5)$H~5dO0kZbWhiL;zhZktrcQJ0KxYQiaJ3eH9cN z0DDnJ+I9fDAYu{&{oKgp4u}alfY_9g6FUL%!`6U!Utf^w0poaZ-2!x=g#1B=E~7&% z1LP1Lh-5`U0%*|;Itx~m<3ZY@paqDVHI5IR$pWGXkuVd|*#(pjRz{ZC9Ctz6aU{%y zVEcuCHuDVhj|C13tAn$<$fWr(lwrjD-?`Bv`hU9S0y# zFx#q&17-@G76mOv)}Q?<%eW*FV3#sT;cmzRM`2qSSSr~TCW#m_AqMbSU|h<`9VYNF zDqB4LOo)u5vOUaT58#K&mW$&~K>MBuXg*>b2l1&oZ6**1A?QDz=syhfp9u6HFHMfE zft3WcK)4Uji+tJxEx;U85^>)H`QWH*&%D1E-~jiHK$XK_bk z3-|M0$N}|zbdD&6GJ6hYeqa&dN8os9BR{K*3tduOk+>I-EE4((@_^isz!Ye4c><6s zLO%-D#=?srQ)ZV4y+Fo}LQ-(5k~Ts}1vVAA4?2t7N(D2P?uVWt+Q-0?R1#E*Si|6{ zCkZM;{L;bGp%frcyTcF<^5OuvUQW&ceVzxQ@5m!i^MZsNg36IW1S}=Xlc83m>p19J zco@n>>P~>Cw!_dzWd2Do+I9rGh_s&sN!7zC&=n-(6d1KW3Y|mxvOynDDpZM-N$XB z`&F=ai6YQ*#O*woIE_F(NJ%~z7jOuhi%be@28AtdV}7?wQ=RUs9Zz|*^vP%-kZ z001jE1<@cx^9tzvnhn(;4p%{EQw}gO#J3PUemo6vLCDD>0CRaQkgQ%FRExA0gAwjC z5CkE^CEz<8`LmELgs7GQ){L$IiXzWJACL{#z@*Ug&`Jogy$)V)%!eA0>T)nA_X6|- zsi^?NKv{eMdL@8y{}Kx0aTVzOQ2^;d$k}S}xZ(;py&`9CfJd*Z5I2OJz6lx9++5F4V2v9 z4Eic>05%m{!NhAfAsz^cybm59)__O{NqYds`ENsmNK+f=G?1a&Bd80Ju>ixMhO@%59a;f~G2~et&?*R)^$xLfWP8fi83af60)zAkG6dIG&qT{KY*popq01XaoP{BgQ zB1r%Nl(A5;0%){B0-SP)qmn^`LmZU?8tl>n1}K-I0s>jr0Sr*tO9ce78~UI@WpY|{ zKoI98P?<|%7bNO2Xn=86`2k8PC_16&bHLF6<8%(Cpz4-_RRo~ZP{uhT0jV4cr?7xQ z1B|nZDOu3ycqYYwLpNA%DFz%8fZQpZYDor=JB4#a!~ld*SeHO31V9VLfNc~EkU*kv zN*@_Or4$1W2|!mA@J$lNIM5Z9z>ypiC<`2u*h4@+RL)fm1L%j!I%=SZfNZF&NSf6E z;%3*}fe|2X&V>sD*bcZW;Xni8<`gP2fS{-Z4hcXuR4l2+L}3FGu#Xu)0|aUeae8f0AJupis2>#4yo9u0j!w-JC?X(wE%i>5@pW>Oj1dIi2+PfIVV5{ z`rQVV#QaMQV1P>ED2xa=pkhZX6e!?;%BlMUEr6c$-2!L<^w^<`H4~r*9?eD%7@z`| z=Cn}%!HD_0ILzm#QVc4pdLb_eMt;UEz-|B^oK@9Vt)Nx!8H7^`B~hn54T3c7ZVv|tBd*C?c7gP#Wn0J zms)cZYIjxJH)m?Zi#@?boXyG09h-N=IQMu%!<7(8!|%+yq6;tC;2b37)ApD-_z<04 zw6+{phQ1Ky39s9$dFj-i_D;gS(|gU1@o!mOw@aLB9yt|vY>bXOVk+Lg-Y(U+Z}`QTB4@mJOPztiga_zGXWt8%RAzp{WH ztQE!cV<%2%>(6~vdnM;VaFS+y`n*Sr=1o6xsd{nt>Qv30PfV3qnbl&O6L2*L+~@J^ zQ%^9V3$FP^T&)N-alv4emDMUx4nHj&#Lk5?T5x+lA`wH=LpI|H-3J;re3<7OaAAd zQu`eG%|D7?c8g32OfjZ!w@%ysxmai!QlBtSQuhy6Lt13$?%d0A%#`@1-yzK+y;*%f zr#0iZn~{PhiH{vc$6nF3mkN)V%xm_{lDfSPU;C|MRV1I!8SRul9v4TS?Ph74|3Eu@ zDH&#G9t{4nX%AzL66u?g@dLbPPVDD7FtCm>`i?>U=#?evF|htZ9ohWj_2Bh+64oVA z)t1j|j;P&K*ojvUbIxEMBd2W-?0P&oJSq3-tiaKvfrgx~-|Rc1wOa4h?mDrpXt(66 zn*sX@4)V9Yftp8EyU4c^wQpY1_r5;u`c)<|`B^}tt^dvtm;Dk|@!Xvw`QA5eEjF+632Vh6nGDB|W|CLD;|;h}oE&Se0aUjl{r15)zl#o58}!1LFLT`*ZC;qY>%&Ov+qk8IHxDkr zon4v~wd;ni(qTh8p*#`ej$h#?b8a1rZ9YTcd#XZzSe5=$Az4A763)=6v!ZT&67wr4 zYC7~rY|qCF31;^XoqU^7{K0}b+H+$<=(*T+rC(a_2agW+`viVV&*EQ^?nJp{tXFpY zZHAmqlVO`>^tjLmZ>uMv3lm1WBGmgXpAJ4C*rxR6_|NO}5BPQL7CCxx+ZAVA?EUQc z&cT?7-&}qt--zF}>Qkv56q3tJf53M{)Gzr^^b;XXuLoNX7_D+XX|kpJ_m?_tW{bxe zrTahqF1Sxb5L@hGct9{yUf4Vj9e0Tdqdec(g2L{h>uHtUF z|HV+B>7&{$kaFS9k)3PP7{9MHPe~4Be`eO!JpPup@&>h#k zDq}NfC9i&q+pYU?*s52`3I1x*X=|9m@9Gl7*S#=Y{PdB6R}`iE#@gy1IwIT8?(4|k z(N%Ol_so(2@KxT^?{D~Syzuf|+ne~?R?a}6yk0Ut++jM__KwYP@4F{^sBH%Yr9a-lqcwp9%8l}`*i_YX$e*e~g!J_Gf zm*rv4-TPIj-@*)r`Xn;9+M9n}mp|;CFg$1>qsPD0P4S)PYn%6Zt=}d~&WjX#QV~;1 z*P`_1EGfCWw~f}mIsB_{(Z~7C{K@6R?duqAc0o+1+p--wmrgIU`LS7tSxC@Aq5~d& zo?nhTm_L$7p+^&6TU`@w*zsk@IJvpBNML_g+q}2*81f7GBaW>N5tp}=ZmKALO?@JE z=5}X7c>s;4|4?dcnap6*##K3K4d?x?e_31I$hGvn5o7C`>WFXDy|vA^e)Lu7`rqAm z?0$AjN7JTj zBNmtOU@S)5f0OAnZ*ZmJv!^jlO4Rjn7BP!;Zx>2?NnAcxtDSV5dFQUJY}_B;LU(bA zpWC;4?=`wDCokN|j2lo(etBVPzd&p9{_RN{Dthg=J^#!c5&SB#`_P2bQHu*x6{e&7 zN~0w%y+h)kw@?awy`nnSs+SwcWvp|4Iq*_tPU=n*siz|$L#%fI0nc0$T|+^KuoIw(GBc{uUz^D2W*!Mj_3=cd;n z9Zen|?>6xUzB=_dmf`TH?&84Z*fjkt;id}d3(c{Ne$8LcUK+P5EWZ9avAyZMOGWk3 zwF~>ZoeB+IJsw`-nLN|Kvw~}=%-Vf*ePv_n!UOBlA}wTWJ-nD+Z(k0@w4~`$-46t4 zuIw8~iI6-rW|AIq@Kz8*n)q#`Ax1v9lDcBTvBbl>eBaxass{y8BYPi3e@J@{JMwO; z)Rl`dJN`ykb};Ds>8G3RcfP#sc>7`W(D&FVrlicTyr(MXaZV4E45D93ycf8t$kS4j z!<~8(x39Eeig)YAC^B>NOY_a<}q?S1_2hrd)*S_GQ691K#hf1ww6D$xldp*%u_gJ$P{sv!Y4o&B1jF-;a2e zEjim0TfZzQ(+_lTbkZ{k9G5_NxA92j2OOlVSh)_EhI*j9T&U5c6V!O5b0)phkk z>2by3z0P$*xvqyw7VXG9cywQ!%&sev@9!QAU1CUko=g&}NEqI5dPB~MO}q12Dt-@- zzm}^y>S3TUq;TYtuD)WI_ShXsZ5TN)-{S1Eg*4Ojm_X||ohE}1UE2*C^P46vN#CQ@ zC5miMRC)5QynNMwO$+7n*ed3V%!NHaoVQ(F_o@8+i1Ng}EyE)FNGHEkM0gf@ihIa5 zS;e(#*IVx^SW)0|{JNvti&H~tK~_6Y+Px{Ek%=GA|A-OHygNXuvI*3WuUhP&L})vo zFKFjBDq$R|_t;y#u_1~W9~@SgDqq)j?!?FYW|N}#oKAe9nLSbN&dHxL)=cW#Tg%SI&-O?8Dm;ro%$D+-0-%f4kaCDm%VJo#EvF|n4XSwfO|=`#5X zDLo+OlD%HhZj(>PT&0?Sd?740o<|m4yVNiK`R1*U3&piBpKtI#9zhZkt+rbJd^lES zWU2Q{3-d!wKf>E>jwKY`2o0)yvSG2)Pm=wvtC5a59ao%`rVg!tUs15uu$NN0aNnSL zlGD>mIrIy=8@@PR^WKu}lb6sF^=xF6c_iw@wPWGEuDHoAJvWUlngTBug&XY9Fx@Ze zS?>sQwd%%qNBs)A9%RG!YIys~ZM6oanKhAVONzD+GR$vgJ-oVMSaoYi!>{xur$;4q z`Qx^|EV`%sMsWL*GybLzefXNr8JNUfe&LoG0n@*Z4v7xR?<_si@_Ny_0rdp_Th9(G zV}8E7HgSHP^d8t=@^(iweH|xMsnna)3>W74^T&B&*8V&)Z+COjvkoKtpJN`LzwQ++ zQ732erWCHY=6}p@ucXI=RR`a@s%FUvjWQkUM44w9Pw-)HoLw(X#&bQs+HN8N3|`Gc==9H-_b9o^fH&Kam?uAykEoZ=JK)P zJ&Hk2k3`zmEpxe9RUV)rQ@&XL;mi8*e4Pqv#3gCh;lI0%P5Hnu&g#^Bn{y>gZF1XX>bk>ifxC*{SLelNAuyq;uXTmN+1qRdk( zHhx1)adk_sZG5%<(*d6+l|74>7Vp_r&~0k-u?udzRULjH2b40l_sj2SUOLf~)LRs; zt@8Y#f0)n(>xKzE`=)J&5?01|9_&ua5$cy*sbjnFgI#rWesAuwwO)Fi0TJca5qTFX z3wOV{?N=b^h}2erA2$K_vETrzy~4!C%+b+K+txR5Yh?I3Mv%3RqnCH2WdtLDUvG5) z!#f;L0T01J5vHcWQFvD!B1nMfkU-jkNF>ma>qa<3Asr%#UvFK6SD-TUrz=>ILbA=!I!wAXfVZc;Tt+Z?KGvkdnh7lX}V+HwjM9BqYNWrzHvUSFH2) z-y9uZ4hPAP5ES`j=!4LuoS_pn8ga1E()^h-|a;$(_ zEE$O>VJSuM7o!%`R5bfu;lFv1f#N1w{ZuW2dMvdjJ(}7yvf= zp!5K1V+uu9df@(2$S*{j0mcA%v>GRcrE~G@&%c3GvDZmh{uWIfq2OlHMFq7A$1r{C z&LoTNb!@UQlbrqDe2FJ_9%!&ny^UD=%P!#sdGl*gJ%;Ak= z41hPz0`z~-!X}zc3&yFe9&5D%oU^mhYylIHK3kj|T2QffEl$Fi^TjKQ1bgwXF>+qS z1c>D*`Sma)e>p(%_Ck^%&&-w|_7N<`G#l^#rkV5WC2VjQ2Qvi18lNK&&f*Vf<=o6* zz?pdJY+}LP2(awG#A3PSnb6VkxzO3BheBry^#358Z5SBoD4|S%YbJDb!d&QV;iAwn za{doFb28Cv=olk2fU}%>4)DKD1fX*+bl9|0IPfqnvM+*W!b91f1CMh;E@OrmNGxY#axN=S z2(z7y@;}}|&18<~IQJqbfZ6UfhXl?Y4JJtJrwaIGI7lh&Ct>S~bCHBmOr*0GF+lSF z@HEcF6-x4KPouC=%pjT7GnZtxWB~xq1>67DvkvD14cNElYZXR?SI(_H9mu>JeP>S`x+TL zNB-T{<`O|toM{tmhG(*fq^$!wnSF;^)4nWR<2@~1hYze2n5mb7z9Fda;0q{7n zHpeJ9B|Df|vCE!jP{it)!!IY`M#0T?L^1~)Mi4tlXU>H8?~X<0gxDy&**-<)Fv!*u zrz{K86Xy)T))Q%_o>(uk>9%K|NXVRM8zAC@cyq0VElD;R9JK7Mg^iZX+6xiKtsosz zu>rT(mL&wdh9$^r>4GX{@LdI}W_Aat4<%vl!0rIWpd@y(M1!%-KPY%-fS0FtAUO1g zYvReE^7n`@P98CG!7WClw}He!hzm|s0Soc)8lGM|e8I0z>o9^mbs~d&(N~BdAy(^x zTf|3VAqT%G4O)tF>9EROXnaaC*pS50-ktKM;6W;I@-fp-Z?!6fF}YOnexRgM2y@3!e(y_E6+wvJjdo(^pgna)R_p-s(bLm z*O;MVb5Jp2K|UJ+2^AxDK;ZOH5D{O1qt^|mfPf$IVDTtmIg=_9;Dv-aD(5A@3kgeG zaC!hQBy2z7^q{ng9=Ihc zY~x}{4%IML`^JV#0Th$T`beV(PEiarW@WqdGdF{ReUvjMY6$G#j>Ax(cEJ9y2kSu1 z06T)SL8DfHt+MP6AUGnn65=(&ynrKldFr54g@b-<)o=s(Y2QGwR^VMRpa3mv>Vm&> zksLqVB9_Qkh6M-eY>Nz!2oCg(W_u+GiQVSBviWD3hLYxo}d5{4#rn~R$>Z%AKS(r#Hzzg0AK^fa)Cw@)j zaRgXGy#Wac#6tqEgjj(15UlwGz#0h_uwoPO4fvhvzJ0sSeby@?HMdfp zJglCpc%$*)u=?o!at5dLzkhOc-Q@pMo5$~<^?r9)J#{8iFmvbTkB8ND)W$!rRTrKF zJY!$t0ovPln71{!0_jGdX^8;&rc~~t6(k%F*e)?4BkcEwYZWh|<)JRp;jR$^RBmF} z{E`)Z-Nb0hcrTD)#?eJx_5eR_)xdVWms(h7%h@|%w|Vn=b^ZfPfJawvR~MeLQ5M~Y zPrkAF(B0}8Tlm?!Wsy^|eSyOwr=0Wx$RcCAId`Ml|424zi%w0XxCjK1pF!A`!|_YG zbeCdiM<(2{Fxvy9y*N6UmqdNcTNkn$P!FN-Bd^aZ(vzUH!RGsH4&U;7Ig^P5% z__=q3b1TC*YZW(VY4br=#C@Y59aa0AA0Aa_pJo+y_%xf}d0_66{pYB<_&hY(^}KG& zp5x{hhtkMoc|+dy7=4G$>j?UL*D1yP>Sp!Q zrAhssynXNJ`2NB52Z#4h4j#R8k3QPbEu*iyX5ASpgiUv=dg+--vz~na1n1)5-FI#v z-=>8~)Ywk3{QdH`Vyj|SHUGF(J@%#%X1Xf4|M2kI-6L}rn$f-7n;^FItz?Wiw(K!> z+v1qY+G^erhYf6-dUN%y>Lbq@pKhV$Oejo!yE?bAxeTyZJ7!3>*z62fLr0=NG{W3G zdhmdA_Xjtr1455>^p*Ga-@Si$K+)~Scd3#bTzflv9An(eZ|~fCaA>FX!5_nAU?ZyyyEbyv-ETaK^&=`-2NR7?j&DA+k)gquh1%PHbaLbP&AeH-bRn0o77h~X{>HiQr*Z5%O$>#KL2V~=$EjW z<=Dp1e(X^&x=D$3liunk7pa@rtwTMTg1{6Q`S|#Ub~WjvZhA7Xn~IMe#pdi)AKs~+ z-p_8rb`I2bF^t`mmf1xrU1~PJzf*nu#char_1%Ye-@ea>U*;I>%ZK;uzj)ODzEedW zhWgXb^QuO?JphQxPt8N?O%Ddt&x`*WpnFZb<6Ha{`Fqf z4CZ6nzrFi=XYwC)oy<`xVNEUtJ6LN><6vuZOB}2-&(Oj832#^o+(e6GN<^x%(ztER z?mE0I%?_3?6*yQhhrfhj(2N60;JP(FFJaU~yUk~gt4|CT4wS#O$#!%Jqr{y{giBam zuWAb%mN4*g)z-nHC6Je}nlikpZT>B&))4&p?ZU+~v2l%~B`izWs11@x*hyVYRZ~^keZu5 z#jLFxF7KfA%MQ5@ zcFAu>|FE`L!69Z<;b6TLB^>M&N$YD1#Y((Bm+u{H)vmc)<$(Fpn1cl+KYS_F>XS-S ztWA-Y{lz$o{V*%5m?N$dk!-)`YB9)&Dx3a9OyDC?&jBaGixc0VvUFJ4A89sEnLxgC z#v3ME5#UVE)u3lAAtAm5{H7gpz{;<#!NSPE zd<9L$s7Lc{^k0xah~{d{I{B55j+;4nVqmPN6+O!plNQnm#^r)X`D@TUg4o0AzQaCR z{jVH^+ln$U^OLriN`ZAlE%HfZC7u#-lO=n~f%|+Zw1jc5QK%L9a)WOhaU>1K`e*Vt zDT%3UQZHJsiEFzUS`M6|@DA}NhjSUJE-H@qWlXO^rxC>x%mg%mA+hvFJ*C&Y?R*_+344fD5|KT=? zGm6_}->WJn$b!YPaf(1xFfZ!ZDG1jVT2HXenIBYVhA1uoXQMGRpm880hAI`n27o@_+n zq4afiDe3C^AetM$Ru)HpgICiv*XqUIVCSp?GSAxn;3WcC9T)T^-~}ccnWrJFh{V5z z62#XMJ;AMhu{XRpVFh3NH`^~Bp5T8D#+O>Xa2b0P+hp`-+jZ7ml30VdZ0SGb(K^(G z3>@=$9s7MZLHtm~Ydd>jphOI6N0_uF4oke)i;5>lhFGw#VxoFb}&I7Rdr13O(b)Np#c3re;z$trBs^h`qTvMC-P2=uZYaOAzh!^(-2 z5DYcJE5SfML^>p~>bV~Q6DGuUwz6ljO(Cc#24s6X#vBA=?RD1p#D3o~*doX1Xc1$^ zmHY+HgV&-%9U||n$gF!i7E-PR$??n@V(%3f{i&l2OhO1Y7=JbEznz#cL#vk*0~0&i zp(zK`+(JnC9*V=mvz4~_w84nC4T5{DpC>gcU15A8Q##}TkC*L!)ydWo+sf7r*fnw6 z@w@##)%{9+iXJ894Hm(&XJ8~urKFGfyHlC|vxvch;%$-a5pSyx`2tNz>X_exaj^XM zNdb#>zECj1wn1>6%kTwakB0MPrLi4PE%0n1o(g1zg!?0k-ZOO^2m}Pk5qPgakakIm zlV%d*6melaA4T+nOuCD9(;+7zX7a~%e#)p^U6;fIBhewDLF|JaTPWKyKQFQoEx&+` z@&~Xqi#Q8BOXYO6sp|Y^ZaC#)q;YAVk zA^HQDSU?g*qoW)aHkuGeEE{H9EFjsL&E+3+RFz=U%{>tm`Rz|6=N1$B93Y;kKxegx9PSECcgAK`zL+NjF_$3l|H{ypz`X1tn{< zo6I^_-QqkUuoQL{`ND7kq?nO{I%DphAy!}3Tjsp$#OS$+7biE8p9|) z3t~``?R`yy#`&o-H^HbnCm{CaAhgYwmt5OYhkeU_O+CK7G+s&Ig5s6XFZHC)q;1Ou zniqf02O}$_MV^FH;}+Kp z9Jv^!Zb@ofSrIxM6Q==~biSupPMQeP4Z>ukAWU0QeZGbQqSxIt?)?O5toc*$R4c?& z)DedccH1<$k9Y#Aj|fwDh&lVmz?uuAj$#6M|B`7V4(LdJExKw~^> z&mTAjqBn?%L?VJ%L?%dWoBoXdcV-s_`3tEA%I1H_5nvef8n{LR+k^fbudov_z9lkA8~kO zJqWo_0YcV*+vGc>gd$`m4J`xrr}W1zO`3I1AHr@_X8jLj~4xX4f1RGk({x8p~h|v zhJF($W_!a*g0vSQrB*hE7faRBP_~i|x$Nh6uvx>8e%%x+OQO{j4&g4#tQjwhY}M%GorF7qlkygU>nmAT$o>@6P zC|b|zIDShwz~+-Q1FuQtW9kKiP$m)X51bYB9E=Aks+GKmSpLAvINFwA+lQ7!pu+u} zyb#93?Ug{CM1qKMz#H)D8`w_UJ~5WU$ak!{L;2ostLHed!Z(PIk9p?F+$4LJg@FMn?D|D(KNUs>XY<%5Uc XdvJ8~40C{g&OG+=%U`(q+L`|WmUO*@ delta 33427 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 diff --git a/ReadMe.md b/ReadMe.md index 2c727def..f36aeaa5 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -3,7 +3,7 @@ ## Z80/Z180 System Software Version 3.1 Pre-release -Sunday 6 December 2020 +Tuesday 5 January 2021 Wayne Warthen @@ -707,7 +707,7 @@ most stable and you are less likely to encounter problems. ### Notes - You can change media, but it must be done while at the OS command - prompt and you **must** warm start CP/M by pressing ctrl-c. This is + prompt and you **must** warm start CP/M by pressing ctrl-c. This is a CP/M 2.2 constraint and is well documented in the DRI manuals. - The original versions of DDT, DDTZ, and ZSID used the RST 38 vector @@ -1038,7 +1038,7 @@ system, you can use the FLASH application to update your ROM. The following is a typical example of transferring ROM image using XModem and flashing the chip in-situ. - E>xm r rom.img + E>xm r rom.rom XMODEM v12.5 - 07/13/86 RBC, 28-Aug-2019 [WBW], ASCI @@ -1050,7 +1050,7 @@ and flashing the chip in-situ. Thanks for the upload - E>flash write rom.img + E>flash write rom.rom FLASH4 by Will Sowerbutts version 1.2.3 Using RomWBW (v2.6+) bank switching. @@ -1179,6 +1179,36 @@ images. - FAT.COM - TUNE.COM +# System Update + +If the system running ROMWBW utilizes the SST39SF040 Flash chip then it +is possible to do a System Update in place of a System Upgrade in some +cases. + +A System Update would involve only updating the BIOS, ROM applications +and CP/M system. + +A System Update may be more favorable than a System Upgrade in cases +such as: + + - Overwriting of the ROM drive is not desired. + - Space is unavailable to hold a full ROMWBW ROM. + - To mimimize time taken to transfer and flash a full ROM. + - Configuration changes are only minor and do not impact disk + applications. + +The ROMWBW build process generates a system upgrade file along with the +normal ROM image and can be identified by the extension “.upd”. It will +be 128Kb in size. In comparison the normal ROM image will have the +extension “.rom” and be 512Kb or 1024Kb in size. + +Transferring and flashing the System Update is accomplished in the same +manner as described above in *Upgrading* with the required difference +being that the flash application needs to be directed to complete a +partial flash using the /p command line switch. + +`E>flash write rom.upd /p` + # RomWBW Distribution All source code and distributions are maintained on GitHub. Code diff --git a/ReadMe.txt b/ReadMe.txt index 6f2caed9..1ba93914 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -3,7 +3,7 @@ RomWBW Z80/Z180 System Software Version 3.1 Pre-release -Sunday 6 December 2020 +Tuesday 5 January 2021 Wayne Warthen wwarthen@gmail.com @@ -1061,7 +1061,7 @@ system, you can use the FLASH application to update your ROM. The following is a typical example of transferring ROM image using XModem and flashing the chip in-situ. - E>xm r rom.img + E>xm r rom.rom XMODEM v12.5 - 07/13/86 RBC, 28-Aug-2019 [WBW], ASCI @@ -1073,7 +1073,7 @@ and flashing the chip in-situ. Thanks for the upload - E>flash write rom.img + E>flash write rom.rom FLASH4 by Will Sowerbutts version 1.2.3 Using RomWBW (v2.6+) bank switching. @@ -1199,6 +1199,36 @@ Binary\Apps directory of the distribution and in all of the disk images. - FAT.COM - TUNE.COM +System Update + +If the system running ROMWBW utilizes the SST39SF040 Flash chip then it +is possible to do a System Update in place of a System Upgrade in some +cases. + +A System Update would involve only updating the BIOS, ROM applications +and CP/M system. + +A System Update may be more favorable than a System Upgrade in cases +such as: + +- Overwriting of the ROM drive is not desired. +- Space is unavailable to hold a full ROMWBW ROM. +- To mimimize time taken to transfer and flash a full ROM. +- Configuration changes are only minor and do not impact disk + applications. + +The ROMWBW build process generates a system upgrade file along with the +normal ROM image and can be identified by the extension “.upd”. It will +be 128Kb in size. In comparison the normal ROM image will have the +extension “.rom” and be 512Kb or 1024Kb in size. + +Transferring and flashing the System Update is accomplished in the same +manner as described above in Upgrading with the required difference +being that the flash application needs to be directed to complete a +partial flash using the /p command line switch. + +E>flash write rom.upd /p + RomWBW Distribution All source code and distributions are maintained on GitHub. Code