From d80c43d83b3fad1a59a760d5f4a41b4be212735c Mon Sep 17 00:00:00 2001 From: wayne Date: Sun, 31 Mar 2013 00:49:34 +0000 Subject: [PATCH] Reintegrate wbw -> trunk --- DiskImg/Build.ps1 | 59 +- DiskImg/hd0/u0/ASM.COM | Bin 0 -> 8192 bytes DiskImg/hd0/u0/CLRDIR.COM | Bin 0 -> 1619 bytes DiskImg/hd0/u0/CR.COM | Bin 0 -> 6144 bytes DiskImg/hd0/u0/DDT.COM | Bin 0 -> 4864 bytes DiskImg/hd0/u0/DDTZ.COM | Bin 0 -> 7424 bytes DiskImg/hd0/u0/DDTZ.DOC | 564 ++++++++++++ DiskImg/hd0/u0/DIF.COM | Bin 0 -> 2944 bytes DiskImg/hd0/u0/DIRX.COM | Bin 0 -> 3072 bytes DiskImg/hd0/u0/DUMP.COM | Bin 0 -> 512 bytes DiskImg/hd0/u0/ED.COM | Bin 0 -> 6656 bytes DiskImg/hd0/u0/LBREXT.COM | Bin 0 -> 8576 bytes DiskImg/hd0/u0/LIB.COM | Bin 0 -> 7168 bytes DiskImg/hd0/u0/LINK.COM | Bin 0 -> 15744 bytes DiskImg/hd0/u0/LOAD.COM | Bin 0 -> 1792 bytes DiskImg/hd0/u0/MAC.COM | Bin 0 -> 11776 bytes DiskImg/hd0/u0/MBASIC.COM | Bin 0 -> 24320 bytes DiskImg/hd0/u0/NULU.COM | Bin 0 -> 15616 bytes DiskImg/hd0/u0/PIP.COM | Bin 0 -> 7424 bytes DiskImg/hd0/u0/RMAC.COM | Bin 0 -> 13568 bytes DiskImg/hd0/u0/SID.COM | Bin 0 -> 7936 bytes DiskImg/hd0/u0/STAT.COM | Bin 0 -> 5248 bytes DiskImg/hd0/u0/SUBMIT.COM | Bin 0 -> 1280 bytes DiskImg/hd0/u0/SUPERSUB.COM | Bin 0 -> 2176 bytes DiskImg/hd0/u0/UNARC.COM | Bin 0 -> 4736 bytes DiskImg/hd0/u0/UNCR.COM | Bin 0 -> 8576 bytes DiskImg/hd0/u0/UNZIP.COM | Bin 0 -> 3328 bytes DiskImg/{hd3 => hd0/u0}/VIDATT.Z80 | 0 DiskImg/hd0/u0/WS.COM | Bin 0 -> 7168 bytes DiskImg/{hd3 => hd0/u0}/WS.OVR | Bin DiskImg/{hd3 => hd0/u0}/WSCHANGE.COM | Bin DiskImg/{hd3 => hd0/u0}/WSCHANGE.OVR | Bin DiskImg/{hd3 => hd0/u0}/WSCHHELP.OVR | Bin DiskImg/{hd3 => hd0/u0}/WSHELP.OVR | Bin DiskImg/{hd3 => hd0/u0}/WSMSGS.OVR | Bin DiskImg/{hd3 => hd0/u0}/WSPRINT.OVR | Bin DiskImg/{hd3 => hd0/u0}/WSREADME.TXT | 0 DiskImg/{hd3 => hd0/u0}/WSSHORT.OVR | Bin DiskImg/{hd3 => hd0/u0}/WSU.COM | Bin DiskImg/hd0/u0/XSUB.COM | Bin 0 -> 768 bytes DiskImg/hd0/u0/ZAP.COM | Bin 0 -> 9856 bytes DiskImg/hd0/u0/ZDE.COM | Bin 0 -> 16896 bytes DiskImg/hd0/u0/ZDENST.COM | Bin 0 -> 10624 bytes DiskImg/hd0/u1/SAMPKEY.DOC | 134 +++ DiskImg/hd0/u1/SAMPKEY.ZDK | Bin 0 -> 512 bytes DiskImg/hd0/u1/SAMPKEY.ZDT | 11 + DiskImg/hd0/u1/ZDE10.DOC | 1049 ++++++++++++++++++++++ DiskImg/hd0/u1/ZDE10.FOR | 7 + DiskImg/hd0/u1/ZDE10.NEW | 304 +++++++ DiskImg/hd0/u1/ZDE10.QRF | 55 ++ DiskImg/hd0/u1/ZDE10.TOC | 67 ++ DiskImg/hd0/u1/ZDE13.FOR | 8 + DiskImg/hd0/u1/ZDE13.NEW | 241 +++++ DiskImg/hd0/u1/ZDE16.COM | Bin 0 -> 16896 bytes DiskImg/hd0/u1/ZDE16.DIR | 25 + DiskImg/hd0/u1/ZDE16.FIX | Bin 0 -> 2048 bytes DiskImg/hd0/u1/ZDE16.FOR | 8 + DiskImg/hd0/u1/ZDE16.NEW | 498 ++++++++++ DiskImg/hd0/u1/ZDENST16.COM | Bin 0 -> 10624 bytes DiskImg/hd0/u1/ZDEPROP.DOC | 139 +++ DiskImg/hd0/u1/ZDEPROP.Z80 | 119 +++ DiskImg/hd0/u1/ZDKCOM13.COM | Bin 0 -> 1792 bytes DiskImg/hd0/u1/ZDKCOM13.DOC | 209 +++++ DiskImg/hd0/u2/VIDATT.Z80 | 69 ++ DiskImg/hd0/u2/WS.OVR | Bin 0 -> 53248 bytes DiskImg/hd0/u2/WSCHANGE.COM | Bin 0 -> 35328 bytes DiskImg/hd0/u2/WSCHANGE.OVR | Bin 0 -> 22528 bytes DiskImg/hd0/u2/WSCHHELP.OVR | Bin 0 -> 29696 bytes DiskImg/hd0/u2/WSHELP.OVR | Bin 0 -> 25856 bytes DiskImg/hd0/u2/WSMSGS.OVR | Bin 0 -> 13824 bytes DiskImg/hd0/{X0.DAT => u2/WSPRINT.OVR} | Bin DiskImg/{hd3 => hd0/u2}/WSPRINT.TST | 0 DiskImg/hd0/u2/WSREADME.TXT | 880 ++++++++++++++++++ DiskImg/hd0/u2/WSSHORT.OVR | Bin 0 -> 512 bytes DiskImg/hd0/u2/WSU.COM | Bin 0 -> 7168 bytes DiskImg/hd1/X1.DAT | Bin 150528 -> 0 bytes DiskImg/hd1/u0/CLOCKS.DAT | Bin 0 -> 26880 bytes DiskImg/hd1/u0/COPY.CFG | Bin 0 -> 3456 bytes DiskImg/hd1/u0/COPY.COM | Bin 0 -> 6912 bytes DiskImg/hd1/u0/COPY.UPD | 43 + DiskImg/hd1/u0/DATSWEEP.COM | Bin 0 -> 34816 bytes DiskImg/hd1/u0/DSCONFIG.COM | Bin 0 -> 16384 bytes DiskImg/hd1/u0/FA16.CFG | Bin 0 -> 3072 bytes DiskImg/hd1/u0/FA16.DOC | 264 ++++++ DiskImg/hd1/u0/FA16A.FOR | 6 + DiskImg/hd1/u0/FA16CFG.TXT | 39 + DiskImg/hd1/u0/FILEATTR.COM | Bin 0 -> 4096 bytes DiskImg/hd1/u0/FILEDATE.CFG | Bin 0 -> 4992 bytes DiskImg/hd1/u0/FILEDATE.COM | Bin 0 -> 4352 bytes DiskImg/hd1/u0/INITDIR.CFG | Bin 0 -> 384 bytes DiskImg/hd1/u0/INITDIR.COM | Bin 0 -> 2048 bytes DiskImg/hd1/u0/PUTBG.COM | Bin 0 -> 18432 bytes DiskImg/hd1/u0/PUTDS.COM | Bin 0 -> 13056 bytes DiskImg/hd1/u0/RELOG.COM | Bin 0 -> 256 bytes DiskImg/hd1/u0/SETTERM.COM | Bin 0 -> 19840 bytes DiskImg/hd1/u0/SETUPZST.COM | Bin 0 -> 7936 bytes DiskImg/hd1/u0/STAMPS.DAT | Bin 0 -> 11392 bytes DiskImg/hd1/u0/TD.CFG | Bin 0 -> 384 bytes DiskImg/hd1/u0/TD.COM | Bin 0 -> 2048 bytes DiskImg/hd1/u0/TERMBASE.DAT | Bin 0 -> 6400 bytes DiskImg/hd1/u0/TESTCLOK.COM | Bin 0 -> 6400 bytes DiskImg/hd1/u0/ZCAL.COM | Bin 0 -> 1280 bytes DiskImg/hd1/u0/ZCNFG.COM | Bin 0 -> 8064 bytes DiskImg/hd1/u0/ZCNFG24.CFG | Bin 0 -> 4608 bytes DiskImg/hd1/u0/ZPATH.COM | Bin 0 -> 2176 bytes DiskImg/hd1/u0/ZSCONFIG.COM | Bin 0 -> 5888 bytes DiskImg/hd1/u0/ZSVSTAMP.COM | Bin 0 -> 1792 bytes DiskImg/hd1/u0/ZSVSTAMP.DOC | 118 +++ DiskImg/hd1/u0/ZXD.CFG | Bin 0 -> 2048 bytes DiskImg/hd1/u0/ZXD.COM | Bin 0 -> 6784 bytes DiskImg/hd2/X2.DAT | Bin 150528 -> 0 bytes RomDsk/CPM_1024KB/ZDE.COM | Bin 16896 -> 16896 bytes RomDsk/CPM_512KB/ZDE.COM | Bin 16896 -> 16896 bytes RomDsk/ZSYS_1024KB/ZDE.COM | Bin 16896 -> 16896 bytes RomDsk/ZSYS_512KB/ZDE.COM | Bin 16896 -> 16896 bytes RomDsk/cfg_n8vem_dsd/1200.COM | Bin 0 -> 128 bytes RomDsk/cfg_n8vem_dsd/38400.COM | Bin 0 -> 128 bytes RomDsk/cfg_n8vem_dsd/9600.COM | Bin 0 -> 128 bytes RomDsk/cfg_n8vem_dsd/FLASHZ.COM | Bin 0 -> 800 bytes RomDsk/cfg_n8vem_dsd/LDTIM.COM | Bin 0 -> 3584 bytes RomDsk/cfg_n8vem_dsd/RTC.COM | Bin 0 -> 2048 bytes RomDsk/cfg_n8vem_dsd/T5.COM | Bin 0 -> 96 bytes RomDsk/cfg_n8vem_dsd/VT3.COM | Bin 0 -> 1278 bytes RomDsk/cfg_n8vem_dsd/XM.COM | Bin 0 -> 5375 bytes RomDsk/cfg_n8vem_dsd/XM5.COM | Bin 0 -> 3072 bytes Source/cbios.asm | 136 ++- Source/cnfgdata.inc | 2 +- Source/config_n8_2312.asm | 6 +- Source/config_n8_2511.asm | 6 +- Source/config_n8vem_cvdu.asm | 6 +- Source/config_n8vem_dide.asm | 6 +- Source/config_n8vem_diskio.asm | 6 +- Source/config_n8vem_diskio3.asm | 6 +- Source/config_n8vem_dsd.asm | 92 ++ Source/config_n8vem_ppide.asm | 6 +- Source/config_n8vem_ppisd.asm | 6 +- Source/config_n8vem_propio.asm | 6 +- Source/config_n8vem_simh.asm | 6 +- Source/config_n8vem_std.asm | 6 +- Source/config_n8vem_vdu.asm | 6 +- Source/config_zeta_ppp.asm | 6 +- Source/config_zeta_std.asm | 6 +- Source/fd_data.asm | 173 ---- Source/fd_dph.asm | 72 ++ Source/{hdsk_data.asm => hdsk_dph.asm} | 8 +- Source/{ide_data.asm => ide_dph.asm} | 8 +- Source/{ppide_data.asm => ppide_dph.asm} | 10 +- Source/ppp.asm | 2 + Source/{ppp_data.asm => ppp_dph.asm} | 8 +- Source/{prp_data.asm => prp_dph.asm} | 8 +- Source/sd.asm | 979 +++++++++++--------- Source/{sd_data.asm => sd_dph.asm} | 8 +- Source/std.asm | 10 + 153 files changed, 5709 insertions(+), 807 deletions(-) create mode 100644 DiskImg/hd0/u0/ASM.COM create mode 100644 DiskImg/hd0/u0/CLRDIR.COM create mode 100644 DiskImg/hd0/u0/CR.COM create mode 100644 DiskImg/hd0/u0/DDT.COM create mode 100644 DiskImg/hd0/u0/DDTZ.COM create mode 100644 DiskImg/hd0/u0/DDTZ.DOC create mode 100644 DiskImg/hd0/u0/DIF.COM create mode 100644 DiskImg/hd0/u0/DIRX.COM create mode 100644 DiskImg/hd0/u0/DUMP.COM create mode 100644 DiskImg/hd0/u0/ED.COM create mode 100644 DiskImg/hd0/u0/LBREXT.COM create mode 100644 DiskImg/hd0/u0/LIB.COM create mode 100644 DiskImg/hd0/u0/LINK.COM create mode 100644 DiskImg/hd0/u0/LOAD.COM create mode 100644 DiskImg/hd0/u0/MAC.COM create mode 100644 DiskImg/hd0/u0/MBASIC.COM create mode 100644 DiskImg/hd0/u0/NULU.COM create mode 100644 DiskImg/hd0/u0/PIP.COM create mode 100644 DiskImg/hd0/u0/RMAC.COM create mode 100644 DiskImg/hd0/u0/SID.COM create mode 100644 DiskImg/hd0/u0/STAT.COM create mode 100644 DiskImg/hd0/u0/SUBMIT.COM create mode 100644 DiskImg/hd0/u0/SUPERSUB.COM create mode 100644 DiskImg/hd0/u0/UNARC.COM create mode 100644 DiskImg/hd0/u0/UNCR.COM create mode 100644 DiskImg/hd0/u0/UNZIP.COM rename DiskImg/{hd3 => hd0/u0}/VIDATT.Z80 (100%) create mode 100644 DiskImg/hd0/u0/WS.COM rename DiskImg/{hd3 => hd0/u0}/WS.OVR (100%) rename DiskImg/{hd3 => hd0/u0}/WSCHANGE.COM (100%) rename DiskImg/{hd3 => hd0/u0}/WSCHANGE.OVR (100%) rename DiskImg/{hd3 => hd0/u0}/WSCHHELP.OVR (100%) rename DiskImg/{hd3 => hd0/u0}/WSHELP.OVR (100%) rename DiskImg/{hd3 => hd0/u0}/WSMSGS.OVR (100%) rename DiskImg/{hd3 => hd0/u0}/WSPRINT.OVR (100%) rename DiskImg/{hd3 => hd0/u0}/WSREADME.TXT (100%) rename DiskImg/{hd3 => hd0/u0}/WSSHORT.OVR (100%) rename DiskImg/{hd3 => hd0/u0}/WSU.COM (100%) create mode 100644 DiskImg/hd0/u0/XSUB.COM create mode 100644 DiskImg/hd0/u0/ZAP.COM create mode 100644 DiskImg/hd0/u0/ZDE.COM create mode 100644 DiskImg/hd0/u0/ZDENST.COM create mode 100644 DiskImg/hd0/u1/SAMPKEY.DOC create mode 100644 DiskImg/hd0/u1/SAMPKEY.ZDK create mode 100644 DiskImg/hd0/u1/SAMPKEY.ZDT create mode 100644 DiskImg/hd0/u1/ZDE10.DOC create mode 100644 DiskImg/hd0/u1/ZDE10.FOR create mode 100644 DiskImg/hd0/u1/ZDE10.NEW create mode 100644 DiskImg/hd0/u1/ZDE10.QRF create mode 100644 DiskImg/hd0/u1/ZDE10.TOC create mode 100644 DiskImg/hd0/u1/ZDE13.FOR create mode 100644 DiskImg/hd0/u1/ZDE13.NEW create mode 100644 DiskImg/hd0/u1/ZDE16.COM create mode 100644 DiskImg/hd0/u1/ZDE16.DIR create mode 100644 DiskImg/hd0/u1/ZDE16.FIX create mode 100644 DiskImg/hd0/u1/ZDE16.FOR create mode 100644 DiskImg/hd0/u1/ZDE16.NEW create mode 100644 DiskImg/hd0/u1/ZDENST16.COM create mode 100644 DiskImg/hd0/u1/ZDEPROP.DOC create mode 100644 DiskImg/hd0/u1/ZDEPROP.Z80 create mode 100644 DiskImg/hd0/u1/ZDKCOM13.COM create mode 100644 DiskImg/hd0/u1/ZDKCOM13.DOC create mode 100644 DiskImg/hd0/u2/VIDATT.Z80 create mode 100644 DiskImg/hd0/u2/WS.OVR create mode 100644 DiskImg/hd0/u2/WSCHANGE.COM create mode 100644 DiskImg/hd0/u2/WSCHANGE.OVR create mode 100644 DiskImg/hd0/u2/WSCHHELP.OVR create mode 100644 DiskImg/hd0/u2/WSHELP.OVR create mode 100644 DiskImg/hd0/u2/WSMSGS.OVR rename DiskImg/hd0/{X0.DAT => u2/WSPRINT.OVR} (100%) rename DiskImg/{hd3 => hd0/u2}/WSPRINT.TST (100%) create mode 100644 DiskImg/hd0/u2/WSREADME.TXT create mode 100644 DiskImg/hd0/u2/WSSHORT.OVR create mode 100644 DiskImg/hd0/u2/WSU.COM delete mode 100644 DiskImg/hd1/X1.DAT create mode 100644 DiskImg/hd1/u0/CLOCKS.DAT create mode 100644 DiskImg/hd1/u0/COPY.CFG create mode 100644 DiskImg/hd1/u0/COPY.COM create mode 100644 DiskImg/hd1/u0/COPY.UPD create mode 100644 DiskImg/hd1/u0/DATSWEEP.COM create mode 100644 DiskImg/hd1/u0/DSCONFIG.COM create mode 100644 DiskImg/hd1/u0/FA16.CFG create mode 100644 DiskImg/hd1/u0/FA16.DOC create mode 100644 DiskImg/hd1/u0/FA16A.FOR create mode 100644 DiskImg/hd1/u0/FA16CFG.TXT create mode 100644 DiskImg/hd1/u0/FILEATTR.COM create mode 100644 DiskImg/hd1/u0/FILEDATE.CFG create mode 100644 DiskImg/hd1/u0/FILEDATE.COM create mode 100644 DiskImg/hd1/u0/INITDIR.CFG create mode 100644 DiskImg/hd1/u0/INITDIR.COM create mode 100644 DiskImg/hd1/u0/PUTBG.COM create mode 100644 DiskImg/hd1/u0/PUTDS.COM create mode 100644 DiskImg/hd1/u0/RELOG.COM create mode 100644 DiskImg/hd1/u0/SETTERM.COM create mode 100644 DiskImg/hd1/u0/SETUPZST.COM create mode 100644 DiskImg/hd1/u0/STAMPS.DAT create mode 100644 DiskImg/hd1/u0/TD.CFG create mode 100644 DiskImg/hd1/u0/TD.COM create mode 100644 DiskImg/hd1/u0/TERMBASE.DAT create mode 100644 DiskImg/hd1/u0/TESTCLOK.COM create mode 100644 DiskImg/hd1/u0/ZCAL.COM create mode 100644 DiskImg/hd1/u0/ZCNFG.COM create mode 100644 DiskImg/hd1/u0/ZCNFG24.CFG create mode 100644 DiskImg/hd1/u0/ZPATH.COM create mode 100644 DiskImg/hd1/u0/ZSCONFIG.COM create mode 100644 DiskImg/hd1/u0/ZSVSTAMP.COM create mode 100644 DiskImg/hd1/u0/ZSVSTAMP.DOC create mode 100644 DiskImg/hd1/u0/ZXD.CFG create mode 100644 DiskImg/hd1/u0/ZXD.COM delete mode 100644 DiskImg/hd2/X2.DAT create mode 100644 RomDsk/cfg_n8vem_dsd/1200.COM create mode 100644 RomDsk/cfg_n8vem_dsd/38400.COM create mode 100644 RomDsk/cfg_n8vem_dsd/9600.COM create mode 100644 RomDsk/cfg_n8vem_dsd/FLASHZ.COM create mode 100644 RomDsk/cfg_n8vem_dsd/LDTIM.COM create mode 100644 RomDsk/cfg_n8vem_dsd/RTC.COM create mode 100644 RomDsk/cfg_n8vem_dsd/T5.COM create mode 100644 RomDsk/cfg_n8vem_dsd/VT3.COM create mode 100644 RomDsk/cfg_n8vem_dsd/XM.COM create mode 100644 RomDsk/cfg_n8vem_dsd/XM5.COM create mode 100644 Source/config_n8vem_dsd.asm delete mode 100644 Source/fd_data.asm create mode 100644 Source/fd_dph.asm rename Source/{hdsk_data.asm => hdsk_dph.asm} (88%) rename Source/{ide_data.asm => ide_dph.asm} (87%) rename Source/{ppide_data.asm => ppide_dph.asm} (85%) rename Source/{ppp_data.asm => ppp_dph.asm} (88%) rename Source/{prp_data.asm => prp_dph.asm} (88%) rename Source/{sd_data.asm => sd_dph.asm} (87%) diff --git a/DiskImg/Build.ps1 b/DiskImg/Build.ps1 index 9c7d0022..a86a167f 100644 --- a/DiskImg/Build.ps1 +++ b/DiskImg/Build.ps1 @@ -4,55 +4,30 @@ $CpmToolsPath = '..\tools\cpmtools' $env:PATH = $CpmToolsPath + ';' + $env:PATH -$ImgFile = "..\Output\Disk.img" +$ImgFile = "hd.img" $Blank = ([byte[]](0xE5) * (128KB * 65)) "Creating work file..." if (!(Test-Path('Blank.tmp'))) {Set-Content -Value $Blank -Encoding byte -Path 'Blank.tmp'} -"Adding files to partition 0..." -copy Blank.tmp hd0.tmp -if (Test-Path ('hd0\*')) {cpmcp -f hd0 hd0.tmp hd0/*.* 0:} - -"Adding files to partition 1..." -copy Blank.tmp hd1.tmp -if (Test-Path ('hd1\*')) {cpmcp -f hd0 hd1.tmp hd1/*.* 0:} - -"Adding files to partition 2..." -copy Blank.tmp hd2.tmp -if (Test-Path ('hd2\*')) {cpmcp -f hd0 hd2.tmp hd2/*.* 0:} - -"Adding files to partition 3..." -copy Blank.tmp hd3.tmp -if (Test-Path ('hd3\*')) {cpmcp -f hd0 hd3.tmp hd3/*.* 0:} - -"Adding slices to image..." -#gc hd0.tmp -Enc Byte -Read 512 | Add-Content -Enc Byte $ImgFile -#gc hd0.tmp -Enc Byte -Read 10240 | sc x.x -Enc Byte +for ($Dsk=0; $Dsk -lt 4; $Dsk++) +{ + "Adding files to disk ${Dsk}..." + copy Blank.tmp hd${Dsk}.tmp + for ($Usr=0; $Usr -lt 16; $Usr++) + { + if (Test-Path ("hd${Dsk}\u${Usr}\*")) + { + $Cmd = "cpmcp -f hd0 hd${Dsk}.tmp hd${Dsk}/u${Usr}/*.* ${Usr}:" + $Cmd + Invoke-Expression $Cmd + } + } +} + +"Adding disks to image..." &$env:COMSPEC /c copy /b hd*.tmp $ImgFile Remove-Item *.tmp -return - -"Adding files to partition 0..." -Set-Content -Value $Blank -Encoding byte -Path hd.img -if (Test-Path ('hd0\*')) {cpmcp -f hd0 hd.img hd0/*.* 0:} -Add-Content $ImgFile -Value ([System.IO.File]::ReadAllBytes('hd.img')) -Encoding byte - -"Adding files to partition 1..." -Set-Content -Value ([byte[]](0xE5) * (128KB * 65)) -Encoding byte -Path hd.img -if (Test-Path ('hd1\*')) {cpmcp -f hd0 hd.img hd1/*.* 0:} -Add-Content $ImgFile -Value ([System.IO.File]::ReadAllBytes('hd.img')) -Encoding byte - -"Adding files to partition 2..." -Set-Content -Value ([byte[]](0xE5) * (128KB * 65)) -Encoding byte -Path hd.img -if (Test-Path ('hd2\*')) {cpmcp -f hd0 hd.img hd2/*.* 0:} -Add-Content $ImgFile -Value ([System.IO.File]::ReadAllBytes('hd.img')) -Encoding byte - -"Adding files to partition 3..." -Set-Content -Value ([byte[]](0xE5) * (128KB * 65)) -Encoding byte -Path hd.img -if (Test-Path ('hd3\*')) {cpmcp -f hd0 hd.img hd3/*.* 0:} -Add-Content $ImgFile -Value ([System.IO.File]::ReadAllBytes('hd.img')) -Encoding byte - return \ No newline at end of file diff --git a/DiskImg/hd0/u0/ASM.COM b/DiskImg/hd0/u0/ASM.COM new file mode 100644 index 0000000000000000000000000000000000000000..a63e5aec663546b7aac7b330a9ebe8be3a46ba33 GIT binary patch literal 8192 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 RFgWss^26~5s=npH`Zq8hC}98q literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/CR.COM b/DiskImg/hd0/u0/CR.COM new file mode 100644 index 0000000000000000000000000000000000000000..8a824bcc4108a87e72b8e2925f3402628e7f9e60 GIT binary patch literal 6144 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/DDTZ.COM b/DiskImg/hd0/u0/DDTZ.COM new file mode 100644 index 0000000000000000000000000000000000000000..e30a34c0c31b568fb7d3e9ece2d375524b8905b6 GIT binary patch literal 7424 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 VA`-*10cn8gmj)aQKKRAX{|4B&cRm0B literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/DDTZ.DOC b/DiskImg/hd0/u0/DDTZ.DOC new file mode 100644 index 00000000..e4470528 --- /dev/null +++ b/DiskImg/hd0/u0/DDTZ.DOC @@ -0,0 +1,564 @@ + + DDTZ v2.7 + by C.B. Falconer + edited by George A. Havach + +Introduction: +============ +DDTZ v2.7 is a complete replacement for DDT, Digital Research's +famous Dynamic Debugging Tool, with improved functionality, bug +extermination, and full Z80 support. In general, DDTZ is fully +compatible with the original utility, but it has extra and +extended commands and many fewer quirks. All Z80-specific +instructions can be (dis)assembled, though in Intel rather then +Zilog format. Furthermore, DDTZ will correctly trace ('T' and 'U' +commands) both 8080 and Z80 instructions, depending on which CPU +is operating. On startup, the program announces which CPU it is +running on. + +DDTZ v2.7 now handles the 64180 added opcodes. It does NOT test +for a 64180 CPU, since this cannot be done without executing +illegal Z80 instructions, which in turn will crash some +simulators. However v2.7 does not execute any 64180 instructions +internally, only in the subject program. + +This issue supplies the "M" version assembled, to avoid errors +when switching between MSDOS and CPM systems. The command table +is updated accordingly. Most CPM users are also MSDOS users, but +not vice-versa. + +The program is invoked by typing + + ddtz +or + ddtz [d:]filespec + +In the second form, DDTZ will load the specified file into +memory starting at 0100H, unless it's a .HEX file that sets its +own load address. Besides reporting the NEXT free address and +the PC (program counter) after a successful load, DDTZ also shows +the number of memory pages needed for a SAVE. Instead of having +to write all this down, just use the 'X' command at any time to +redisplay these three values for the current application. + +NOTE: loading more code above the NEXT pointer revises these + values. + +As in DDT, when a program is loaded above the area holding the +'A' and 'U' (and now 'W') command code, these commands are +disabled, and the extra memory is released to the user. Thus, +DDTZ can occupy as little as 3K total memory space. Unlike DDT, +however, DDTZ will not overwrite itself or the system on program +loads (except .HEX files). + +At initialization, the stack pointer (SP) points to a return to +DDTZ, just like for the CCP. Thus, programs that normally return +to the CCP will be returned to DDTZ. The 'B' command +reinitializes this condition. + + +The intercept vector copies the BDOS version number, etc., so +an object program does not know that DDTZ is running (except +for BIOS-BDOS vector size). Thus, programs that check the version +number should execute correctly under DDTZ. + +All input parameters can now be entered in any of three formats: + + (1) hexadecimal (as in DDT), + (2) decimal, by adding a leading '#' character, + (3) ASCII, by enclosing between either single or double + quotes; either one or two characters are allowed. + +Leading blanks in command lines and parameters are absorbed. +Either a comma or a (single) space is a valid delimiter. +Either uppercase or lowercase input is accepted. + +The default command (for anything not otherwise recognizable) +is 'H'. This allows convenient calculation, along with the other +features described below. So, to convert a number, just enter +it! + +As in DDT, the prompt character is '-', and the only error +message is the query ('?'), which generally kicks you back to +command mode. + +New Commands (Over DDT): +======================= + +NOTE: letters in parenthesis, e.g. "(U)", show the equivalent + command for DDTZM version (compatible with MSDOS debug). + + @ Sets or shows (with no parameter) the internally stored + "base" value. Also used with the 'S' and 'D' commands as + an optional parameter (though without the '@') to display + memory from an arbitrary base marker (offset). When set to + zero (the default), it does not affect any screen displays. + + B B)egin: resets the USER stack pointer to its initial value, + such that any program that exits by an RET will return to + DDTZ. DDTZ provides a default stack space of + approximately 24 bytes for user programs. + + C C)ompare first_address,last_address,against_address: shows + all the byte differences between two memory areas, in the + format + + XXXX aa YYYY bb + + where XXXX and YYYY are the comparative memory addresses, + and aa and bb are the corresponding byte values. Can be + used to verify the identity of two files by first + loading them into different memory areas with the 'R' + command (see below). + + + W Write: stores the modified memory area to disk under the + (K) filename specified by the 'I' command, overwriting the + original file from which it was loaded (the user is queried + before doing so). By default, the image of memory from + 0100H through the "NEXT" value -1 is saved. "K first_addr, + last_address" overrides this and allows writing ANY memory + area to a file. Almost a necessity for CPM 3.0 (no SAVE!). + K)eep on DDTZ + + X eXamine: redisplays the "NEXT PC SAVE" report at any time. + (Q) Q)uery size on DDTZ. + + S S)earch first_address, last_addr, value: searches the + (W) specified memory area for the value (a 16-bit word, not a + byte) and shows the locations of all such. Very useful for + finding CALL's or JMP's to a particular address, etc. + W)here on DDTZ + + Y Y)our_option parm1,parm2,address: executes an arbitrary + routine at the specified address, with the BC and DE + registers set to parm1 and parm2, respectively. + + Z Displays (but does not alter) the Z80's alternate register + set, including the index registers (disabled if running on + an 8080). On Z80's, automatically included as the last + part of the display by the 'X' command. + + +Based (Offset) Displays: +======================= + +The 'D' and 'E' commands can use a stored base value (offset), +as set by the '@' command. The current @ value may be +overridden for a single execution of these commands by adding the +base as an extra parameter in the command line. The effect is +to add this value to the first/last address and display +accordingly. The address listing on the left becomes XXXX:YYYY, +where XXXX is the offset address and YYYY is the actual memory +address being displayed. For example, if you have a data area +located at 42B7H and wish to preserve easy access, just enter +"@42b7". Now, "d0,3f" will dump memory starting at 4237H. + + +Further Changes from DDT: +======================== + + A A)ssemble now accepts the full Z80 as well as 8080 + instruction set, although it expects them in Intel rather + than Zilog format (see notes below under the 'L' + command). When in doubt, see the mnemnonic list below. + + D D)isplay or D)ump will accept an optional third parameter + to set the base value for a single execution only. Format + has been cleaned up. + + H H)ex_arithmetic on two values also shows their + difference in decimal. With only one value, converts to + hexadecimal, decimal, and ASCII (low-order byte only). + + + N N)ame now allows drive specification (d:...) and sets up + (I) the complete command line, including both FCB's (at + addresses 005CH and 006CH). The tail (stored at 0081H up) + is NOT upshifted. + I)nput on DDTZ + + U U)nassemble now displays the raw hexcode, especially handy + (L) when examining non-code areas. Intel (8080 style) mnemonics + are used, so some disassembled instructions may look + strange. E.g., the Z80's 'IN B,(C)' and 'OUT (C),B' become + 'INP B' and 'OUTP B', respectively; 'LD (nnnn),BC' becomes + 'SBCD nnnn', 'ADD IX, BC' becomes 'DADX B', and 'JP (IX)' + becomes 'PCIX'. + L)ist on DDTZ + + L L)oad now permits loading a file into memory with an + (R) offset, which is added to the default load address of + 0100H. When reading in a .HEX file with a preset bias, + the 'R' command will not transfer control to an invalid + execution point. Another execution of the 'R' command will + reread the input file, e.g.: + + n blah + l + ...modify the code and generally mess about... + l + + The original file is reloaded, and the modifications are + removed. + R)ead on DDTZ + + E E)nter, like D)isplay, now accepts an optional second + (S) parameter to set the base value for a single execution + only. + S)ubstitute or S)et on DDTZ + + T T)rap/trace on termination now shows the complete CPU + state. Traps and traces no longer lock up when a user RST + 7 instruction is executed. Tracing of BDOS/BIOS calls is + heavily trun cated, avoiding clutter and preventing system + crashes. + +NOTE: Most of the UNDOCUMENTED Z80 op-codes are handled. Others + can crash the system. + + R R)egisters also shows what two-byte values the HL and SP + (X) registers are actually pointing to. On Z80's, displays the + alternate register set. + eX)amine on DDTZ + +NOTE: Any use of the 'W' or 'L' command resets the system DMA + transfer address to the standard default value of 0080H. + + +; This is the output of DDTZ when disassembling OPTYPE.TRY +NOP LDA 06A4 MOV M,H +LXI B,06A4 DCX SP MOV M,L +STAX B INR A HLT +INX B DCR A MOV M,A +INR B MVI A,20 MOV A,B +DCR B CMC MOV A,C +MVI B,20 MOV B,B MOV A,D +RLC MOV B,C MOV A,E +EXAF MOV B,D MOV A,H +DAD B MOV B,E MOV A,L +LDAX B MOV B,H MOV A,M +DCX B MOV B,L MOV A,A +INR C MOV B,M ADD B +DCR C MOV B,A ADD C +MVI C,20 MOV C,B ADD D +RRC MOV C,C ADD E +DJNZ 0134 MOV C,D ADD H +LXI D,06A4 MOV C,E ADD L +STAX D MOV C,H ADD M +INX D MOV C,L ADD A +INR D MOV C,M ADC B +DCR D MOV C,A ADC C +MVI D,20 MOV D,B ADC D +RAL MOV D,C ADC E +JR 0134 MOV D,D ADC H +DAD D MOV D,E ADC L +LDAX D MOV D,H ADC M +DCX D MOV D,L ADC A +INR E MOV D,M SUB B +DCR E MOV D,A SUB C +MVI E,20 MOV E,B SUB D +RAR MOV E,C SUB E +JRNZ 0134 MOV E,D SUB H +LXI H,06A4 MOV E,E SUB L +SHLD 06A4 MOV E,H SUB M +INX H MOV E,L SUB A +INR H MOV E,M SBB B +DCR H MOV E,A SBB C +MVI H,20 MOV H,B SBB D +DAA MOV H,C SBB E +JRZ 0134 MOV H,D SBB H +DAD H MOV H,E SBB L +LHLD 06A4 MOV H,H SBB M +DCX H MOV H,L SBB A +INR L MOV H,M ANA B +DCR L MOV H,A ANA C +MVI L,20 MOV L,B ANA D +CMA MOV L,C ANA E +JRNC 0134 MOV L,D ANA H +LXI SP,06A4 MOV L,E ANA L +STA 06A4 MOV L,H ANA M +INX SP MOV L,L ANA A +INR M MOV L,M XRA B +DCR M MOV L,A XRA C +MVI M,20 MOV M,B XRA D +STC MOV M,C XRA E +JRC 0134 MOV M,D XRA H +DAD SP MOV M,E XRA L + + +XRA M JPE 06A4 SLAR M +XRA A XCHG SLAR A +ORA B CPE 06A4 SRAR B +ORA C XRI 20 SRAR C +ORA D RST 5 SRAR D +ORA E RP SRAR E +ORA H POP PSW SRAR H +ORA L JP 06A4 SRAR L +ORA M DI SRAR M +ORA A CP 06A4 SRAR A +CMP B PUSH PSW SLLR B +CMP C ORI 20 SLLR C +CMP D RST 6 SLLR D +CMP E RM SLLR E +CMP H SPHL SLLR H +CMP L JM 06A4 SLLR L +CMP M EI SLLR M +CMP A CM 06A4 SLLR A +RNZ CPI 20 SRLR B +POP B RST 7 SRLR C +JNZ 06A4 RLCR B SRLR D +JMP 06A4 RLCR C SRLR E +CNZ 06A4 RLCR D SRLR H +PUSH B RLCR E SRLR L +ADI 20 RLCR H SRLR M +RST 0 RLCR L SRLR A +RZ RLCR M BIT 0,B +RET RLCR A BIT 0,C +JZ 06A4 RRCR B BIT 0,D +CZ 06A4 RRCR C BIT 0,E +CALL 06A4 RRCR D BIT 0,H +ACI 20 RRCR E BIT 0,L +RST 1 RRCR H BIT 0,M +RNC RRCR L BIT 0,A +POP D RRCR M BIT 1,B +JNC 06A4 RRCR A BIT 1,C +OUT 20 RALR B BIT 1,D +CNC 06A4 RALR C BIT 1,E +PUSH D RALR D BIT 1,H +SUI 20 RALR E BIT 1,L +RST 2 RALR H BIT 1,M +RC RALR L BIT 1,A +EXX RALR M BIT 2,B +JC 06A4 RALR A BIT 2,C +IN 20 RARR B BIT 2,D +CC 06A4 RARR C BIT 2,E +SBI 20 RARR D BIT 2,H +RST 3 RARR E BIT 2,L +RPO RARR H BIT 2,M +POP H RARR L BIT 2,A +JPO 06A4 RARR M BIT 3,B +XTHL RARR A BIT 3,C +CPO 06A4 SLAR B BIT 3,D +PUSH H SLAR C BIT 3,E +ANI 20 SLAR D BIT 3,H +RST 4 SLAR E BIT 3,L +RPE SLAR H BIT 3,M +PCHL SLAR L BIT 3,A + + +BIT 4,B RES 3,D SET 2,H +BIT 4,C RES 3,E SET 2,L +BIT 4,D RES 3,H SET 2,M +BIT 4,E RES 3,L SET 2,A +BIT 4,H RES 3,M SET 3,B +BIT 4,L RES 3,A SET 3,C +BIT 4,M RES 4,B SET 3,D +BIT 4,A RES 4,C SET 3,E +BIT 5,B RES 4,D SET 3,H +BIT 5,C RES 4,E SET 3,L +BIT 5,D RES 4,H SET 3,M +BIT 5,E RES 4,L SET 3,A +BIT 5,H RES 4,M SET 4,B +BIT 5,L RES 4,A SET 4,C +BIT 5,M RES 5,B SET 4,D +BIT 5,A RES 5,C SET 4,E +BIT 6,B RES 5,D SET 4,H +BIT 6,C RES 5,E SET 4,L +BIT 6,D RES 5,H SET 4,M +BIT 6,E RES 5,L SET 4,A +BIT 6,H RES 5,M SET 5,B +BIT 6,L RES 5,A SET 5,C +BIT 6,M RES 6,B SET 5,D +BIT 6,A RES 6,C SET 5,E +BIT 7,B RES 6,D SET 5,H +BIT 7,C RES 6,E SET 5,L +BIT 7,D RES 6,H SET 5,M +BIT 7,E RES 6,L SET 5,A +BIT 7,H RES 6,M SET 6,B +BIT 7,L RES 6,A SET 6,C +BIT 7,M RES 7,B SET 6,D +BIT 7,A RES 7,C SET 6,E +RES 0,B RES 7,D SET 6,H +RES 0,C RES 7,E SET 6,L +RES 0,D RES 7,H SET 6,M +RES 0,E RES 7,L SET 6,A +RES 0,H RES 7,M SET 7,B +RES 0,L RES 7,A SET 7,C +RES 0,M SET 0,B SET 7,D +RES 0,A SET 0,C SET 7,E +RES 1,B SET 0,D SET 7,H +RES 1,C SET 0,E SET 7,L +RES 1,D SET 0,H SET 7,M +RES 1,E SET 0,L SET 7,A +RES 1,H SET 0,M DADX B +RES 1,L SET 0,A DADX D +RES 1,M SET 1,B LXI X,06A4 +RES 1,A SET 1,C SIXD 06A4 +RES 2,B SET 1,D INX X +RES 2,C SET 1,E DADX X +RES 2,D SET 1,H LIXD 06A4 +RES 2,E SET 1,L DCX X +RES 2,H SET 1,M INR [X+05] +RES 2,L SET 1,A DCR [X+05] +RES 2,M SET 2,B MVI [X+05],20 +RES 2,A SET 2,C DADX SP +RES 3,B SET 2,D MOV B,[X+05] +RES 3,C SET 2,E MOV C,[X+05] + + +MOV D,[X+05] DSBC B DADY B +MOV E,[X+05] SBCD 06A4 DADY D +MOV H,[X+05] NEG LXI Y,06A4 +MOV L,[X+05] RETN SIYD 06A4 +MOV [X+05],B IM0 INX Y +MOV [X+05],C LDIA DADY Y +MOV [X+05],D INP C LIYD 06A4 +MOV [X+05],E OUTP C DCX Y +MOV [X+05],H DADC B INR [Y+05] +MOV [X+05],L LBCD 06A4 DCR [Y+05] +MOV [X+05],A RETI MVI [Y+05],2 +MOV A,[X+05] LDRA DADY SP +ADD [X+05] INP D MOV B,[Y+05] +ADC [X+05] OUTP D MOV C,[Y+05] +SUB [X+05] DSBC D MOV D,[Y+05] +SBB [X+05] SDED 06A4 MOV E,[Y+05] +ANA [X+05] IM1 MOV H,[Y+05] +XRA [X+05] LDAI MOV L,[Y+05] +ORA [X+05] INP E MOV [Y+05],B +CMP [X+05] OUTP E MOV [Y+05],C +POP X DADC D MOV [Y+05],D +XTIX LDED 06A4 MOV [Y+05],E +PUSH X IM2 MOV [Y+05],H +PCIX LDAR MOV [Y+05],L +SPIX INP H MOV [Y+05],A +RLCR [X+05] OUTP H MOV A,[Y+05] +RRCR [X+05] DSBC H ADD [Y+05] +RALR [X+05] shld 06A4 ADC [Y+05] +RARR [X+05] RRD SUB [Y+05] +SLAR [X+05] INP L SBB [Y+05] +SRAR [X+05] OUTP L ANA [Y+05] +SRLR [X+05] DADC H XRA [Y+05] +BIT 0,[X+05] lhld 06A4 ORA [Y+05] +BIT 1,[X+05] RLD CMP [Y+05] +BIT 2,[X+05] INP M POP Y +BIT 3,[X+05] OUTP M XTIY +BIT 4,[X+05] DSBC SP PUSH Y +BIT 5,[X+05] SSPD 06A4 PCIY +BIT 6,[X+05] INP A SPIY +BIT 7,[X+05] OUTP A RLCR [Y+05] +RES 0,[X+05] DADC SP RRCR [Y+05] +RES 1,[X+05] LSPD 06A4 RALR [Y+05] +RES 2,[X+05] LDI RARR [Y+05] +RES 3,[X+05] CCI SLAR [Y+05] +RES 4,[X+05] INI SRAR [Y+05] +RES 5,[X+05] OTI SRLR [Y+05] +RES 6,[X+05] LDD BIT 0,[Y+05] +RES 7,[X+05] CCD BIT 1,[Y+05] +SET 0,[X+05] IND BIT 2,[Y+05] +SET 1,[X+05] OTD BIT 3,[Y+05] +SET 2,[X+05] LDIR BIT 4,[Y+05] +SET 3,[X+05] CCIR BIT 5,[Y+05] +SET 4,[X+05] INIR BIT 6,[Y+05] +SET 5,[X+05] OTIR BIT 7,[Y+05] +SET 6,[X+05] LDDR RES 0,[Y+05] +SET 7,[X+05] CCDR RES 1,[Y+05] +INP B INDR RES 2,[Y+05] +OUTP B OTDR RES 3,[Y+05] + + +RES 4,[Y+05] SET 0,[Y+05] SET 4,[Y+05] +RES 5,[Y+05] SET 1,[Y+05] SET 5,[Y+05] +RES 6,[Y+05] SET 2,[Y+05] SET 6,[Y+05] +RES 7,[Y+05] SET 3,[Y+05] SET 7,[Y+05] + +; These are the result of disassembling 64180OPS.TRY +; These opcodes are available ONLY on the 64180 CPU +; DDTZ will both assemble and disassemble these. +IN0 B,20 TST E MLT B +OUT0 20,B IN0 H,20 MLT D +TST B OUT0 20,H TSTI 20 +IN0 C,20 TST H MLT H +OUT0 20,C IN0 L,20 TSIO 20 +TST C OUT0 20,L SLP +IN0 D,20 TST L MLT SP +OUT0 20,D TST M OTIM +TST D IN0 A,20 OTDM +IN0 E,20 OUT0 20,A OIMR +OUT0 20,E TST A ODMR + +; The following are UNDOCUMENTED z80 opcodes from XTDOPS.TRY. +; DDTZ will disassemble these, but will not assemble them. +; They use xh/xl (or yh/yl) as separate byte registers. +; Use these at your own risk. +INRX H ACXR H MOVY H,B +DCRX H ACXR L MOVY H,C +MVIX H,20 SUXR H MOVY H,D +INRX L SUXR L MOVY H,E +DCRX L SBXR H MOVY H,A +MVIX L,20 SBXR L MOVY L,B +MOVX B,H NDXR H MOVY L,C +MOVX B,L NDXR L MOVY L,D +MOVX C,H XRXR H MOVY L,E +MOVX C,L XRXR L MOVY L,A +MOVX D,H ORXR H MOVY A,H +MOVX D,L ORXR L MOVY A,L +MOVX E,H CPXR H ADYR H +MOVX E,L CPXR L ADYR L +MOVX H,B INRY H ACYR H +MOVX H,C DCRY H ACYR L +MOVX H,D MVIY H,20 SUYR H +MOVX H,E INRY L SUYR L +MOVX H,A DCRY L SBYR H +MOVX L,B MVIY L,20 SBYR L +MOVX L,C MOVY B,H NDYR H +MOVX L,D MOVY B,L NDYR L +MOVX L,E MOVY C,H XRYR H +MOVX L,A MOVY C,L XRYR L +MOVX A,H MOVY D,H ORYR H +MOVX A,L MOVY D,L ORYR L +ADXR H MOVY E,H CPYR H +ADXR L MOVY E,L CPYR L + + +Command Summary: +=============== + +DDTZM command DDTZ command +============= ============ +@ (base) +A)ssemble first_address A +B)egin {i.e., initialize stack and return} B +C)ompare first_address,last_address,against_address C +D)ump first_address[,last_address[,base]] D +E)nter_in_memory first_address[,base] S)ubstitute +F)ill first_address,last_address,value F +G)o_to [address][,trap1[,trap2]] G +H)ex_arithmetic value1(,value2) H +L)oad_file (offset) R)ead +M)ove first_address,last_address,destination M +N)nput FCBs_command_line I)nput +Q)uit (not avail) +R)egister examine/change [register|flag] X)amine +S)earch first_address,last_address,word W)hereis +T)race_execution [count] T + Untrace_execution [count] (i.e. do count instr) U)ntrace +U)nassemble_code first_address[,last_address] L)ist code +W)rite [first_address,last_address] K)eep +X)amine {i.e. display memory parameters for application} Q)uery +Y)our_option BC:=parm1,DE:=parm2,call_address Y +Z)80_register_display Z + + +If you find this program useful, contributions will be gratefully +accepted and will encourage further development and release of +useful CPM programs. My practice is to include source. + +C.B. Falconer +680 Hartford Turnpike, +Hamden, Conn. 06517 (203) 281-1438 + +DDTZ and its associated documentation and other files are +copyright (c) 1980-1988 by C.B. Falconer. They may be freely +copied and used for non-commercial purposes ONLY. + diff --git a/DiskImg/hd0/u0/DIF.COM b/DiskImg/hd0/u0/DIF.COM new file mode 100644 index 0000000000000000000000000000000000000000..87b89d75568272353e76a85046282781b8a406bd GIT binary patch literal 2944 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/ED.COM b/DiskImg/hd0/u0/ED.COM new file mode 100644 index 0000000000000000000000000000000000000000..a0f0f5410f0542e3e6d05bfcd0fb361d84c73f26 GIT binary patch literal 6656 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/LBREXT.COM b/DiskImg/hd0/u0/LBREXT.COM new file mode 100644 index 0000000000000000000000000000000000000000..c0c950e3bc93d8e23bb2c375debc83c719373ed1 GIT binary patch literal 8576 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 Xjkg6C+_HFa8FqO=E#G7E9sd3YUd-_( literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/LINK.COM b/DiskImg/hd0/u0/LINK.COM new file mode 100644 index 0000000000000000000000000000000000000000..e188fb92b474883e1fdd1cc2013d3ac735dadf0d GIT binary patch literal 15744 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/LOAD.COM b/DiskImg/hd0/u0/LOAD.COM new file mode 100644 index 0000000000000000000000000000000000000000..b9601e002cc09df45e29331795412a0f0be8e217 GIT binary patch literal 1792 zcmbtUUu+ab7@xV@Kkaq)%2KFuYT3OzE8PR3=jAMGuXKC6&A<>jV zVhvbnVw6ba!3WR>A@RXzeA7rmeZaJv5~j&SX(A+j!3QZZ_h4c|l&G!W%w1D`c5^p7 zzu)ise)HYTHx~{@jG}*FG$`#Gt{K~kJx1^D=lixBZfRes=9G=Vt9njQ95%cl@B`aO zZ#T-m;~I|Zf>brqZmGH-q8v9}svPoyn&Aj_(T3gR9JAl^Vx|sn_I`E2q;8qP@N6o7kX)s1b zr&952hJOHvs(&yjdg-D+Qt^!uKk#5#NUHh4s8K!OaH$bpEc;c@*jp-lY3qUdh?)rP zPCii0DDK8|?oQN+HF@^Mv+Yq4KPupWWfkVe?gBI-)hg+_1>SJ+Px_Ckc38kw*((v9lz z2zynfagF^DiN|1|W}Hk6w8D5}QHk1da?`mJ^FavP1=_{u)NCgcb~{=AV=Fv9t4BC! z=M!q`T+Cbj&*@h^*r}&$i9fICS>hV^-qPdx4D974F+z~be5nDKedoT;4*5eHl z_hOK&PL48BQTda?=Lzs>XD8Hbf>5(dP)`B1VU02bwG}A6N$Cj1H?GM^A)6p~h+@(L zrvPt)5NdV{{50Ur0&f%e8Ni)u7M7rTfO?Ef%P=Dt3EQ~+eJ4qqC6V7kph-78R zeQO7qjZMNVmCO(TspJk4_Da-hgJ~PlSEKB*x^zkcjAJdWZ}X06@Marf*VUyZDf~#% zrx65f0b%h?DO{3x=iG~Ccaaq|_pOAd(R?%C9qF2eJ_+wiHi&rPmV_PNL`^xLFju4C z5}ubD>)5dtv0|Pi`$*CzQ`vrvH)@U~3z`{g$tT#Tv|=x4au|`#EXgBQP_w;!T|*8( zmF-@l+k~A`>zUK3Q=mPB@3GloR#v%3CmBF`p0F>~Yjaf@jxz}W44xy9Sl~XZ3vbB4 z`0Q^krywI7mGwS?I|;j@F22v%4AjP+Rblz}R?xy#8GpfBg-t6^6Zgy!oFjTc;|X(e z9R17da~aQwzREW`3EvW^uZivoWH-^WK>gYX^er?fHTP%}xS;8cQaTj8pKqnUimZaR zrEUU!U0pn>n1fm#4V;75jinYAA@N1caJ8j1= zl#h--AkQpztN5}gU|JF6%@}2WDd*vN2=Ce9uPB^Zc1YvLHfaxO)O5Ae@CQ+ZJ&Cul zi>mEv?3_wNghH8rn2ac;^<$l=o_Ke>Bk{o)h56ZQ<7d7Zqc5fo)qAwLi>lx*ji32s mjGlO@lG>a25JEp5qvPEuaS5it^Q_Cq&ZMp$uG7T-d;S66tN&L3 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/MAC.COM b/DiskImg/hd0/u0/MAC.COM new file mode 100644 index 0000000000000000000000000000000000000000..f49e835a181bb857bfa4f40c77063233894174dd GIT binary patch literal 11776 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 LleoA4|BnA}sttr@ literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/MBASIC.COM b/DiskImg/hd0/u0/MBASIC.COM new file mode 100644 index 0000000000000000000000000000000000000000..c9ec3cd39f6cf66c899bd0eca759de3275045991 GIT binary patch literal 24320 zcmeHvd2|y;)^E$3up|r1D>h!VU}H<(FvbR9%XpQ|VtE6zI}i-<1Tbs7B237>60(tH zLWYn`wn3AHh=dGdbtA{>&;%*SVGNmXIvz2}D3gpxlnG3xdB18AX1?#8^ZtG3o%0Op zuCA`Sb?a8u-Rf2|53L!S5{7E`)ZSTpx^}WWHtEyE zA?@^}t6Eq5nfOoQJ@LV03V+KN4=xTY9&G+PVb_w18TZbhDEkVE`e1o-yRhWy_bX zYuV7UsbzlH;;A!7;oHOS3V$~IShy|xZ{gaAc@fnS ziz7Bf+!oOtv9$e@H=0iWqx#dR_Or@1CXu2RTiTqArRn^$i|eX92OFEtr?oYGlwMnX zCS#e)uC z?)gn!Jpdd-y6GcZT|I#Owr=zgwYbfBr0Mj&)~Yt=E47X1f8E+@@x0o4X1vw&+46I8 z%V=TC_%+JnxwElu@#&Gq#dV*Kp8d4dIkoXZCS_^=57(V{P<6|XrczDK zOV8gu`d|~o;;$+>?vEvj2_^mB@8TzqDXYHkH4FD!0sJAb&@^6B)t^Y=A2 zIp4BWoj%=Gcix5U$1NYpEKE_|*|@s;_M;NZ=q#$P)$DXyPXDy1@o4d)wxhEb)gCQr ztUVfzHqY;0y7ktrRRTn_DRo=HSI@Jn%f&KXFs4wqmL~; zPg@o_pRs(Zs;m1LbEvL;Y3tcX>Z(rPyY%b>b#3jIR_8-?+@p1EOP4rb12$}fFm!%bXuK*SvbZz3!abd^V!RBW*kz z-QIdMz8#I4k6vi5s;N6VZADvq9rrt`q3-M_t(LPdwOZ;&k5*N`dhV06RcB+Uw#KH9 z{?O*}P*rCVs#=@dJ(sA)+V-(uRW+V}x}kBg^WD0p)5lvI+nsg{$5qV2H?I8VyVt+B z1^@WNrGNeU;;C{*Qf5aDxCtnb=Ewe4QN^VS{R+W<5Kc*nY}o4Tml-P<;I z-@0yBm%5fz>L$>s+U`5Lcamn-_p1lGcJ$nAe?#|c&FL4S4^pNLOF?&Rsi2T*YD=cVk90Zrz5#-L`J$E_K(97BFBv zJ2w1`!p%0fuG`Wjwm=3{y>l04z?QD9yVTuVMU<&_jL?>KTl>YQoz%31|NWmtk zYMx6HFWn+sUvNuwq?q}C`C|OP-2VUL&FB3;j{pBh|Nm3q|3Cr4<0#ARF*2$e-1c@# z6G6?h>V$Xc^$JN870t9OggZx?boDylE!_j}_}M!YevYe=#8Uhic`3OkhWSaMKO`M` zxtx7kVLU0bXT;N!3MQpCqe7A~Pm)n8$(SR_D3N5$mSmVD8D)};1(J+PNk*|GqehZp zWF{5*mt@*Q(u^=khFp>%kz~ju8F7+~1W87eBqK?Z5d-MjcVxEWzsZZglaqF?DzwLC zlCT*4TQcTIjbm_8@dHx5O{TTW{Q7rfq(o+n_LR)89g*qZmkk~FYfj48l9*TMl9)Mu zW+cwmyQ27UDVI>Kc_(5}sP#0*2*sY(7$I|FX^bgnJie3rCP9}@FOBg5+@w{gq*${G zb(x*L8l!(h=HpUlxxL(vN|SzqjxnjZ@daGYBDZHE##a2gjJY>-`!+`Z8(GT4r!ijD zRnnZ>^J$Fs4ViI$w4FT?!+c>vorxncTx5KC1u}wMP6GF)$||VOoXYWX)26xuTAR%C zK%3Xeb*(`ud(aP}`O)med}ScWo=LDfgFbG~3_jp+UOJ+62fXaPO1JSlxt(6E)ZZb~ zJ}1-DvPp+8+Q+?D&1-3yf0x7U)9H5VcIZ^PDRTU!_Uhv0{lBI6DBYY*sTrn9DeY0I z{t2n}Lm5|Aqdy`gj~~jkPe_>~G5Tkv{`I$8b?=SobULe@J*O1Z9=lSIPuP`QR6LMm z-dF1UfX~>JDvI*5e!xvn@Uq`4xle1pQ(e1$Iz54QDg5q9AAr>^0W1T6S#=wGK%!f^ zNuqMB@*ML|rLDMIR(zXGGG78*t#-O%s%C*?&tsOMLuQS3iY+c4|6GEW?Vl>BS<6)8 zZ8E!+y>qHA$gNNX#*OT{slq~f(^QiLKmcldDV;SnXthrc@vMI8DbxsBbtuYgnJQG8 z9`icchFH}vBDj@lTtwZ()3H9)nW@~Vsr2|%bW3%Pq)qp;C#I@Cy^(Et*ugZ!rrO6W zsPq1aE}l6x)of8i#iyX|^2qdQq+#P#_gb(D*Xow>Iv?^Zsh9V%8&taY>GIgrc>5Lq z)P5m{)x@R>pW-Tba6u`dfK7|#zR;K`&jwW>)qc$!>u~=t95h`A#)L2df_c_do`9%` zjc5Kk)euyzjJ2fN+3wi*_vt0E%#;MCFSsHKTea2wJm;#3++5eQn56VO%A@hTqRRNWErglvzf;!ma0St{m5m5@za zrur~4Jhv)MXfVm?MJkg5wXj;c(;SR5)?|z$GkYW>84QXyRG{Y$H%N;zI&zDs^Yp0D zy$8`fk}6<(2>U2K+ zuVk3|yqgZF+*h@4$&_xtatilRHF<$ma!5J}&}Ts$mRERqMF{kjrZ{dOcTy#xtb+SY zo7(I1a|d&n?Qz`qx!k)sywfY8_O-0UOOu4&5yyq6`a*BGI`Yy2aAv0g^uuE0zLWhvEZvmsLly4I7!7cmY`&3CkQcqv`(^Ypojr{7H`h^ zf|^4qm`D>F64u|IlADqn7%%EfqEh@kQAi_yGd?n0kS;*evoldYN|u+~GnlA3L{dnY+}vn`pL?kuw@J>G6Ois@tj7RTi# zU=SH+qUxj!jQE109BNIRRoKsdmk6LE1Mkp>63Ur>kcLL|AzcTg@sB{dDUvYFbUNni z1b`l~v(pklNtFyDv?2)-)IZ6ZlKf~Z&kwD_Pcm~vK{|9CMYX??LGj?BT{s}6!Fw>7 z&S19O&u&OUolgut?w%Z;wI-oq3@G~~nFW7~!z^+oNx+!wV|XDPp@)+a@nbe8K~Ov_ zWqy^U4C7*2$XF3w>8oVn59~io!a24pSvZf2Psn4ll7;!~7s(DZ>LWbrQWBRti~Fd) zRE?1+;o9rzjAW#Y4@>QAWU}#5skxlZNH#u%$Bg8ADm~MaD^4)elZ^*%yy$|Gb@Rn} zO*NNo=7ESLhk{ZP4R}_1b+QPpG1>SCDghL`I{5^%EZO*&)NJgM3D?Ops(QXi9#?u+ zCl@lGB?r+5Zkaj|1me4rrw`b#3?*aX_y~f}iSU3LeSqN6Q_en@oK0~td43+m%QXbX z&->WXO+gOIEml;L2*I*hZ@(hdNQa2DMp#10*_=;oq4r^CzFtrV1GYNOxt<7 zXQ%QDZoAt#GLe!qPM1qMENuYuRoNNp?%n|1#t-H8v3|eit&~YGQ$Ut$ASih>#W~?FVAukJ3i~^Pw0YVj zd7zi1xJgTX`llK%&wQ0kmK6PU3K5MN5$xm*;rJ4icPz8J=ucCaTM4FrXTnl(%P}NT zUZsRE;>V}kilY_Ky`geDtlD47gl{hhS0)}w9lz2^m!yK>3E_k6ss=%EPO~=x+`Vtv z2j`rU#8l^iu$O%^RcM*`Aoa2!46q-hLZd?Y@o=aOb|Pc1?M>B@`xkptp<@w)&`BOg z!xx#IlF3x3{+BW)GBt@B|8`EhIS?)w~G8wPnoDWJ=}mV+$K zlM>rFZu{^yDUDJbcv`M5zD~(-CaxbRI&QnLizPJKUPX5lq!|9v$Ek^h8O5=oa61 zPlxuDpuh2k*))?3@E;WzZK5SEOcT@-YvRkB0p2aij1#+fyxEV5vsoZg%EU*a__!oIvJJt}AH|7nzE=;^S`5 z0aJN!p3jdCgZ!tz!LwCZcR?6Dce&FAbvY*?q$m)5*~0z?N;CatT2!RYiVSqq?|C{6 z+VI)5@uG>dY0L|0f|)#&<>K#nk3W*OrZE>4WVZW}FUj_(ts^p|NwLl<&*`b?Qg8bwJhPCWMuk)EmPp&sOc>-jOdlNf;AYX2mY zo6eP_P3{pC6Y6wfy6@8WxxA_&%?qXwt&kih%HqcEuM&mt#)SN_1i>&STp2UC${%&S zIC}jsw>O7bm!7l|B*DboQ`j?9xCzv7Fp1*Anc~@=J|1o_bK&B`EE&iRxUo=T@`OS5 zRfFWSbf-{HKbbywyl3cbm(WbVm_GP&&(IN#@9`6}?b`#MLAq~!_LmHI#*fueja=B~iUeX`vBbttxK2eJi!oki0eymOxhykaw zFx?ZMA*d$eGw^KODzhhB{F+_TXunIW4mQELwUe-^#YvHx!JW_KMl*?#4J|x}hQfeJ z_24|Kkjo+s{>RjkGFWc*AUKJitP0F4FLcQqIwKRMv7G&wG-M{)fA35YbDw3u?&LB z5F^V*1e|N~0uSS5*=R&?ss)$?EQRGg*}%r9`m+qRcH+H*}mI$xuLX15G{^$@-p! zIWSMKhU_FLg10PWfI*+S_-f`wit(m%>(!r9E?k2d6v2;8Rug(+F$6j;Qg0k#Q`9ch z5MH2-YBJ8d)y0oWJGlmR@gq_fc{&h!dQ9qquG63%O)D(lPbQYAj}7Gd`2o9FE>&GD z5kWJ%ML>`|E7bI~1k&iBOVsxq+yy1^HHF+=yqk!KzPH$WV<0)tv{Vymp>s|W=b>Zb zo|s9WllY@x;=y!@W;u08L%6KgtdHg{si6ijkEyNDEMKnHF_+Ym_0dV!ZN-=6Xn?t@ z4%a1)S?yuO(3_$W)SVM)8vC^>O($`DXyEwpq-ktSp~iR_8c4pToX*#n)M4R?V?gw> zd=RxNP;26EnlL7)F1OMPH9G6%y*jutmTQPxD*=DPku$gJ;o{h=fj9Ju>0NfS#^7^$ zHO4Tra)CnEz6LtfZjJ6rzs7okzC+^&$9+^IeA@4Jbkaw}mZ2zJmNRyZu!=sWA-FT6 zq5SJevvde0cDZ?waiNXQ%X@(#9^bh#s)0T6N3jZz&Vs$36N)Yf#!43oluTDdHoUaJKyZ_^63?9kk+obL!yj~DbS+FQEeNpx`+wcP48Rx*X%S}&3} zrmZ{9B~HDIT0ifS4CFeo+P;Eat-(?27~tgd38m~n$=Fu$GQ)0~(AOu3jvZdfB;C<*QY7^zRrfYj9fVlMYd8SiSv zE;LM%&}OiDXBRf;bMj{wmzB=Nez=+>%5o`XI`iil%2c>|z#p}z<^Bkf%TZav5jHVP z_=NuZ3_G2eMJT=ErlO2uz^`9OwXy|S!n^D@Glb*xw=*K~a|w5n$Nl7y7_BUoMIhhs zU14%OIL|>^P*GXzty!Q*ozHmSHj*`R3PE* z&t`PlwgYDCbDcWtvmH9?GnPwD*|*(lGxytRW%k1MuAaW}DZ-!V&$DdBQiW^i_}g?; zc7J5D=bu>-nHENs9hp0j+|mE2<;wS2eXHy2tS(z4Rov6-`8JFFHmeV5`%iPS>%rxQ zU$Zc;<)n=yj3`Ew!zClky+zjjX!QZKdcVb`nWC^3_S$+5nD;!_x#!uAJQj|B5=mg#zdO%o3@?3lTL z>a(*mbN1lvv0-!Ot9@6pb4G`I*^Zf*biD=_@Gj)-{FQIBm`z2XE+*<|*u-#=nY%9w zbua~ni^$9!Ge#+d!sNpv<*umvKp(ubY>T3FrNhb0XIbz7{T;mc+K&d9SDGk=^_$^d z7czU24~wd*=wH54mjkV6==j(WW623A=K3h2ox89`h-m@lAEofSFd|@!gf;10aKS}I zFmS0txihEs#_J+!F2_Y$kd|fkR%YsSz5Pg8GLK=!DO6)Q%(WbnaOJ>UB-+>oIPY8_ zL0yifDaVK2_K%_VvHl-9b#CTsE?wWL5ko(I1NaR-HNx|*fj5V)S#mz07v%1Fe2i%( z;NZqnB`Dx^y9s4_s^tcpcwN+#)Tik5-06l$dSkA`#Wm*AO*t;Kjo$tUdVKLrF04jP zbSbn}E<2ACa+&9Ix&ACr)E>ONw>U~6iZIVb1y`*nw5ETT8}KtUE?35KVQ0YFfWEJ} zsPKgf`f^dw?*_%-m)<0ENrn#)^D8QMWZf^Ai@9j|PuEm>w2blOO7$30jI}0QQ4c;s z^wLuO(9#Sl>HxDM2W8Kp;7=+&)M{A1Fn~={B&G<4Ct$`HUSYMaJ$oTw7*T+X3=^Lj`@S!QmdVU)yJJ_c4Dpd^3EUeb(TYfJ@zU z0)Q=r&+M~1u3gIYBG=9A$^qCj*efxhy>AR5z^b5~`PdNjMSEC7pv=UFmj0gPo}uJT zfePAT@H@OruVLtQGxwFjKV-jhDc5FsvZw!fvf{`ve`6Rz>mz=Qw=L=r2HVTMYOvjz zxoI%7hx@PG0I&m-AWKz~pn$wK8=6#7GRyrCQmuJ~f1wvu)AC*0eGp;g`Mgg>O=;S>!jMSM%4cTgk4AUc_{1?^#uRI2uOXeT z&u1$0G1-zNOijLWiZ!_x5Le|B7CL53fN=jdi@Q3L`(?rQ_$Vp%PQC0iDCW#GU%HkD zI`lbW=sWY>k#v7PnVwM!E+2_}?hN@`yeAZdp}vbO@hZ<~zUoMRi1RQT@(IbVjOUBI zLbD5OOj&@QgwUTNd{(i0p`kg`J|Mx0JNMl0vcnyO%Zd(D(LA2 zF1INHfJF1Fg3c-MiWvzC2hjy9=y}Kx`}Tw=1xOcvm{}r@>@N#6Ws2=p7~4Qz>NAxS zy9!K?AZeS3ivYe5V%N^*C1Z$`Qf^hgrU?6|m?QLh5eeLYMt^aqZ2b>5$uF{;LD6Ls@Jp^!x7>CHP9bZ^PnI8K zuNDXfT!@-B@uxyqDfbi#U97wiR?3`0(POlk)fEbh$z?mawD4?6A*2hugiVDeifJme z3R&#qg>Y*hEfh5D%Z0)Qyb)^Yu0lI^tPp^?;&cMOttbI`w#Petg9kdl|6SovTp`_E z2s{1^{AFN#U;2n&hV$hT#;8EiOUDYCs|BbU5Z`D9a(zMOCRC(+u-?vmpBp%>*29c& zjRjFL_~(M0z}IhM7+qdpC}ZtRWaI~Uce%^kcfZ-`g9=XGTuCXyx>s?;^WaG=YG0E} zcIqtA;70L9kQO``&((tdAg9uodFB*Jc0Hk@W0k5~8RHd9Us3ldwbSCO#`>KPeU>JSS&CkK{g>qe)WKE7f@2d0EZwoz?fgQcv%lHF!A!*Q)IpZ1(Uh zp^jW?$)yNoV3OieKp&Z9C@mU_Z7XY02%Pj1Z+vy9lOtmM>ypp2FXCVy34`~jCDolahXqOY3 zniUJ9saVKovx?zQ?YsBh;d}R)g;-BhF{!O6zQxgpMN(7Tf0q!=d;T#CdbV7_v=tBS z6XM7-Gr!ouGynLXu%USCgh<~XspO6XZgq)-3J)6PU|0K!19vhH;&ScL;)D-8j}~Lk zDr`KA4|4x3DJ_C$fz!@0SV4~$iiLvHr*Z=9xneSjP1;9$b%9dD6-RMteqni3VZ^x1 z!xWDib=!2kx>9WGCn;Pyrw}pVX_=il@y%>Wcog?tiF;r?^7~IpFd&2WGnqLRNc*_; zvv@XY_BPbgBr0^q4`ojt93w#%^4WqO7lSV-$(&8x#&Gx&fA5SjhfqW}&L(EJr*XDH zV(1O9m9rg;Vs?OSoXwYJxqO)u!P)GV*(y~jSCg9*du?zw@4&940q-Qr_f+h3vY5mKdUwdP=%^3s( zx%Qjcj==+t&O7_Axn_%XoT$W1%;r8R>F46+SZoI$N78Aw0FdJ?+BX|6&Hbde&CE~5 z&`VT$w~hVh?2K5%#{q*f5rtsCJ&0z8Ed!S$1j*r!eU`_APSV=+5=X!pyp~&HD=Z%_ zztgOw054;8}b9=GVrz%?(Gtk`RkJKxGS%CV9Fcd9VR?8lue z45Dbj?k2qQucu20Z~9S3inApu2_ZFq<&~1J>|+(BMLOnO3H@IsW55v)70ktw!8^;% z<>TQVf5~X11xxYrf)R@=^2*dXz`C>mt2csR4Jw4JjywUg!5t^@;=DA>v^6)4{)rVBW*kBG`(Lofpw zD}mFWWs*R@#lqknHdSY7R z*E(-~Teu$nd)IX3dm;6L8m6d-(DU%6PjeT}Lt`r|6@#@1*9U>14s;83Mi}y%kXHu~;M3e=X__6>TdJjXO1~HxZA$aveJ9C##mY&&_gLl8nhWQ>oQ!;m-YX0j; zkh=GIZYdLPo7hoC1mDB@(R~g#duv&cyE{uWSVo)Hf5bC6qH@+#76?G2VXQ?6 zjlw&4QKUont=RRar?Y!cr)LbTZN7CVRoHEvwqw>X=(Z2_R8JbPCl7ljd?v9k5HI*j zP81k-#Tc{zpO|Zhs&`)&&-}Km^&`tLn37NPbT*1{pO^7WsU9TIG|atbnycxai(I6~ z?zxPuuwLE0_gbQf;|ZNH&n>?k9z_X~`-;t^p!jMi3k?sh_{L%>9X8aL4r}V?mRQH% zpy$l(RV1cy6Im$8jKDvDe@qHFvoL2N`^>zwI}T}|eCLqtbMv7#_cPDPQV$>M`j9&` z-fKEU5WMZJ`rDrQ>R@-Qd-rXc>vOrGEJDiO3nGP{oGYrYDv(^FwW{`C1#%(cg8Fx7 zNvORc8}`~C=1PXeG@Q7@!z5Gm;e5X<=SCSk?h>gUymEQ&H^Z=>HPU(9p|Zf=(UABo zu7dqnwbqMM8}|YEy^;U?EaRT8>}T#>UZT5~U-R-kc(I?fzIX0T_Yv1Wm+a2g<@|KA z^d~d`)b~v^%_E_1E8tSn+zE%#a?%dE=89hU+5En+t#=Iyj>4f`v!2~^SH;RbV|yR7 z{`ur$>*m*A-%AFWD4}D-O(@wj&k4uxMp+YrwBRhYnTwrL2;_o^$$9MYc@X5bc?c9d zJ`c`(WSN~&*HupG55o~KS`fSD;mF$$$y;2Z(|$OwPnZdRs{>%5`g*RZat(){t+xY!VA z;WOIh_TqQt>>i{3vP|`*EJb@>4p$E1s&^r{{*65Z@!qiRVS5^k27 zj}0H<;W0X;!{rueE7&B1huIg6&_)tnJSu}Kb6RF7rBI$eYjp3>x#3vnUMly;^R9SQ z+m!ktz1nD}e=s7$&z&gu(`$^p3$8+J*omGXI$^%1RzcKY?5Ay%O?Dt)&nX2TT0Y-D z8kR{m0Q+y4L51^u02%ais)T^{YblS{4&ofIpd07wzm_tc^YO+8;u}ZN+0FB@eK0zdA~1S&81ex7RQYz@HV{ZhI)<3VU&^-Y04TYCLRTIH-rvZv(-`n%l{><>2ccVW zkp@_b@#VqlMgEkD&#O6qHOPL0;tR^dJFw5W)}I^gHyA*9U0~v1x!GdXCGiBw$soGo z8J`azDS?XGCG`4oU{bpzcRXU^f%07T(ehmT7mt=lJEFz-Qu~3r-_il*H0w1JS3vPF%ipas_WrqPSp{ zoz+$#PyzcGRTVI9swz4Mq|!U3`#TtIg-@fdm`qHd7gr=8OyUC*!W&#BL`{5V68_G< zS|QAu*i^@^2Qg4`!T^P#2*_>h%LrNN-oj3 zn51~mC``Si{fI<5+T<#w8W3jrY6UPrIrnX zlYY!(>Vyb?hBR-8RGCa(UyRjWhH0y_8hUliep9etxIXbKQy|o;$#g&w;q>=pQz^Ae zblm&Zj(~^;^MVOpOM__&;6x_UE)!h1W03|c9>u2{op!_Th#<7FvY?JhP&&vXn^ui8 z5(r5~@CR7$e4;Zks!9?;#ZIqu`+X#st32qf|1Ea>u<$naFm;v7eabNG0?03-aXO86V@Ul7S|S|9*PwxQC1mj&!drO?Ul zSpY!Um8a;+N?`{3Y^9(_s!u0`O&qMW3NuV<`i08KG{H6+t4q7HBTY#~vOiRc)jzHb z!Oo*Us~q@YK?n0IRM43UP+uw0DQ=Y0u^(4@Ro_>7+t&zdM^26CLjU{5BQChz<^&z< zcMllSE>EG87No<2mbAb+p3kZlAf!2IfoaNU#GM_He1P4tz)6BJ+zzL&rf;8+f=$_h zABH*oEMglI!BxgKEdZ$yfVpUa7($0U2cq(VUh4r}64gmamjZ`QT_v++L5NO#fSyu$ zNmD(^z0n{>s-0O73AF~Zt8)Q1hYl`KN=$)Blnu3y<}pY>07F!zr22w=_S2R|LMBHDPN9EVfC!m!$;6Kf ziXV~&n6fG%nvSg!7d>8FmeP`{fGZFjk6~w5O_Ww4BvTCU%&+ok9+jTr&n&4zaA#>% zIjJ3VdVLlWnvTt17YVHd1gx$YuB-|cK^YG7JS24)AD7zckvVqu;i?Ma zw3xyiBh4SU(R`N-%@0=v94;)BV^t&`6{RECm#ZRAAovyS9z(lbI6V>k?@gndY_N)> zI}rZn!|5U5BObviYBs)rAlJWCA@bSBl+}>X193~;?XdCSsA5>X+i`iXFm;5Wd8Vqi z5OJAywyM_VB8ZMLnrc|Z>!Q&o#9zvAA#KgB#%mHyTUjl3(FUZ9_em?pf;N;0F!j|p zVPjJP+#&u1aa`dJ63rfM8hx_Ibp82F zkWcgY3;L&|1_L6&RZ=1jx$D&;l{T3{CGx=ds=a>wb0jX??{*naOU;_2Qd{wzi{E5mR3p0iSV8 zjcTlnDBVmBG-n&B)N3m~DeKvUU~Y1(><*bYO#5qaOv=Vxu7M5&^#$^jKs*!E?)VvX zo$jh;K&I`JaXYebNR0a`*#>>(vJ7!W2s1)#5JHfMX6D4n3D?lUkv)&Qtdpnc$r{}x z(G1TqvUo)B_<=9`&l*318Awb3VizC>4cal8-!)RsC~8N7Xp@}y3bm#A;ktwDYX|on zEobv z(7a;OPeKYXOthoc4gC;Bd6ig$cQMlvVD5>BVDQ$5)GghJ!I8=B*Dln`<)R*inyF#& z;k2(-4mEL9cJsKy=~|pkunJWdgjJO;W_}GTuY+!;uHzEK&?Gz(RB-cSJp6c7Qpfez z5$@+@?+(4gEtEroh<%zSqJVnttmC<->n853^I>2m2?*E{GyU2-5Zd;XlxG0gtrdex zT+HW~y?~B6G5BQX!1EnEv!rg%Zjzgw%R3GL1Y1>4hO+w> z=J_~s(gJgjgipU12f}c#qSH@E5sc>IUT(0GHrxm~db1(Wv6ejWgKv)wj7u)qPL`ib zOqYd2b=y&2iEUJ_r<8f7p4%Z_#VCI6)dtB=4NfbLu9cg4)a5>`_w{hkHMkKnhAbSZ z@b!}T8Qx`x(l$eF(^;|0@_GFS_?@87)(cvkL-6$hwP3v>h7H!kpQvX4TF+1F{QUri zFg%l2-$%~Uh+Kzky5XLsA5Ge8s`as3HN?ZLgEF|pE&C9U&AlBkqq;{QGvm~OyX?u@E9qGnu zmxOrZE!`LRNnkUHBfRGv0R%faU2Y!R^agDA`3zgLsp#ev*pnos->>FjRov2TV19vZ z2gvD3M3qlMid)Hp?;h1uY66`2{dzZM1W^Ng`e)Gg;|=()iA$aIG5^Boh_j|AFMmuH z7aq?%-+=n4?I-7EM!d}{rZ(W9O21)18=owhpU3l%8lH z+8nx-idcergg~O%oenfcW-KC6!IQiq*AZjla}kDyh=du9D9Frgref(a*1Ui6$a z>}Yg*Qx7nU8~s*pv=IQOB{;dsg@H*)bEC83R1|g2VtwqS`9h701NPo@MA<;2@}<=8 zm~;{j#IXeqej7|#gkmFv4#kj%$ZUAXB|-LYjRD|GPV$7fsi;bk9)<=b)J-2~B$T=C(BybmF;xPYmX z!-gdMRK(i~YIqSjD`Lqz0%ow+j+v9#=(ip~cwPDX6C(@z8)Bj;FW_#xJ=*Ms80ArFPTm;)7Cp>7qz><{~hNh)4t5y~v6ble#F< zfIFQ^@=2Zb(NPj;H3y{u3oNIqMWi}=V3BBpk?elhOxG5P>QdPlEUNj7VLu^5M!yU2 zIg26~JS0MyLK<472bo0#wy4HJtz5rIm_}b(WYRI+i-b5jxCr_foFZb&Fp8l004FG! zsf(bRPg{J0Rhy)2+F}wqn}g$Khv2_Z^>5cj0PMI7sE2mhfdB7d3Fj>aR;i1afkk3? zY+ALg7h0k#D2A&Bg!v;RQWXvjoGbmDob2>-j>WTQ(>;r$MM*)T<$fhYyyUMILtv7Z zw0|*qLjvibARziK#K*`$5_JJaK##X&Cc_v5H- z?GoOn`Nfh+pZ>CZ(xrb(b`^pWD2tyW_(pD3IjNKMy-V<60-d;^pJ*k4DBADkqJ70m zo5+-f(s5#mNCY7I-(RU-r%tjL2^J&*b20g`O%_t=Bxq|77JnlrJmF@PEp(rN9O|Ek zYHDAj{Z`JC^*1dcKsQ;$D8?H>r|c)E{wF*8 zp6{3*QWjk|Xe81~54mv?{hvn!W?huYb$#trqT>B_z9BEdLhG z7f7Mte;3WWE%3$N6wNp-5rQT;Y=J67Br~F|Lfzvpknb4aHGj@$FyNde_-Ir(4j4oC z+GGZ&tzAM0K~M_q2@xgZIhpoLIRrI?G-Rjo8#pMZH|qm(2=H&^+!1Za4&mNVVqCwI zix$q7HW)|6ho#K>tv2Lg!U8JFpO8nRG$2BS_)-pNKt&{BQ*(%Re*O1yVtW`cxX=zm zM|N-N#u~s;)0@XT*@%{08_<*^CxcdXb!@$ZKBV$Dv8T7(6fNpimOGM4!47Bsn?pih_90k4jTg zFdJlc(B0Ug$)!+vZHwk@3dd+nVThKKn5IAl&I~|zfYN}oEYKKC5{W5XVv+_SgafCr z4$EQpit-Dmxxt%oy`mQ+s~%83Nb#mrIm*~No%#BVE^d{T0_MU z_np={2>sa5D&(1BaI@q00XwVpBz~M&%=2Z74`=h*_@WgmkwHR52pT9YI;Mp*s> zc8{NE4NW|8+)uTV;lQsI+$~@$J}vzrQ2c`Q=g)?4ni}I_DRM)f4Z)a!sp;U}rN3$g zS0J4{5(6jKwN@DOjL=$6?`^}>B-*>=_3Ok!^G_^m;~F}8bsk9@Y<%O_a{FoR8mt6( z$7z}7wA6|<0AX5oqoM!wwA>qmNe%0qi(1CGYJdyOItTCX8_*5mQO>@o zAitkUgoD$e`Kqd>$eDG<7nc;qJr%0{9tp0`6Pj7~Y9y+d`_&v`@4MFEdmOhd3oUSw z3$RPttccvdZJC>KwMn9ufp+vyZ9ZpE<;QniT-b`fGTFwv96y`CPB;(AeBP~|^r^mU z^M2)Z+PFWo5mgSWfPF;)!~R8uU-KFjElT6daw493)(rVoZ&Utgvme561pA{q)I`S& zodOUiX}~dQ@%r>VYrt+%-VgZ)@=lz9nd;vz8f?tG_8;KD4jnv(j_1Js4%R{aq}Af| z1P22N5xX?dPi#ZSB+z)d!Qq~C`gB2v>Htq* zICybA^`G$kwcUKc5;z~V6neH~sWlGYO9`|)$ls-?rM%0eR>X|O#WT@M1AyhHHA|g+ zSgYK>>K%Z{INC8)(Zw0~iKYV40v0VLnfewSDFvg@wqUwK6a^-Odx-YxLv_CcAIiCV zDe-r0UP_!{;jDEji3wc0G=QlBBY@}x_|y@Z6K^V*?Mt~*LUs|NW+td^XPKoqbc-tq z!8x(ic}q99r^CTKv(z;F6gdcnvyQ3blEcj2oaPnrq>9tl%e~cM)J)-CSP8e`Nks+w zOB`hmE_K`Dl(G1_1I0XxnRgOLwX?(z!w}}`;^wumrOTW$0P*5`DS68@a0>9 z%R-o(KC{#f$jVrNa3tm0aN>uax6E||<8VzjMYk-|90SsZt;}cXp?nSWF>*==F>gUk zb*ms@sXFwhYc=-VYnKF7GpQ7-Fzh?yTFRHe7}W)W%Y>M1>@Sy%{%PR8UPxCrj+;yu zHqK);h~S0U>G1f!VR#S@jVtLdP&952Rq0ps>vwYO%(llhiRC{Ry)F9 zpwDY^@L>(Hb5Q49;8+)g)UwJE5d{h6Kq;c`DKru~3k4^PoqbzD7S+bvJF&|^Er*$u z4wWuqxgpJvrd*KDu3z4N`M<^&Osrpy^PuaOO9W|Hc#>R~eyw#mHlgXF<(z4Gpe)Fw zEe{LF7F7CjTd`~kTxSC~D~3AZs5mAbkz-8D6B607<>CX~v79Me&b+PQKJW1TJRT}R zs>DZ)K>3#xns20dj8c%3jFI%+%gGlHLTm&TjDi&JPvMl{%_{UMg)&+7jTF^!ybB{B zstsZXUsMq1lI-$-VUyd!US6Ig5gN%YTxbOkBY^X~KXW_sfTL)yDBPW1%zWCWa6`xc zyaRh3!2yn28GuedF>A%3ou0KqBb@@D5fY`|PzG;S{Mtry{@jU@5sDw>I1v-^VkvRW@ z;@(iZZf{T-%l^26lyrmsB7VG!PFU&F2#{<#B{b}n{OQj-$oTp+*QNLt(7~0U0lw67 zaOHmvp$ag-UtUsN4!@WDff;G`0Y$mEpVKcy(3|l6A2qvSrKtdVSq$B>659%+F&)_3 z_+VmqrKo=41$Ki7CE+;)IJ#;jamVUMN-NRPr&hYWP_4mk+(9hHloI;AmAcTSABxV$ zD+37mj|3|d!cCH~a#z45gpUw;>jk3hpH@1t2k-Fd|0>EJ94Ukt1G}(gNOisG^!F=y zw+r6Y-D?O7Cvpxp+iyY~aT4tPj7szX6Q?e8*W(Jpf~NBhpHuT&Dw>Sb&r;Ek^*BtN zzC7K&iUjr?Tvffu6idEUx9kq6n zTK-Tq=F3%}(2G*A96##&HE&SSqE$`KV)7seZC*_{CfmMR)4tjV0%pVfKDvx>B`1-w za-2?HvD)DRvk$`mb$T`X_-gL`)ta}^sX%WKd@OodDGnU6kE{m2KTGw3-@~JSLg9tB z{vTznb~m^gD9*gQn$RDj-4#y~z`+H;Z>@&kYPFvn$Ru7c;w6WI^yO-kz@2L2v}>?n zBy#claUn%w3~@Sp_Vo;%r8cD=I2J^7(4JxODR69GTzm|jvPLP7q`zGq6~lbH`hV2C zSvK`C)Vv8NaBP^=Y!hqdu0hS*HRM$G(93-JNRX(K7}|gscZA3vPF6##qEZT;R|xiJ zTd^gLBU6>PT(v zI&m{qQKdvw2~`Y1sR2L!>l%$lt5xHyGx?Mt*~KZ|APX6C2$dj8-9to;*8Wv~WB=#R zGVNlyK8nJA1svn2rJD0=;Vw3M*V^gvwdKX$wJ2@1Ba0nhi(`S` z)TyDuZoVdnV4z_1iheB^64;astu9#NnrAz2oVC?FLQ)!?S$imkxZ(CHm^;?Q$YhpY z@=jk*%s} zE?lBs*0qCtP#REbdbaiN=-zbOF7>Q=Wo7xZ=FOd@&Z)`$A7E>Cbm5D{8;t7Wx%mrs OZ_b|!NSK7;-~R&C%=L`` literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/NULU.COM b/DiskImg/hd0/u0/NULU.COM new file mode 100644 index 0000000000000000000000000000000000000000..fc5594b1e2c4eddb679645296eaeeb9d32991990 GIT binary patch literal 15616 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 E1<9OScK`qY literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/PIP.COM b/DiskImg/hd0/u0/PIP.COM new file mode 100644 index 0000000000000000000000000000000000000000..4b2ce4b689b9be798eec94cd4275aee957c8bd07 GIT binary patch literal 7424 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 m_wA9|X}-1K3}o>b!S^gcP~*X85!S3Fk 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 I|Fz%$1St4NTL1t6 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/SID.COM b/DiskImg/hd0/u0/SID.COM new file mode 100644 index 0000000000000000000000000000000000000000..3b073ba56b94c4941177430d541180dbd706f15a GIT binary patch literal 7936 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/STAT.COM b/DiskImg/hd0/u0/STAT.COM new file mode 100644 index 0000000000000000000000000000000000000000..1de359f27a749da7d3127749f3720426be6fea56 GIT binary patch literal 5248 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/SUBMIT.COM b/DiskImg/hd0/u0/SUBMIT.COM new file mode 100644 index 0000000000000000000000000000000000000000..2e788827b2a45aea667092573f2263b67f9243f2 GIT binary patch literal 1280 zcmbVMOK2Nc6n#%KPeBGx|AC4&ej`ttbd*wOk|=nPRj|^KLR^KUpG_Mxk;ayYJmZYV z`uHQu-INBhDqXa+gl2a29xys?v)EWAUQ*uqpOO&iVF=1E*Iy^l#W`aV+ zbjHed^&kF4+os2CYg{>QIL3tOLQc2vd8=ZSO9h&>E!VNjG+Ts(Jj9`gW9D7ksna9V z<+74BEX#Ijwro$Cd+7<&C_Iz1%JpXz8KJ?%Z6d!V-3>mA1m}dHBL;5}U;c(nCeNy0 zlMN{roCEwV$2S1q7n~>B8c^SJ>N}wB-===#)DJ*C#H-dhz6tnYNb%*LIsOUoBOL$A z@h^aPZcA*EsU);ce!c?VFZ4|^q-~PU*6PKGxbx`(Tot|jEZ80ZgONFMt4nPP@jE&=2%MFpANPIv5gYPA2KyQGuiOr8c|71<5`B4A zI;&Qsez>^@wsr*XkZ?`J1vUz>xDt)&vr<*BNolPHH!!~({w3l$e&_5Jo{q?05!e!N zU%R&%j}v^E#e*55H6(Z>ljsdeYa+G)iwJf~ZLq0d2Up1;xglK%M+sziX;_gea0k6% z64V3_)Id9aPrFX=b>16hOTxr#zJ~810k;jZ#dZ(5F5W`jDqWTLddb7C}nft);VcKm$t1i_JrduzeEjk1dm)J8M#_v~Q*R zaQEJG&OPTl-}&wYC~8j-@w@Ny_RI88J}2u#!~5{a?&jTIA#}^fN5?1!S3mLC9?CxD zu_tMJFKz!s+xHk7u@#C6$W##mhG~Bz-@w{!T=^yFVJEzfr^n7a`3!ZnWBqg={v~s5$*8cguq4nGQC*&h&Wn_XAV5D>?m0);W(;= zM^Ld;zRMY+E(S-?^6kb33PP(t&=3m?56i|zu2Q9I!8lsZ)gVi!6`-i#F%*@N(^73< z{G*ibIcTfBdX)awF$V6x1%5`SxbEYFQi|$`!VqPoOWQBnbQ2Z@&)G?_($FT&O|r!kuYx&(xeRGnk(m$;<`4ve3YNP7cU zNwanju{BVYYp(ly*8uAS_Rg-OQ?s)(v*!+0zGSC59xiY;Cb0)OPc_XJ#T7`f?5Qle z2wx;bmp|aFz$hwqwEkKMj}b!05J+Q&dL5=29!CWckXzAF!e6n|a)gDuoc0Q}-9Ldg zL-VJXt?O3I3!9h#8X5O7fCe;RInttY=H`#%mi?M%zha!k6ZuRgPx|YGoNw}UQIpM1S(EY=8-GM~xKF-d%3Tp%hd=#*(>zaWbkM|6aGgA$*ax?C=J0uu-xaA0*c_#O(}=ix2IX5fW@>@ELik18Pk zH_Iy=(h2|<=M5PT4G;7T!gng_6}-aQp}l)B#`Dpfu4GMYPAUdI)YCVBRoO74wER~b zZg~`$)-Z&+i%eQm-jT7YrT!k8R8wvfMvRZvOZWG84ZihcVEcjIzMdFvALttFAA(TH zfZW(HrEE&lQvi5he{a0G`)EHw+kchUp~(GE!;qMrKwd;b(QL)G8j|JOf24uwK6P)r2% JR0IE+;ZFpd#_0e6 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/UNARC.COM b/DiskImg/hd0/u0/UNARC.COM new file mode 100644 index 0000000000000000000000000000000000000000..8cc907464fefc5bf64db6ef689a1eb58346d2a88 GIT binary patch literal 4736 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/UNZIP.COM b/DiskImg/hd0/u0/UNZIP.COM new file mode 100644 index 0000000000000000000000000000000000000000..afde72047347290bcc1fcee1b9977a3c2572b545 GIT binary patch literal 3328 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd3/VIDATT.Z80 b/DiskImg/hd0/u0/VIDATT.Z80 similarity index 100% rename from DiskImg/hd3/VIDATT.Z80 rename to DiskImg/hd0/u0/VIDATT.Z80 diff --git a/DiskImg/hd0/u0/WS.COM b/DiskImg/hd0/u0/WS.COM new file mode 100644 index 0000000000000000000000000000000000000000..aa028bc38aa6fdf0e193e2478646f50fc62d9ae1 GIT binary patch literal 7168 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd3/WS.OVR b/DiskImg/hd0/u0/WS.OVR similarity index 100% rename from DiskImg/hd3/WS.OVR rename to DiskImg/hd0/u0/WS.OVR diff --git a/DiskImg/hd3/WSCHANGE.COM b/DiskImg/hd0/u0/WSCHANGE.COM similarity index 100% rename from DiskImg/hd3/WSCHANGE.COM rename to DiskImg/hd0/u0/WSCHANGE.COM diff --git a/DiskImg/hd3/WSCHANGE.OVR b/DiskImg/hd0/u0/WSCHANGE.OVR similarity index 100% rename from DiskImg/hd3/WSCHANGE.OVR rename to DiskImg/hd0/u0/WSCHANGE.OVR diff --git a/DiskImg/hd3/WSCHHELP.OVR b/DiskImg/hd0/u0/WSCHHELP.OVR similarity index 100% rename from DiskImg/hd3/WSCHHELP.OVR rename to DiskImg/hd0/u0/WSCHHELP.OVR diff --git a/DiskImg/hd3/WSHELP.OVR b/DiskImg/hd0/u0/WSHELP.OVR similarity index 100% rename from DiskImg/hd3/WSHELP.OVR rename to DiskImg/hd0/u0/WSHELP.OVR diff --git a/DiskImg/hd3/WSMSGS.OVR b/DiskImg/hd0/u0/WSMSGS.OVR similarity index 100% rename from DiskImg/hd3/WSMSGS.OVR rename to DiskImg/hd0/u0/WSMSGS.OVR diff --git a/DiskImg/hd3/WSPRINT.OVR b/DiskImg/hd0/u0/WSPRINT.OVR similarity index 100% rename from DiskImg/hd3/WSPRINT.OVR rename to DiskImg/hd0/u0/WSPRINT.OVR diff --git a/DiskImg/hd3/WSREADME.TXT b/DiskImg/hd0/u0/WSREADME.TXT similarity index 100% rename from DiskImg/hd3/WSREADME.TXT rename to DiskImg/hd0/u0/WSREADME.TXT diff --git a/DiskImg/hd3/WSSHORT.OVR b/DiskImg/hd0/u0/WSSHORT.OVR similarity index 100% rename from DiskImg/hd3/WSSHORT.OVR rename to DiskImg/hd0/u0/WSSHORT.OVR diff --git a/DiskImg/hd3/WSU.COM b/DiskImg/hd0/u0/WSU.COM similarity index 100% rename from DiskImg/hd3/WSU.COM rename to DiskImg/hd0/u0/WSU.COM diff --git a/DiskImg/hd0/u0/XSUB.COM b/DiskImg/hd0/u0/XSUB.COM new file mode 100644 index 0000000000000000000000000000000000000000..15e86abfc94ac7ae15b0db899aec96d711d56e58 GIT binary patch literal 768 zcmaJ-Ur19?82`SZbGy2mb7AblcK>F2M6D4sMuW6^oJmsllHu|`jC9jEbE6uwq?cZL z2z=-{=%I+BkU|FA#fN+0K1^AGK_H?ad+MRr*>|<)&cpe>^EWg|hr`^;SmQvJ9SI37E$JA6N z?XaaxR+^p8=~-q}kFc|QHe;7%{=PB@kp=OJhH|(riuHkN33wm z)TxRl(m_>vMB^N1$^gn(n0*c<>?w~u?3MdO@_84cTHYyhY%JVhpF+WF3H!Mh*F(19 zi7>GV)_X2S6|FT6U%BiLULq>vC)}t&^N~K$Sm*pDpo<_mkX{L-lIFTn8XeI(0X(wb Y+cM%=k)A5D2B>txs!Q>=Q276^zh*|>DF6Tf literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/ZAP.COM b/DiskImg/hd0/u0/ZAP.COM new file mode 100644 index 0000000000000000000000000000000000000000..47ffcbb8372e3560e5564daa0b2ea165d31a0930 GIT binary patch literal 9856 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 F{~uk{?9TuI literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u0/ZDE.COM b/DiskImg/hd0/u0/ZDE.COM new file mode 100644 index 0000000000000000000000000000000000000000..9bc493c310e79d8d50a32177d10bcdbcb4b18694 GIT binary patch literal 16896 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 zeave option. This produces a working copy of +ZDE.COM with Macro Keys 0 to 9 as defined in the .ZDK file. + +To alter or replace the Macros in SAMPKEY.ZDK, first edit the +text file SAMPKEY.ZDT with ZDE. Then translate SAMPKEY.ZDT into +a new macro file with the command "ZDKCOM SAMPKEY.ZDT." You can +also translate .ZDK files back into .ZDT files if you wish; see +ZDKCOM.DOC for more information. + +The following briefly describes each of the Macros in the SAMPKEY +files: + + +MACRO 0 - SWAP CHARACTERS. + + Macro Text: + q^S^S^G^D^U^U^D^G + + Purpose: + Swaps the character behind the cursor with the previous + character. Useful for catching typos. + + +MACRO 1 - SOFTEN PARAGRAPH. + + Macro Text: + q^QS^X^[=^M]^S^V ^V^D^[![ + + Purpose: + "Softens" Hard Carriage Returns from the line the cursor + is on to the end of the paragraph. This allows + reformatting with ^B of files from other word + processors. + + +MACRO 2 - MOVE TO START OF SENTENCE. + + Macro Text: + q^[~.1^S^[1^[~.<^[2^D^[= 2^[=^M2 + + Purpose: + Moves the cursor to the beginning of the sentance the + cursor is currently on. + + +MACRO 3 - MOVE TO START OF PARAGRAPH. + + Macro Text: + q^QS^S^S^[= [^D^D + + Purpose: + Moves the cursor to the beginning of the paragraph the + cursor is currently on. + + +MACRO 4 - REFORM AND RETURN. + + Macro Text: + q^B^QP + + Purpose: + Reformat beginning with the line the cursor is on and + return cursor to current location. Useful when + revising text in the middle of a paragraph. + + +MACRO 5 - BROWSE FILE. + + Macro Text: + n^[;^C^[![ + + Purpose: + Move through file a screen at a time. Press ESC to + stop. + + +MACRO 6 - DELETE WORD LEFT. + + Macro Text: + n^A^T + + Purpose: + Erases the word to the left of the cursor. + + +MACRO 7 - UNDERLINE WORD RIGHT. + + Macro Text: + n^V^PS^F^PS + + Purpose: + Brackets the word to the right of the cursor with the + control code ^S, causing the word to be underlined when + printed (NOTE: printer must be installed). + + +MACRO 8 - SWAP LINES. + + Macro Text: + q^QS^KB^S^X^KK^S^E^E^KV + + Purpose: + Swaps the current line with the previous line, moving + the cursor with it. Can be used to move a single line + up any distance within your file. + + +MACRO 9 - HELP MESSAGE. + + Macro Text: n^QE^QS^N^N0=SwCh 1=Soft 2=SentBg 3=ParaBg + 4=Reform 5=Browse 6=DelLft 7=Undl 8=SwLn 9=Hlp + ^[;^[;^[;^Y^Y^QP + + Purpose: + Briefly displays help message at top of screen. + \ No newline at end of file diff --git a/DiskImg/hd0/u1/SAMPKEY.ZDK b/DiskImg/hd0/u1/SAMPKEY.ZDK new file mode 100644 index 0000000000000000000000000000000000000000..9bb5971f19b75fde7a5b4938fd85f9d0cf498033 GIT binary patch literal 512 zcmZPy;Fvs_okdiXg`I!mWeI6p-dJHV1u+(B#b~kF|MU!nr46O)^lYS!Sfp(gjDXTc zToW$~3j;aPEG*1T69d?0TQdU{Gc}5^O%n)a6A0#=c$wQtSc2PIn3a_~EPkS^U@#w_ zfo*WPbB2PUZE${CiGq=BaB5zOQ@Vn&Z9rmCB9LKX8" or "<", +are SEARCH LOOPS. They will continue to move the cursor right +(">") or left ("<") AS LONG AS the character at the cursor matches +(ESC-=) or doesn't match (ESC-~) the specified character. Both +search loops terminate automatically at the beginning or end of +the file. Example: ESC=_> moves right as long as the current +character is a space. + ESC-+, followed by 0..9, CHAINS to another macro key, +allowing you to build macros strings longer than the storage limit +of any one key. It does not "call" the key; there is no +returning. Example: ESC+9 chains to Key 9. + ESC-; (semicolon) gives a brief pause, presumably so the user +can see what's happening on screen. + Macro programs are stored just like any other macro string +(usually with "N"o repeat count). If you program in an endless +loop, you will at some point have to abort with ESC. Don't make +macro programs "Q"uiet until you're sure they work. + Example: here is a good macro program (best stored as a Quiet +Key) to move the cursor to the start of the current sentence: + + ESC~.1, ^S, ESC1, ESC~.<, ESC2, ^D, ESC=_2, ESC=^M2 + +You could write this out in programmer's pseudo-code as: + + If not "." goto label1 + Move left ;move left if already on period +label1: While not "." move Left ;move left to previous period +label2: Move right ;now move back right + If " " goto label2 ; as long as you see a space + If "^M" goto label2 ; or a Return + (all done) + + +7. General Information. + +7.1. Disk Space. + + ZDE isn't disk-bound; if you run out of disk space, just +insert another disk (always keep a blank FORMATTED disk around). +Alternatively, you can use the ESC-F and ESC-E commands to purge +unneeded files. [If you have small disks, you can also install +ZDE not to preserve BAK files.] + Let ZDE's filesize limits encourage you to break work up into +files of 50K or less; larger files make inefficient use of floppy +disks. + +7.2. Error Messages. + + Press ESC or Space to continue. "Error" alone means the +command used just won't work in this situation. (Example: a block +command was used with no block marked.) More specific errors are: + + "Out of Memory" - the file, block, or key string won't fit in + RAM. + "Invalid Key" - an illegal command key sequence was pressed. + "I/O Error" - file not found, disk full, empty/invalid + drive, etc. +"Cannot Reformat" - word too long, or margins invalid. + "Not Found" - the object of a search was not found. + "Syntax Error" - a macro programming command was misused. + +7.3. File Modes. + + ZDE has three FILE MODES: "W"ordStar document, "A"SCII +document, and "N"on-document. The basic difference concerns the +format of disk files. + In "W" mode, ZDE reads and writes WordStar-compatible files. +ZDE can edit a WordStar document, except that any right +justification will be lost. WordStar can edit any ZDE "W" file in +Document mode. + In "A" or "N" mode, ZDE reads and writes text as standard +ASCII 7-bit characters, a universal format accepted by virtually +all software. The only difference between "A" and "N" modes lies +in the default settings on loading a new file. Typically "A" mode +is used for word processing, and "N" mode for programming and +other technical applications. + +DEFAULTS FOR: Margins Tabs Hard CR disp. +------------ ------- ---- ------------ +"A"SCII or "W"ordStar mode ACTIVE VARIABLE [ON] +"N"on-document DISABLED HARD OFF + + The file mode option can be specified along with the filename +at any ZDE file function prompt, allowing you to mix WordStar and +ASCII disk files as needed (see Invoking ZDE, above). You can +also change the current mode with the ^K-N function by entering a +new mode (e.g., "[W") with or without a filename. + [ZDENSTAL allows you to select a default file mode, to be +used when no mode is specified (originally this is "A"). Further, +you can specify two filetype masks for automatic mode selection +(e.g., all "ASM" files as "N" mode) to override that default.] + NOTE ON ASCII FILES - The "A"SCII-document file format used +since VDE 2.50, to allow accurate formatting and WordStar +compatibility, distinguishes between HARD and SOFT CRs (see +Wordwrap, above). Consequently, if you edit an ASCII file created +by other software (including earlier versions of VDE), it may +appear to be full of hard CRs, making text impossible to reformat. +There are two easy ways to solve this problem: first, you can use +^Q-A to find "^M"s and selectively replace them with " ^M". +Alternatively, the following Macro (best stored as a Quiet macro +Key) does a good job of "softening up" paragraphs for reformatting: + + ^QS,^X,ESC=_],ESC=CR],^S,^V_^V,^D,ESC![ + +7.4. Hyphenation (^O-H). + + ZDE can't introduce hyphens, but it does recognize them in +the text, treating them as a legitimate place to break a line, so +if you have a long word close to the margin, you can insert a +hyphen where you'd like the word to be broken. + Similarly, ZDE can't unhyphenate. If it is trying to +reformat and finds a hyphen at the end of a line, it will pause to +ask you what to do with it. You will see the prompt "Chg?" in the +header, and can: + Press "Y" to remove the hyphen and space, joining the word; + "N" to leave the hyphen, but still join the word; + "ESC" to leave both the hyphen and the space alone. +Typically you would choose "Y" for "soft" hyphens that you +introduced to break up a word ("intro-duction"); "N" for hard +hyphens that are part of a word ("vis-a-vis"); and "ESC" for +punctuation (dashes "--", etc.). After your choice, reformatting +will proceed automatically. + You can toggle hyphenation on and off with ^O-H. If off, +hyphens are not treated differently from any other text character. +[The ^O-H default can be changed with ZDENSTAL.] + +7.5. Interruption. + + If ZDE is interrupted by messages from other software (BIOS +error, resident utilities, etc.), it may lose control of the +screen. The best way to return it to normal is by blanking and +restoring the screen (^O-Z, ESC). + +7.6. Prompts. + + First, ZDE has several simple prompts requiring you to +confirm an action by typing "Y" or "N": + + "Abandon changes?" - warns the file you want to Quit has + been changed. +"Unchanged; save anyway?" - reminds the file you want saved isn't + changed. + "Delete original?" - do you want to delete block copied + from 2nd file? + "Chg?" - do you want to change this instance of + a string? + +Then, there are a few special purpose prompts: + + "Repeat count:" - enter (optional "Q" and) repeat count + for Macro. + "Key number:" - enter (optional "N/Q" and) key number + for Key. + "Rdy" - press any key to print next page (ESC + quits). + +Finally, there are a variety of prompts for either numeric or +string input, like "Column:" or "Find string:". You are expected +to type in a string (up to 65 characters). The following control +keys operate: + + Correct mistake: BS (^H), ^S, or Del + Erase entire entry: ^X + Abort operation: ^U + +Note that to get any of these codes, or a CR, into the string +itself, you must precede it with ^P (this includes ^P). Examples: +to find a line beginning with a "*" (find "^M,*") type + + ^Q-F, ^P-CR, *, CR. + +Now to get this into a Macro with ESC-M, you would have to type + + ESC-M, ^Q-F, ^P-P, ^P-CR, *, ^P-CR, CR. + +7.7. WordStar Compatibility. + + In most respects ZDE operates much like WordStar; one big +difference is the absence of a "No-File" menu. You are always in +edit mode; use ^K-L to select a new file to edit. + If the keys ^J, ^K, ^L are in use as CP/M arrow keys, you +must use ZDE's original command set to substitute for them as +follows: + + Block prefix (^K-)... ESC- + Help menu (^J)....... ESC-H + Repeat find (^L)..... ^\ + + If these keys are NOT installed as arrow keys, they retain +their WordStar functions. Then, of course, ZDE lacks some +WordStar commands, and has some of its own. Aside from these, +there are the following differences in common commands: + +COMMON USE WORDSTAR 4 ZDE ZDE NOTES +Hide block ^K-H ^K-U Actually unmarks block. +Erase disk file ^K-J ^K-E +Set Place Mark ^K-0..9 ^P-Z Not individually numbered. +Go to Place Mark ^Q-0..9 ^Q-P Cyclic. + +COMMON COMMAND WORDSTAR 4 USE ZDE USE + ^^ Soften hard CR Transpose upper/lowercase + ^K-N Column block mode Rename current work + ^O-D Display ^P codes Display hard CRs + ^O-F Ruler from text Flush right + ^O-P Preview mode Page length + ^Q-U Repeat align Repeat undelete + +Note that ZDE does not implement WordStar "dot commands" in text, +though in "W" mode it avoids printing them. + + +8. Disclaimer. + + You use ZDE at your own risk. The author accepts no +liability for any damages resulting from its use or misuse. +Direct problem reports and suggestions to the author; include a +stamped return envelope for a reply if desired. Thanks to the +many users of ZDE whose feedback has led to improvements and bug +fixes in the past. + + Carson Wilson Sysop: Antelope Freeway RAS + 1359 W. Greenleaf 312-764-5162, Chicago + Chicago, IL 60626 24 hours, 3-12-2400 baud + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDE10.FOR b/DiskImg/hd0/u1/ZDE10.FOR new file mode 100644 index 00000000..79b4dd02 --- /dev/null +++ b/DiskImg/hd0/u1/ZDE10.FOR @@ -0,0 +1,7 @@ +Z-System Display Editor is Eric Meyer's famous VDE improved and +enhanced for Z-System. ZCPR named directory and line queue +capabilities, preserves file datestamps and runs faster under ZSDOS, +improved install program and documentation, and key compiler +included. Over twenty flaws in VDE 2.66 corrected. Also runs under +vanilla CP/M 2.2 and CP/M Plus. + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDE10.NEW b/DiskImg/hd0/u1/ZDE10.NEW new file mode 100644 index 00000000..4c568f0d --- /dev/null +++ b/DiskImg/hd0/u1/ZDE10.NEW @@ -0,0 +1,304 @@ + New in ZDE + + Z-System Display Editor + + Version 1.0 10 Mar 89 + + ZDE and its documentation are copyright 1989 by Carson Wilson, + all rights reserved. They may not be circulated in any + incomplete or modified form without written permission of the + author. Any commercial use of ZDE, defined as any situation + where the duplicator receives revenue by duplicating or + distributing ZDE by itself or in conjunction with any hardware + or software product, is expressly prohibited unless authorized + in writing by Carson Wilson. + + + CONTENTS + + 1. Functional Enhancments. + 1.1. File Datestamp Capability. + 1.2. Named Directory Capability. + 1.3. Line Queue Capability. + 1.4. Other Enhancements. + 2. Bugs Fixed. + 3. ZDENSTAL. + 4. Notes to DosDisk Users. + 5. Planned Enhancements. + 6. Development History. + + +1. Functional Enhancments. + +1.1. File Datestamp Capability. + + Under ZSDOS, the Create date and time of files edited with +ZDE are maintained across editions. If .BAK files are being +created, the create dates of new files will be the same as their +.BAK files. Note that if a file with the name of a block being +saved with ^KW or ESC-W already exists, the saved block will have +the same Create stamp as the (previously) existing file. I hope +to address this side-effect in future versions by prompting before +erasing existing files during ^KW commands. + +1.2. Named Directory Capability. + + ZDE will now accept ZCPR named directories when loading, +renaming, and erasing files, and when requesting a directory +listing with the ^KF command. The named directory (if available) +is also displayed as part of the current file name in the status +line. + Since ZCPR directory names can occupy up to eight columns on +the status line, it was necessary to move the rest of the status +line over by eight columns. I was able to gain an extra column by +putting only one space between the filetype and the "[x" +specifier, but the result is that if your terminal displays less +than 55 columns the current column number will not be visible in +your status line. + This is unfortunate, but the status line is already about as +compressed as possible. To include all of the information I would +have to add a second status line for narrow terminals, which would +add a good deal of code and complexity to what is already a +complicated program. Since most CP/M terminals (including my own) +have 80 columns, I have decided in favor of the majority in this +instance. + You may also notice that the ^QA prompt "Chg? (Y/N/*)" has +been shortened to "Chg?" and the "Wait..." message is now "Wait". +These changes were also necessary because of the decrease in +available space on the status line. + +1.3. Line Queue Capability. + + A third functional enhancment is the new ^QQ command, which +causes ZDE to skip to line numbers stored in ZCPR's user-defined +message bytes. Under ZCPR3, up to eight line or page numbers may +be passed to ZDE. The original idea was to use the interface to +produce a Turbo Pascal-like integrated environment for program +development, but the interface is certainly not limited to +programmers. + The numbers are stored in ZCPR's 16 user-defined message +bytes, and ZDE treats these bytes as a packed array of up to eight +elements. ^QQ causes ZDE to cycle through the array, going to the +stored locations sequentially until the end of the array or a zero +element is reached, at which point ZDE returns to the first stored +location. + The numbers are stored as inverted 2-byte hex words (LSB +first), so for example to store the lines 12, 44, and 108 a +program would set the 16 user-defined bytes as follows: + + 0C 00 2C 00 6C 00 00 00 00 00 00 00 00 00 00 00 + +In this example, when ZDE reaches the fourth word (00 00) it +returns to the start of the array and goes to line 12 (0C 00). + Any ZCPR program, or even an alias (using Jay Sage's powerful +ARUNZ parameters) can now give ZDE the locations of up to eight +line numbers of interest. With a little imagination we could +probably create an integrated text search/edit environment which +searches multiple files for a string and points ZDE to the exact +location of each match for editing. Thanks to Cameron Cotrill and +Al Grabauskas for suggesting this feature. + +1.4. Other Enhancements. + + In response to a suggestion by Phil Newman, ZDE now properly +accepts and displays user areas between 16 and 31. While I do not +normally suggest storing files in these areas because many CP/M +programs do not handle them properly, they are useful occasionally +on very large disks or for security purposes, and are supported by +ZCPR and ZSDOS, so I have included them in ZDE. + For NewWord compatibility, I have changed the "To Mark" +command from ^QP to ^QZ. This is also better mnemonically, since +the "place mark" command is ^PZ. + The search and replace functions now match upper or lower +case by default. To search for an exact match by case, you must +enter "/c/" or "/C/" (for Case) before the search string. The +"/i/" option is no longer active. I have changed default +find/replace wildcard character to ^Z so that ZDE can find strings +with literal '_' characters. Use the ^QZ command to find a +literal ^Z. + ^KB, ^KK, ^KU and ^QY no longer cause unnecessary redisplays. + For faster operation, ZDE no longer resets drives under ZSDOS +(same as CP/M Plus). + Under ZSDOS and CP/M Plus, ZDE sets the error mode to 0FEh. +All BDOS errors are displayed on the screen, but ZDE retains +control. + For your protection, ZSDOS Path and Public files are Read +Only under ZDE. That is, you can access files via Path or Public +but you cannot erase Path or Public files. If you get a ZSDOS +"File W/P" error when saving data with the ^KS, ^KD, ^KX, or ^KW +commands or when erasing a file with ^KE, you may have given the +name of a ZSDOS Path or Public file. Try again with a new name. + + +2. Bugs Fixed. + + If just a drive letter in given during the ^KF (display +files) command, files in the current user area are displayed +rather than files in user area 0 (thanks to Ben Cohen). + ZDE no longer crashes if no name is given in response to the +^KW prompt (thanks to Eric Meyer for finding this one). + ^KB and ^KK now behave properly when entered at the rightmost +column of the screen. + The "Chg?" prompt is now properly erased in all circumstances. + Full disk errors caused CP/M Plus and ZSDOS systems to report +the wrong amount of free space. This has been corrected by +closing the output file after full disk errors (thanks to Howard +Goldstein for this idea). + File read-only errors no longer set the drive byte to "^@" +under CP/M 2.2 (thanks again to Phil Newman for finding this one). + Backwards replace now finds the first occurrence of the +string before the cursor even if the cursor is only one character +to the right of the string. If the string is replaced, the cursor +now returns to the START of the new string instead of one after it +as before (this may change the effects of some ZDE key macros). + Ben Cohen noticed that VDE's left margin (Lnn) print option +sometimes failed to indent the first line. This has been fixed. +ZDE also prints the header text at the same location no matter +what left margin is used, rather than indenting the header and +causing it to wrap to the next line. Print option verification is +also much more rigorous now than in previous versions. + ^KS, ^KD, and ^KX file name requests now abort with a +carriage return as well as ^U, and ^U now returns you to ZDE in +response to the ^KX filename request. + The bug fix published in VDE266.FIX has been incorporated. + Several ZDE bugs affecting use with DosDisk have been +eliminated (see below for bugs IN DosDisk 1.00, however). + Tabs displayed in the last column of the last row no longer +cause the screen to scroll. + Virtual screen displays no longer show garbage at the end of +the line if the cursor is at the left side of the screen, and +moving to the left edge of the screen with ^A no longer causes +redisplay. + ^A now moves to the first character on line 2 before jumping +to line 1 when line 1 is empty. + ^PZ now causes a horizontal scroll if it moves the cursor +beyond the right edge of the screen. + Block and place markers no longer set file status to +"Changed." + The cursor no longer jumps around when moving left from +columns after 254. The cursor now stops at column 254 instead of +255, and the status line says "Col 255" for any column past 254. +Text past column 254 CAN actually be edited, but it will not be +displayed by ZDE. + Strings can now be found with ^QA even if they are the very +last item in the file (credit goes to Cameron W. Cotrill for +finding this one). + "^OI@" now removes all soft tab stops "as advertised" in +VDE266.DOC instead of setting them all to 1, making it possible to +set new tabs after entering "^OI@". "^OI#" has the same effect. + ^^ now sets file status to "Changed" when converting from +lower-to-upper case as well as upper-to-lower. + "Wait..." message now disappears after disk operations with +ruler on and status line off. VDE266 forgot to erase the message +in this situation. + Backwards find and replace operations now work properly +instead of repeating the prompt indefinitely when the replace +string is shorter than the find string (thanks to Ben Cohen for +pointing this out). + VDE restored INSert to its entry status just BEFORE the final +byte of the macro, resulting in irregular behavior and sometimes +causing macro elements to appear after the "INS" indicator in the +status line. ZDE waits until the entire macro has executed before +restoring entry status. Due to ZDE's code structure, the INS +status line indicator does not change during macro execution. + ZDE restores INSert to entry status when macros abort due to +errors (e.g., "[[[ Not Found ]]]"). + + +3. ZDENSTAL. + + Included in this library is ZDENSTAL.COM, the new install +program for ZDE. ZDENSTAL it is very similar to VINST in +operation, but adds the feature of displaying the actual print +toggles and switches at all prompts, rather than the default ones. +So if you change the first default print toggle character to ^K +for example, all other prompts referring to that toggle now +reflect the change. + Files for use with ZDENSTAL must have the type ".ZDE" (option +installation), ".ZDP" (printer installation), or ".ZDK" (macro +keys), but are otherwise compatible with files used to install VDE +2.66. With Fred Haines' permission, I have adapted his wonderful +VDKCOM.COM utility for use with ZDE, and renamed it (what else?) +ZDKCOM.COM (see ZDKCOM.DOC). + ZDENSTAL also corrects the bug which prevented VINST from +loading installation files whose archive bits were set. + + +4. Notes to DosDisk Users. + +DosDisk users are advised of a bug in DosDisk 1.00 which appeared +during the development of ZDE. Calling Reset 13 while DosDisk is +active can cause DosDisk to think other active drives are all +drive A:. Bridger Mitchell, author of DosDisk, is aware of this +bug and is working on a fix. In the meantime, users of CP/M 2.2 +and ZRDOS who wish to edit files on MS-DOS disks should NOT log +into the MS-DOS drive while editing with ZDE, as this causes ZDE +to do a Reset 13 when writing to the MS-DOS drive. To edit files +on the MS-DOS drive, run ZDE from drive A: or another non-MS-DOS +drive. + +Users of ZSDOS and CP/M Plus need not worry about this problem +with ZDE, as ZDE never resets disks under ZSDOS or CP/M Plus. By +the same token, however, ZSDOS and CP/M Plus users must not change +disks in the MS-DOS drive from within ZDE, because DosDisk (like +CP/M 2.2) requires a disk reset or warm boot when disks are +changed (see DosDisk manual, p. 7). + + +5. Planned Enhancements. + + If time permits, future versions of ZDE may contain the +following enhancements: + An improved ZDENSTAL which directly accepts ASCII files for +key definitions, along the lines of ZDKCOM. + Bridger Mitchell has suggested command "bindings" which would +allow any control key or meta key sequence to be linked to any ZDE +command. This idea will be familiar to users of Perfect Writer. +Key bindings would allow ZDE to simulate EMACS, for example. + Bruce Morgen and others have suggested automatic terminal +installation under ZCPR, allowing the same copy of ZDE to be used +with any terminal. + Allow more than two default filetypes available and fixed +disks. + It may be possible to preserve file create datestamps under +CP/M Plus and Z3PLUS. + + +6. Development History. + +1984: VDE began as Eric Meyer's set of improvements on the tiny + (4k) "VDO" memory- mapped editor by Fritz Schneider (1982), + as adapted by George Peace (1984) for the Osborne Executive. + +1985: The first terminal adaptation, VDE-PX for the Epson PX-8. + Ongoing improvements also in parallel Osborne versions + VDE-OS. + +1986: The unified VDE(M) version 2.00, with generic terminal + installation. Versions 2.1-2.3 added new features + including macros; global replace; tighter compression; many + Print options; file directory; undelete. + +1987: 2.4 (1/87): Improved scrolling and screen functions; more + screen sizes supported; WordStar file mode; + place markers; ^OZ; block print; larger macro + keys; VINSTALL terminal menu. + + 2.5 (3/87): User area support; variable tabs; double + spacing; search wildcards; more standard block + functions; improved format- ting; many + additions to VINSTALL. + + 2.6 (7/87): Greater WordStar compatibility; many new + functions; more free RAM; faster scrolling; + search options; keyboard buffer. + +1988: Development through v2.64, with new functions; top margin; + doublespaced printing; auto mode filetypes. + + 2.65 (4/88): Auto indent; tab set enhancements; small fixes. + + 2.66 (6/88): Printer left margin; small fixes. + +1989: First version of ZDE. + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDE10.QRF b/DiskImg/hd0/u1/ZDE10.QRF new file mode 100644 index 00000000..3256a079 --- /dev/null +++ b/DiskImg/hd0/u1/ZDE10.QRF @@ -0,0 +1,55 @@ + QUICK REFERENCE FOR ZDE 1.0 +------- [Note: the ^K- and ESC- prefixes are nearly interchangeable.] -------- + + + CURSOR AND SCREEN: + + = ^E = ^D ^Q, start, end of line + = ^X = ^S or ^H ^Q, top, end of screen + [Note: An alternate arrow key set can also be installed.] + + ^F word right ^QR to top of file ^QB to block start + ^A word left ^QC to end of file ^QZ to place marker + ^R page back ^QI to page/line no. ^QQ to queue line + ^C page forward + ^W scroll back line ESC, shift up, down 1/4 screen + ^Z scroll down line ESC, shift right, left 32 cols + ^O make current line top + + DELETING: MISCELLANY: FIND and REPLACE: + + ^G delete char right ^V INSERT on/off ^QF find string + DEL delete char left ^N insert a CR ^QA find and replace + ^T delete word right TAB Tab or move to stop /B/ackwards + ^Y delete line ^^ upper/lower case /C/ase-specific + ^QY del to end of ln ^KI information message /// quote "/" +^Q-DEL " to beg of ln ^PZ set place marker ^Z = wildcard +^QT_ del to character ^OD HCR display on/off ^L [^\] repeat last + ^U UNdelete char ^OQ header on/off find/repl + ^QU UNdelete line ^OW make window + ^OZ blank screen + + DISK FILES: BLOCKS: PRINTING: + + ^KN change filename ^KB block start ^KP print text + ^KL load new file ^KK block end (Options: P,B,T,L, + ^KR read in disk file ^KU unmark block ^,"",*nn,@nn,#nn) + ^KF show disk files ^KC copy block ^OP set page length + ^KE erase disk file ^KV move block ^P- insert ^-code: + ^KS save work, continue ^KY delete block B,D,S,Y toggles + ^KD save, load new file ^KW write block to disk Q,W,E,R switches + ^KX save and exit + ^KQ quit without save + + FORMATTING: + + ^OR,L set rt, lf margins ^OI,N tab set, clear ^B reform text + ^OX margin release ^OV tabs variable/fixed ^OT ruler line + ^OC center line ^OA auto indent mode + ^OF flush line right ^OS double spacing + + MACROS: + + ESC-M define macro ESC-# store macro key ESC-!,=,~,+ + ESC-; wait (pause) ESC-0..9 use key macro programming + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDE10.TOC b/DiskImg/hd0/u1/ZDE10.TOC new file mode 100644 index 00000000..3b54a99c --- /dev/null +++ b/DiskImg/hd0/u1/ZDE10.TOC @@ -0,0 +1,67 @@ +..Print in Wordstar mode, using the "L8" option for normal pitch +..printers and 8.5" paper. + + ZZZZZZZZ DDDDDDD EEEEEEEE + ZZ DD DD EE + ZZ DD DD EE + ZZ DD DD EEEEEE + ZZ DD DD EE + ZZ DD DD EE + ZZZZZZZZ DDDDDDD EEEEEEEE + + Z-System Display Editor + + + Table of Contents + +1. Introduction. . . . . . . . . . . . . . . . . . . . . . 1 +2. Installing ZDE. . . . . . . . . . . . . . . . . . . . . 2 +3. Invoking ZDE. . . . . . . . . . . . . . . . . . . . . . 2 +4. ZDE's Command Set. . . . . . . . . . . . . . . . . . . 2 +4.1. Command Summary. . . . . . . . . . . . . . . . . . . 3 +4.1.1. Control Keys: . . . . . . . . . . . . . . . . . . . 3 +4.1.2. File and Block Commands: . . . . . . . . . . . . . 3 +4.1.3. Escape and Macro Commands . . . . . . . . . . . . . 4 +4.1.4. Quick Commands . . . . . . . . . . . . . . . . . . 4 +5. Command Descriptions. . . . . . . . . . . . . . . . . . 5 +5.1. Auto-Indent Mode (^O-A). . . . . . . . . . . . . . . 5 +5.2. Block Commands . . . . . . . . . . . . . . . . . . . 5 +5.3. Cursor Movement . . . . . . . . . . . . . . . . . . . 6 +5.4. Deleting . . . . . . . . . . . . . . . . . . . . . . 6 +5.5. Disk Operations . . . . . . . . . . . . . . . . . . . 7 +5.6. File Commands . . . . . . . . . . . . . . . . . . . . 7 +5.7. Find, Replace . . . . . . . . . . . . . . . . . . . . 7 +5.8. Header . . . . . . . . . . . . . . . . . . . . . . . 8 +5.9. Information . . . . . . . . . . . . . . . . . . . . . 8 +5.10. Insert Mode . . . . . . . . . . . . . . . . . . . . 9 +5.11. Line Spacing . . . . . . . . . . . . . . . . . . . . 9 +5.12. Margins . . . . . . . . . . . . . . . . . . . . . . 9 +5.13. Pagination . . . . . . . . . . . . . . . . . . . . . 9 +5.14. Place Markers and Line Queue . . . . . . . . . . . . 10 +5.15. Printer Codes . . . . . . . . . . . . . . . . . . . 10 +5.16. Printing . . . . . . . . . . . . . . . . . . . . . . 11 +5.17. Ruler Line . . . . . . . . . . . . . . . . . . . . . 12 +5.18. Tabs . . . . . . . . . . . . . . . . . . . . . . . . 12 +5.19. Undelete . . . . . . . . . . . . . . . . . . . . . . 12 +5.20. Upper/Lower Case . . . . . . . . . . . . . . . . . . 13 +5.21. Window and Screen . . . . . . . . . . . . . . . . . 13 +5.22. Wordwrap, Reformat . . . . . . . . . . . . . . . . . 13 +6. Macros. . . . . . . . . . . . . . . . . . . . . . . . . 14 +6.1. Macro . . . . . . . . . . . . . . . . . . . . . . . . 14 +6.2. Macro Key . . . . . . . . . . . . . . . . . . . . . . 15 +6.3. Macro Programming . . . . . . . . . . . . . . . . . . 15 + + + + + +7. General Information. . . . . . . . . . . . . . . . . . 16 +7.1. Disk Space. . . . . . . . . . . . . . . . . . . . . . 16 +7.2. Error Messages. . . . . . . . . . . . . . . . . . . . 17 +7.3. File Modes. . . . . . . . . . . . . . . . . . . . . . 17 +7.4. Hyphenation . . . . . . . . . . . . . . . . . . . . . 18 +7.5. Interruption. . . . . . . . . . . . . . . . . . . . . 18 +7.6. Prompts. . . . . . . . . . . . . . . . . . . . . . . 18 +7.7. WordStar Compatibility. . . . . . . . . . . . . . . . 19 +8. Disclaimer. . . . . . . . . . . . . . . . . . . . . . . 20 + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDE13.FOR b/DiskImg/hd0/u1/ZDE13.FOR new file mode 100644 index 00000000..7b0f2694 --- /dev/null +++ b/DiskImg/hd0/u1/ZDE13.FOR @@ -0,0 +1,8 @@ +Update to Z System Display Editor, a small, fast editor for assembly +language and light word processing. Z System required for optimal +performance; also works with CP/M 2.2 and CP/M Plus. This version +adds hardware video handling, auto-return to file position under +ZCPR, WordStar-like ruler line, cursor on/off, and generally +F-A-S-T-E-R performance. Ten little bugs also fixed. See ZDE10.LBR +for full documentation. 26 Aug 89 by Carson Wilson. + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDE13.NEW b/DiskImg/hd0/u1/ZDE13.NEW new file mode 100644 index 00000000..1e8517a1 --- /dev/null +++ b/DiskImg/hd0/u1/ZDE13.NEW @@ -0,0 +1,241 @@ + + New in ZDE + + Z-System Display Editor + + Version 1.3 26 Aug 89 + + + ZDE and its documentation adapted with permission from Eric + Meyer's VDE version 2.66, and are now copyright 1989 by Carson + Wilson, all rights reserved. They may not be circulated in any + incomplete or modified form without the written permission of + Carson Wilson. Any commercial use of ZDE, defined as any + situation where the duplicator receives revenue by duplicating + or distributing ZDE by itself or in conjunction with any + hardware or software product, is expressly prohibited unless + authorized in writing by Carson Wilson. + + + This file describes changes to ZDE since version 1.0. I have + decided not to release a revision of the documents while ZDE is + still in active development. For now, please obtain ZDE10.DOC + and ZDENSTAL.DOC from ZDE10.LBR, available on Antelope Freeway + and many other remote CP/M systems. Except for the changes + detailed below, these files provide a thorough explanation of + how to use and install ZDE. Alternatively, send a contribution + of $6 or more to support further work on ZDE, and I will mail + you a high quality printed manual. See section 4 of this file + for details. + + + - CONTENTS - + + 1. FUNCTIONAL ENHANCMENTS. + 1.1. Hardware Codes for Faster Scrolling. + 1.2. ZCPR Auto-Return to Previous Position. + 1.3. WordStar-like Ruler line. + 1.4. ZCPR-like Option Lead-in Character. + 1.5. Cursor Dance Eliminated. + 1.6. Other Minor Enhancments. + 2. BUGS FIXED. + 3. INSTALLATION. + 4. FOR MORE INFORMATION. + + +1. FUNCTIONAL ENHANCEMENTS. + + 1.1. Hardware Codes for Faster Scrolling. + +ZDE now uses "hardware" video scrolling in its delete line (^Y) +command, if your terminal has a delete line capability (see +ZDENSTAL's Terminal Installation). If hardware insert line is +available, hardware scrolling is also implemented in the insert +line (^N) command when used at the beginning of a line. For most +terminals these are considerably faster than repainting all or +part of the screen, especially if more than one line is being +inserted or deleted. + +On many ASCII terminals a pause is needed after giving a hardware +scroll string so that the screen can catch up with the keyboard. +As distributed the same value of 38 hex is used for both +horizontal and vertical scrolls. To determine the optimal setting +for your terminal, load a large text file and execute "scroll up" +or "scroll down" (^W or ^Z) continuously. If your terminal beeps +at you or if garbage characters appear you probably need to +install a larger "Horizontal & vertical scroll delay" value with +ZDENSTAL. + + 1.2. ZCPR Auto-Return to Previous Position. + +ZDE now loads ZCPR's user-defined message bytes 0 and 1 (if +available) with the absolute line number of your position in a +file on exit. This allows you to exit to ZCPR, perform some other +commands, then return to the same line in your file using the ^QQ +command. You can also use this feature to jump to the equivalent +line in another file. Since the line number is absolute, it does +not vary with page length or file mode settings. + + 1.3. WordStar-like Ruler line. + +New in this version is the appearance of ZDE's ASCII/WordStar mode +ruler line. As with WordStar and NewWord, the left margin is now +marked with "L", the right margin with "R", and soft tabs with +"!". The appearance of ZDE's Non-Document mode ruler line remains +unchanged. + + 1.4. ZCPR-like Option Lead-in Character. + +ZDE now accepts ZCPR's familiar "/" slash character instead of +CP/M Plus's "[" character as an option signifier. For example, to +change to non-document mode the command is now "^KN/N" instead of +"^KN[N". To load a file in ASCII mode (for example) the command +is now "ZDE filename /A". This is more consistent with Z-System +programs as well as the MS-DOS version of VDE. It's also a lot +easier to find the slash character (at least on my keyboard)! + +ZDE allows you to "quote" the slash character in filenames in the +same way you quote it in ZDE find/replace strings, by doubling the +slash to give a literal slash. So for example the command "^KN +12//12//89.FIL" will change the current filename to +"12/12/89.FIL," and "ZDE ////MYFILE" loads //MYFILE for editing. + + 1.5. Cursor Dance Eliminated. + +Several users mentioned that ZDE's cursor often seemed to "dance" +for no apparent reason. Actually, this was due to the fact that +ZDE repaints the screen somewhat more often than larger word +processing programs, but in looking through NewWord's User Area +Listing for version 2.17, I found something I had never noticed +before. It is possible to install NewWord to turn your cursor off +and on by putting short routines in the MORPAT area and installing +jumps to your routines at 77D and 77A hex, respectively. This +reduces eyestrain by telling NW to turn off your cursor while it +repaints your screen. + +It turns out that it was fairly simple to add a similar routine to +ZDE, so this version has cursor on/off routines similar to +NewWord's. To make use of these routines, you must install ZDE +with the cursor on/off codes for your terminal. ZDENSTAL 1.3 +allows up to six bytes each for cursor on and cursor off. I have +only been able to find codes for a few of the terminals in +ZDENSTAL's library. If the codes for your terminal are not +included in ZDENSTAL, perhaps you could leave a short message to +me describing them (see below for address), and I will include +them in the next release. + + 1.6. Other Minor Enhancments. + +The cursor now turns off with the ^OZ command, giving a completely +blank screen if cursor on/off is installed (see 1.5, above). + +Version 1.0 repainted the whole screen after copying a block. Now +ZDE repaints only from the block to the bottom of the screen for +faster operation in most circumstances. I have also optimized +ZDE's general screen output routines somewhat for speed, though +this isn't noticable on terminals operating at less than 38.4 +kbaud. + +File input/output code has also been optimized for slightly +greater speed. + +And, last but not least, "quiet" operations now work up to 300 +percent faster! Both "quiet" macros and the "*" option of +find/replace boast greatly increased speed due to improved program +logic. + + +2. BUGS FIXED. + +If you did a backwards find/replace with ZDE 1.0 and responded to +the "Y/N" prompt with "*", the screen stayed off until you gave an +illegal command. The screen now comes back when replacement is +complete. + +ZCPR's GO restart now works after exitting when ZDE's window (^OW) +is active. Previously restarting with GO caused ZDE to limited +the number of lines of display available by 1/2. + +I fixed a bug with block markers failing to scroll the entire +display if entered in the last screen column. This was apparently +introduced when I made block marker displays more efficient in ZDE +1.0. + +If the cursor is to the left of the left margin, block markers now +move the cursor to the left margin instead of marking the blank +space between cursor and left margin as part of the block. + +For greater safety, ZDE now checks for free memory space before +adding a block marker with ^KK or ^KB. + +Place markers no longer cause words to "wrap" to the next line +when wordwrap is active. + +I fixed a minor bug ZDE 1.0 introduced to the ^OR command. Typing +^OR in non-document mode no longer produces the strange result of +setting the right margin to column seven. + +A display bug which occurred when the cursor was in column one of +a virtual screen with a tab to its left has been fixed. + +Previously, if only a drive letter was given in response to the +^KF command's "Dir:" prompt, ZDE searched user zero of the +specified drive, no matter what the current user number was. ZDE +now searches for files at the current user number of the specified +drive in these circumstances. + +The installed "output filter limit" was allowing one character +higher than the limit to be sent to the screen. Now only +characters equal to or less than the limit are sent. + + +3. INSTALLATION. + +You MUST use ZDENSTAL 1.3 to install this version of ZDE. Older +.ZDK and .ZDP files will still work; due to extra installation +codes, older .ZDE files will not work with this version. + +Version 1.0 of ZDENSTAL skipped the last few bytes of .ZDK key +overlay files, preventing a full 512-byte .ZDK key file overlay +from being installed. ZDENSTAL now installs the full 512 bytes. + +ZDENSTAL now allows four instead of just two default file types. + +Several new terminal definitions have been added to ZDENSTAL, as +well as some additional terminal codes (see 1.5, above). + + +4. FOR MORE INFORMATION. + +Finally, let me take this opportunity to thank the community of +users without whose efforts this version of ZDE would be far less +than what it is. Most of the above improvements and many of the +bugs fixed in this version result from comments and insights by +ZDE enthusiasts from around the country. Please let me know your +thoughts on this most recent version. + +Besides writing computer programs and working on a degree in +political science, I operate the Antelope Freeway Remote Access +Systems for CFOG, Chicago's First Osborne Group. These dual +remote systems are available at the same number, 312/764-5162, +Chicago. Antelope 1 covers CP/M and Z System, while Antelope 2 is +dedicated to MS-DOS support. The best way to contact me is +through this board. Registration is free. If you are not a +registered member, you can leave me a note as part of your +application. + +Alternatively, my mailing address is: + + 1359 W. Greenleaf, #1D + Chicago, IL 60626 + USA + +As I mentioned above, I don't plan to reissue the ZDE manuals with +the library while ZDE is still in development. For those who wish +an updated manual and/or wish to support ZDE, I offer instead a +pre-printed User's Manual and Installation Guide with Table of +Contents and Index for a contribution of $6 or more, postpaid. +The manual is printed in handsome proportional type on both sides +of 8.5 x 11 inch sheets and punched for a three-hole ring binder. +My costs for printing and mailing are about $3. + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDE16.COM b/DiskImg/hd0/u1/ZDE16.COM new file mode 100644 index 0000000000000000000000000000000000000000..55c492a5f0c309c96fcaa50e5953b0d6dfad1f8e GIT binary patch literal 16896 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 NGjq$Q{9oGH{wKiUo$>$x literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u1/ZDE16.DIR b/DiskImg/hd0/u1/ZDE16.DIR new file mode 100644 index 00000000..a6e85025 --- /dev/null +++ b/DiskImg/hd0/u1/ZDE16.DIR @@ -0,0 +1,25 @@ +ZDE16.DIR: +Files in ZDE16.LBR, 01 June 90 by Carson Wilson: + +Filename Purpose +------------ --------------------------------------- +SAMPKEY.DZC Sample key file for use with ZDENSTAL. +SAMPKEY.ZDK +SAMPKEY.ZDT + +ZDE16.CZM ZDE itself. + +ZDE16.DZR This file. + +ZDE16.FOR Short RCP/M description of ZDE. + +ZDE16.NZW New in ZDE version 1.6. + +ZDENST16.CZM Installer for ZDE version 1.6. + +ZDEPROP.DZC Proportional formatting support files. +ZDEPROP.ZZ0 + +ZDKCOM13.DZC Key compiler for ZDENSTAL. +ZDKCOM13.CZM + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDE16.FIX b/DiskImg/hd0/u1/ZDE16.FIX new file mode 100644 index 0000000000000000000000000000000000000000..9b48f026a585a40fcc4304529bc31027dd52864d GIT binary patch literal 2048 zcmeHH!EPHj5bb$^{ehkazE}oqS5DC)$xV@BG(chnv6CRaQOj8^VJ^v%T&?x@eIzAI zO>#*uy@Y@yh#bCo^WF^a>`N-^e({>FF8`#Dfqkf}Yj68>4Xw=2zkxU8$Xddo~7R4+Uk z8&$)SVkaUcG8^zvNSsKGcF;0~JfVDpAE>Sx>peG7ZwdE06^Q>Hljqy6Iq_qYKY*>he885N^=@X=uvE+ zXa#2tsE z#ErVTzg;YE&*=?~s6{~SoEJVkkhG&A0Z7)WR|aNg_B&G`(<~e(uB$Kv2TfC{`>YUF z4h0iDq-t9*GY#}xaU291grV`-`=GJ&IyDkmy$&%8)1~z;)K#U1>43E z=b8Etlv(Grv+GmxyjB671dO`6>yi_=FGyRnzQ}n}ba6K|Pws-4a;OjnK3G-QMHW4P zSm)}JLb*Lvq##<(i0sH+mjx| z#RHo&G*=jU7gJ;BPEVR17q@Hmy7Djx)@><7i%L`6M(85@iV5@P(0S~<|wWL7P0?SQk?^J${@Lx&;VzXNjhMvy_p`hCUoX>3m0ro2l#nmb=&HhpTC$>$B!lI@I8HAb|*Lz?YU@A3!&>jcKdD!c<0))J, +RETURN" followed by "^KE, ^R, RETURN". The ^R command will +automatically recalls the filename you entered in response to the +"Read:" prompt. The Find, Replace, and Macro prompts work in a +similar manner. ^R Recalls your entire response; right arrow +recalls your last response one character at a time to allow +further editing. + +The Recall keys can also be used to recall the last used macro, +even if it wasn't entered manually. + + 1.3. Enhanced Operation Under CP/M Plus and Z3PLUS. + +ZDE takes advantage of advanced BDOS error handling to provide +slightly faster file output under CP/M Plus and Z3PLUS. In +addition, file Create stamps are now preserved under CP/M Plus +based systems as well as ZSDOS and ZDDOS systems. + + 1.4. Control-U now Aborts "Delete To" Function. + +Control-U can now be used to abort a "Delete To" (^QT) operation. +Previously, ZDE would attempt to delete up to the next literal ^U +character in the file, often causing frustration. + + 1.5. Fully Operational Auto-Indent (^OA). + +Auto-Indent is useful for typing outlines, structured program +source code, and other text where the "left margin" varies. When +the Insert (^V) toggle is on, Auto-Indent aligns the left margin +with that of the previous line. When Insert is off, it causes +the RETURN key to act differently: RETURN advances the cursor +past any indentation when moving through a file. + +When a new line is begun either by wordwrap or reformat (see +below) or by hitting RETURN with Insert on, Auto-Indent indents +the following line or lines to equal the previous one. It does +this by counting the number of spaces or Hard TABs (whichever +came first) before the text of the previous line, and indenting, +wrapping, or reformatting using this number of spaces or Hard +TABs. This entails certain possible conflicts, most of which ZDE +itself automatically prevents: + +First, if you mix Hard TABs and spaces when indenting a line, AI +may give strange results, as it will count and use the first +character only. For example, if your line is indented as +, AI will indent the next line with +only. + +To avoid conflicts, enabling AI sets the left margin to 1, and +setting the left margin greater than 1 disables AI. Also, Double +Spacing (^O S) is disabled by Auto-Indent, and Auto-Indent +disables Double Spacing. + +Auto-indent status also now defaults to ON in Nondocument mode, +and OFF otherwise. + + 1.6. Chain to ZCPR Error Handler. + +ZDE 1.6 will chain to the installed Error Handler under ZCPR 3.4 +with error #12 (TPA overflow) if there was not enough memory for +ZDE to edit the file you specified on the command line. ZDE does +this because the flow of logic in a multiple command line +sometimes dictates that the editor complete its task before +succeeding commands are carried out. For example, I use the +a multiple command alias similar to the following + + ZDE file;echo erase;if in;era file;else;mv file newdir:;fi + +to process modem capture files. After processing each file with +ZDE I generally want either to erase it (if it contained nothing +worth saving) or move it to another directory. But on occasion +the capture file is too large to process with ZDE. If the script +were allowed to proceed, it would force me either to erase the +capture file or move it elsewhere, neither of which would be +appropriate if I hadn't even looked at its contents yet. + +This is where Z System's error handler comes it handy: it +provides a means of dealing with an offending command line before +unwanted commands cause harm. When ZDE chains to the error +handler, I can _edit_ commands beginning with ZDE's invocation, +either removing unwanted commands or inserting further commands +as the situation may dictate (it is also possible to abort the +command or multiple command script altogether). In the above +case, I would revise my command line to the following: + + NW file;echo erase;if in;era file;else;mv file newdir:;fi + +By substituting the ZDE command with NW I have invoked NewWord +for this instance only of the command, which in turn will edit +the larger file. + +Without question the finest ZCPR error handler now available is +Rob Friefeld's ZERR. There are even provisions within ZERR for +automatically editing LSH scripts and for automatically chaining +to transient versions when resident (RCP, CCP) commands fail; all +of this is described in ZERR13.LBR. + + 1.7. Return to Previous Position Command (^QP). + +This function is basically the same as the WordStar command: +hitting ^Q-P takes you to the position the cursor was at before +the previous command (including the ^QP command itself - try +it!). For instance, the sequence "^B, ^Q-P" reformats beginning +with the current line then restores the cursor to its original +position within the paragraph. ^Q-P is also useful for moving +long distances within a file without losing one's place: for +example you can move to the top of the file with ^Q-R, then come +back with ^Q-P. + +Within Macros, the previous cursor location is preserved: ^Q-P +will always return you to your place in the text BEFORE you +invoked the Macro. This not only allows you to resume editing at +the same location after using Macros; you can also build one or +more ^Q-P commands into the Macro itself. See SAMPKEY.* files +for one example; I'm sure there are lots of other ways to use +^Q-P within a Macro. Thanks to Howard Schwartz for keeping on my +case about this feature until I finally discovered an easy way to +implement it. + + + 1.8. Global Find/Replace Option. + +Besides "B" (backwards search) and "C" (case-sensitive search), +ZDE now sports a THIRD find/replace option: "G" for Global +search. ZDE normally begins your (backward or forward) search at +the current cursor location. Specifying "G" causes ZDE to start +at the BEGINNING of the file when searching forward for strings, +or at the END when searching backwards. Otherwise, the search or +replace command proceeds exactly as it does normally. The "G" +option is used in the same way as the other options, by enclosing +it in slashes as a prefix to the string being searched for (e.g., +to find "Carson" globally, enter "/gc/Carson" in response to +^Q-F's "Find: " prompt). + + 1.9. Semicolons are now Characters in Nondocuments. + +ZDE now counts the ";" (semicolon) character as a normal +character in "N" mode, whereas it counts the semicolon as a +punctuation mark in the "W" and "A" modes. This is mainly of +interest to assembly language programmers, as the semicolon is +often used alone to mark the beginnings of comments in source +code. Treating the semicolon as a normal character in "N" files +simply makes it easier to manipulate assembly language comments. +Thanks to Rob Friefeld for his thoughts on this. + + +2. BUGS FIXED. + + 2.1. More Robust Space Calculation. + +ZDE's calculation of memory space remaining is now more robust. +In past versions of ZDE (and VDE), certain editing commands could +cause a crash when only a few bytes of free memory were +available (thanks to Rob Friefeld). + + 2.2. ZCPR Line Queue Bug Fixed. + +The ^QQ (go to next line in ZCPR queue) command of previous +versions of ZDE failed if ZCPR's 16-byte user-defined buffer was +filled. Version 1.6 fixes this problem, properly returning to +the first line in the queue after the last value in has been +reached. This allows Turbo Pascal-like interactive programming +of Z80 assembly language when used under Z System with Al +Hawley's ZMAC Z80 Macro Compiler ($50 including ZML and ZMLIB; +contact Al Hawley at Ladera Z-Node, 213/670-9465 (modem), Ladera +Heights, CA). + + 2.3. Other Minor Nuisances Corrected. + +ZDE now turns alternate video off when placing the cursor at the +string to change during ^QA prompts. + +A bug which allowed an extra character or hyphen on the last line +of a paragraph if the line's length was one character beyond the +right margin has been fixed (thanks to Larry Schnitger for +spotting these). + +A bug which occurred if you set the block end marker to the last +byte in the file then did a block delete has been fixed (thanks +to Ben Cohen for finding this). + +One or more bug(s) which occurred while printing have been +cleared up. ZDE should now always give a correct left margin +with or without a page header or top margin. The printout is +also slightly faster when left and top margins are used together. + +ZDE now always finds strings located exactly at the end of a +file. + +When searching with the /c/ option, erroneous results occurred if +a non-matching string of the same length as the search string +beginning with the same first character as the search string was +located at the very end of a file. This has been fixed. + +Fixed minor bug in proportional formatting that caused repeated +^B commands to give inconsistent results under some +circumstances. + +Fixed bug which set margins spuriously if an illegal number was +entered. ZDE also now disallows setting margins to zero, which +caused formatting problems. + +^B (reformat) no longer absorbs following commands, allowing ^B +to be embedded in key redefinitions with SmartKey, etc. + + +3. INSTALLATION. + +You MUST use ZDENSTAL 1.6 to install this version of ZDE. Older +ZDK and .ZDP files will still work. Due to extra installation +codes, .ZDE files created with version 1.0 of ZDE will not work +with this version of ZDENSTAL. + + 3.1. New in ZDENSTAL Version 1.6. + +The proportional formatting (^OJ) toggle can be disabled with +ZDENSTAL to allow use of ZDE's proportional spacing table as a +patch area. When proportional spacing is disabled, an additional +96 bytes of space is released for custom user patching. ZDENSTAL +also allows you to set the proportional formatting toggle to ON +or OFF at startup [this can also be toggled while operating ZDE]. + +ZDENSTAL's "R" option now restores ZDE's proportional spacing +table to its default (as distributed) values. + +ZDENSTAL's "F" option now gives the locations of all FIVE key +definition tables (former versions left out the ESC- table). The +"F" option also gives the location of ZDE's proportional spacing +table for use when patching ZDE. + +The Osborne 1 and Vixen terminal definitions are now separate due +to different screen width requirements (thanks to Ben Cohen for +sorting this out). + +ZDENSTAL previously would overwrite .ZDK and .ZDP files with the +wrong information if the .ZDK or .ZDP file had been archived (bit +7 of filetype character 3 set). This problem has been corrected +in version 1.6. + +Some ZDENSTAL messages have been improved. + + +4. USAGE HINTS. + +The following are just some miscellania that I have picked up +from using and working on ZDE. + + 4.1. Saving Macros to Disk. + +Under Z System version 3.4, it is possible to "save your work" +after creating a working Macro. First, be sure to save your new +Macros as Macro Keys using ZDE's ESC-# command (see ZDE Manual). +Then exit ZDE and type + + POKE 310 02 50;ZSAVE 310-490 filename.ZDK + +You have just used Z System's type-4 SAVE program to create a new +.ZDK file, which can now be examined and installed permanently +into ZDE with ZDENSTAL, or further revised using ZDKCOM. [NOTE: +the addresses and values given above will work for ZDE version +1.6, but may change with future versions of ZDE.] + + 4.2. Creating a Smaller ZDE. + +If you are SURE you will never want to enable the Help Menus, you +can create a slightly smaller copy of ZDE. First use ZDENSTAL to +disable ZDE's Help Menus. Then issue the Z System command, + + GET 100 ZDE.COM;ZSAVE 100-3E7F filename.COM + +This creates a copy of ZDE that is about 1 kilobyte smaller than +the distributed package, and loads somewhat faster on slower +systems. This procedure is specific to ZDE 1.6; do NOT assume +that it will work on future versions. + + 4.3. Using GET and GO with ZDE. + +Some users have discovered that the Z System GET and GO commands +can be used to extend ZDE's versatility or save disk space. +Since the .ZDE, .ZDP, and .ZDK files used by ZDENSTAL are simply +binary images of various portions of ZDE, you can achieve the +versatility of having several copies of ZDE without the added +disk overhead by using Z System commands that "install" one or +more of ZDENSTAL's files on the fly. + +For example, if you used ZDE with a particular terminal most of +the time, but occasionally switched to another terminal that was +incompatible with the first one, you might want to create a Z +System Alias which would overlay the default copy of ZDE with +your second terminal's characteristics at startup. You could +achieve this by first using ZDENSTAL to configure ZDE for your +second terminal, saving the terminal's characteristics into a +.ZDE file (see the ZDE Manual for details on this). You would +then ZDE for your normal terminal, and write an Alias to +auto-install this copy of ZDE for your occasional terminal on the +fly: + + GET 100 ZDE.COM;GET 180 term2.ZDE;GO $* + +This command loads the file term2.ZDE over ZDE before proceeding, +providing a temporary copy of ZDE that works with your second +terminal. + +This approach can also be used to generate "virtual" copies of +ZDE with different printer codes and Macro Key definitions. The +addresses of the various overlays for ZDE version 1.6 are: + + 180 hex - Terminal codes (.ZDE files) + 1F0 hex - Printer codes (.ZDP files) + 310 hex - Macro Keys (.ZDK files) + +[These addresses may well change in future versions of ZDE.] + +Obviously, this involves some "homework:" if you get the +addresses wrong or use an incompatible .ZDx file (from a previous +version of ZDE, for example), you will likely cause yourself +grief. For these reasons I generally recommend simply creating +multiple copies of ZDE. But under some circumstances (e.g., +laptop computer with limited disk or ROM space) this approach may +be quite rewarding. + + +5. DEVELOPMENT HISTORY. + +ZDE is a descendant of Eric Meyer's famous VDE (Video Display +Editor) program for CP/M. In 1988, Eric produced his final +version of VDE for CP/M (2.66). Eric now maintains VDE for +MS-DOS only; ZDE continues VDE's evolution on Z80 systems. ZDE +removes many of the CP/M VDE's defects and adds such features as +support for ZCPR, ZSDOS, and CP/M Plus, improved terminal and +disk I/O performance, proportional formatting, file datestamp +support, and improved installation. Meanwhile, the MS-DOS +version of VDE has continued to evolve, now boasting multiple +file buffers, auto-save, auto-number, and much more. VDE for +MS-DOS is available on computer bulletin boards (including +Antelope Freeway; see below) as VDE152.ZIP. + + +6. FURTHER INFORMATION. + + 6.1. About Z System. + +If you are using CP/M equipment, you have probably heard of Z +System. Basically this is a downward compatible replacement for +the system software distributed with Z80 CP/M equipment. By +utilizing Z80 opcodes and advanced design techniques, the authors +of Z System have expanded the versatility of the CP/M operating +system far beyond its original limitations. To learn more about +Z System, log into the bulletin board listed below, or contact +one of the following: + + Plu*Perfect Systems Sage Microsystems East + 410 23rd St. 1435 Centre St. + Santa Monica, CA 90402 Newton Centre, MA 02159-2469 + (213)-393-6105 (eves.) (617)-965-3552 (9am-11pm) + + 6.2. About the Author + +First, let me take this opportunity to thank the community of +users without whose support this version of ZDE would not have +been possible. You have made ZDE what it is through your +generous contributions of time and/or money. Without those who +appreciate (and criticize) my work I doubt I could justify the +time and energy I've spent on ZDE. In addition, many of the +improvements and bug fixes in version 1.6 result directly from +specific comments and insights by users. Please continue to +share your thoughts and experiences with ZDE; I'm listening. + +I am a doctoral student trying to keep from starving while +working on my dissertation in Political Science at Loyola +University of Chicago. I am a coauthor of ZSDOS, a commercial +replacement for the BDOS portion of CP/M, and have authored +numerous CP/M and Z System programs. My interests include +computer programming, telecommunications, the Soviet Union, +Political Theory, and bicycling (not necessarily in that order). +I am also looking for part- or full-time work. To this end I am +skilled in political analysis, know the Russian language and the +Z80, C, BASIC, and Pascal computer languages, and have +comprehensive knowledge of CP/M and Z System and working +knowledge of Unix and MS-DOS. If you know of a gainful opening +in the computer field, I would like to hear from you. + +Among other things I operate the Antelope Freeway Remote Access +Systems for CFOG, Chicago's First Osborne Group. These dual +remote systems are available at the same number, 312/764-5162, +Chicago. Antelope 1 covers CP/M and Z System while Antelope 2 is +dedicated to MS-DOS support. The best way to contact me is +through this board. Registration is free. If you are not a +registered member, you can leave me a note as part of your +application. + +Alternatively, my mailing address is: + + 1359 W. Greenleaf, #1D + Chicago, IL 60626 + USA + + 6.3. Pre-Printed Manuals. + +As I mentioned above, I don't plan to reissue the ZDE manuals +with the library while ZDE is still in development. For those +who wish an updated manual and/or wish to support ZDE, I offer +instead a pre-printed 40-page User's Manual and Installation +Guide with Table of Contents and Index, postpaid, for those who +make contributions of $6 or more to support further development +of ZDE. + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDENST16.COM b/DiskImg/hd0/u1/ZDENST16.COM new file mode 100644 index 0000000000000000000000000000000000000000..8ccc976739f96507289890bf7df565aba040127e GIT binary patch literal 10624 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 + db 0 ; ? +; + db 6 ; @ + db 6 ; A + db 6 ; B + db 6 ; C + db 6 ; D + db 6 ; E + db 6 ; F + db 6 ; G + db 6 ; H + db -6 ; I + db 0 ; J + db 6 ; K + db 6 ; L + db 12 ; M + db 6 ; N + db 6 ; O + db 6 ; P + db 6 ; Q + db 6 ; R + db 6 ; S + db 6 ; T + db 12 ; U + db 6 ; V + db 12 ; W + db 6 ; X + db 6 ; Y + db 0 ; Z + db -6 ; [ + db 0 ; \ + db -6 ; ] + db 0 ; ^ + db 0 ; _ + db -12 ; ` +; + db 0 ; a + db 6 ; b + db 0 ; c + db 6 ; d + db 0 ; e + db -6 ; f + db 6 ; g + db 6 ; h + db -12 ; i + db -6 ; j + db 6 ; k + db -12 ; l + db 12 ; m + db 6 ; n + db 0 ; o + db 6 ; p + db 6 ; q + db 0 ; r + db 0 ; s + db -6 ; t + db 6 ; u + db 6 ; v + db 12 ; w + db 0 ; x + db 6 ; y + db 0 ; z + db -6 ; { + db -12 ; | + db -6 ; } + db 0 ; ~ + + end + +; End ZDEPROP.Z80 + \ No newline at end of file diff --git a/DiskImg/hd0/u1/ZDKCOM13.COM b/DiskImg/hd0/u1/ZDKCOM13.COM new file mode 100644 index 0000000000000000000000000000000000000000..040fd1c44422490fb89422af1bf71dd7681b3586 GIT binary patch literal 1792 zcmZ`(Urbw77{BfP*A{w8*GaCB#Z&rnSF}iBj5W|K(hW`3nT+fKgaylm5l0JcvEZK$ zec;iUsPRpoeX4&(`rw0>TITI`W>CSHn3!gPxHUCm*7>5hey8^qkZIGL?>oQm_x;ZI z^_;Jy#@cP8q43a!=N`wGlz3t`7RBAZ9{dD;Sy{%@vsV=yiOtP}jpON99FK<1*=PIue zhcos|fQ0>QI9{zJ1QfIp#JNSjZ^Yfh_l4aGlh#JpPjH^J7Shc~@pqFJ2A{IRlr`cW zXPkd?CJR&fgt{mBx?68yNH23XI)f>Pd?ZpBPNp<{=kxhscb_BA^2PIXSjgKYvH1UH8JLl-;4kcn#sp(@C8^XkO51oELB+LHQOy%qH?FUAiE{O0PXUi z)+Il!O~_AbZSpzIChtO$R3g{SlyTiGZPVO|TN`Gr3j{V+@}RlOZ=Y4khFSXF%b?DH z84afBdD7buk-p5(0>9;(mOjPzp(ncy<4`QB_!x?}3U!F7ye1%3F9MR_3;98tpG9Py z)mHj@w^#g};akDyQE)-xsfp_90S;;S=LMFeSp(n=;C%xCA*oUgPUzvijk79r3a!W{ zm3+uTfdL-DD*d<*SA$&!S=BAHP`trGe*@Z^-@VI0iK^R-PNlV)Eb6tZLAy?c=K+c= z8Z7Rap$k0<33(5jbu*~)R0o69JA~)%sA*638+c37pF3NH>SbgmJhPYEEUEPV@p(D| z$>n(k&n+gB_$38KU8n(hB8oDVz}^1SIC5n&J{d{E z!2Wkm!eHaxGyO-&98>?;m~MYh@2S4i{m_sOJ-iy+=0n`@!z>*sZ0(RCA>(gGUKc8p zw?uMA#5S@jkU8N&O}dqTaYW> znUHX~y&aT634h^rpfuo~4hQnuQD=u8)zt$QRNBm`AOyh!E!5D0_%Z1-L+7@zew7Cy z08@vAq&2-f3F{X0-`Kq-JLn<6?rWo5=`Oh~RK{G0JSKulUg66fRw$_ndD751t-Es3 zZdiw5olvg}sa`Ac1e#H*G6n=_vN8q)uquGrue?qaXhOpzA=c%`MQm}dFpswUCh@@< z{ZX9=&IignGd||#z|9j-){c9HfrQfQYdG|vrb5Lhf$-iiaF??3alRpTMWj+$`JVKX zE<}Q^wf4U=NYP4sw7ufLq~eUHdyrJ#|37 zmnr3F_VELuM;a~+8EPvxhODqvEoV}uX2vQ=DNoB^<-PhnLbz_Lf`zP!K_AJ90t+6E rw(VZi@Ygxf)lyY=e9ieAVzsb!Az)@^oIi+LcQ.ZDT + converts text file to ZDK overlay + + ZDKCOM .ZDK + converts overlay to ZDT text file + + Use ZDE in NONDOCUMENT mode to type a file that looks like +what you see when you use the K option of ZDENSTAL, substituting +lower case "n" or "q" for the No Repeat and Quiet option +indicators and : + + qThis line would be for key 0 in Quiet mode.^M + nThis line would be for key 1 in No Repeat mode.^M + + This line would be key 3, with key 2 unassigned. + n^M^M^M + The line above, key 4, prints with two blank lines following it. + q"This is in quotes, but no carriage return at the end." + "This line is ^P^BMacro Key 7^P^B with embedded boldface codes."^M + q^VThis line turns insert on before printing the line.^A^A^A^A_^F^D_^M + n ^A^A^A^A + +...and so on. Lines correspond to the number keys in 0 to 9 +order, with blank lines for unassigned keys. Do NOT embed control +codes. Type everything in ASCII. For instance, to underline, +type out '^P^Swords underlined^P^S'. It's a good idea to make +hard carriage returns visible by toggling them on with the ^OD +command. ZDKCOM accepts trailing spaces as part of the macro, +even though you can't see them, so, if you don't want them, make +sure each line is terminated by a hard carriage return. + Individual key macro strings may not exceed 127 bytes in the +ZDK file, though they may in the ZDT text file, since ASCII +representations of single-byte control codes require two bytes, +and option flags and slashes don't contribute to the length of the +string. + The total of all strings may not exceed 498 output bytes. +This is two bytes less than allowed by ZDE and ZDENSTAL, but, +under the program's present logic, it would require an inordinate +amount of code to make those last two bytes available. If you +really need them, add them to the ZDK file with ZPATCH or any +other patcher, locate the last string-length byte, and add 2 (in +hex) to it. + For a quick demo, remove the leading spaces from the lines +below, mark them as a block, and write them out to .ZDT. Run +ZDKCOM .ZDT. Then load the resulting ZDK file into ZDE with +the command ZDENSTAL ZDE .ZDK. + + q^C^C^C^E^E^E^E^E^[^E + q^[b^[0^Qs^X^[=^M1^[= 1^S^V ^D^[!0^[1^Qb^B^Ku + ^[=^M0^V^I^V^B^G^[![^[0^X + ^[=^M0^T^B^N^[0^X + q^P^[^P^I^P^K^P^[9 + q^V^KrA0:LH.FMT^M + q^G^G^G^G^X + q^A^A^S + q^A^A^S + q^KrHEADER^M + +Key macro 0 measures off one full page if the top margin is 0 and +the page length is 58 lines. Adjust for different page lengths by +adding or subtracting ^E's. I use this macro to move from line 1 +of a page to line 1 of the next page. I then use key macro 9 to +read in a page header from a separate file that contains nothing +but the properly spaced header text with a # in place of the page +number. I search for # with a ^Qf and replace it with the +appropriate page numbers. + This happens so quickly on a 9 mhz SB180 with hard disk that +it is virtually unnoticeable, but there is a faster way to do it. +Just make up a header at the top of the first page, or, if you +want to start page headers only on page two, at the foot of the +file, and mark it as a block. Use key macro 0 to move from the +top line of a page to the top line of the next, and copy the +header into place with the ^KC command. Don't forget to erase the +original of the header at the foot of the file when you get there. + Key macro 1 softens and reforms a paragraph by removing the +hard carriage returns from the ends of each line. + Key macro 2 changes a document in flush left block format +(like this one) to indented paragraph form, and key macro 3 +changes it back again. + Key macro 4 embeds my DIABLO 1610-compatible printer's code +for setting a left margin in column 11 (^K=0Bh) in the document. +If I want another margin I add or subtract from 0Bh and overwrite +the ^K with the appropriate control character. You may well be +able to substitute your own printer's set left margin code for +this one. + Key macro 5 reads in a previously prepared letterhead stored +as LH.FMT on drive/user A0. + Key macro 6 removes four spaces or characters from the +beginning of each line, used to remove line numbers from the +beginnings of messages in modem capture files. + + +2. Programmer's Note. + + A ZDK file is a data structure four records long. The first +two bytes are an ID number which ZDENSTAL checks to ensure that it +is working with the correct version. The current number, 0250h, +is valid for several recent versions of ZDE. + These two bytes are followed by up to ten strings, each +preceded by a string-length byte which ZDE uses to index the +string's location. Each string is limited by the size of a buffer +in ZDE to 127 bytes. + An empty string is indicated by a string-length byte of 00h. +After the last byte of the last string, the remainder of the 512 +bytes are filled with 00h. + It is a peculiarity of ZDKCOM that it needs to write two null +bytes at the end of the file, which means that it will accept only +498 bytes for the total length of all strings (512, less two ID +bytes, less 10 string-length bytes, less these two more) rather +than the 500 that ZDE and ZDENSTAL allow. + When you look at the key macro buffer of ZDE using the K +option of ZDENSTAL, you see something that looks like this: + + <0>This line would be for key 0 in Quiet mode.^M + <1>This line would be for key 1 in No Repeat mode.^M + <2><> + <3>This line would be key 3, with key 2 unassigned. + <4>^M^M^M + <5>The line above, key 4, prints with two blank lines following it. + <6>"This is in quotes, but no carriage return at the end." + <7>"This line is ^P^BMacro Key 7^P^B with embedded boldface codes."^M + <8><> + <9><> + +The numbers down the side and the option indicators , , and +<> (no option) are supplied by ZDENSTAL. The ZDT text file +version of the same macro keys would omit the string numbers and +no option indicators, and convert the and to simple lower +case 'n' and 'q'. If you need lower case 'n' or 'q' as the first +character of a key macro, just precede it with a slash, which will +be ignored. + ZDKCOM recognizes blank lines as unassigned keys. These +produce an "error" message when invoked by ZDE. + ZDE recognizes a No Repeat option if the the high bit is set +on the first byte of the macro string after the length byte, and a +Quiet option if the high bit is set on both of the first two bytes +of the string. + The translation procedure from text to overlay requires: + + Enter two-byte ID string 02h 50h in output file. + + Enter 00h to save a place for a string length byte. + + Check for "n" or "q" as first three bytes of new string and add + 80h to the next byte or next two bytes input as required. + + Read in the rest of the string byte by byte and output each byte + to the output file. If "^" appears in the string, drop it and + subtract 40h from next byte to make it into a real control + character. If "/" appears, ignore it and print the next + character literally. "/^" prints "^" rather than turn the + character following the carat into a control code, and "//" + prints a single slash. A single input slash is ignored. + + When the CRLF pair is encountered in the input text file, + convert it to a 00h place marker for the length of the next + string. Get the number of bytes output in the last string and + write it to the position of the string-length byte at the head + of the preceding string. + + When the text file's ^Z EOF is encountered, fill the remainder + of the total 512 bytes with 00h and close the files. + +When converting ZDK overlays to ZDT text files, the procedure is +more or less reversed. ZDKCOM converts the string length bytes to +CRLF pairs, the control code bytes to two-byte ASCII strings '^c', +and finishes off the file when all strings are accounted for by +inserting an EOF ^Z. + In addition, ZDKCOM has error checking for file opening and +closing and for individual and overall string length, and it +reports activity to keep the user from thinking the program has +hung, though the counters on the screen are otherwise meaningless. + The structure of the four-sector ZDK file in CP/M is so +similar to the eight-sector MS/DOS version that you can use +ZDKCOM, along with a patcher, to create a VDK file for +installation in VDE12, the MS/DOS version of ZDE. Make up the ZDT +file as you would for CP/M, then patch the second ID byte from 50h +to 60h and add four records of nulls. + \ No newline at end of file diff --git a/DiskImg/hd0/u2/VIDATT.Z80 b/DiskImg/hd0/u2/VIDATT.Z80 new file mode 100644 index 00000000..073bb84f --- /dev/null +++ b/DiskImg/hd0/u2/VIDATT.Z80 @@ -0,0 +1,69 @@ + title WordStar 4.0 Video Attributes Driver + +strngout equ 0283h + +esc equ 1bh +dim equ 1 +blink equ 2 +invert equ 4 +uline equ 8 + + aseg + org 03c1h + +vidatt: + xor a + ld hl,funtbl + ld b,8 +getloop: + rr c + jr nc,getnext + or a,(hl) +getnext: + inc hl + djnz getloop +; + ld hl,string+2 ; attribute #1 on/off indicator + push hl + ld b,4 + ld de,'?!' ; ? = attribute off, ! = attribute on +setloop: + rra + jr nc,attroff + ld (hl),e ; attribute on + jr setnext +attroff: + ld (hl),d ; attribute off +setnext: + inc hl + inc hl + inc hl ; advance to next on/off indicator + djnz setloop +; + pop hl ; hl --> dim on/off + ld a,d ; attribute off + cp (hl) ; dim off? + jr nz,setdim + ld a,e ; attribute on +setdim: + ld (hl),a + ld hl,string + jp strngout ; ws string routine +; +; +funtbl: + defb dim ; strike out + defb invert or blink ; warnings & errors + defb invert ; block + defb uline ; underline + defb blink ; subscript + defb blink or uline ; superscript + defb invert ; menu, headline, bold, double + defb invert or uline ; italics, RET, backspace +; +string: + defb 12,esc,' 2',esc,' 3',esc,' 4',esc,' 5' +; +finis equ $ + end + \ No newline at end of file diff --git a/DiskImg/hd0/u2/WS.OVR b/DiskImg/hd0/u2/WS.OVR new file mode 100644 index 0000000000000000000000000000000000000000..5e3c877382f6ad1a01e3e46a76671e1332bb6d4e GIT binary patch literal 53248 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u2/WSCHANGE.COM b/DiskImg/hd0/u2/WSCHANGE.COM new file mode 100644 index 0000000000000000000000000000000000000000..bc85c1fcd96eb3b2c24c4e5035b30e796a60b873 GIT binary patch literal 35328 zcmeFa30R!f-8Xz@?wMhR0AbN2Kw|D;APa;w2?-=XW@liA8D<6;vXKFX9fq(3NR-5; zrnRfKF0H23XzSBHwvDL^af@Nbq+!~zC5rl>R(X_Io!V-vb`{>=|DJ&)YM$|S+#mqVXbIyM||Fdtmet$-6be%(6uC6lb`As=_c|6Y-8QR8tD>Fr#C~N62j!RYf9l%ma;5?u%@TIr+>iR)#YjCou0n#c2tAdXohNZ^`AIZ zAYT;5^8hEp|G1RY^@|Avh~#j@sZMh0$+458XG}VOj3aOzVG*_RA{P@II4V~Dn)4qO zBSHKrR)qLJ`}dou-$eb6yTC564@CtK70J~9tkD1ObJz8`TLySrUpsXWpI0Ly^+RV@ z8=Q=fWa!8h_M4br2z)lT&1}PGBmW0tvPCif16==)u)Ml`{mYPAqt)pR#&T0drP)$t zwXt|s=dd`84xYEx+5wmA%{Bp^N5E92)4O<=)(kkzGK^%io2r}A(l8^s@BJSYfE_@*kVGsU4zuo7u$8Yk8iVFDD0R zQJ*HdDtvf;{tfyqL@tEqzx5A)*+=uw&4>TyJ{?}bXPjIkV)HA-;wbt2yqLwvW1=~^ zNX?eWmc(D1vO0Zz&c>~a$c)W@D4L(=(A*^}{QmFX|Bo#okEx5Y*=tSuI+keb^BidR4DkbA-q7CVK}Q

+ceni=^40!g-q?xnoMl9 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 pruz)_j~)j4z&CpAZ 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 KfBr%5!2bsQomg@J literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u2/WSCHHELP.OVR b/DiskImg/hd0/u2/WSCHHELP.OVR new file mode 100644 index 0000000000000000000000000000000000000000..49becf77009ce60d60055f3b4521dbbe49c56cca GIT binary patch literal 29696 zcmeI5TWsXlec#<_&=zg;P^9R^55=j9*xWSBwIo+??54qRX1E;fkTaSYY9$w4bVv@D z6Afn={)fBTJoKfUg3KC|?3U(|AZF#FK(&&kg&jc%U<7e2+i@(dl^}_UB_*d$u_nGDZ*4!{-#P#P%1t-mz53&s>C$Yq+#Sp2D<>-Mo}b7TE6%z9@GrCZ@@ysdKYw!O zkNNyeHus48@x{tidM4}s=F)Vo zd^}gW*_h5(GR|H7S@2WHPy9&h10S6FntNxuwwwQ*TBmXS3#rucdh4LpbW>kTrDmhL z`-<9cX{Y9we$&0S`D)bN`-=MwKEJ-yKFe@E?JU)o z$5W;6|BS13+@HBuBiD=Sb+`027kxf*SL=_jG;6z?za5RIQsw&Mf$MFSbLs4K?xI_4 zuWl@S(e1D-Usjjuz%bulUaqwkB3E0jyV{vrqgk74@_!xo)Te{P~(~TB5;H%Dl z)SZ99-BY%4>1H!ku@CRz;HB^FyDw;wHDKHXCRTs$K*OI}{?zMNmuivQJlkGfNZs>X zJ-Wy3HahF!utr_ug-X?*x7mm~`)-HbQ)|(IPFWjI{n+TuOn+)@zTN6HT5E?#QmM4_ zjFRK%F2ix%a=X>&v{$3W{M( zJI(*Pogi}Wv^z@&P}WL=v+Z2!8X+*rQv$^8Zli;}rs3>4w;99AEqMmYv|CZTS=Yr( z7iaR-q5)i~H|z5qcfND5Z1mKh|B`#Hv$XZ*eM-$ASx=g@Ic2!*##abFN=oSkR}2QKWMW)euts(677a+_&8CN0Ol;NdzN; z^OAcDvV_f;4|=7@MA#^#^lYK(??jv)(?1+@=oZ#i_ub0V`-aPS!vRh?TDHE}XmOQy zM(3B@-nYfIZcqCLYM%D8WSE*!ra4bWA`O8Ni24`ZV*iq1HKw7N^z996^is$5&o&l1OKuOPfDj81RzB}4ji28a zgj2cv@hNm^0P7{Ub2D-)2Y&epcQT)?P7QxM|Ga&D(>9+fmh+!1&Q#L{2OLFI=txCM$r5n}pt0%4mEZx^=OXtq13Xgltt%gmN52)vW! zbjhWwu59;_%N`$4f#GhY9W^j9YKxr%2MOrB^Uu4j&bbwxet^RD{Nm;AAMoveM;M<& z1WB&-TJ^^}?k3*}-(7zho!U7lDneN>nhPB!-+t+P^(d8^X?N-$m&}uqVT>rXYgR_k zxhldO0})XqbR&wR_M*=6gUIcD7XiKc*a2$9 z$o;Y*Xd*@sD!U4eCB$eV;1Y6CrcE#UJc}&$hfvjSiLEoDOl)3h{E_LVz(&?EabkP^ zw984ZI&9LiOJiHPbT(VgRqQmeym|_G_5I!3blHjeIWNlpVi>$l-D+FA!tYm$uJ(#zOvRi)?VxI z4`eyF%Ku8{Cmb=sYHms<^iu6Hq~;}b2ODY=&=@{;y%-em>lOc&EU9y;-fDfmj(NdG z2%%-WvGq$b%UMLWTTd2n7C%XL%OA@E@z$r?8Qo%?F+&>~5G%X)eFUCPl`Hq%f1i%j z!e;8vn}y$-udQMY*&E3FO8=%B7)V0vvLdOm+JG689{`Bd&`JL*`a4^ zXz#f?kk?b7VIH>7q3Hvpi*3Hzp<$HybZ znPZO>Cnpga)jx{DhkldGu8$~OPevrmh<+lrKY%?jwm8Uob*Ua~IWKMa*jD`(XkfU> zd0~0|q|}Ywx~rYW-01?+(3BbMmigzA!c6i2ZnaxoNWo)&vH!9S&KytF^m08pm%!$h4B)q5YRG48~oYD?Bcg`sJPaLJBDgZcrF6hb7@Ob&U;7`Bed;? zy`%|@C%kZ%o|G({OcyFSe{5kBj2H@}gEpl@B+E}#x?ao(uAz?~lH%EBf7ctmmo7e{ zK@I$!28(!l15BwoL-UO5`;G8o_mbOZJXn_x(&&6R+5oNI$xV2+^l6va8etMbT}Jz)NCq`(O`X zxby<56@QR$!#u)3%kCOfEE}WDy*8dLKYVdrF1I@ZJ;WuYo`d8(@6b@Webm?=c^Q5u2=$S!y=~k^%@>nHw|MOR)hT4vjGT$t_ocbIL*{K+Vr}J@atGC?B}+J}$!~?hgjqV6gkJ?=)iJdlTW^y{8d7AEe&J z$d@W#Tx+@ugaR0KwGoM(Wqci823){n_TJ~qKU`+Ku5+@6nXEp6!r+0hTb zGg)||V9*`OVwi~&V!@QNXp2H-CXkKI{CsF`4m&p$zF}vDX3jQH#oGR zi#o_r#RFD8eZ=*%tB6B4_LZ=Qj#7(6r~o`N zVll;F=y}V%Q)~X2d&=DAFXKyZEPR&31qd?;6C5g#0KZfk%PSa}rB7?a7S0=CN4_!c ziX>dG?|elrIoLgLn`T+tLLq9$lBuA>y`KC10ZYl-f7(|1^Sd0G*-EuI?Ws04^36_< zJ@;!qSg_bXReDJAyi=u<-BYDpckfiG{0aXZD!Svf`1V}=^zI&JjtJP|0)H7})~Lsa zVTNTzNe=CZz^KSET2w48P*Qspz1VNIPdDZJ8a&KKYzuA(DfhSaClHh8_pfyoziGv#WxP^xxk3-|hk#76thRwkvxf*!{llNdWGVmS%Kgis0U$H2^ zi;n;>@)CCL>>~iw?G8f9+~pw$0q!wEU~e2tS-wQ=5z74lLXYqDli1web`koBP8-9B zUxs`zbO<*hJH{kFdaW)6-R=C5%xoMCwwk!z85#0M5(i|&Eg^^_Srt6ZWK43AT`wmL z-v|zrO9uimw}ojVjtgfp7i1%GS-hz8oKLPo(p*;bdpa($&rtfbN8VK8`wqJenQ+`( z^^s%g%n9SH#P^Cnyz^l_oO7s7;$spbi-Zf?XAd1lE;HS?I2- zZe4le%z?jKcAs<>i8MK1%}?i!64fx0HAkwkd=S&j7&*#p;n5@Vu;oUZ%?8pG_nE76 z+56EF|vSV|2}1-Loh>Q#w{0E zN)zXU7W{RRa`rJI1q`l*D1lCJ-Th^bMfiT6y|VA(<6SN#YkK zSA>;AcLAvR6)doH-c_pQ{0T1|hh?+(WeHlza_vQ(RXJ;Df2YOYIaPXOeQYL{SGw4Z zA0Q*%gK{2(56c8`hLk{(2CGOcUqk=kjVcePZO`KOvD>NA%)0kc-0r>ieWbHQA|3JC zXw5GT0denr$NZPE#=rL?%$0gVNN8-gUqby$lAUnr0t7sxpwi&X?+=vp`vK)6w}Nut zt)S$f{JLN%V5UPYA-gy>UYOFA25j7nlaq`68}YuTXFvL}Q7k;*d@@q!bU*DrcFYE_ z{ItVOIaZl1kzvY|^Ci+|%07;bSIR~@woz@ly@p>W6Sg65*m92;(N6<4VSen)#!Baq z`i`}ggZP&Op50Mcps5)z5lE2`YMPmyo=|pcY`o~j+HJCz9ogq4@2&YyrA=+gZ8NR*`fmE9Q7Zv z2SS9wU3nt$3N1xN9L3~}UxGEm9M`M0l!OBaj8Ke;eKL&`e2q$xHZ?_#0CL*>HRRx# zMte<0YO`L0GnFsEKwh`_!&M)yS*Uet3O`~4YJ|MEx6QzS(V5HmP}<>kfjz9WKGi;3 zKXcI4HesDOsmBDXOA3`Emu1t3SuTPo>+#obyC>0>3mhdR%_`^;gxOHS&}yq91@rre zDYtVzAO$?uNK8}w^SSlvpIi*+!w}lE$RtZ*Q0G_=?k3GXv~C%973reY!dktg_UcTn zNs^n%?<0I+UeZ(Xnf;M`fHa`8YkGI#73yP5=id7Oh8mued+lnoJ#YD}giteI5>2Vz z&siAO+dHAA>CI;-gbKMwpD3`5@F4K<4ApT8maVQSYcG;BlosK0v?a=+@@S=+n>J%7 ztf|0gwBM{B)dBjT(!~{1hB_(>RY@>g5!cE_3eyx2=}BJzKfyCAt75`X$&_OH27Mer zzeF|E9@mWMts%;LFLP}|F%CgevB1Gg%9-$!q2dLRW3iWuP$9t)D$Eq)QGjFN6_^`~ zAgKd0ruG}g8Rod~iQ*C>f~)(?w7}F*j?(QBP(=Q7hBvX+$(v)7i*tZg+ZZmA%gHvP z$6R(*rB1q~hcR?iZt-4sCCOy|<}+p&jNDImkKGiX z@oFL3pigHgTdKJHq@xNn)!)4tkGo|wVcJKbf z$dQ$x5^KO8U1=FaT5VM^by$rGSpot8U2K#LAwH&2mALK1~hgiZGbUR>2hM(S+@(zD^fPQ)!$? z?D~SE>=GLHOC~O4Q1ZS!GtP+bZeqkM)m%R(gS+11-Uy(R-1*!mL@DszEfZ?Zl_iR0 zI~Ez%WSRCrEytc1*f~ih1wvG8L~d1C)n25?t4{+;-`u)_@sr^L{y_%i9?2ADv$?FB zq~L1km>ekg_W^I1JWrJk2|vE{G_R&QFVxCD1;u>S-qIa zo?&^U|FOQwNSTpQ`#S%{MeNi_7RUmV3i4#Ys>|*@AaJG!prYFE1^yvDR z2Wl(jp0QYsQ!Ru?pW9rJk_ry>P!Le+eZJki4t7b@G+OXtd(m!HOt2jY}8q42Sqw z2$as!eqvhm&c`O^Mav{^E4HR!f-$Tl93-nQ0t;1yqfZ|##jvZL0s{`OUzNk6E;F$b zKD`(--F1#{5V86m8WsIPA%{pbQ0TO;grAk}mRLss$i}O<5AnYgKp=BQRnG;XQR+Q zdo(~Eh_!JYU!=|)__%|Ab5o`k`p<%G_!zJ$P-2{zNe^rp5cmlB!&1IbDAJYlt^nBy z`wDIZ`ZAgVoQ)T$9c{O<_E&+hw}`^n^+URZ)mFu5H@HOD22bmZLJhsaEufqLBr7>v zM(A>jAKkudySjA+F9BgdluD2aqtnsP^8Eybfr3XU8%j`$39_j0#v=#UOSEP zy+k>SxjyHIXJoC|Nu_IwAP>%GN@#!tIjFyf;7)>bm@nb9oHf=q!xT26baL)^ZU&Ep z@aAl}RIHFeP(M<@fe3Diys8Y&EsOUg_sKR9u4YXV8m>}kSLzPOS9VADyRI!GQfH@Y z1kZZkMDpZq+u;w*i0|*V<6=M9DeUuA{O+*po%Y1FSok7F2A)l_;c+;Key0%curivv z@3edX{g5j6d0@MiGc^J(YBBNxe@|}tdm?oTmaEDgnjWI3_s6`Rl!mG+FDK#dJ?|N> zr{#F61l{VPIj*QJx+N^Wd;SK+cv=m^DG50E6`0~18Lsf9MtFf|KFQF^PC`r7m!68A$jKE$AyzjvoG7V>hNh@ho0C67%Oi;7LFApSl1-6X$< zQHh8Hw`UQj5!R~WFsM@OiI|^kJcm4QjK(*9YTu^9><=0=G}D#S(0dYI9C7dOC|`%5 z!M&;zaJ%8IUU|Y}(K36RYqZQE%%ZoliTzw`#E!+fm zpHNBB$JY%&bEs($al1`ihQ!;CZ5^o(i|XM}hIE?QE7!z2l%!*5&=4m{{zliM#rxqN zt#5R{DVkY{y7kUH&`g*#5PJ>>YX%F_#n&W+-|Q-U@6N8)R>Xd)+p|Qj*uVP&di}a$ zDo=c2<&5+Fij&k0&Jq(6B@EWJg7&z~XUIW}e%05Pc2PL>$M?Hl{8*L-fg#vf?U7l-rz0_`6y~be59Rld~GvgrYlc(35K9LR8^sKyu_L)OKTa8 z5#_>NvDj+;^crMEYYeqFWGLM?2gXH7^J$T(%bM^2vX*REqX}EyUk!Gksz$EVnuv!d z<_Q9N{cXuIj} z#Q2#EW&uU#3Q9w*#rRIFa>8f*aMG;p>)XgWa=4HUKnI4H+6`980$*bzW zjThA-kmORMR?&lkdHYt?ByIN|{Wqs3k4UJD0nK?O_>AB}7lO{ED zl9>?y$Xq@FOtp|%y{nJ7nps|VPuX{vRm$gkv8)KBXQvbt;mar9RYdye+skaKhVmi* zhz)W4u#zmt3p9tLBFUE*O9OR#?GAcU>QUVUUTemB zG!BWat~G^bA_@xO)nvwAUun}d>&E`MN)_>_X$@4C{M~mOR>tbS4XW8&SV_=yu-i){ z;!d~R*uT&wD)zYol^C1c`>$Ym5A5JLdk9?pQ$pD#-qrQoO4L8cU2+m*^FT`5wA?L5V zH#ZEc4Z*1nUxFDQa^)N;0-EY$Ft7Q-eF~hd6$U@uymY2a4c=I|fBb$+=aH$L$Xf|f zJbmJK-CmY*Cweb?Z?P*}f^SG~R%3yPlTT&jvDu++;HP-r>=H9f|;HPh#1a^d(dLh99}Z=)HK@y4UFsK4`jtIRifR zrYo;pRA(z*5rB4;W58uQ@%%WU15XT(Bmk+_tAu2d3#VX5p&OK>8p0K*(b+i_XRBsdh$|x1x z!g#*=sX)6vX_ufjL$~!na)h`vH2N*eOmni}tYMk~4$a>2nX-2}({Wdx^<8q56%Adm z7n{lTPFW|LA8LiUUMdqCma+}=etCEj8k#pLy1)FQCD5)>dLTI*>uvur!1|Ae>QG)B zs8ce+<{eV#l?cd}UF?dl|Ah)E(^@1JwX&?j4|#$^bxV3;Zvvg$(iB@0kt#o)G+1GCm8AS@IJWJ|1Q zTj0RoS%g8tRtv8XO91W#GZe^u4(%l~@R)Squ}rZrJ3TYl?4&IfY8X8Hemyo_TOl~h zqC=w1e(~aPy4S(6;Y-$`VXkf!Q=lk%$2aEH5&L2uVz7MLDYC z?alozP=(_v04Czt{`&gV*HjX=*r!FGg=_QkxK|9smwOBg9FK(8PFh3>Tc_9Lzj^|5 z+Y~TSM`fdJtQA^-8y1$#S9$FORp1e z(}?C1#YMFPNP?laelK0_Dx1>ghh0^2ZY{Le@Iu2U_mdx@Kr;D#FKS;lyZWc%eJjlA zL5;WUoN-f+mXw?{L&K|L*^>iD$%=%3K+O^YhZv~6XhuUa-HyC#;x=zR-;_@++`iLD zLr3W47~LBI=gm9ocxI=tgC`y0x{8t!5Dq42a2V~`F&`iIy_;_{9vRl4pgTaf8%Wd- z-QqBZ>nH6jp}Kdm&I1A>-qrdtMH2G*ZN5L;uI}0hPmr|FP>bxV+08ysk>^}}-)Yr^ z>?TyAV{TjE@9APT(S$?hc!FjVt~K{vgFRGL$OyXueGOaev}D<~TF`&2k9X3X|n=BwwFKLHuOzzNF|-Y>a)MPtb|JS~BQAvJV@Zxw>ZGY+ONG?&-!^Z+ zhstAs^bM;nAn<4Dkl^%?OT6K(D0k#Yny5AeJMh#jQ2NlvkR-MGmrQyFRK$)}7RL87 z=ncJ)=hKpsJ1n~uCsiQ(keV@Rd&PTQcAK%k=8M?|`rjP7I0q5u*Mp5mSv~TYJ+vA} z5xmE{_&?n~j?nI?Pshcf6}^8*1y9ij0s&go$Q)ii6E>ip=Y8LY8?%hk^7qiqa+$C_ zf)$gDBfj(p{uc2%b&WWM{*fh>H@URZ48n_u(zLFkd|7@EfRO;J5%@cCJ#2z~hWVU*RfXy6Rq$u@R_E?cJky0N16@<6( zc~$#x(Bl3>)sDN$3n>t|4hB5D(K!E@b<0SD1@rQ9LTCkhr;MXMkCcGqN3GE~3%ULm zv_}8Rw)G%#e&~%m6h;0&*|?Map)~GzpKyrWMyzv{4g8S0dM5GR|Ic;x5bgP^(YG`8 zSEz3%|3mHDd3VZr@c%+n&xwIb8>$~AY+6-hJ~-j1iljizy=iI<`%MatN}a~S0Uc?i ziQJ9_5(!$O@85~D?qnEz-W`QB)FD<;M<|b-TKQg@ra;Qq?Xgzrr9by(r_$Y1limKQ zDx1(6H3%SLM!oBWFU{JFEPkqmqgq zbFS&Nkyjm=#e2nJ(5CIkBeOnHi{-}?zE&8_FiIoiVJbJGCEs@z491Qejv0gq!=)vT zSS{kozqnFJ7AK88%hWtK{Huu}>0~8`mzZqLY3`%$E&mQs{DBYdr`;(M%@l1Cs8+t4 zADOv)I40Bh*(34=>yhOkz0+&iZ@HB639$qB*YmBxF7eDG-bUsCv6T#oOt@30TqaGm zR<(GXPLyP~Q?5UD>H%KB*yu?7auI7}YH&#bZ__;+he7eZDPPcoM1yWh(x+-H zu-7|BKBbcewy=}j4^(LIZEq z`{TrXAm-uf2_lT$J^bOJ4OAW$3fkM?g_JY?9u}(uhDvaDC^oPP`X`^T0F_>P=fHA(ai1k#eJ$68%@AF3 zTc?Qz;`jK5q{K(jJKSzEJVhnBXb%;d2)RffPAA%k(!D*mG)Weo1Rg1Vp3K+ynWD6eVBLGT3Bg_ zY$EsKDnna`Rrsz>xdt6QK%>V5DjEK4L3$>KV$@mEdaf_r8sWmD*T3-zALZ6z&efx1 zEj`tg>!<3`Bf06mqOz>2G_F@n>y%? zW?PRHY?AgjKbFo!wpsfzboi#?YpKCEZf}#$I=u}*el^}7gr$>?6yeJ5o!9R+W9ScJuNxFy-4fYJ zyC;X!V>5<1Pibj-CS}1TZ309th`JaR=X`J>G@6E>NS|J3R`ztO?touY>{Ji4Pzy;- zYRw)+=>ZO-?27{*Z6Ny~Xc88hX}4a~Vf@=4b|&8oV#35%Ph04hLrS6$w`i(O=&ElG zLuO*tEE1R4H3n0=0n$3?&r5FWGcVFW2D;(`nBg}@(v`%J39Cz?5>F`hQ{|BN9;kuE6|$jCBtohJ;ox|JT>8D9i4h;)_gt65i1k2#1r$;2;G$C1VtGP z(;E&eZi&avj{<Og$tg|baFnN<{!D!@z;$MClRQT$-E{UKZKxug( zbjH<~2^z-4pTWpi>P?zUTS&Lmn%*y_ya18m%}Do7=PYRuwFM%e&BKzEj@FAj2DW8? zctb_xsqMY3K-u$1%JVO}F^E7dk@hz2>psi2ntIU+5Z)Q5!BLXZzk+JmbXGszh&E39 zzu*$K!04fKSJk?a{KW~c*C>s~8}Z#Z9Mh`AZ2B$jJ|;{FFc0?_83|gO4nW?%9AYQ# za*{^yAybCw(Texi>|<%tC!u@`WAid9PdJi4vS$)4qb6#zcg@rXWUu9RpHu>5=uqCO z8ESq4*1c_SGd^K0EcQ0H*QvwvLN?XRes2u<69^W)Xo3C6gCx|}>ES23Ql%?y^;Erq z0JW~H9tzKg0Zl>eW6@#Dt~%fHFwnu%YPjJUBfHqd6ONy+vTmI`Ep~&_i`cxd?1!pO z8jB(vOI(<_p}$MSgXBq8-F!m}7`wiWQaJ=OwlM|K6^d{8Z$nNiS%klYgJ`E~(md|I zF92g=cMnWoO@`Ne(wL~U%P(v7#-a+m6JY! zbZde`$$1uC>~HtHL+yk7*w+!_@KM*F(UEzX%>9OF;b?d=Zg3?s$U-1jX z97W(b_l=I=M;PCwhG*=61!voZ$bDXafi$yHn$smGycMqT;7-H?JDVIKgQv^2|K zgM`Qjk2}0Win8)mw0u$&7V<=V1)099Kf8)^`yOsA_@re`e;4hTHAY)MZh6*cAPIp} zRqlCkpy5MT^B(PAB1!UD>M|Dphd(HE!K@Ui^e1;W|B%K!xs|2(TWbw?+iPgkwmWpo z;Q$R=ho#YH&k_ChmuEnM|64sl?wi0y0;`KeuR5cK?4k6Fp%z6T;GH8V_L0ssV#i+( zUh^Azi`@96A%#`7GG>HU+k01)qUGnM}%xkzEbLTcf5kD_#PKpMTH`S=8AuXwy z3a0vp%WUH-*5I_B)iXHOc_>~s} z=7T@nA3f~`hPe38e%yTk&2`dVd*dVjD?wKb+Mh;k67iaUzH2y5r9P1Qg#^K4{c?`3 vz8QDnmmrKI|M3I-@g3dx5c;X^#s&WDctL{&c3V6Q(~Vm~y!5i^?i@)! z@3+?8r@O@?VdiG4#${X5Is5Fr_TFo+$G6tn8-rm_Ys3i4Z`M8Zkd$(*X<0^>X^F44 zm_F06Opgo(JYv;s1EI*6R)jo5Mlb z6o{DNfD!Qq1BOpF1jC^^@zr{tPx5D$44al2?lC=h8f%Y_Slz+!TxK}c5DCxxF46v^ z^qWS&ULEv#VJ!Lv2@ zE|8IEIAEs^$k9G~Eai@dr@jy$%FDU4iAKZSEhAokY3N{VB^pj7hdzl~rCu)vavNcf z*kR{=UjL<3pFEIQnKPd^{2`y2{QJ5U>l@_m19HMQEBfsHDf9WrwDoV29@h!c<_#^C zAAe%_te`}18(SMz*RNaEDD(cH$J;rJ&OVd}&~ByIS2}OnOptHZeBSMgda}n3ES2&e z5o`ahbXizE-^>R!aeuJKv`_YU&0aampMN0F$o|CV!tl+EraqLN-iST1SLTL3vCLA+ zXWWqeN%Ro!z8(k)v$NB5M-s92jn(}`u>%Y6%o!yby3H`rkQxWWh+D_$^oG?y8*duu zyVV1IK;yJZm%H0^Z<1e{K3{s&6Ld%Y(~+7uKeSWoX+b?M_Q`)1g-|%y6*m0X2A?l` zYUBEr6|&hEwGyA7+%A7BJwekx_si*Ew5wZuX}C*yUhHmS5Y?F)ErWIOc-G4L= z`^EOe2CEcX5g)!`1Uz6Fc}RkEHx5lYVpyAOD+(67?l=8GE9o;Mkx5%*rb5AR!~zG@ z7gH;EDT;Xv@&tY94@HvaON9Wo8vN$Hk?woIKFrJ>YiVrT(6a8{1w`aJO=MuAyq48u zI*+lI^9fxS9}Z0XSyE}D>5Sm%d5lP*&r13YuP^QM-msDxHwcVICW%tDJwcDDCbCXb za`RMDY678G=h5FNT~mi;p|2)Bb=WTSC7NH2HQu`*(Y85M0)yxAj?Q=a6ZL`?1uv?e z(^9OFu2+1)uCDCQh@Xr=muaVdCNsg%1+dQMWGZS+$~TkZouS>P=hFV|G}IbrsKYo< zKNA^lA~y%45BO%T^ajJ5(&NeMVG^g%AsUG{<)`PfhP71IKa^at_?yYaiDsIBuEVBh=Nml2i(d^oKk~{Bl2=8U_M{mo1E9c9t#;$UvxvAVEONPnh0C?x2+LR z9gR}=Vhh-#G#Uz8mbb%K;x27b``7qKY*`oecTCDrEGhQ>2`OERYZiWWvCKdEsAx98 z8y#k(*PNDb@Vj+*_ngeF6F-6Y=nRJavePs@{OUR9)sIOHN78Rp^+lrn4f&=VJJ}~* zXbgDNOFXUl5k{K#);W(6`n){ci|Y)3X>@Rs9^qQXh(Y)&(P_%YJN% zH{>e~PJ++n=R=-}2a3JM7c!4Iq|~Mr2PcIqbw&=kyYcD!L*q9{N^h@$`ot4FD*REL zk?2xlD0|ltyTkMad*z(Dm4|N*k4Gk-*d~;?BTbm2!!b_lU|dK-hoL1;e!Od&Wx6k5 zzJ4PRHD)p?(b8DIqHb-Y>?2-XD_#D{u9CyA4(Yt0O4=SP_>CKrP#C0fia25<$04)R zo?!7Pbiya}{doRl0BZ#9iXGOzdm_eTGwc`(1iRXgRKXDg*a`!J&7PkDbye`Te?T3zZ zdyN^#Y-w8Y>|M@`rqU)|@A^uk?up2B#Dd6W#dt>Y7QX9)IN&#Sc}8OBm)ypaSRZhg zoOyO%@4#VDFR%+;)05D@XT(jtSfpJs(Y6Mf=uw$h?J&NWj*yH^G)Iet`{h`QU-!#* zhKN;DI3pr|q{?JN53-@#2tjo%u2cWqFS#>l3v`FxX2o!dO&TZ>YByHs2nIJ{VNUV* zN1f({^6c$Cxxc)+pn#2pIi|~Wuw~~?p+}E6QOU)#c~c?-PJ80rQK+dE*ztX=`Jdj5Z(lJ zDq(rqbAGh z^8(3kl100$px=ajjy-Y|=4bk2z1p@nVwt{9?6h#K^NT~FsBZ?k=;Uu@W^P)BqQ$Yo zALW^(sB{9=Sz_DS>4ua^FVwRpnpSE->{;o8xwyS1ej^yNx691$?V)@s7y_rJt<5(~ zzZPIgwTkuMk-3KNBtB;j%-=A=#qAO^8^@A}Sg#eY*22{LbJC^OkT!18u%OFX**-UK z6$QPSzlQa8!7@6{t|*zCG{Oz(_uhapU?sH)1H&_WQP3Y#(uz(cK4w-xPbKiiE_L+u zOtbq_v~S`lwop4Rkn?2^NZYS}U$?yeDVe7p92wh(OW1$&wEN2Mv-#~15x&`m^=si(eR2hzBpR9@ zT>F6C5%v0tV-VLq@21jaP;I!2>(@#!9(@SwfYqCX;U?I; zOMHH5KO|j_oh7D}61()zj=xre`F%x@Ndg~<98wtgHSuw4GGd3O z&Syc*AuAc`4r6~{81J+Nw8((GntG{DHor<=Wwb72MI>EDKo}hzQ$1eef*d|-=LTw^ zAzRtg^-o9ZB#s7&!;;9o; zOJ$c~5CIP!{|pn^>FRS%#A1T-wzkjGpTrt{COkBI^yFT70POLD1}Rr8UD>pzab5k| z#=6F5+g@BMAE%F{gr<%}?f##@pEVCBUy?Adycd$<2R~`p(9*iTW#LzsF8p6suQvjp z%!0Lswpz1_A4nN%Z;VGn3;%ZM7W4+RVLB>ZS67?9kX&Q-m@^O8s7BAmKUnxR-Nv=X zdqa*IJ@86MO&_&%o7VViXd`~GhRFK*{QuRKscnh+CT0JR*BarjaXa&_4LV^{df}UP zgoC{SS#H<{3BK@aq)N}HkJ#Ol@N@34TH>CVUW51%`)Vo@3`try#aaYDWY5a|4qJ(s zT;cuFXKY^h)s5X(FA=g~VSypX3rA~ya_Xq;Fw<&3v*M-|U*WYj5kvPKmcj7WjfOX} z?c#Ph(h;?0MROn^*WkZ~K;TC)*z167lH})%;|I=n&=>UwU^u!0HFESN@W0!*AkbcY z@k7U0EdHfWngU>?gTsgLWTfk6pz}& zXUH6-Q4F{FgnaJ7bw6g;Lk@S2dmj7+sf-JCqCOf4);0we{!M)}Kkk_>y2@TU(KO-P zTq8#&uqgFDZ&zTUAc-k^!$wGEVEB1E;RIfgpH3v&z)%tl6|1Y?D9;icAR0ZF=-?c& z$9^h(bZlY|!w-C#xH<`AyU56x&q}Tj?3F9Y$c`jMW;vK(6CF7Fh}7Tt?AVfchCT)v zF?CYF(tx?f^iK9!iP(v@I3sEY(MN~p}l{mYyk zqCepkF54;Js@w9+vNjkQ!LSjY#WKKKyeCFyExv2$e93VYehqkQrO)V+u9yA68#Qu| zgb41nmJ0d!mityi@ofV>2Q$5^^!voeA-KL-?QlW? zrc$b3wUgi20uqXs|D~Vow$t!eHctRbdRdwt_=~B%IQs2d8p$%+D}gtewY9p%X}H9C zX@soXvVx3M^djWqEnt52hulrd3g`L;L^%tG!W-ytX;lk@F*lUwu>wl_Z+&$AMO*915VIL2&0JkzX_ek&{O*4)zW4cReeY*Nd)Am*wM%?AI@iOQWLQ@qa*%1#wKBlx+A_> zb`Iv!*D-K~fbyxonUaW9q@Wv{EKc$1Z?1NFpU=Ws?g74;j9Ls8kz4qP++!tkbLQ-) zWpCAEhEAt113Wulx(+XWJX$DnxRUhB2k9eJxpwr)`|o9I=jF=$F^nPAPN~_U;_;se^1-Wf%nKT_f%fq=7||&EDZN z0-GQ$>gD6o+U)NL&Oi*NI!Siyk&v?xn~~D|9)F)`gw>`V63)+ZWa{8GHeAve;;KkF zW2j@8ArX^~EjQeoXsRr9*;@Xb)!xWi>AH_q<2FL3*R5}pkg34B$S$f$ro>B7N`UY` z&@9(aPGTS^X`WRCj3{@QITZl!m%dA>er<6U^s4<|n3viHbnL}~UV-Evsu#xy%=Qa% zIodU1+z!aK4DzF;!uCPsK;qO(ayPKHF)_vry9Y;aue_*HGMGI$IBy~8^~SMOV=SekCa1qBIQsODTlBeVje9BE*+BdsG*K- zOO5V`so{<)Z4$Z=19JBtu-mux z!J(OUxNvy8S1+y;Wzsb4P3|u&e((_y?3whz5*ZzU&!X32FO!G9KM=0USDH9-o?`7V zYCpJ5&%{1=({VH;?nLw|=^|$omSk8v{cdnwD7!SHl!h3SL#p%bYDG07k0z zU}C_s>F^@JWX{|L@$IYr3bbz^2bT!ZV&o*9ttt0(5znGPT=OaAv0}O#fUqH`Hgy9? ztX2+al!ZnGA&4eoIg)Bcleyan!q#zj>89QZzPGlH-GHUnWp0ap;hh;mk0n8%&Rp8` z0oUMgE5;_P?GFQ0cpWKTSaITdVLr!SQHVwJ@>Dwhy9;vG(P0_e2li6op1R9)@%yrf9pmK*FSi=^+*` zc|@{_QiBtYxx5EyTkeQJ%BwE2Rme&~Q=ytB5!|9kzl8cwgjdEZFn{+yCSxCM&?KaY zSv?5fq|{;}sK~Axu?%9AA=8N1Dd+IK?TUSbbb%U~<2C|+*3+Nt=KT#?f%G2vhoKh_)c73JLF%GB6LEv0VlHW`| zl3e_4C2X6e4!N-i=8d0c#9$q?wK9>!+YIne<~|mHy9KmN{toTWCgB0%6VlFQ{iSW8 zlIxr@)U~`T%T%~~WHYs|zSSVE$YIzpbhfKyHy|$v$Xxp>X6kmNlpqP@8vwk#oyBj+ zZGT*|c2zbMP`ESv+zNIUE4H1>@AcH~l>NL^vJTKIoHIl(=%^MH{~d)m zgaJ#|@2BEGmTVwcY3Bw_4{S^J<<@R!ZNn+*8rxqGp-FGhBVBc1^*w;(UCM;nQv=kT zqBGfRkzODP6!6E%S>f$O#Hfg54}}*Tkbji0z1d0?j)&{;>E{I%F=Y|xdZLEhdSw*h zFd>FR@t*$Vc3#$VQ|@3_!2A7D>gZ!~>U_yd-t-EBB=*RMXR4_m#q%k+03d|4yO zg&NNf)XDX5knJ^#S{8kM(f#uJc>>gF=(Uy3Rr-h=h2-6{HE5Hqp! z&;?$egs zINDtt`S!P&sI_h7hUDJAbxXU4RkP*gW*xyuB_47@<$V1B{dU8Z!8T%xA7 z;mL`67yOuDFWXNEWeN?;g3v^)Zo`vj6&eL33JkWqx!ktHOQ{$aj2YE%dGox6Yo4Zt zJoH$=H2$Q(h3~<`_9FZR4TQeeJU#D|W+YbxeoVVgDMwnH(&5j%rf{M+q!Gax*@IQN z2ehnao~0oO*VJAbpe5GA-KGI`lK}>gmMi~U%K?elSTHilEn9Ks0zYbjj6q0Dd9Egy zPw%oEwxS&mTG7xXQpda@0)nXfhK=-5gUXHhm176&uoZ(WUh)ue2)A6_7$4Zei^Ate zUVj6;1VYuz#dwL6WZKs;xyHE5Ilrv4jE9vOFL+Q3I}=H(+Iadvh06JV>J}cDW`X|v(ywaIs+6Ju8j~bBZ8MdJS8GHjZytgaB zr2{W&Sqs>x@PBF;DVW!2C6KPeFDk77FpARmOwZQC+Z2Krt6KrX>F|q?hU0LKII*JK zMlE5>Gxsj&S-hxc$(9yyo}JRblWA@3S-cIPJ7#vI?;5oUIfO^ zrXZP}O1`|n^;Mq14BI$x0S7fkeAI9PGLabF7s0nM@v-riPPMYyZV4_yZnhbvX z{$wyYC{sFcNTpIKk)B&7Tv#W(fyAvx*xyb(fxRK|Ks1mAfKn0NW@dZQ4<8vpyeTh zZdm46uZ3T`ud=0|Tq*EI**RzX)QUDjqe6GULn)=KX{+QykEL8E@K6(xEVZOfE15qV z!Fn$cKrYEkDAYBrgr$h3f+6|e9ng7yO2f5(*Uh)t=jUw|D08Q$3`8#0mK&A_n;(-hsgoFav zK*SI**nGpT4$S~rlW9qTUi^ePsUKQKPx>TTAb4?n1)1(cy*vm-!1J%9RGi0$x5$nr zCk2_)PPA?4moRA%f6LAb^uvs8>%KbD+dZ2?e2y|kB3TL=bzeV{)nN&WbBM}HRkgx6 z|GtGnM>M%E7{F;@*&&4ZF_EY5Y9jxQTqP$|brm$$#E;tSZ5LA%xF-|});ao;wQ^(k zG?cFwstyChPQ)qWBc+r%?`7dAc%xRIpMMMDUA7**m3Dn zA-2Dht>{V50~=e)866O0m(~8>=Z+RLA>)R*O$K{wT1(x9(OuL@KA~{53X=Af*4_E&E8i zIA}^yQJMj=c2#Ns!5#U~BujmgPk^Pji*ZWWPh+!y>m`8%qzMj4BfA?>;PgN;L#aDy z7OWoJ%9)@zSL zyUIu#RY?#fYS;;Td+d)AyI?&AgcsUT=*QVZ_GcF5mVSVoH$Ua9GHlR{Z~>cgr5j=I zCZL~xd2W^F>G|_p@n`2pXri8;;Q6hHzf;xKt@Gp5hT0q9D1z?;DiO&-R)Np>Q(mn} zqLnA&%pWtIlY{ccW@HYkAPYjX0a)a~*P9VrLDJ_W&}ROD-Mj6+(M#X>P4jBKi+LeH zgH%GESF74L-Bo2?LzTwvZ%db21<2N$dFt7_ zppB_|Ha;eZovM1Okfw0IR#*&JYaV3;K}$ctte?vhMn*fj)ZkO`7oaqlpi$n3gS(W;XL<3%dI;ksS~)^>oC7 z=~fd&1f=3q-a11Lm*07Ujx$=BAysy?H@E${8EUb?d)(&Cu-wz#O|jgZ=ji;EMLeuB zOEv@5ED;_we3401sX<<_vWJHfqO>(-aF9IQpsF&2d!p0Z6%A*%OU4e74m*5ua5AZq zU(`1vk!h5Vg(ew&!F21LJ}>0~0QhW?m!7-3!9#RT|jST-PntpAKtQ0L~k07Iu#9mF~Gr0y`MdE<(an`q}@xqC%d zJ~9ntGc*b1*nK;7P?^^{nwNN|ddY4#srqE)u4M3K1bf!oeZm3>I{pM8yT06LbgD%5=Vs-YOG{D5l~+WUbN|yV-rg(sTSD zcp{ddA+E+BOsi~_SFoYI-KIHn`J^D?AW1qWin;T^0NpB{-i$b*7kSiPxAmYq=nEo> zsaX!9P`$8OV950?Qoj*lZ%4;vZk<%w9^g5dyG-#Yrv&3>`J%gWE^a|k!VKz8Od zms7PjKX=PvL{y`!#H$wLIkgzK^efaX7$#K;ofN}rl&SSh4$=%TLtc7drnDq*N(pn` zLFxf3t3v%}lGnAH)1fjgN*UC`p#lVO(hg39LKz~XPWubzO$vfd-j2yC!UNF3XBXYFYRLQQoV;W^}Yy)5=5A5V_337EZB ziwdiL0}4$nf1wEG=M)m3Q%k5-BN7NNI$Q30DWuo*}y- z)NOnLthtIv9V6MHLdN^a)&gf+$k*oB0)9;*h%-{4PiSm$lNneZyM3h|T#doioAbv< zXkU*Xj-sRt76tJ7i2c{2VAXsIc$DIN8lF<+I)M9OIU)s2rvu@*!1o-6`rzssLIK%C z78GsMr6=?zdr0OK4(OPYDix>ssauX&)hVm6?QumRb(OBtb=aJz;v;O5!GI|!2sy{t zrp!Y_hh9ZYPeVNn0cjS0dQp4xM*P=^|B&tBj@}6RtL06BpLoBYB_TBpH`fh_zlhwK zvI|g|9ygU-Q(P2kcC5|eR6k7_0)U#6RLY4Y0YKGdHoUDg`6$`GG1=aj%pnJbl^lYm zAWf>0<)T&x_k8>b<+GLE!_h}LqKbfsosUoxAJLT(KCQdG?ot9usH06O~Y#yI}hh-uY5+k(^xU^I@*Z(t(H z)A^KBE|JCR?eTi3JZ(2R^hDjIKMIB7UH+piyCldx+#`|mSIx~Tr?8xWhhQQ{AVU%Yea2y{e0aUdnFk)6G32YhW6ou^eny%ljLOWH?j zF}ljbrBhA;Zo)9B?9ibp*1jh06fwxmY1_$cd7}>I#hUm?kC)3P--lv|k4z*8dI2_! zK>nIIb15a{Jzso7<0XS>=1eQ6SezQ^*&}k6|X4&R!jU&&jrdCcVNVWX0I7J&Ii5P^nluKGBkU z2GdEf4zK(psP ziIm^(b)u1m)rLU9>?3pb2L`8z6dN7WJ!l5zWju#ryoC6O)?v9|-3uuh|n z$*Dkoz^*E2qNyRtnLB%0y1o~^q@XYKM52&ktBLt^3lNT)C%@sLWGpJawvY)lL^&V$ zDx2!7u1OLXNe^&Mk{p_%Dl#rCRdCpx>F0sr)2dnE2>DBd?NzPUCesYrSPSHrP+6n0 z@1O-ycsdaokD7`5xGZ9KCH+zm_KYeCt~AQ>On4Z;9<;P-76WFcf3QpNi*s2u{G+$D=~A@T1etkgQR7G++V9 z@Ykb}Z&!F6x!QLcu6i_~hFk6oM~9K}W7Uwb!4Bf83S5Pu0;QK-xwAEruESv7B7bO~ z%qc!&8sRt`R8;JOo28nIRCIXa5 ze;__pBlp?+l?s1MIJLcLU~`nB_lgn(4Jb6v?z8a$Vv{wX)M{&N+g7z60f+r};xn#rw7pQJwgYFV(!MtJl-)ga^Z+OsaFop_Fu0+3O2+SUq z*l`$O>b4BJtpU}Ls>C9tKj(s2=W+%;qPkK7OFr*H30-*csS2*J+CgwLDfB%M=$ZEB zSanrvWnAaxiM)$J@{+nf1F13>118;#g4lHpo5U(*jR+}g+1T;*@ry%L!wD#EG#rFM zs6r+3x3#r2CRQLX{uRZ#G#M;=>5}svSM0zZq)L4HjCbfs&c}83=U-7Ds$BHyc|D1F zVOm13n2Nk$EpJO4Dr9I(_yExWCZlEp+p$c;#i4+i1*0n>-~#sX%_38h?HXM4!_g`x zj&DJ!p({{sPZ-(Js2=8vH!$g`!_0jSSvOsZBC6hogQ2GA&600Y)#vY-Tbyb(pD!AA@&X^iFN4 z=pEw0S!$vw4IjFEvgd)WL?9Ikiz9quASa1xz56_3HCH>V`SB-Q8Ktiq*;+29HMi~5 zRnjNv)|#niokfF?;P)v#{lm~+n%h4k1$z|exz(dads-q!;#$Q4*{oNl); zkSmH>BKvv)Q3Bk`frJV-s*xhO3^o=95(;5`GjH00YOJ+HOPr$TBj;!)SeRM!8Bm??bBXN;nnrC8T>O`YzryGInMy*7h>_j(c%6hromaaaZBZ8uYr7>Sx)1 z#WO};r+`k_qr@z{#0&q&DauZ{piHA9a)R;#PWg@Jy?z`5PQe6ZlYd)t9PyAG`S!Qu z4l*|x!UapeU3eWUiXaCz=K6^mr+$z!kCnDS#G;wi&H6GznV&}L5d3YN0!|tK2*Ga! zVmp1aI<%9k*>yaHwz=6=kjpkR3XY+{cgF>eL7dJm73+;nEd|?9W)!5%78q zHI?c_Iv>ELNr|02KZ-4zU2R_%QwA0quhOnRvJkaQxG$# z51{>MU1983)5LS4Mv5U}N}rzJWPYb0pSk5f&b~0HX$^1?tI1Fdtd{5P9Eo%-{-N4a z%=>EXYL!jOD^Lx4ln+kL%{-UV~AN*?`tW&D4RTt_?t5Xhf^mXf-zFuHz#;|4l8Ds?AWx~fhogxkqd z5|$NFx=M>u;FEj`loD046gUpiLE5uIL|K>qWhz$Br$R;CoH~|j$*#3jg{sw#fY&q$ zB3idnv;jkTyYL23B*f2PE7(KB`0GvS)NBj2K9IJTcfFB-@lkLJoFd8CM@{_6aG@X9 zD>`4u{4Pj3@j0;LT)+08$dXDAk5o;$PaZp|9eovG@?|cwRNj$1$2-D@-7%xBpijB| zb5dp1qMFWxt3Ic$3V{(HqKi4R3adg`0lA|HxUubfA*qc?x`iW|A;91Iw>r8F&dI+f zhi{x9b-L;UG9CCSmyN-_Qz^rwU4M5Yj9VvixWRyx?9*l(H9Q|GW2TUcQTKh zN$HIMv&Q8I=qob1G-Ee&VVf6T!K%b zb_E$PK;AV5sbUSNg@hl15?Ee$^(jTboJDs`Mao`N{i@*1PE|sv9+gW7xeoN^V#kkw z@94s{JC{2OUBh^n<&IUAk;zJ>C&axnZ11k%QCY7ifC50*!bEc5UPn>W*Baqkq|cO5WtjoMV57iRAm~g8 zB~rmN_?{gFx^w3($zPYwa#b<%p(z|mIf+YU2;@Es`vE`8-lQFRwUDMa4%ojq@X4>zI=+xakw7Pws-!qJ8? z{g$IyNgj)S+#clYSsci|O1pqktM1{fx;nbjkXz9`Ed6i?g-Xo7>|~@c;eZ_vzD$?N z;KJ`eL-`n#-s$xILUpm~@AcsN0Box^v zotN}oH2R%j7UbEf0nTCo2h_u+s4-9+4422I>=l7piy6c*!o^Wqy~L9|r?XP!A@KFw zsPFH}zRdH6uSI?_5z85%dZUf4coNyhk2tw<*T`TN%Y9KGhOJXwkXpgnF1Yz}X1mZ- ztE7s;A-bGx(=-Zk%RQqk_BudV(&UJ!5S%4l%WC9B6`XcNQN2`SQsMjv6RR?9_$j(O zpH=TEYK|}>k1gNH^HoNLLj-uHbc6ae8|$BIl}E(bK=K@xPQHH$E8}yh=h?$lj8tE3 zh1uhRD?5*}Zc^w5E&#)sg9$+igNRd)7Q{|TR!CB-{<8F7pbd9~;c^^g{s{h_ibP^3 zR>dQ|UUw-2<9_Ts>cmdb5Lrl8!I8!6wZb#yprO8iMpAJ*2vvzs+!sehajQ~!Kxe^d z01k7}byfSFBa~QAenVL6cUIz-{nz+5{R~3PSWr@s|YY+Qv zfHHg+LQZL0ihwMS=TMN3@I^DG*&5Hh4J3yn(gjApO5(yY zbzNLZ{0ccI569J&ad<;_#u1jN1ajg&eb?NQZKCQ*hKob0&m~Fc{lnXwXAkpSC?G{F z4a=5(+OYQFg_ke%fY_OTs{(%nhyEZXi15*;AYhe{=j#o2y^iaFjR>j?JEAB=R>+f+ z>YhF18pU0;oF<>eEhMVp+48BTFJ$}j zWP5AUG2cL&?tsaq5V2zOpR!USQ$+>y=SkWEl20I2cVPkbnbo4I{4He3XT<4@nz31w z1_!%%Zv}5IBol*)Kb2$r74A~S=|;zV*Mt0)DypOY#VFF)st^3`D?cXz;Uw=MH~>H% z7Ra}1_0?b+n!kxC5^%c%kk*_vTFUETOBj}FEpY-JgOA~+6YyogynIS@3I_kqT-iiM z5LqO+PM%U1Qv9lH5Dnv?Bk1se%_b49Q(}{d66lNN%L@4rH(`Y{zd2uu-5<|zcd!rW zcbqSP=kZ}!ReN}65Q}%iWKoxofdlb-*mf>kCZWQX>xp$tmmpI~5tiq#l-!{asaN$Z z^)AOnn8GAka`pNJ#5~W2?H$}jO2f{lnn!U+mN^(_x1|}N-$AXd7>-e=z_C1#MxbAs zw!UWp7;&qk-Ee8xuvVO2R1RgtFv&L@1yt2hKzaf>k6ICadLVnaA R%c&G&4dyTS-+$qs{|CUiWVQeR literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u2/WSMSGS.OVR b/DiskImg/hd0/u2/WSMSGS.OVR new file mode 100644 index 0000000000000000000000000000000000000000..84625d8eae9a83d367a26211819dab455c9c9f19 GIT binary patch literal 13824 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/X0.DAT b/DiskImg/hd0/u2/WSPRINT.OVR similarity index 100% rename from DiskImg/hd0/X0.DAT rename to DiskImg/hd0/u2/WSPRINT.OVR diff --git a/DiskImg/hd3/WSPRINT.TST b/DiskImg/hd0/u2/WSPRINT.TST similarity index 100% rename from DiskImg/hd3/WSPRINT.TST rename to DiskImg/hd0/u2/WSPRINT.TST diff --git a/DiskImg/hd0/u2/WSREADME.TXT b/DiskImg/hd0/u2/WSREADME.TXT new file mode 100644 index 00000000..7a75b22c --- /dev/null +++ b/DiskImg/hd0/u2/WSREADME.TXT @@ -0,0 +1,880 @@ + --THE README FILE-- + ------------------------ + +README contains late-breaking news and tips about WordStar, +and information about printers. + + +THE DISKS THAT CAME IN YOUR PACKAGE +----------------------------------- + +The file HOMONYMS.TXT is included on the Speller disk +contrary to what is listed in Appendix D. + + +INSTALLATION +------------ + +WINSTALL and WSCHANGE + + WordStar has two installation programs: + + o WINSTALL contains the basic choices to install WordStar. + It is recommended for all users. + + Be sure and install your valid disk drives since WordStar + running under CP/M cannot recover from attempts to access non- + existent disk drives. + + o WSCHANGE contains every installation and customization + choice. It is designed for advanced users and users who + want to customize WordStar after they're familiar with it. + Use the menu listing below for a directory of the menus + in WSCHANGE. + +Directory of WSCHANGE Menus + + The chart below shows the organization of menus in WSCHANGE. + Print it out and refer to it as you customize WordStar. + + Main Installation Menu + + A Console + A Monitor + A Monitor selection + B Monitor name + C Screen sizing + B Function keys + C Monitor patches + A Special characters + B Cursor control + C Screen control + D Keyboard patches + A Function keys + B Save function keys + E Interface patches + A Console busy handshaking + B Special I/O subroutines + B Printer + A Printer choices + A Printer selection + B Printer name + C Default printer driver + B Printer driver library + A Select library file + B Create smaller library + C Add new printer driver + D Change printer driver data + C WS printer patches + A Custom print controls, printer initialization + + NOTE: Disregard the "CUSTOM & SIMPLE Controls Save CUSTOM/SIMPLE + Controls" option shown. This is not available from this menu. + + D Printing defaults + E Printer interface + A Printer port selection + B Printer busy handshaking + C Printer subroutines + C Computer + A Disk drives + A Valid disk drives + B Maximum valid user number + C Delay disk access if typing + B Operating system + A Single-user system + B Multi-user MP/M + C Multi-user Turbo DOS + D ZCPR3 + C Memory usage + D WordStar files + E Directory display + F Computer patches + D WordStar + A Page layout + A Page sizing & margins + B Headers & footers + C Tabs + B Editing settings + A Edit screen & help level + B Typing + C Paragraph alignment + D Blocks + E Erase & unerase + F Lines & characters + G Find & replace + H WordStar 3.3 compatibility + I Printing defaults + C Other features + A Spelling checks + B Nondocument mode + C Indexing + D Shorthand (key macros) + E Merge printing + F Miscellaneous + E Patching + A Auto patcher + B Save settings + C Reset all settings + +MEMORY USAGE +------------ + + WordStar requires a minimum TPA size of 50 kbytes to run + using the factory defaults. The TPA is the amount of memory + available in your computer for use by programs that have a + file type of COM. To see how big the TPA is in your computer, + press the question mark key (?) at the Opening Menu. + + The amount of memory required by WordStar can be reduced by + approximately 3 kbytes if necessary. Use the WSCHANGE program + to select the minimum memory configuration option. The menu + will show you what capabilities are being reduced. + + WordStar uses a general-purpose buffer for a variety of + tasks. WordStar allocates memory to this buffer for editing, + for merge printing, and at the Opening Menu (see BFSIZE in + PATCH.LST). The buffer used for editing is usually the most + sensitive to a reduced TPA size. (You may be able to use the + Opening Menu and print, but there may be insufficient memory + for editing.) + + The merge print buffer is used only to hold merge print + variable names and data. Increase it if you run out of memory + while merge printing. + + The Opening Menu buffer is used primarily to hold the file + directory, and for miscellaneous tasks. + + +LOW-MEMORY INDICATOR IN STATUS LINE +----------------------------------- + + If the Low-Memory indicator appears in the status line, it + means that WordStar was unable to complete some function. + The most common symptoms are: the line number in the + status line is wrong, or a paragraph alignment could not be + completed. You may correct the line counter by saving your + file, exiting WordStar, and re-loading your file. To correct + the paragraph alignment, move your cursor to the point where + paragraph alignment stopped, and then press ^B again. + + The reason this comes up is that WordStar was not able to fit + a big enough chunk of text into memory at one time. + + When you first begin editing, WordStar uses the value from + EDSIZE in the user area to determine the minimum amount + of memory required for a page of text. The default + is set for approximately a 55 line by 66 column page. If + your page size is routinely larger than this, you may want + to increase EDSIZE. Multiply the number of lines by the + number of columns, and divide by 128. + + If the Low-Memory indicator comes on while printing, it is due + to either the same reasons as for editing, or there is + insufficient memory to print the text proportionally spaced. + The amount of memory required depends on which printer + driver you are using. If you aren't using the .PS ON dot + command to turn proportional spacing on in your document, + low memory won't be a problem. Also, WordStar uses more + memory for merge printing than it does for regular printing + (around 2.5 kbytes more). + + The Low-Memory indicator will also appear when a full disk error + is encountered during editing. Treat the disk-full error as you + would normally. + + +RAM-RESIDENT PROGRAMS +--------------------- + + RAM-resident programs, such as SmartKey, reduce the amount of + working memory (TPA) that WordStar can use. The new features in + WordStar, such as shorthand, may reduce the need for these + RAM-resident programs, thus freeing memory for WordStar. + + +ZCPR3 SUPPORT +------------- + + In order to enable the ZCPR facilities within WordStar, the user + must use the Z3INS utility provided with ZCPR to install the + address of the ZCPR "environment" into WordStar. The environment + contains information that WordStar uses to support ZCPR-specific + functions. + + Generally, the user should log onto the drive containing the file + WS.COM, and issue the command: + + Z3INS SYS.ENV WS.COM + + The user should also run either WINSTALL or WSCHANGE to further + install WordStar for ZCPR. However, this is not mandatory because + the only thing that happens is that the WordStar sign-on says + "ZCPR3," and the LGLUSR location in the user area is changed for a + maximum user number of 31. (The normal default for LGLUSR is 15.) + + Once the user has installed WordStar for use with ZCPR, the user + will be able to use the following ZCPR features: + + - A named directory may be used when logging onto a new drive/user. + + - A named directory may be used instead of a drive/user as part + of any file name. + + - The drive/user always appears above file directories. (For CP/M + only the drive letter is shown if the user number is zero.) + + - The directory name also appears above the directory if one has + been defined for the currently logged drive/user. + + - If WordStar does not find its OVR files on the current drive and + user, it will search the drives and user numbers in the ZCPR + search path rather than using its standard search pattern. + + - WordStar installs itself as a ZCPR "shell" process which lets the + user enter any legal ZCPR command when running a program. (CP/M + can only run programs that are COM files.) + + +OSBORNE USERS +------------- + + The command to change a hard carriage return to a soft carriage + return (document mode) or to turn Auto-indent ON (nondocument + mode) does not function on the Osborne because of a limitation + in its BIOS. The following patch can be applied to change the + command from ^^ to ^- (Ctrl-Hyphen): + + Using DDT or SID in the file WSMSGS.OVR: + + At 02DA replace 1E with a 1D + At 02EF replace 1E with a 1D + At 0359 replace 1E with a 1D + At 06B2 replace 1E with a 1D + At 06C9 replace 1E with a 1D + + At the system prompt type SAVE 53 WSMSGS.OVR + + For more information on how to use SID or DDT, see your CP/M + reference guide. As always, be sure and apply the patch to a + COPY of the file. + + +INSTRUCTIONS FOR TWO FLOPPY DISK COMPUTERS +------------------------------------------ + + Do not remove the Program disk while you are using WordStar. + + The Printer Driver Library file (WSPRINT.OVR) on the WordStar + program disk is much smaller than the Printer Driver Library + file contained on the disk labeled PRINTER. Be sure to read the + section in "Starting" that discusses the printer library file. + + +RUN A PROGRAM +------------- + + Once you press R you can type the drive and user number for the + program you want to run. You may run only .COM files. CCP commands, + such as DIR cannot be used. + + +INDEXING +-------- + +Using StarIndex + + StarIndex 1.01 works with files created with this release of + WordStar. + +"Can't Use That Printer" Message + + When WordStar creates an index or table of contents, it uses + the printer drivers $INDEX and $TOC. If you created a smaller + WSPRINT.OVR file, you may have left these drivers out. To + return them to the file, copy the original WSPRINT.OVR file + onto your disk. When you create a smaller file again, be sure + to save these drivers. See Appendix C in the WordStar manual + for a list of other drivers to save. + + +SPELL CHECKING +-------------- + + Dual floppy disk users: + + Unless you have sufficient room on your working WordStar program + disk for the files TW.COM, SPELL.COM, MARKFIX.COM, REVIEW.COM and + MAINDICT.CMP you will not be able to run a spell check from the + Opening Menu. You will need to exit WordStar and replace the + working WordStar program disk with the dictionary disk you created + during installation. This disk should contain the files listed + above. Make sure the disk in drive B has the file you want to + spell-check. + + Follow the directions for running a spell check in The WORD Plus + manual. + + +UPGRADING FROM A PREVIOUS RELEASE +--------------------------------- + + This release of WordStar contains many new features and commands. + See the "What's New" booklet for a complete list. The following + changes came in too late to be included in the documentation. + +Printer Patches + + Previous versions of WordStar treat most dot matrix printers + and other non-daisy wheel printers as a DRAFT printer with a + few patchable items. Because of this, many users have used + these patches to be able to use certain features of their + printers. Sometimes the patches have been quite extensive, and + some users have many files that count on them. + + The printer drivers of WordStar Release 4, on the other hand, + are very powerful. Almost every driver recognizes all the print + controls and all the dot commands. In fact, if a document is + written to be printed on one kind of printer, it is likely that + it will also print fine on some other printer. + + However, if you want to use your existing files with WordStar + 4, and those files rely on the user area being patched in a + special way, you can probably do so by moving the patches into + WordStar 4, and using the CUSTOM or SIMPLE printer driver. + + On the INSTALL disk is a program called MOVEPRN.COM that + copies the printer driver portion of the previous release's + user area into files that can be installed into Release 4 with + the "auto patcher" feature. + + Copy the program MOVEPRN.COM onto the disk containing the + WS.COM file for the previous version. Type + + MOVEPRN WS.COM FILE1.PAT FILE2.PAT + + MOVEPRN extracts the proper portions of the user area and + writes them into two files that may then be used with the "auto + patcher" feature of WSCHANGE. + + FILE1.PAT is to be used with the general patching menu + (Choose E "Patching" on the WSCHANGE Main Menu, then A "Auto + Patcher"). FILE2.PAT should be used to install strings first + into the SIMPLE driver, and then into the CUSTOM driver (choose + B "Printer" on the WSCHANGE Main Menu, then B "Printer driver + library", D "Change printer driver data" and D "Driver auto + patcher"). + + Test print your document first with the SIMPLE driver, and then + with the CUSTOM driver to see which one produces the most + satisfactory results. + + Also read Appendix C for more information on using the Auto + Patcher. + + +Hanging Indents + + For WordStar Professional Release 4, MailMerge reformats indented + text created with ^OG to the current margins. If you want the text + to remain indented, use embedded ruler lines or the .RM, .LM, + and .PM commands. See the "Reference Guide" for more information. + + Pressing ^OG to wrap back to the first tab on the ruler line after + having reached the last tab works the same way it did in previous + versions of WordStar, contrary to what is stated in the manual. + + +TERMINALS +--------- + + WordStar comes installed for an "idealized" special terminal. + WINSTALL and WSCHANGE allow you to install many terminals by + name, thus allowing WordStar to take advantage of the special + features that the terminal might support, such as underlining + or the function keys. + + Use either WINSTALL or WSCHANGE to pick your specific terminal + or computer screen from the Monitor menu. If your terminal + isn't on the menu, it probably emulates one of those that is + there. Look in your terminal documentation to find out. + + After you install WordStar for the proper terminal, run + WordStar and open the file PRINT.TST to see which attributes + (such as bold and underline) work on your screen. + WordStar will highlight the following in some way... + + Bold (^PB) + Underline (^PS) + Strike-out (^PX) + Subscript (^PV) + Superscript (^PT) + Doublestrike (^PD) + Italics (^PY) + Blocks (^KB, ^KK) + Error messages + + Most of the time, normal text will be shown in dim intensity, + and highlighted text will be shown in bright intensity. You + may have to use a brightness and/or contrast knob to adjust + your screen the first time you use WordStar this way. + + If your dim intensity is too dim to see well, and you can't + adjust it, you can change the BRITE flag to ON using WSCHANGE. + This will invert bright and dim in your text, so that regular + text is displayed bright, and highlighted text will be + displayed as dim. However, text in the menus is not affected. + + +DISPLAY PROBLEMS WITH TERMINALS +------------------------------- + + Once you have installed WordStar for the proper terminal, you + may still experience display problems. + + If text from the previous screen remains after WordStar + displays a new screenful of text, the most likely cause is + cursor wrap. Basically, WordStar must know what happens to the + cursor when a character is displayed at the rightmost position + of the screen. It can either remain at the right edge, or it + can wrap to the beginning of the next line. The WRAP flag in + WordStar must be set either on or off to correspond to the + way the terminal works. (It is generally set for the + terminal's factory default, but the default can usually be + changed using the terminal's setup mode.) + + Another possible cause for display problems is your terminal's + incomplete emulation of some other terminal. The most + common differences are... + + Line insert (LININS), line delete (LINDEL), + Erase to end of screen (ERAEOS), + Erase to end of line (ERAEOL), + And, erase screen (ERASCR). + + Look in the manual for your terminal and use WSCHANGE to see + if the control sequences match. + + +PRINTERS +-------- + +WHAT'S IN THIS SECTION + + This section contains the following information: + + Choosing a Printer + Setting Up Your Printer + Printer Drivers + Proportional Printing + Laser Printers + Information on Specific Printers + +CHOOSING A PRINTER + + WordStar is ready to work with over 100 printers. The printer you + choose during installation becomes your default printer. However, + when you print a document, you can choose any other printer. To + choose a default printer, follow these steps: + + 1. Look at the Printer Information brochure that came in your + package. The first chart shows the printers listed on the + Printer Selection Menus. If your printer is on the menu, + simply choose it during installation. + + 2. If your printer isn't listed on the menu, it may work like a + printer that is. Refer to the second chart in the Printer + Information brochure for a list of printers that work like + printers on the menu. When WordStar asks you to choose a + printer, choose the printer that works like yours. + + 3. If neither chart lists your printer, choose Typewriter Printer + (if your printer can backspace) or Draft Printer (if it can't). + These choices may not take advantage of all your printer's + features, but they will work with almost any printer. + + Note: If you choose Draft or Typewriter, you can modify custom + print controls and printer initialization. + + If you want to make more modifications to take advantage of your + printer's feature, choose the Custom or Simple drivers, then use + the WS Printer Patches section of WSCHANGE to tell WordStar the + codes for your printer. Refer to your printer manual for these + codes. Some printers work better with the Custom driver and some + with the Simple driver. Try using both and see which works better + with your printer. See the "Reference Guide" for more information. + +SETTING UP YOUR PRINTER + +Choosing a Printer Port + + Each printer is connected to a printer port at the back of + the computer. WordStar looks for printers on the LST: port. + If your printer is connected to a different port, use + WSCHANGE to tell WordStar the correct port. + +Testing Your Printer Connection + + At the operating system prompt, type "PIP LST:=READ.ME." This + file should be printed by your printer. If it is not, your printer + may be connected to a different port. See your computer reference + manual, and the section on the STAT command in your CP/M + reference manual for more information. + + +PRINTER DRIVERS + + The WSPRINT.OVR file on the Printers disk contains a printer + driver for each printer on the Printer Selection Menu. The printer + driver for a printer contains all the codes WordStar needs to work + with that printer. + + Each printer driver has a short name. If you choose a printer when + you print a document, you see the names of the printer drivers, not + the names of the printers. + +PROPORTIONAL PRINTING + + WordStar supports proportional printing on a number of printers. + To turn on proportional printing, either install WordStar to + default to proportional printing, or place a ".PS on" command + in your document. At print time, WordStar selects the + appropriate proportional font based on the character width + (.CW) currently in effect. + + The specific printer descriptions later in this section show + recommended character widths for proportional typefaces. + These widths are for a normal mix of upper- and lowercase + letters. If you have many words or phrases all in uppercase + or if you want your text less densely printed, choose a larger + character width. + + While WordStar mostly sets character widths based on the + proportional-width table in the driver, on the more advanced + daisy wheel printers, WordStar uses the printer's proportional- + spacing mode. WordStar determines how much white space is needed + to right-justify the line based on its own proportional width + tables. If the table values don't match the wheel installed, + WordStar won't be able to justify the line correctly. + + WordStar sends standard ASCII characters; if a proportional wheel + uses a different spoke mapping, set up the printer to handle this. + +LASER PRINTERS + + WordStar supports laser printer features such as font changes + and proportional spacing. + + WordStar supports several laser printers: the Canon LPB-8 A1 & A2; + the Hewlett-Packard LaserJet, LaserJet+, and LaserJet 500+; + and the Ricoh LP4080. Refer to the "Specific Printer + Information" section of this file for information on these + printers. General notes about using laser printers are given below. + +Paper Size and Margins + + Laser printers come with preset page margins. You need to + compensate for these margins by changing page length in your + WordStar documents. The chart below shows the recommended + settings for 8 1/2 X 11 inch paper for both portrait and landscape + orientations. These settings allow 55 lines of text for portrait + orientation and 40 lines of text for landscape orientation (at 6 + lines per inch). They also allow for a footer of up to 3 lines + and a one-line header. If you use multiple-line headers, adjust + the top margin accordingly. + + Dot Default Portrait Landscape + Setting Command Value Orientation Orientation + ------- ------- ------- ----------- ----------- + page length .PL 66 62 47 + top margin .MT 3 2 2 + bottom margin .MB 8 5 5 + header margin .HM 2 1 1 + footer margin .FM 2 2 2 + + If the laser printer is your primary printer, you can use WSCHANGE + to make these settings the defaults. + + Because laser printers leave small margins at the left and right + sides of the page, you may want to use a smaller page offset + setting (the default is .PO 8). + +Form Feeds + + When you print with a laser printer, answer Y for yes to the "Use + form feeds (Y/N)?" prompt at print time. (The default is NO.) If + the laser printer is your primary printer, you can use WSCHANGE to + change the default to yes. + +WordStar Commands for Font Selection + + The WordStar dot commands and print control commands listed below + determine the fonts used for printing a document. + + .PR .PR OR=L selects landscape orientation; .PR OR=P (or just + .PR OR) selects portrait orientation (the default). If + either of these commands appears after the first printing + line on a page, the orientation will not change until the + following page. + + .PS .PS ON selects proportionally spaced characters; .PS OFF + (the default) selects fixed-spaced characters. + + .CW The character-width setting (.CW followed by the width in + 120ths of an inch) determines the character pitch and font + selected for fixed-width printing. For proportional fonts, it + determines the point size and proportional-width table + selected. + + .LQ .LQ ON selects near letter quality print (if supported by + your printer). LQ OFF selects draft quality print. Default + is ON. + + ^PY The italic print control toggles between normal and italic + characters when the appropriate italic font is available. + + ^PB The boldface print control toggles between normal and bold + characters when the appropriate bold font is available. + + ^PD The double strike print control used with the laser printers + toggles overprinting with a horizontal offset of 1/120" + between the two character images. This allows a bold effect + where no bold font is available. + + ^PA ^PA turns alternate pitch on. Use .CW to assign different + character widths to normal pitch (see ^PN below) and alternate + pitch so that each pitch accesses a different font. You can + then change fonts by switching between the two pitches. This + is the only way to use two fonts on the same line. + (See "Character width" and "Pitch" in the "Reference Guide.") + + ^PN ^PN turns normal pitch on. You can use it with ^PA as + described above. + + ^P@ When working with columns, if you use alternate and normal + pitch for two fonts, or if you use proportional spacing, you + may need to use ^P@ to make sure the columns line up. + Remember that the column position set with ^P@ is determined + by the normal pitch character width. (See "Columns" and + "Proportional spacing" in the "Reference Guide." + +INFORMATION ON SPECIFIC PRINTERS + + This section describes the capabilities of each printer listed on + the Printer Selection Menu. The printers are listed in alphabetical + order (except for the generic printers such as "Draft," + "Typewriter," "Custom," "Simple," and the various print-to-disk + options, which are listed first). + + There is a chart for each printer explaining how features work and + listing any special notes about the printer. Each printer is + described in the following format: + +PRINTER NAME ----- Driver: (short name) + + ^PY Effect of italics/ribbon color print control + ^PT/V Subscript/superscript information + .CW Information on available character widths and fonts. The + chart shows the .CW, .LQ, and .PS settings required to use + different fonts. + + .LQ OFF .LQ ON .PS ON Font Name + ------- ------ ------ --------- + .cw val .cw val recommended value (range) font 1 + .cw val .cw val recommended value (range) font 2 + + .UL Continuous-underline information (if restrictions) + .UJ Microspace-justification information (if restrictions) + + N/A means a command has no effect on this printer. + + NOTES Switch settings, special features, anomalies. + +DRAFT PRINTER (nonbackspacing) ----- Driver: DRAFT + + ^PD Overprints the line twice + ^PB Overprints the line three times + ^PS Overprints the underscore character in a separate pass + ^PT/V Prints super/subscripts with a full line between + super/subscript and text + .LH Sets line height only in multiples of full lines + .CW N/A + .PS N/A + .LQ N/A + .UJ N/A + + NOTES This driver works with any printer that doesn't automatically + perform a line feed when it receives a carriage return command. All + overprinting is done by returning the carriage and passing over the + line again. + +TYPEWRITER PRINTER (backspacing) ----- Driver: TYPEWR + + ^PD Backspaces and overprints each character twice + ^PB Backspaces and overprints each character three times + ^PS Backspaces and overprints the underscore character + ^PT/V Prints super/subscripts with a full line between + super/subscript and text + .LH Sets line height only in multiples of full lines + .CW N/A + .PS N/A + .LQ N/A + .UJ N/A + + NOTES This driver works with any printer that doesn't automatically + perform a line feed when a it receives a carriage return command, + and responds to a backspace character. Overprinting is done by + backspacing. + +AUTO LINE FEED PRINTER (backspacing) ----- Driver: AUTOLF + + ^PD Backspaces and overprints each character twice + ^PB Backspaces and overprints each character three times + ^PS Backspaces and overprints the underscore character + ^PT/V Prints super/subscripts with a full line between + super/subscript and text + .LH Sets line height only in multiples of full lines + .CW N/A + .PS N/A + .LQ N/A + .UJ N/A + + NOTES This driver works with any printer that automatically + performs a line feed when it receives a carriage return character, + and responds to a backspace command. Overprinting is done by + backspacing. + +SIMPLE CUSTOMIZABLE PRINTERS ----- Driver: SIMPLE + + All print controls cause control strings (on and off) in + the user area to be sent to the printer. These strings + are used by both the SIMPLE and CUSTOM drivers. They can + be installed with the WSCHANGE program. + + .LQ Controlled by user area strings + .PS Controlled by user area strings + .CW N/A + .UJ N/A + .LH N/A + + NOTES This printer driver prints the line in one pass, sending + control strings from the user area to select print enhancements. + +CUSTOMIZABLE PRINTERS ----- Driver: CUSTOM + + All print controls cause control strings (on and off) in + the user area to be sent to the printer. These strings + are used by both the SIMPLE and CUSTOM drivers. They can + be installed with the WSCHANGE program. + + .LQ ON/OFF controlled by user area strings + .PS ON/OFF controlled by user area strings + .LH Sets line height only in multiples of full lines + .UJ N/A + .CW N/A + + NOTES This driver prints the line in multiple passes, sending + control strings from the user area to select print enhancements. + +PREVIEW TO DISK ----- Driver: PRVIEW + + This driver prints documents to the PREVIEW.WS file to allow + you to preview the format and appearance of a document before + printing. Headers, footers, and pagination are shown correctly + and print controls remain in the file to display onscreen + attributes. Dot commands are not printed. + +PRINT TO DISK WITHOUT PRINT CONTROLS ----- Driver: ASCII + + This driver prints to the ASCII.WS file, stripping headers and + footers, high bits, and print controls. + +PRINT TO DISK WITHOUT HEADERS AND FOOTERS ----- Driver: XTRACT + + This driver prints to the XTRACT.WS disk file, stripping headers + and footers, but preserving high bits and print controls. + +ANADEX 9500A, 9500B ----- Driver: 9500 + + ^PY N/A + ^PT/V Even superscript roll + + .CW .CW Font name + --- --------- + 9 13.3 cpi + 10 12 cpi + 12 10 cpi + 18 6.7 cpi + 20 6 cpi + 24 5 cpi + + .LH 1/24" resolution, use even values + .UJ This printer has no incremental horizontal positioning + .PS N/A + .LQ N/A + +ANADEX 9501B, INTEQ 5100B ----- Driver: 9501B + + ^PY N/A + ^PT/V Even superscript roll + + .CW .CW Font name + --- --------- + 7 16.7 cpi + 8 15 cpi + 10 12.5 cpi + 12 10 cpi + 14 8.3 cpi + 16 7.5 cpi + 20 6.2 cpi + 24 5 cpi + + .LH 1/24" resolution, use even values + .UJ This printer has no incremental horizontal positioning + .PS N/A + .LQ N/A + +C. ITOH STARWRITER 1550 AND 8510 ----- Driver: C1550 + + ^PY N/A + ^PT/V Prints full-size characters with roll + + .CW .CW Font Name + --- --------- + 7 compressed + 10 elite + 12 pica + 14 expanded compressed + 20 expanded elite + 24 expanded pica + + .LQ N/A + .PS N/A + .UL Continuous underlining suppresses microspace justification + +C. ITOH F10 STARWRITER ----- Driver: QUME + + See Diablo 630, 1610, 1620 Daisy Wheel. + + Note: Proportional printing was tested with a Theme 10 wheel. + +CANON LBP-8A1 AND LBP-8A2 LASER PRINTER ----- Driver: LBP8 + + ^PY Selects italics if appropriate font installed + ^PT/V Prints full-size characters with roll + .PS .PS + .CW OFF ON Font Name + --- -- --------- + 6 - 20 cpi + 8 - 15 cpi + 9 - 13.3 cpi + 10 - 12 cpi (elite) + 12 - 10 cpi + 20 - 6 cpi + 24 - 5 cpi + 16 - 7.5 cpi + - 7 (0-8) Garland 8 point + - 10 (9-11) Garland 12 point + - 14 (12-17) Expanded 8 point + - 20 (18-30) Expand \ No newline at end of file diff --git a/DiskImg/hd0/u2/WSSHORT.OVR b/DiskImg/hd0/u2/WSSHORT.OVR new file mode 100644 index 0000000000000000000000000000000000000000..b44f1480e4a0ff60db07b8ee573c13c6f5fc288f GIT binary patch literal 512 zcmbV{OD_Xq6o$_j25Cn-M3rt1wU7{+iMli*YSblCEuBV)NWQjTb(mY`B9RDwgqo z#HAInzylA3hS7i6U+ji9C_405vwRne-ziR76@|?{=zzNA7{nXHg`YJo+=3toiA^;I zqmU!+33{ZWQ?%+>wb*&nbEQ&`Ano)@rLNexsxXgiP0M2E4<)}?tlS3?Fvt8 z*cjHRPCbhIC21wv(;iw3w};k4Ly7Wk6a;8cQq#->toS-hX=XSc;uE_t@Go(ouCA4k zjjFN=E(~us*YO8X@=IIg4Me4o{}{&Bj2Xzuza%k}t34jPe;bkhNgq^#Xau eo7+M2@$PBl>ZSR7|1@&hyuBL)?(`4zd-Vy^F_f$T literal 0 HcmV?d00001 diff --git a/DiskImg/hd0/u2/WSU.COM b/DiskImg/hd0/u2/WSU.COM new file mode 100644 index 0000000000000000000000000000000000000000..39830fdfe780b64cd83d940e2bb78a5851da0bce GIT binary patch literal 7168 zcmeHMYj7Lab>77SAPHa>SS;RaQ2U_W5ELH*Tguv@AihLUFH)vtJ?z9RYtf1vSx_js zB=vxpsFKr+$Bok1Zd|9eHFo^Ntud}`t^5cp?urU`PrXgsDyR4gY3 zdhU|6{K!n5>15hzv(nys&%Nh-_ndRjz4t7rE{WaIxVn1_j$vvnM!L3U26t@Q-#@sN zYu{MEfm^*}*Zy6ZJxjUXf!zcB`v$n*uWM-FI8ID1gYw2hy4o{)M+SH8{PKS83+>h1 zvK7l$EQRvc<=lo{cMoPZ4raJDd-e|u?&(K({kysL%;4V4phc0c*4?`~OL!kQIIwSE z@Q(*})R8V17P}8=QF|+z^2YO6ZT$`6qt<_^If?x*eAH7O^+H&E@R*u9rgj`xlgHJq z#~1X(3A}~0x!VZ56{>Xv-Ud}Wfwx1og}^(Y+D_oBNgLfs;GIyl5_p=#Jp|qbLmdRZ z2CCZ#d@bpuJAEWc68Ji@+-kOw_Rr;v@Wv7raJY$%)$1_~Ux{Rh=C%|R>rz;a1#!o~ zo?ZLD%-ykU1(zA*x(51z=vuadbYUMYjn%NR+dnZS#{sF$|97%o>{@oHfo)sHwkO&4 zMjP9KVK#OhD%PT611dlVN9j1x>anq3ZCQ}!-y%k4exScWNUe5RKWbB_fo@Zd+W5B# z^{CCp?geJ$KM3AwH;&pyc$a;~sr-`Qi)fT!+Z*6r25%$5wn4iM+HH-1{Tnz9tTWxUX6?H58@hWoVoR{C zn>K7pZ{oO~Expk0TD^Xw)h+?Crn_VHHf~${dT7sM%rkB5UDLgJL14bWy=MdPZ0hRi zo$t48-g?8F5?mY-OJo`UHKXRC)`&i=B&f>D#|lSIw2qm*$`1r|Ct0j3{rzvC>U8TUmLjWWzk= z9v4xLw_e!AAc})rnMVmH(6PWRju5oSn`N@e(rg6fpN8QslcSWJX z?oqG0YS`Eisl4ZMK(`SIs_(g=+wIQ!MTS($+>701?)=oaCQnY7X=$2w=ymQPQN7vS zMCQk}nIpyiH;V@^yvw0x>zl8Gt?MzE)CSa_5k4Fs4qpp`$8J3GD^xySf|9xh#o==ee#CkyRo}e% zOBK^UaTliij5fh@g43QYHYj!vfL?dohY=i)Vf3v_VrfR!TRl`m>_pLZvC}gFR&;Er z4p)aO!sD{i>4}{);YF`5rI< z{DM?w$pQkJCD91d2KQqX41>F|0&ImTDh#SL!!Y1ovG8Q%bI<`vHBm@{9>u7b;lQRY zQ8aK*0e=&U~L zg?(_88kwWw06r@#`zgsS)Hk1_VN(oKsnYaOs@~$ysSklDvWRzKQCWGCLLN|`rjYxn zN@PK*q&&aC4SbfZ`^W;tSk}EhKe3imFH@<}WGoIWBBU@8bb8T%-r*gCcS!OG;!urI?L8yC?VLGsxkVfss)2#U1#To^%ay@# zB*o${4CSZPMly%oX(n*t&`Wxsw~*f_4k7^MVXs+PVLatZ7xMZEFQ{0`REYd`MRTbS0K&&tvH1{8Qfo>SFi5THQ}r-KNpv)6e-#eiVxq^2QOL zd-!?fIZ!ySnS}Z;K4XVZH$OFO%n#?yO9(M5o|;lV@a5D1oi`pqtR+CQa04_#`>Dka zYMItv6PvICUx*t7oQhZI9%GIBlF{LBKQN`IX%DIN&^6hjq;H}5pT)aHbsH^1oAoop ze#ZEazIcUpmXFB#qcoW<)`?Kpc;>s&Z3Co3>8DBkDcTx+imsU-6xFZM!!mTII6s8M z>BBnpB=$7=Mk35HuE{YR%pVIn=jFoeh5p-&x|R!e`>il1-HVg3q|S8Vk=a4YE|`OZObi*RhS6J z&oVy*%#c(o$Y&_Gn7zDel2mT>LoAuFi}XkQl|hJg{V{)f>e7TMI?Kfv+=gQc_`;zN z`bp(Ze|}tj#1Bd-5Bg(83ChCT5X=EGFV4;aP9B|G;|^uBKTl(r@uC0Xq(2x?uKNSQ z^nnK+`1%8*uS{R}oBUPhSpMR5fAdz6)J;F|O@ALytMs@0Fk#ww->d)JAHOo^AHLku zCz8rz{)4hUhZN0ILyF)0_We$r0Sr{NkC7E z^m|BsgkfM=)jbS?m}mM1gQOhFVMa^31kk3B;^4Fd22eQ$`|>$vCGQf(&OXF2D)bw_ zVzRQXFvcm5sGeeg_aWG1@pkP;cTpk5t-qpUgr-HIn*Y!4{$030l4Vy#_W9xxMK zcB46vhm!|x&ou#*Mr}c*0wwUS3Bci@EnKl*48Rqu!JvLmz~t{@vvZQdu1qSd{*Ayy z8V)72>9c|H*}Mk17MlAn0?jZCtSj|r0^NIC#g)om2lhff1)i}O#se9|aSKM@#YXoc zKjwghi#nIAjB67!N7B+W{And0xK@IW;bQAF7A)R5eJxPzN3DYwv7i)>%fmVre3yfy zL}80NG?;l3WgU|y57+%_%L~aMazJYkvJ+WP27wV$BdbbbNj|Qx3c~Sg@{yo$md#6l zX_J*N2932IV=7=g8&Fji6s9+`P8|CDJ<{X0VoAS0__Fd~P`ZunLC}u{6TK`-LB1X& zm64!Bc{UhZklr2wsh;7Y3q+U^zg@jQXy?CYgKdb1P#TF%G6MVEN@xmBbORDRM~SA)k{&w_r=9CBzT(^C6)sj&eNZhoM6=UPTWhwrEg>?Osqs=F*s7t&UOO=cR;l!y}4ppaPDGq8d_Z1#CnQ%AHA17dC_Jk!i4mpz{ zL}30NKsyC@#GT<>W+!x^KsA0CMgmoF_1Ima0(wN;nAy z-V{&X9OoZJ&~g}jbEp|;KvG``!*-t!`~f~yhBokpu+(l>KZr~iGhuXJ|2W)}MF#|_ z{8M;bo69yUSHo7^s6PqMLePrwYo#&W9htZ^1jxqdyi=e%_p#oigjxX{W&yFlm(=}{ z0_YCDJ|rt!B8OkqyCawJ=`E30fwHW%P89Y2h;*2M)O<(87>THvh$QoA>6rM0ahQI*=+H_WAfnO;tnNdR!@GBy8;nyCK7$7G>rrz*0lyBLC@yN^uxN=IWIufC z9Ri87k@PND?a9apIABq*m3h;$PnTcqYQyj{B z5m;q7jssD&6O>RC4($kRKvz`#FftDQIf-oF8I%$26qd3^zgwtdjS+WLNU$1j%bJN8OON*9-^A3jQPcQV zG*QXY*a+^!jI&WKaT5?3ydDv1EW>{dL%fZMmv29!J{{$MJ_>2dap6&(AAL%AmAvT(LR={fGexAL^+|7^$oE~ z(rTv4k~;Qyg})2M0p%TA2d*S`DHK0)JPxc+6aGv*~j(o8R5P% nFv9HzpAGE4e{c_KE&hq6uCDGgKjM8puYQK>ckBN@yZ-+P6XTOy literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/X1.DAT b/DiskImg/hd1/X1.DAT deleted file mode 100644 index 83bef6ea8955c9a315a55fd6d4cc075c069fd599..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150528 zcmeFa34ByV);C=Drn8ek0FlrNy`VyeCA4f_ldvWM1QH-DDuRf}Fe*_{6Sf8&N$*R# zLm&xDBHSb_8U(e)1)(o!x}B>AjWW?uGuj!Qc1A%#MeTh5y0<$)MrY=If8X~$@AG_i za_gQtb*k#rsj5?Z-ISz-#cS@K_t3I6s?j4dGgYd>HLF%Xv|^2F>Y7!LtXQ*FrP7a9 zO?r5xYW%pAq$$M@tXs2cCVsn^xZ9$Hnr zdf9!dDaC6Z7?F}R>Aw3^lCQO@H7nMxSo6q=yMY}*@Y_;GzDl-UO-P}8@buYJa~Ba3 zk3T~Cu$2jfY%&clDwqQ6SG`GZLSix#`z6(}LHE?Tlk$pSzlz*Aup3)+YhmufxfJ`3 zsvA3Leo?{9Jc@l-OGske*f^g;- znPgxVA=j`6SVGE7g>x57&s|8qnMfuQ!j58IVLl+|Oq1qKnLeG6UQ@`VsWMhi=9m^0 z&7Cx*h+?nJC5&O!Ept z<1-Niu*)AK3VZK!{puC7YNt-0Gc1DDn=>S~NbAwzm(;*e@02U|ttC;joMyA3Ocv+%D|5&&b%#v95zNyRai) zkg;6CjfZB=8Bc|V*q(Yt#>OQ4cyQ*NQB;<|e)gJ-eLenF8rv9I4xu+??58mo_D?G; znt>bw?Q`$R*cXzOho%+IoRM2ZvDNR(*f)|#N?2|(#TNZl#{Qx2%BLwUH=klPU&~mX zW{r%!m16mLM#|$s8i|%eNdWfEp%HA{h=bE7&zdrGF2(-i78$!pvFZS@`Ew=CQs&Co z_Z44IY~kDjO1ol#jGY=cfrc<={&b3+c)N_<7Q2tqMsn!!Wis}G*heYt!oplio4!)U zCdDZa%_&l;wyJj^ScJ{xri<-z}mOgk`Edw^o) zvQxZ4#`cdLdT@5`ltR74nSG0ly*lYT35(1?Z2VRkJ0te?gR^FiA1&w5OHLX4y5fTa zvu56;m$7l%Wb9$ZNeL_GTT7LUeJi#dA&eRiVubtX?#pR`m3Wx5PsZlQPo%UoV9+xA zW$c>xdu6OdJMFNH&5D}@tUf~ff>*{m<0@pVM0@dN8QY{daiDOPe)K4*^ld#QW2eT> zKUg>_^Cr2Zj`nv;a?bo&xkwu%S^9=dtBSp@kz$c?;B4UAGWNT;&kxKj9G!_;1Z>XP zNC>gBYUjO4Xi`;kn$Aa>=!{M=ciG8a+W4?dN#ixUW%=H7NycWUj6F1UR^g}{B_573tW>Ip#b0-Ds(w^vro`{XR2h43 z!rg~}r2&HnO+OhsE;j4H)P;q5IRyK_pJB)7rEpJaW$fj~^qKk{^c1*rbG* zLxnev86~HpYJ`lvJN9A7_r}q3Y2xjqALDLgUHUz>UUWC{07sL+wJ6 z5fO^>je$8v#3=*fyDl-KTvU}e`A_D=c>UsYsbYPKKd2_;CaqTUfV=%dlm5J0|Fv8H zmHV7GFu)X!3G6k7w*6b8En$10&ICT{Ozz;mr@rX1#U{?_6gVq3YvwRHW5WZ_A0)nYOT%T4R_Ke|ixKe=ft7yG`A_`7J*8ZyGe zd}XGbWZ_$rA*>3FFi&V(WDX}$<}B10M2&&e=ov7Zk-VMea7y4Mvz+iclTc#TvmVJ7 zC^2*2xV=8Sl005`39h;`!_Xd9ajXY%2nb_%z-kWP0OJZjpa_(ikSa0FD*k0k;C(Y- z0eq<_A*4XM!jO{et1~rq7YF1(9fS_Q!uv8~loh$CP%`i+HrP-Ygf$ge`iVErIQpwj~zbcW$x30)i2iO=ZO!-ykcg2R~@x0?Joo z#SzxFGv-!!g|z_KtP<^jl0MoL-+D_+4pXAdF41!5-7vm}0aoN7GcwZCXKVAQ(^9xB zTz9ab^gw>cX5Xupbse2BGYp3%@?Z{&DB2OnTJ0M6HEfmGXaygA)?}=0LDfV-jFwYm z5BHkj)CT3g!v;)_<@!)_=A z-6prVHl^uu#XxiGN0+)!4K!9x4=6R6$vsx_F1uK4rQ}vA_SB6C{=XgODR-q z&@k7g=+@DY{Vna?u{_}ZUYKJPlU>>RWKV(m&0PRXAnTwNfIh)fOkatfmE4=V{9LTZ zdmXO}+K)9w#);3G?{aDf*CUf|_HP;COZ5sx4I;3bAc6MBIGl1)HB!c)Y$dHUz2gK-?h|(_1FX0)INtVv_=;t;4G}Kb4duHLCi* zb88Stn>E}Sh_Q=@oPiX3+YGy0y3*6(EPP?3;UOyF1)I3TCa$n`mmga8g1Q9H9Yu-a zM%%r2iCb;$QdDw$$lpw`kZDG zqwSC~6dX&qZEVM5Vb)h=Pm3q%Ia{79X%}xyX>Nk}B1Pa!mq=`KN;>RfjWclC-u9jy zIN>=vSfs*Bc2VIq+l8m>G#OD&uCPKrayj%j=`Wy-iSZy*6a{3K(8nRg&z*tqJw)s6BM#JCAc7KojtZW*cuzhT<9R-?&C#~aA->{39O4^}lkGGu z3mxJqhxoWt=;b(#hzme??99uKoLYDk4meKwbL_&aj+_)&bCLvuE7*E^qxZs(-#9jQ zY+fn8k}Q6moNs`mwok0@FOG9?IEnfQWnpmnxeIP@fODeY4>;}{=tLpE!AUie!il6$ zL%Vpv?S~Ewq&fw?vrkH(uT$dJFS!U4ode)w8XSC_Q-E71=&47FUgd;PmN=tAnL`Pr z5Re)qIdAN`)Vt$MKXN zKj{yiRu`5d+C;-i)Y4X6PftjGndt!9H8oCaH=4t1L)kB?A~H7H^5m>Ti8#s%=0Z%x!=4Lok99xsGdXKXHLix`jK zaUpkUaXbe`O3)01bZH){V|{PAPBVQxo63tf?pVoeCW+$h$+I@a5$M0PJ|3|doc$3Y z2PjJ(O$iMb2?1xam3G&BJ*nFC_4KRz>_W`6{KJCqgNR9sZeq>=D4=!#ek3`FkkOfJ zN4FAn1Z|>cm*z(|{8D`~mer2!)Q)AeO(k0T2W{`4K6TObsrp4zW=>x;dCJt>y!>g? zXWTM#*6f19IdkU~&0nx^(XF@LzW9zMOYdAp?pl8LihEZ6Zq@Jay^pLeet=Jh9N^UM(J-HJ$77HcFu%JrR&yj*tqG}-3^m` zSGn6$v8{6Zj;iXKox67LsjYir?>@f1p>h9#gNL4cs_F34M~*)8>~r4dkG=5XOD`XP z<;2M`KH=2qS6^%P2VVc9_{N)WwVZkToz{2XJNu`$_dodahabg|DFst=RjMszUnS>F zpGoJ0$`gT`IjJbOu$(Yg&MXlk94Zrf8iiv<;T8HX&-SQPn0QiqOw1qRBK`g&WjRS{ z6{cV8#GfdOOHwa3rR_3xb>c&1kxu+4W$45w(N26qcPIX%vPe%o9OFwsk9xf+HAe1G z50*RBzFkshdVmqwcQf0j8pBCvrW&;^$^s$J*wiBa-H1*$?L{s$qKCXh>RJa}lp3AR zdyQIyU@?ZZz758pZktA|GqwvLOaTR&N*Fz0i0LLEp}W#eIZ4!lp1S}ZTTgc>u5=Ss zTnCL*X>qX@A;p-MMAjp6T`#9W*Vp-6;8SDHmdXN@-gHxnua)A_CFpyt&xdhEit%)7 z5c0|wS0$%;OzE0l&bTcF)DmY&*YtL(OpVa{=DIz0BK% z4h(gi=Q=j)zj0y=cAxQb@7&d{eC})KVPA?hTTkKh&gTJ(*BgZtYm+|`x$bl4_ekxz zs2$8S(P&?$(IU=n9w}P%+fO}ZS3enX)cw`@eUl%f!Tv4`WHuWwU?kHjjT1GWJE@}= z?TgT8%t@z)o*K7MV+9O!J9YnXrVB`1tFhT2jxrf8XbnLG0q~qy#(2(3mWb`6b&X{NLT*@p@=gkS`a1h z6Ul9#g(5`WB#x3Ggd6euQ#WY>jYamAZl)nRx_rGTIc?~ecw$q>E5%?df0L*9!p7>A zEx`-zqShQdS4#Z`#bM@l$#pMWpZF)&84=f`a6NK`D-H7?@CUBIYoT5gBf^O=ycD35 z5-Gk$vp-G&ofzvoYW71YX|-n2XraJ93D{vygQS4jVUANkerY?*YLJ|D@$4`sg^6#PB}RT}fA+%E9TAbZ;OW-17?K{RXfg~c$%yssu(Z&=$!UtX zx&+DIZ-E`wh5-(#%sp>835hfeC@@q>_E#;EbvG@KtrkDj={`#k!jZ#ohb@8to9!oC zKs+vo$U(7IKlhC@`_fQrKxI`=c5x@1!bq!nVid@6ai^S`@11(q1wG;Q&9;fXZ191O z`(i71#HoJTS*d>BS*9N3I^MR}s#ilZ40C1aGhE_ft9lqZI`yYI>^W?Gz+eS32yAJ^2U|nBv91l<*6)00k8^-{+}6^LIU5X!Qkui| z=5UYZu&p_q)Eu_>!>ZC=I!Hq4HR7pwrZeUim^ zTR?3SS2cQ2xu%eiYsxPT+X8-j$7YN# zmWI`(XW|_jFyrx|EuBtVgg#f<*VyOS;~g{c(7(s*8Fq_ZWq-=V@Z7y-mPxMR+IMU(nk*OudLH`$vjFGyJE-idY$e1-dv z!PHPtBY_&dsG*|97Il{EsS-a-!^Mg6yWE-5-mwG) zrrqytz94qk&t(gH?V`_tcF7xf)t=Ks3>s1D^n+Z2-wt=$jzB`{BTf{Z$}{iU%i4WU z*-?T(0R=h;Wn-rcW%WC|c-Da)1)71BQ)eCMeFTl|e*JJ4veTz>h>ti=h+7=uZU;Bq zg_P5h~Ccr_N z3DihY?WWn$?hwEykbiu`LB;2%@Ci=o@?!9;bmgQV0by0!myY7=Nm|e~G~Iy2A~2*Q zL59ZogF4oAJvoiqULdYCo!r#!J&^@weHl*fX2iDE$sLEl*E(~0=0i3<*b`j^X@ptM zWw{2One6O4=*%={UzoF;w+%Wo*Ex9oAC^A8a@|X3mN_A;1lRgwrEhIGmb3J&jmO&7 zI>jv}e~!v88l6F8@rCC~&Z#q8$B`Xbu8z#WPG?v$dgU<9ISLF_{Y^rnle#JNHzRdN zoc>5RiAnkS-1?PvHl@eU2pCnjm6^~DPayx z{ixAul9iQ{Gi~~` zMbmT}5g+|qj6eB35_FVuG2}EHIG7uwF5MUk(LYK@>4$F|zLCDC>FzI~)P^O?$mC%w z$?D;`Nae#L9wNol3x=;=x|S4gEEt&!31lzLSemmmYw10Z%5cswycoGMoIEmoHFD*K zJ139?GIdhXB$cYtRmV;#m{nLXFX$rd;KDqWN+r5_kimudfc`|Gc}0`v7VUENB7>(E z%+6IkNg*tb7O7qa6dm_vCdwNDnC>F>%MhEA^fL!W)osNvzw6gs)c!T}TLJy8fc|F% zRNj+<%_aZ($6TplRo(Qz70}-_=>K;b^vZow@|4IYWx@=j@T66E!K$f3m%GNMueCMl zD{T60HhrB<|AbA?+w>lrexFUh$EI(vsT*ynsdVM%k7e2V-8Q|$hW^N28~W}|evKI+ zSZ#VcUFC@hw3l7bRoO7Tly1;hQnKv`x!!h8?XcyQJRi8(=nY(NRPVQ?#$$kw5U<5B z1YIhP(p_F5;w2h&$eruvrCz}xr`jB3e?@p5_TEUslX-hj~OE(l? zyz4Ph!KFfQUZ2Or)!VQ}>oKkKp7+rCsQND2j?E?N-FES6njCIBr~<1^;!GNA6ND}K zqhZM*mv}FEFf~&`^FUoelPoj%JM>~T4)kKRdFp+(2dIQ(j!V71XDs3glMgALfmuhh zO^Y0cXflw=8=nolZ&L5Ijq#nNJnhBWTgn8peS$e@i`lZp++(99MzC~-jEM^@<^`78 z7E8}v=D5A)`2FUDXDq2rX69Kl`=VL#qq$G4rEhObKc%JrU`zUN%b<5H1HGoS_bpeq zTVnre>HT+$a;&8@#U#$7$&&IV@PL`}V!*uTVl$QqA25T-CKOm?ByuPVrB|40lRc<= z+o?;p{dzkxeW{sy!uAgarP~|0#|%lR@3IToHuY@DTqK#C9iG%vshQSjWA3v>K^~xRUnLc&7)V=E! zN*}5I@Q1PhX?aa!)R|Nc5Hsqb7xgfQ_4?yf!a8Hza2QCaFvF%!mrT86-a^eL)Lm3% zgMODy-NONKU2RkMa|l;U+$EEAf0KHT?RayESN)yc>$~2nW*sQYw0ip+ZTHy^*tXaY z*(&T$*&6MKZ7yHNZS%Xq$ zp*|R`n5ws1kxND^_C!=z+fh&NhW(P!iY#iUK0>E4WqlGc`wR{G`m=EJ9nJvfAV_5KAjV2w5TgXw}kLiGgiDS~0^0qm~+WYFK=+Hs$)G zzK^WJJk0oFAqrW;Qk}R16DL^5rV`cLs3!4^w9)Mam|PuXgGy^}%JOT&_o8p&)Iwmd8qrcEj=>SeV0PgQ1?qfQ|8XZ=s3Zi1Sq#irRoi6a9&<+?$m1l zO`9|`Z)V>0fF@6xa?8BJOhB^>=FVC;l>;OwdoHnmerJ5~4bLUT1Edn$d zyYS}~-bJCA7-OsMi$HmKj{usAz2dV~TOv?io(0hS*_5s#0_ElH1~d=*m}jdRBT!!6 z5em(p4BSf*C@=3-3KiV~+*=VSFRu;I^dcI^rx7SG?;n727Zm~bT?ER@V;xA*%sIgI zh(LLH{Q$|+2O0;#M1s5soEUfI=KgfR6K|H-j&sy7xo*Z>xL1t?vC_vAV~&vo8&|1_oQz z!u9EJKO zcRf13)LQERMmGsN5GT0BkFDYpkrlpv?k4?JZV|&r1>9Kb#_6zC6FacH&FX&c(cD$w z>=>5$zH&*+d@Z7FQ>EpT_O?M2egEpT^a=3}f7LeE=?u6tkKN4C<7z48S= zLihOrt0>H=uu1eM8}|gZWdCFv+%k4RF;G{w;f( zz1sc};8y#mfMk5Ny%tcIX%440huP+^qB-2BIo!87+^;#@zd4-lr|XIzyRfeKI$g+m z-NC(DPS+K6ZmcUFjjSua?!da@3(~qGT{sqCD5#M@jb7AHQDcjGft#)?E^y21ig?p? zMV-#Q@!94Kjm|A?ImTN|bp=K_bR*nbi*4IhqTph;$Y?jpBVB5Q3(7He&y7Hl8|L2R z*;w5+)d3>E_?{EZr8lt5q3-8FL#TVDoR<4xZefjs8%9fbu>(aJHu0!KT87lQWtygK zOLuw}BDC}~CdbBS+kLr?;L2iz3D1ZbV=A?Zh8TFp0U|B16va{$il}CYn_^{jlb&;< zQ2M?^B(4)2hwYoooB)0QaEQyCu!|pKfs8}z=L3fTrp!wPV2E3-qZC-`?CD0%ord0vu65FtPHb#&Ku}M+xcQJOUXUJM zIjVdrU)cM(3>``jGTG9{62(i3ECm zcbC&i0Eo8T&n|H1y6^Ek;9(ZH^W5t_k9!mg-1FTI&kj$o1@7tYCp?Edss-*D?&mxw zJX;pHr?@}#eCA15;4W|nJnwiWE^y!C&hd=)kk01vS?;)sUKRexf!OYm`V}MUUv>Cx z_h?_NFM&5 zk3e~OKLV16|8W&El$X~F5aoHn+yNDg#OZ>$N=!Qv%t^SDx(0ZeQ#HZz~hN zDHEocgsG7e|0>nOc`D6yW-Ke+U~bZ@&3cVluQlt3nDs-=`fJSUcgnD9O1#IU6#``= z3TLJyVfT|cq#0xeZO7(+#5C)!Gs`PlgU#F!v)8xCs2gNPgQ&aKOxK9|8aa*G8<=av z9wE#K=c~;|vy5yu zhhl}n_dB|$8r8`GCL#xdv}?`6T%#Nm*v*0vV5dC!#zuLPnV_kamJtF*N^t|Y{@#d9V&I{P`Z{Q& z6m&LQtua@&oi|dR&Ktoyr#5>peN%?bMp!2pN!JNRMq}W#l7z5XiY8u*gh>4O)r(Bh zJbPQ2H*l*-M9$4N+2XcfC;C06rdYb)7Y#EFcCG1WbKCcrq`B?&CV%&4@N4L1@Y$1Q z)s-dx)BO&4I80e4yj+GX7AlOwHlv0!K`2>RLmF$+k2C4VoAlWxeU3>#%H-GRO(D%_ zlQ$5+{(jwP6U}Np4truaW6bArO&v^W;2L8odi$G!!G8QXbU!|fo`K&R(W!%x7$`P| zm4WMwI1Y*}{PA=Hw5n~8Q9a%?THIk2Z#9Aw1ggb((hMy145BFfV}(oAmWLy~ZJ(6A zd#8Gii5?O(2-i@LV+r0t>In>jtqkypQ%EXcQK)tpPjKT+7&e-8oJr2WVxusKZa9QH z4FX*v+i9!|T((58!zhW7H~Qs!Fc|5DeLAQz_$|o3PEFrkzd{L}BiW}sykZ%C%U7&e zv1-+-Nt1GyO)4%fe)!>a1@o8BytQ!NvQ@Sm zDI$t?g6RVyXMCP1nJk(zZPHxT98+!AMxs$nAQ9qY2)z9NKGx?BaHZM&bPUA-{uUDIS#zMp)W*uDA;eBy4#6f1= z1N9;nX-`(DJ3BR>@|pmzY34WSFYx-m@!X#J4mNPHObe9wQ-$z_QL_MHF1jpCIvrWW z)9J|hd^qMzj`8xaQHagF+QM^1{BhsQ*6b4DWh+jjd|}ir;4$DqSh_`gMg{`h=)LrX z@mU<>4r#GA6{wR=nWzFwj2%nE1@NF%8UW3ep!F|C+_M92V|b*`5OJO9tHXl5@C4SH znR@UVNw{tXf7xuOB#0)krF)2`yPFL1p=eQCamrMoTN82AP2(}!i4FDQ3`s!EJYdjqb8CLuX1=$!kD+(0Z-j}vzdoyvGTV2vsl8P! zHtX)Kr+f5!TYN<(HDScp%;LS~+?D}bdMm}1(BHmECiP}sSZzXJ+~0U_V3R2*&Z}#O z)gUIDMK_C4?K&Q_q$jj!Au{|Mv7Fg#+Jq_L^TrSkHGE~lp@s`49BQ~^!l8yvlg?9* z>c85g+g6V%zuFYq1pnUi?WPMlXT7)yrz_e`y7GEq6HOALIEPaZIFrGcF@%SaP7OUZ zZlQ-XX7lM_4yPopGK;CE$SH|l=B`r`(EO285<|?zOzsBD%F-I{UEP;zv@`3N7L|D+P)qV45Wj=?7+-1!o_YS<_w%U)({soHufZ@PcYN#cPi9;tU&9&p4sL)}*_QPh;!jV%i4b zf`UP2aW*{xZs57${7No?*L(Q_QE%2Pt zvNR3a=K@aqf{Z1)^*riAP?8Kp+)iufY&*3Yu;T%5q##`wY!99kN4f>4U5Wu-xzWfZ zytdb4q8aZVU>vS&eOfQ7I04JCAv3^?aM*@MtUI%wwj zEI^5Dq;Uj3v~&4 zOr-ft>ui3>T(lFb$!5P@#%%+js(JW-r)83^#h|@YdMb4syhcp!t zch`mz(R`^3iD)(JF7jx&xN06N1hAsvqM?Uq=IESf9&^Hv@R*aUsn6$}{PRG-71S@a z&BrN(NoHWWAtneF1$ zReV|Y?i3TyDs&0Vbj_emm&p$BjUgq7wt`;4u(7b*uM(p2zLi; z#nGoX_-@rwifZ|gYaMp$JmkW@oriD(MZxLQ?HVLtq&p`6(J%6J&`32Hz-GC@07n&xr9;Y zE#+f;x#g&G`W?LP5kB;c|8zTe_j$@uT5%uDCtGsW0`6hUMmB-2Bt>p*~ zfnw4W30+ez;gN9#+2BUKix(PXlo};vCtu(VG?dd~+zMZDMB8-ScdR_)c;JU}Z3ebp z{ZJk}EzM>Yo7+)#b!YiBqM}v2y;tYL zu1%D2@J7=Bm}UZ25-@c>%ndP#HJHpt3jld|kq3Tc=ZSU5!m#QsEF!JI3L7;P)JUa9 zA8PcaMn7uwr$+h-8j#eq_-{o33pZeVr>#I~xVCb=*JpBXz(KGLi1FG=M2GZfXKU|S z75cojV>5CzICN-BdfFj3He-1`m=t`#gMCi3JcK2wl`#^e02GUDYn5??Nv(`0j0tp| z?@{7D6)B?HjK7|QbT3f7*0$G!R#Nv66vVUCe&(nLMF(xCpD88KR}$I%H9&C3 z`1~d`rQGw-o6qyOpk*5u&*x{A6_k#wD-pk{SP5$uZG3|WI;305pG>66>5?aKiN+y% zJ(T%oalkIW?l{jarwS}xbBY&ks?faz4`}6wSpqjzh&NTBuYL$IoZKt(5^2Q!=+KM# zdw~`g?xWRWKd(+9Vx=i31zmGWdKm5f5ng|k*FVEc!r;E+JGL|f{1m~>sAxj4+*}^_ z1Rbv69;xq$4;-$*Kn+UeWCiVI7;6NyiK!5e7{5!@?p61Yg74ImdO3K_OFTFRspbT) z@$s63dQCFMK~M4eCSJ-L-}e<9Ti=nu-Nm2amZ8VdxsOYgyCh-WuYR7FT$|O$Kt7+( zzBG4RfZN7R<@KX^E|=FQ^5P%2r6t$vM)AV!+qlUReu{)&vn?&5UN?f`bv^mC*m|xv zuUUr9)or|fInT}GvvBql!3eW$TzH>4maoiLFT$AXc-zix+*9ZrMc9DopF;ca6c2>I z^n&^+zOsPJ^1MRIdeK8(kOD+|5H<{GR7Xy*H3s*#y~( zDSLGlC?U}LC{TA*2JWiV-OZ=nNvI;atJ2TyfYNyYq&sLSgA>(~FH}l(<%LRk3!#rh zy}nRMJA&`>;^)=qA!MV2;NvS%I(EpV1qz-vs?VYoeU=vnZI}9frz+9+qhTt`HEZDV z5Dx;)YJ~X^Y!C2}=>A@b+q&-N(LIBD`GqcAVB&TZT)Ez+Z%3S{w-3-xD)o;>^8)JA zxx6hU=fVsvIFyeU5dI6iU$c?dt)UIyhV9(lJhrE9*q*agw~?pay6Y{z`?rg?nQ2!8 zve>X4>I?!5(S8TGmFRs>YzIFwbzu8;^b4`)y_#|(aV+$p+$`ZmdkvkxQ29RCt~-nn zrq|Lk@WFP2x_19SlT|=jtV6Xsu2h66E#nWdHclCwcG}%C0}?ueJcXt z?c($&#Dh;z^YJIdjwi$!yX2It+Ce#zd7idIx2qnz(WmX8)%!LxQck%S8}`6LJ4($a z5Mb^BUNx7fsuIihh)4E{i|Qb{O}MFG^9}?o?A<|;^C&W{llDTJ0ST2RF|kVbd)f!D z-yzk#z|I}qGbp>y@bJPN1$2}b(zjEo(c+GRN2L%rjzBAfFL!_!L`;PlqU!R?9lrBB zf?#OVGwp%%ly%D4k0=d?rEcP3s)uNYk0rEmq&>XVa&dZMJ2X{_G3iQ)W!lUd%<9WhWD&Qq`+H7pTl10m#cCH(j{KF2X%k0_kB>+ zP8p=OKh+05sM5V(-;dl%uVXXlTlsYzTLM2;eIkeV3BVpg&+2txu4nZpX@rHhPXPAl zv94o+{tPcJu0flxe;b1u{X5inmm2R;<197)M2$9Tyibh}sPSi7Z`--EJlMalI*lkO z;{ZB;pov8k!z@AS$^;Hox64rmC9v}+i6DUz=w7Z5>5kQ-1p5wE!vdU4Ljws)p(_F} zBJ^HV<_Jv{@K>k3B1spvUV-6?164P!>d2#k2hbS`JxJpt)UZ(%{+Qqn(z2?Xt*FMRQ`e*sT;Q1 zB&m>QnaJOIJt-bKG}tmUJ*4}n9vv8rtPp>DGo3RFp>GDOR190_)g;1GH7IMe1ogKB zj5V072cSzsa~F83X4A;xjU!iLYr-blWuVP*I=c0~8u$z8*3~0|h{Fk*!cgEZHE09T zOrjZ-nr|O1|CbteHq(Zc3C!CW(gpYsrU8cT1btxGPPF)5SVFW;$L|V;Bo4vcz2+9w zPB@^!rG6896Lxazcud7l*h!}mlV}@E!$LIaXn=*k)KD^&uWDydx1pX^wzx=TYe7tH zrkw%PPNXeDuKR;DH~ANg`CDE2*by@yxlMp&$(kLAKKvyC}dX<<@FeXGXZiW*^!L?2pWB2IlU9 z(nTQ&p&(%dda#~KZ^|xd5W2r!P@A~@RCN#7CF|+WcZqFU-~v#hkY z?uu&bvmxCjNo}9GxGQi`3LwE}+)V@O<&y(c_^Kp3<7<)JSt$_32`OCJ^I57AXCTnS z$cV#yt8O1nrmmg}q@|TAzDiRIy-@V8yZj+E2hes<>=SlJv$_@fFfD;jMzoxnusevH zr@Mb9$ZP~GyF-wLAw-jeY_#kKMv!@n^2i3tcGILOd}X_Jweg0P zaF_T3?gu`fc0bR6@DeW=!2=o;G%&?`X!%R5LONvMPeP26=ZLzlrMjW*`Q4#VtL};J z^tH>>??5M7>mF_gsugfKOX)QO7%S0?PY4{?Lle~tZ(%}h1e+9?P>U)U*dv#i zpUjj*5eV!-_R1poaL<(jlllYS?FoD*5lKORwDYd|8ew0Sbtu#qeOX6EoE31EW#R8UE-BIZD7pW=-lYyI_g2D6qnOb?=x#c}StPWFX=v-~^V!PXV43Z~Addj-@>aq8* zAETWeN7~nUn-%^zB0Nw>r2$ofF5tX6T&#y~X+-&q^2G1I;>KE?(cjk>Xnteh9X`=QLjg(7@qBlK_QX-Jwo>PD4AD^;aGhd`V8Rf zSXT^RcEx}KLDTSA#Or5KuP5v2I?^jN29Bv$UqEYLqHBeefqk1|Y3o6?&WOFJHGznC z+QMv>6wsp*Z&fJd5D!H8A+P(31pI~9eJlYV^QiXJse`A{1Ne;BA*BF9ybfsr@ONGZ zu>ts!*PWAqbG+_r3HX{!48QBPSHU)9X-&bArka%LWoAr9$%k* z(yXu46-(I%_YjR1wLZL;c2VTWsS?;ntzhA4DJ@OZM7V-xpOmYN6grrZLjO7{xHqM& zX`#eYMZ~ZlB`*eRqKo!5d42cnld5dso_!bD3!-b^xeiwS7b@Hfy3-JrU+U#;-Pff5 zn8%Fdk$t+?>V+fwIvDlGGLaudrzN5TAo@#$NTAIbW*^go32giK9BdWq2EsH{b#53HcOY${P(%GCK)9%nPph%Q80=O zOoJzrMBoyE!=p$9ZYXdBI076V6xj@-0xki#1mN%}5`Y^5919!^93BM=oCdfg;F5sD zqeucyhtQ%I<}9xtuaLL5z1a}GFy{d3ntWl-a}<&;%vsqGy)ef}A!!?7383h%6~n;D zmuRTo_+tO&hCL0=pX-f}8iGI58?QCI{i}LIXgK{J>5VTMCP{zo^-T?NxI9VL8&5YR zbm@wtfTQ?lFVi7jz;{P<$O}kERG+*IIEp`UxjwnnU7aZu)g@6KB5RL0EJ(L8MQuz-r*!#bsr}F=n zQi*&A5B(ydI{3(e`U8#w%yK9h7wPQ$@BnSy3Hju}W-=aQ5(+0A?0c{m+*qurV>w*@ zF`rA6Umf`Rz{LaKM|?#c<@b*VI=k@W8^<4@f9>_h4s5@J(J)$OFmoMqJ#zyygc-`{m<(nZGn^U0 zjASyIQH-9skr~a5Va77!nDNX_49DEeWHH%H4l{vKv1(SsYT3c;b?o)*4eSthD63;L z*kSB&b_6?;&16ThdiF+kG&_bJ%Z_8mvp2CEdo!EGX0ti$1a=}jiJi<&VW+aWY#y7> zPGhIDGuT_$nd~ffHe0|JvUAwE>^!!JozE^{7qW}kTiM&#+u6nJ9qbZzDLavw#7t(U zFjJXaCXdNyrZLl*8O$xrOlB4{n<-!lnK{f{W*$?-%x4xb3vv19Fa3Q^{zgLNvtM+R z=`oZV9`z|)M)yDJ2GBRJyaBYp@XI%VzD#ffXm;U4_x!>QpgTwv5y=}ElF%DKA0>Yv zTS+BxlTYwe;qMdJc9A`#27gtg8r7$qc*r)gt+E~O-DIbPX(u0(k1JggTn?&gvIBqH zDnG8Q!P`haB|*|b{z_^|9XUpt$P46Ya*!Os4WJF=C9;>iPM#tA$cwlE^b~oOyoTFR z=?$RGwbl90# zHWrB3*x0yarAB$H@(yK|a&UCaFNM`p!e=QbDQEYDQ`Z$ksXxbe#T(O8IR{TJp4lUs`%iL|2Uobyw{H9R_ zMae)>CM+js8>tJXf`%a%-fVnZvVPR~iS&N8F(AFWJOk*pKWTrz{VN()H0*6?uOHgj z6Fw6pg0YQ#yWk0p>0R)&#(`b%oW>zt@STnNF1WZcs|z+D&SBu_iGxoZv`655hxQ%X zDZ>oKKOKQ7o}44!kc;Gd@&gGYDPa_M^K((W8zVoVq<@Z4Wl%%aX-X`G5BNS z@F|qIq_`e&J%8R`llp8Jcqd?h-~E>a>HhLxs`6%KcFj1|^qS0@Z+@V=SSnI_D6=mY zTLg|t`9(D8Q8Pi0f~LBq=4RF8gc^Mm7!?H~PN|X;KGk?L$W@b5Ybe2G)*F9roj|?a zs8>y)!S<|?tfR-v*1ob;a_tJ?s>^7)kTEqk-mj?9-*|sa&1edYzCW(!W<;MKQ!|R% z_4hLeyVJ^awWox{)__wLT8acf5KwH*D40>z{_ozu&8YonGiv|cE`p}&F$ObgQ56{j z{U246F_;yTRV9w0O4mg%ub&bxtIB@+30pXCyh^3ohc6Hp&Kspysp=0AM!rJ&v&N|U z{Dwl3`fSJSkUV%zYmBPT?}6)9pV4xg-ZKJ4-%*F8o=HhPd-hCE!V3?Dqd$rP+_!Jv zbo_&&Z_k10>C}Q}AWYd^A_pNQPp1|s6beyyB02vT8qtIf>>Gj7qnOCMZ+cIpE?p}n zt7qSyfTKUig*pu!I8cj!Pz+2TqSaCho*^(Hh$t-pkoUy*9U&tsFA7n2EC>GA{vzMe zrV|(+9eBCn&kbUOv>GrCt0~E7Xyo4nvZwJ5$(GwVr?D4pUeSc2ox-w9<28){=xU0t zafC!OxbcR@fsN|M-i=o^>KnPnv3Rl@Cv}DPQRAeB&G>7t|9e9`d_FEka$Z_ZQAqH& zn1U&l!zVvBq;}CTXlA4IaVXWLNNpo+7AIcD4VuHttwff(=D>fz?7(<&GeR5m-=IMsedAHiNGZS zht;M2SY7H*fFr;W;IO*XAFE6K6M#zqE&({KF7?MmaDNs!7C06-tSQetC;F5q# z0#1jT(7n1eEix4OsB0*a+trrN>1s>qs*Bu~{<&)+Sp3;U@VvtDnfQ7?^dRa%1ILkgn!j~b~Sm1+Je=}{T} zQqrR`{H+v@96Yn1h9m!y_tS9X-&Ol*IP!1MeyWe<-_ZS3AIrZR;rFnDs1`oC@X74` zapWylhV%Ewl0^}Cj*M4Rn%iZ(1pk`WMMvouweIEX;;|&|`{)W+_d7bU=^oT1b`5Eg zvHsZo*MnUCmqJo-v2yeey%p&Xh45GY()y<VgJ#LDwcyYS}dk z4eY|fZ?C9p6oTIf4t^sLd_-}-#4*Jwl=qAp3?mc9{7lRS-o+}Hv&y?!*~RQ;_As?f9rFaUm)XbgOg+=UG&1{{1I$6@ z5c4GS6w|~UW}aq_Fh`kZm}i;i7%%fYbBuX`d69XEd6_xRyuzGdPBK15U`{conOB+D zm}bV$1en*EKQbco2JqCdhO!e`P*nK4<>MgqSawzcc?}zGS{)&N1hiubFR{3(Q64Tjo3Fd*%}J1M?&E z6UO(QzcR5HZ7aLqzl|XO_ePM1F~N6)9L2QWv*bDACC_8p?*&Zoy+mHdblxlE1UX53 zL?EZgX=%c*854a0OauN=nv8styoCwBGvsaZ4rwLtlK042@+Z4?JkPH9xDIwZw{`v%4a@VNwVr0}P9-yN}I##^($>>;d2Xwi-dtx7jCeOtE z$tx%{H+QN^^&o}h9TknLNSkM*kTm_)0O+5`k9vKi>PFwunyl9k9In?-%EIty+_-_` zs3rQt5GiZO@T_s;#^K4z((1Q- zr=O(P4}p8u@T~vhpTgezT)%q7tlFv5C*j&?q?=x(^KqFl+$dxlg(9Q=QkCYLDtxWJ zN=@%w{<3P+gS*ssRihG%4tmATBh@-Mt5d4t>cp+|vk_lcsgLdwabZx(HsL{|<|p{= zyv#4X?c|3ldfUm5Rk&&6LF47#xx1?KxgV+y`)1+OsuaFd^*mrP!zj#(ep>a*D&4uN z%dR7lIBKHN_SubS5ob4}6fLf-I8|Mt{)F-bN8OiI^5x5SSL5=L$1nf1>bWZFC|$n% zB>l813_Ue&p~ear^aR$$s&w3jl*$Or##ELXG1O3qS4p>(D61p4m7FoQx1Qz_s|v&h z)5$5)r6ei7_wh-&YD#GkAME}r>w{fiW&MGEm9AepkHO()%{i0m+)0quk=;c1N5t`&(g25Uaac6Z{#e#%KCx) zRo1g+@f^JgL<3w<{efiD$Zm9>=;LNzyjdM3!hIt^^p4yd0#GZteJb4-A_h(3gO}eo z0{850(rMk`t&*=dx_td0IsMvKS(kTzmG!=V{wnKbu9koPDr=YP6<=lT!eiI?y(10S zB|l&Uy%ds>ZzlPy>#M9^G=T+B5}kT)Kyi7bU#(0 zJifEb-XbPfLW60TYO2J<>pX(VDju-wR8=@49@5=k9Te{~YwoW;^QIL_2Y{{!z86$; z^Qyf$y-wxW+JOt|ZUyr8YHksbgd$tgDd`em@2uwT09FMocXzcnaJ5Y|Rfr`HFLmQL3KLy?ptf)(yQC7I+k!o#1H6)&h(&| zSJ`q-FyKz-p4DPzIqpu@K?D#D#B!E%Krt(;YV$cmbuFAALt&$x8(EFp6V5`^Bdf)j z3bD?vo?bm#H=|lJvzoyX7(=``+tGDht&ZJlP)9*{Tym?Q6AbvbZuXveotwOr3?7`+LjT zh2Bu@$G2teO}g0XG)FaVp5BVD%5F8G)X>7Bsj9~1+9)gZs9k1xd!X4)q0j7My_;Hu z({}lKh?xI}y(5*QP5=)6q2ty1p#!y2DvBnr;sHLr?#8N9(tQ8SFDTW$MC7P~H<_dyo*;q>)C&|{*^gaacXe@P-PK*MU3GEQe!u^FGm~j4w66N?r*@_@ z^P4ws-eg|i{NMlmueZJ5t%N|E``rrKj9mupOtiCXMo6rKmwmczNA2ytl2+eQtyHu~ zP1By%$|~^aTZ5~YjSUtryVqB|3fs{2(vQjR{TD=U+^$1*AQjgI`!5a%NK0DiG^9g^&HG%+V8ewwr@w6mHTcD4nuo* z{Z_XNb>V8oo$k>n>lmDkZpF>PQ0rV@s5R(ry~^iqZNG`--}?JogGaR@YRXZRvfo>S zxHYKW8a$eAIGWw?z(P2=jc%ndD-R*Kw5ydqFIOvlTcca;$F$<12($9WZQI{Km=!$y zu-5gT-9k}DN?MVb+>tjUaw3ou=ln&TY7-{T)P5!F&&gw?2skTt)6pzk3v6R^s!6cP*qaEAQO49hpL`iQu;oZPwy{&|XMY!0YUo)}cqW4mh?|4YTqYg;|-|I`r7q0Y@RR z{WCSp$}z2OPwS373$_L+9Ld(w1^5@?kz?^|5N5^QIv%ZqhgoS>!mLy+Km`nIMO))x zRwga@>|_K`8E`x9+B5bX#=XY|p)&!mJ3l?>PE)r0gfm%J~barDfw^j;8kMo*f^2_b@9#YA|S5Xeap3 z;J<=qifY1t8bwl=m6iH1E7KP~zuWF?-GcuT!mP*$vvU9KO3&bI>1uyy<#Z;L|%?M#uf~`Z3X>CuZr{KSi zmJ(`3m=%iG5^7C_St(kGFe?)mvM?(X7b;;^cFo_7w(GtRpSVPyczB`v9%{`>JJ!Oi zl;D?5T&RXwakgq6$Qy`fyHNeZXpG@l6F4FBD9=vN2draJGL)UXd(Pl-&u$zf)>#J`a*P; z=)F3}Z?W8g_$}C_(=MNO2hpyOc15%^(~ie)8FmN#v$Xgv(t*1gsr$4b{#ngISYgrTyZnvx2(7s@mrk8*Ab%3 zC(+J8yP34Rf_BzL&vqa);by<0&5b?r+W^zU)b7y#Ul5)phM@k?vQWTe#N34 zS5P#SGh5038=296qron}1)*ezkpq_f>{k1Hls z_C>+L%XYl56vMKu+ZW*v(POnc&uzsMk#Q{^;G5R!JFC^Vu+_H+?*$HE>sO1YKaB+Y zwPK12q!legc$iNY?Z{a+t$pcycm6Vz%$S@Taq;VA$9#42o!dv>xntX%pAT5n>W(Z6 zPFUs}vn*J*%x7NqY5U|mcU*ug3tQdCEDN5%uGFem+_q%{7PJP3F0R%NvM@`+&z z_FFcza2dj&bS$GVD9i2)PHUZ}J`;5|4fK0jD-tLS%CuI5K^eVl8kjB$gEE+**Xdud zk%d7?5DH1uQRlUvrErxziRQym%w1bckZ^u_;l3o67=1boiU;4KHOGGXoT|zWx59sB%736)3%hLAemJ}XR!(DLck#mP$*-BFh zT)BKbjm0ltPN9>B%@59EAMn|&!TI=wh=KyX=IqvO2h)ze%^iki_&g7WcmGT7OX)xM zm1pVBAxl5pbveE>M0FlEzdgKk=g6g$k);j2jpP}x+zkU7nm#zQmi=}Lykbf*)yKU`}+x8s1duPW|Oq+4!J=@maaa!vg zCvBUH$Z=c-6@tpiz?8*NC~}8Dk!!=h0wmJ{D>+L5+bC=&QxaPYmIf6hkJ#MqB5S5>!vBE-bl2dzl? z@Z16}yp)oIOL_VEdDt>@^79G+^Ye4^ID%29 znj5zvdu9QhXJz3mA0U&Lpyv7S90Mc0C&j43MPYB^s`!2J+vA#|{DW?sDtE@;Mry}i zL&m4^tdOvtWdTJaRr4e9$KxC0&&0Q2qavS+zuc*Wf5g9F=X>KBSjWKNh#spdsTEvs zM)C}pZL)NZJJ_!yZF4%zoHEIk2@Mc-1ketXMz}xpzXJr5aF9?a3>1olLGV34SSS`O zf>js{4IQkyMHqF9>0*YMDH_ErF8=zXE^9IXF@Uk#i#uM?!Vz7{3+I~qr zbqnYc#4Lj)X0V*lJvH4owU563Jn1VlOGR@bYkl=xdI@0IE|^%sHry!}o1yYP|lvG568Rz4H{0k@UU;kfdp@GsbVeFgWGuZ3^m z!ZKR87R_56j8@QL=t%2G@5t!L?C9JN<#+V&DCii_Vd^-jqp)LOM^VS14s*xB9mU9J zRr01;BKmF;{bmF+7p0c2*Hir{b(vaE>P*Wo)QsZO@&~4H=k61IF8bU35z*rmB6^iZ zL}iVL_D`xTtA!9_Szk=3EbIG(7|Z%wAid>9Pc#&~svHoRi)9O&SxJa{an5zB)ccZ?}GDd|6x}qR+92K~$O`+!bGez#t3b8^BaPjg6=B z{VVYSY~8)`N@lly9ZR0aY}Lu#O%SeSw(2~6K8wzAHB0Z#rjahFw&(_sJpHP-E>D96 zcR2>mby|bYF%?>Tl%{Zo+1fdOn4z%0!BlAIPY(3lZoI3}xG3?Qv==4pl%}o70H2f-y=j&cN9@lhr5JugcG)SDCy|f&4Ta@spHGT#yihHS6KaIVy-8df_BtqHwa%Ae;ih+o?jMaGKBr`_jq68Hf>eCS1{{31cb?!B}*XCZAdwuTw+#7Ol%)Kf1=G z_G=p5d{d*Fd%gqRtXAkIhG*q%+v0x(U&q+QH{i=RnK6b$@kR?Tz<-udm0T~+Qpc7w z#(Q+Yu8hm)-ZE5xi!vM8_T(R(X*o%-jO))1vHqDRcFGSi zB#Q8trZdqpjvt`b;C!j-8GSOn9E)AU`P2Oq>XCv7C+B@Usqc_m z*U3-G&&XSU*5taf&-J=@uGfbPhYJ+gm%CoK32kfIAb)*;tumyr58zCOB$if^$&!?o zWVH8U{~*rex|I7Ez8|TS9!H*gaaUZC;jV!*+Ubx2cXho!0J$E1E#$t?&kt`Fe2@Xd zi3~2+X>hqdq+n0qGLbp${@4JV^nfIKibl4KCG(6xfjt0%1a^l7h}r zovu{KZ#hDhaD9B0=1N_!xl(V_M(KamM(J;M8l_jCQ0ir}Jy968YNPy?{IbkKQaldw zdl^%H5aAgj>`5$PXOk1nI8yk#mW1I-A;uD!XipR>64mTR`Bi)f@~ikm*(97L;-|7_4b<>n{D#Ltt=N+2uVG`tq~ZL;Kn)K>nGH&Q zEAp%O5ad^}J0YU{V})g_maXDg6z*ERY?Tk`j|)7VW1b#FdV`YAF;8dlrv3$y{nsqw z6m=IYei;Zp!fHX`O_4xJ?Tt>rNXl;^3kvWo1cA;<%Sy}sDErgwe`bG~{Z;liT&12X z!sS|otF;J6YY{HiVt-PR3uvIEC>I8Z1E4M+kTxKFK>9&Yx$D<~P``Ix2SFLXzcm{j z&UCH25g=B@StO-h&*bO4*0Ik-Z-Y)I6CDdXOrtIbiTn^#4!8#QX}X33UBiK{i6~yA z8|g@Sl_Rw7ox3FokNRHSQW}2uBZ(&x8xl_^wj`cUY)kA&yq?&Vcr)>b#O?$Fb@V!* z2lD1(%lp2AiOwwl{?Gab13%BfKxai*DwtI;iwCnB#@v!AnAKefVZ|Mkmun8nlgR}+ zHWpW#2{Dz}Mp;#fy+w$r#9ju{tHk(+o0G+lu-ECl!2StJv%I`aGKbQcN+FTkMdhhW z7IMMFiY>6O%FD~i!iszHu;L^Cj$xf&%=s4Ojz@% z1XK1vU{ilO8%T-Sc@)me)E`HBMt@w!aUdNi2PF~wQLk5@Fk%#A9YpcnwlVSq`HU3j zP?b>YXNYirqKTdP5@8&Pa~PjUzfu^&5*5y2P{P7aJ&7X{&ctDf0g1xI3E&`3#HN-+ z$9EGq#9xeOfOEJ=$1Ti7Y{V_ zsS&7RMEr=X+UE;>Xt%x18IMJF| z@twN=|FdqtZ&3M@iRX3TL1hUBm9yBOQjJVPu`S6Kg5p||F(JjYgpyG+C`?mWfOoZc zmQyqqV5-If_%s$Etg!%NG!|fj#sZwt#{zU>F^GcD^2=obpyD6Jsz4Oxv<<JU^G$@^p^x z#LpzQ!n4Y=>K=|o!mKcDmy*irBUS!bGF|Pl4De@z0br|MBD^mXKq);+gu58^WmAXF zgu*I{^(RE5ZOb?f#rRd~+?6!+(i)@lAE+FDqfj=CID3!i<$Doq45H zqIKrmK=Al@eitD&o*$xh=A*UF{D{t-xg!3|%TkDnp0TH-yu1vIzOm2D%*!+8Vc5-1 zDGB3w8lJ05R<4TJ5!W!D$BlWpxw&~cxw%={IL&2eloQvpGqS0GT=-7WE$n_|&~Oex zDmIHD%E2F=qn+c|eb4Lsz4Nm7`~DCp;1L=08?*9^IT(WT-%2l(n@vBFFHHKNp0MOx zV{T4f2E9JLHp`8A$jzaZUM44-4p>mO`bPZyaSL7HZ;T{7lky=adjNp)Ak-Zd{ynZ& z#OkUl@$z#8;Vqc>UKyXpLsK`QD}O*6gQrYAOxgEYr~}lS^{T2>y_FuvxvUFHzW$s-DnBl~hOmsA5sdLA z;eQaoaSMVnZbRV3*AayA4TNU=JpwZR8sQsXMGTd81a177g=TyfIbQ#q zbzG0okK~uI0bZ<=;G^&*!a)8T9tu~om3&&c7wjbENZzjhxu5LULds9}?S1rm&CE}B zrxH^6Yax7E=rrahi;&8Xb@7w!YWl5@6pr}dBd~eJjj1LhKApla%w)!y`wuXg3Y+|1 z8kgiQ(JXQ|YD2acwISPhSgrD~$yX9$Qrl@jDXDEmth(yBIvOB~xowXoKTN)yl=>f9 zfPlgHj@eQQ&!j5_OWVP0nvLs|cR+TG8C=jSn9mTZa1o-AW0Su!h{Bo4bCMS%FJnoR zd_r=PhUxt3*a3^0E1bnEuX?nU>PzyAcdwW-HtoqbJ0WSgqbBq~%$T(@wep5W9Ahs!NIh<3o`Ii6#EBz4SUD zomVHQc`BFp1Zgn3;}g_a9%ec{_zDli7=XNnE2TkeIEqRKuVu&|l?Feeh9tgTbAr1= zbAo#`sfHi^kPz4S0j2s5W??{923X0gY#Y{Buyzj94hsTpg<*@fW}uM->Sh9Z+kD^U-Ck8yQf{|PVRyOD>OBx7b?}EiCc4{4Tez#On6iDoQ+FkHcy8IK%#u5>LL{ z*K-YoLcw6r=_)RkBu6wFj8YA_q9t}WlDz?UiOb{BZ=vF7ZHd`a8ZslZm1?*o>UTO( z1D;Z6G*}YwQ4Lf`lG9n@^@e*>16D_=x2DYOa5}tJuhm1ukS}Jl&+qfZBH?f(7$~oD zc%#9ZXjy4l#2+e;A~{m*!T-Qq;&pq`1_D;Q-&*0rQymV;>xy_ws11aAu7OAduj+7^ z&330$UhYK=6o=hWpVbrghTV~p5_gGLzeQ|iu@b8{7_pX>2W^3}NTj69=Wvvjm6iCN z;cNN+_4!^@IIV6Wmzxj&;5j@xDFAVs-_)WMafChx0>Tp^8ey7(}ge7Rk z;CH5bmkO?-ye-SqK+_{ld?D*Q>RWXKdZjBc4AdoUA+{T7(TDQA=VJ9 zsjr=QSzT?72d%Zy5ytlrbVbW-u88fdGJKbwptmg26p56UnoH~Idin}o_4QR%Rdz=( z7%i=w5l#rRUQsT%k*2lG;u~)iZ;|s4YgH{iiZ07a6_40YG`PP z)&y%~kyy-yWr_m@MuL$F7jf>vXwRJc5kENR{@9Pixqqr~)59Mg{; zt5tm1n#0zp`0%xduT57tZpx!#%A;b+ldI%8;*ldBG3oHZIxOjMALssk9NB*Ul7K$W zomlbj#<>q}bGD^f4x>l`6in%`Qigu%Q_7^c`B!tf<@R^u$j8OTPe}3qM`-;2VH*E` zxW@kv*ZBVt;Q#;I+&pUsg1v$t5jwH+BH0V2u(zVZEJ+@}St`_Va)rdnxoRpxk&1Ar zqRQc^3CF6+OUo;~k?M-->WYZfWA(<&UcV>c@puE06tGnXz)iaxV19_tu@~3_%5x?4 z`6ZnnFZh0ZZk|8!05u?imyJdXT~3eRBo#(fP8M_E+9LjlD;5q#FyaW8yL@G#8nE*C z3r0g_VC%vAdSiuNuRGxO5I66$R(S!OP8)bx*!X)2+TthRDc!_S9Ui5_m8()Zi&J&@LLI(# zRq7p=>F{bD-m)t7?z?pOuR8qAs?@s=Se?Sdboi*%sdpcz!>8-;RgZI>#qXc^{S$ZU za6*TlR`A>F-d^{*4)4+7y$b&0`aiDk_XIDK@K7BdrQmm;eD}#p9X?fuFI4b*8{XS+ ztqw2K;nh04MTd9k@aDanzuNro&0lZ+X7jh3J2nfO#m$CxpMoKk$n z@S5k;m#|CRWq3n)Lwrkk zOMF{+TYTHFTi7k`HoPaiC%$KRFYUeb_l5Vx_YLo-y`TPmh9a@24^3OXQ<_g@M)>WD z=wB;~z<$%b-Q3%YG*zLXf5>-9BPB%FdwZKkii@uI_BM@_9bND3P1<+*e{}wN`>*@n z{@;4>|6sqbOTO>&{~+a1*Lvyg|D(Hnz5Rc5m#;Vf4|=!%uHs6FpuRNy(tg!gN~L~Z zZPtlv8rML@R(c{0fC0SFwRxkpVx3qnjuky(i8x9Oh)0U0;t}Er;z{DM;so(%F({4@ zed0*bFM7o>;+5h=aj0k)-QpplLp)q86Mx!~Cp$EIm_A+i4`n+;T2j63%o1VAmDeJs z=|V&-y&3C5VFC8HvX!Eq-hgPQ*CF!hjqq+?hIpqpA2lz^adrz!zX=gf zS0GC2T*N?Kim0bN#{BoQovDOwkt7+@*1~_CSt)+HTGc_0SflD7!5Ayi=AT>*n-=D$ z_#C0K+9M@tIIKblRZ7PyC@P)E5rQY5t)j{+R202kK|bjr6;*CfQFMob0@7|3Rer9b zXf}9FJZ(g&G+0HIBUBVUjw7F6B3>2weEv$}R2hmAp9(b6E8VH0%7ludPZO#>0dMrW zf-0pw3W`d5Il>$D11E@lQ1K2`QFN4od{U)~Do<5W^g;y%q-#}FxlBdT)e0(=wy3Cb zmx`i)i!x7$huZk-BJ;6#D;f)SekWU(=qRL7YMNd_bU%F65mDj2$x=cZ((bXLJ z{Lw8Ojr2x$0kNMfz5N7f&BX<}f8HR7s%HM`!jyFF10l8k z9g%oH!TJxZU$FHkfv-U!wH_^`R<0}8_vkc7H|fuNmsZ+MzTTuMdihQd`A%uR&JSky z_BPGm&Aq)%>+*8+T-Xro^B&Bgz}CZ3Y%;s-K4*SmVX;(TDlnz8n@ngAHrNM1%WHSJ z@{3_8Kw3?QU2@t3lEYqTDzv%sZFZYvE0An?`PMwI%`QoWHj~ZjDYjaRNkQ6^c&XTq z2iObpp@6koA-jWG)M~f6PzK7iTJdx2`b}~acuH;gcCS6p;gs@hkeb#+K{7{$seI|#;5%T%nkhVc% z8+N%}=0daGR{&kF%VBc5@(b+w0VmX$MUFzJZcX!)9-(w<;V7M8g4p*k9u> z^+{H#BwXb2djmeJ-)A;^&DDM%H1M!9@RZ@j(1d(FRX_*=P^iL-&8P;qI}9TNhr=E6 z2L0BOpx5X2mUw(VzkVx)NrlJkt12}|!U3}nDr-;3Z#G9F5y(QrrJm9Ny?l8j>hZWr zoE``qd-@3;NvbKWFGqXz!79Qkm1>L4MsR9bd3i-7SXE^!Ee}qru7(gk8mxf2JQ#9H z&Tw^cFdPV%N}-^wIB07KhQbjS&QL=EpVQ$A^eBY<IcHvDsM7S5yS6Jsw|qpgJg( zhDt-e($ZilWl1nt7mL=z z5~MCtU+#=lMazTqYs$;?Tg*ObR#YmV8j~i~RZHcQVzFpl1>RxOr1I)WU3s{=g6i_D z`UZcgzuq75F@plkOVyJIa>frRf}FubkiY5^L2Bm9zcdkKz9P0ed)?XV>7P3yQQ^Xm4i+nox&_PJ}H3o7{f=dXXh zM!`3{aKj6e6@1f+H@(;=g5=y*ccQHB(tZizEj|C)CxWB^V6Kb06E}93)}3gvw`qMM zNPWxW_@p&WYtCju$P*xYBq3xeK0r5fc zA#tS`7iBRaCdD>!mAG15Bd!%679SBG6(18H7oQN@?UE*)V-->UDZ;HPY z-x7Z>{y}_Od`JAFxLbTz{FC^exJUf6_`diT@vq_s;)mkj#J`Ili64ufh@Xm|iT@D) zDSj?~A$}?TOWZ4dCH`CdTKq=*7L&+vDWp0D-Tq~gvC4s(pqv5A8RIm$&2o7PG z;1muOT*6_38!;+92-#5rUp22V0Ks85}_xd7X+XTU8WYqadHORYjG*QBm{*1^K0KRa9wO$0eEm zs8d0u(I7{VM%HiyY2;)eE{!~w$sqBQrSq8#G7y!d3z!U&B$O9I1_@auu3q#ML%4eJ zMkb+zPtYZsII5H`eVU`Fbonz3A%4IW&vH~LUAdW~sC3m9hTxQP^;V85rEA+cib~f% z$53fhy5V_3_{q{uFA%~{mTq}5B@cDm`{bef${*mGSjvpGNCcRn1Odsy=G3!G+;12s@gHK5DQYM{tx zm+Vf6Xq~1)yWInktrG$>hvc!_>_uk0WL|M`QE^dzQE`4=ah{u`z$Q~ZYM=-OntLG+ z%_l*qS_9-|gc`7;2J%s_HvB(Ox>di~^PS$}{9*@=*osko#ZElZ>2wxbO%7Y34F%wr zyIh4uh33Lu)c~~t7qtOa1E_CxQQCkc*&UM2=_)ikB`^6BIc$={=CMn*BCApZ)*`J9 zKonk7q_lzF)d0vG_rZ=0h`(0O$|u-E>;6LIwZ6K34&)dJG6mf8(L|R zq_%+~syeCx_J9NIOhsm&6b=+Xf?irsRG`agGC>?FMSUeDff83BV77YQVPC)%@HspI zALOqkMR* z6D+V{oUPUX^cw2IYQPqShnvp>tw2$+$5RTUTc5`Pueu4b5u6=5s*hB9T-bnhuA4D>3=P4wK!Bqt}C)C@FEE zx{4qJwL8pSSFsZX;FtR$C$~!0Uey4#0l#0Z0o1p;C~d&)De-#XS63|g+!3$e}UhFBFPCgN?`zG6KV#u0k_oKHsE%n2FT44i&_I#uTyOUpf{-F)aEYq zhwX*-5*)p7^YgpicCVwj7F2-*-2nr^Yj zQ3~aR+vP6n(aEj|1qFjPcm!g>^WY^|4C`P|vCHQwWrdEj@ff5v-n=gQ_LGlKy#eQooy$#%K110o5prpE~J@o~})z#(Y z<((NvYgZ9e`rd7iEb7(EHR@ZH=Afvj(bhtSz?&V%62Y7`lO24F4);ZM7#9 zAPsR{bu}xp4jN)s$N_f6Halvdg4ck3pBgBcTplT}iiTq~aO*CcSXB*uTp(N(nOGJs zBX@hB8U8qakIfw@w)%=|;r;6a`3`uZASifhFKVE?9N#eNpO&gBr3R`3wvrHaxloS! z1NyDJxVp(-?61JFDq0*s_4%vdat`ev8f8`36+{)X8o&qSbN8wSs14NA6z``Ecqd1q zsDV&*jmuXZX{@RVQyhY-$Ry}sSq&8X1D;ZkL{2IJTP>(V0Mxm(B;xID8;C?u1FX9A zHBc&fc^iOwxKzJIY&DI3o39+ls;I5BCKB;ifnwIw)cAt#stAb3Y2u8AiM7rk zw3^mn7^J~j8j)-vsR^GWG_=kLG{k-%%4(X?(^p_?Xg~{gQ;-28cMH+Byib;{ihK68c#O-cuYy>TAn&?N>U}>5-5k-~;n_wlt3OT^e zW_L9NmC00a2W?GZL{WgfLfBX1Eh#}+y{Lg$4F5l+2I}f~4fyNB_CR^Cihhj`x@O%Lvo$nB zM_!9#U5zb_>I+T`x!rI%4@KN{6(wb;LRJHCo(g(7cLS{&=D?U4pp2h<}x18N{x=Bumn!*qaZ zpuXPYftdl-0DSrnxH!GOnN_o9p*>f%AWTAaDzn?&($Z3~X!7KH~^(R6F` ztj1aAOl)j!oPSQ!)d%i`JHTtLi-7m}gFHb!{zdHtNbISCmCjRLkO?z5?fD zTJUsQnwwFe(|1<1xz=0JP&FAz)n(On`fajj)~(f^>T_^xp6sceHFN9thM_)wDPTVM-5+FB)x~vSNj=x_Zh=bU(V>fxya@D<{7&@0yzz zT{C;>-8EB|&V6R#-E;1~d1lMPx$ACjxu$+f{gf%bspm~>Ziq~t5e%ObS~+7%^Lh34 zWz#3kYiyW^vR1y(Qw{j$&AaBBYierPgBLDDfxhU?6Bo{iPQGl)TqI6ym@-|z%?sYW zX=-rFtvD{cCfI!Uym?a>HP_VKefQl{X4WrkX_(VYoyy9kORKBTnR3obILpoHVF|}- zpPBRA)^JnPoL9l?wxqI`mA(4vtF!-k|AVWZd~ormtxa<_t@vQw*4C{LFSvW%-S4hh z@!&Zv=ggTCZn^Hf`OUG}H&@kMSM|!xb8fuuymRVqoN@20>F1%SSHI|~2EzB>|KNiU z;_0-kTZaO}wX4oscXMp^;yL#ssik?&jr#5Ws;wWiRLyx9$8`@@&EI()67&RMr&dh3m0EU#|b)Yv%hvU#tDVJQ+kwybAMkssb!?fE`SkzcH(NSb1q(YUU0 z-5>=wt#4X?xPm7?Ir+)a3ZAlI%7zIFp8C|(r=}_Rtc_=Fyj;QOY&vJtZ3;f`>GPg` zK*7z=G(WRm!PB3e{_M*Np0Rnx=64i4bIZ&v|4{I(t+Tco70Zv=?X%l03cl>Q%bq(z z!E>IU^ZXbEx4h8u!bu9A`{LX_OA$pm-JMlPcWHf=B8mfGcaCY@rS;Y^t-E|(oY1=a ze{`4jOZXqD!4?1Sqb&A0t38Vl!&?wWxE%q5pJxGsUqbM~?FcCR3IYzliXgJmyoCV7e-Pdl-Vy#N>=xb?{v^C7>=FJfyf6Gk_$ypAJ{0~2 z=ZudKmiQClQ_QsV56rgsIb1Zpgc}uwBmOsLUHk^~F7`RA{qW(Pep=3Is(DE7oz?ox zLw<_RYH8d|1GW}}6cm*X=LohIqZL#sO;Au&n#K{#LoQcQ@9)@W9@1wX!rDNec}SmmNS}E~pLs~1c}SmmNS}E~ zpLs~1c}SmmNS}E~pLs~1c}SmmNS}Gg&)7VqGCFQdbuG;sDrU90lIJFmPl_~4=mN|Q zx?YsmK2mJz|*f3Ht{(H`MjY!lCQJV7n9qQTawQuZ%*Ep+?D)8 z@=a|2N`9Rb+S1v)guCNsVtoKpfG=b*i!+!~c`1uc%qOzFhs7Y~_#qZ|nCEFjG`HE9 zl#iB2lV%MsM0!)UD9vq~+qM+<-kZVkJt*_xbdKASnV2b&<42PeEP`X`iuPI5xk&YM zk0RhCTQdaxiuwO^t2(Iv{kUqa<;XdJh;Q`@6;UQtA5Eo=2A)uKF ztAy3U8q8Dru<(fRsPLHZIA%9pC#=W3q#J~%gpHWL^l9N4;lHhz94+j@H)XIi3LRpH zp(Cv$y(6O|v%}bt)sfwi(~;Ye*U_&dzoUOgLC1g&Q^!Fag&hMsiaG{$m^%*cDDJRy zSUU!H*gA%ESS^z=C2oaflwhf&nQ;S_@s>)=%}qiJ&cp?#YzlQGk~*WzOtS*|0I zN1G^j(0;CKpN7G5zQHm%g9_=N$%+cHlfn#Bf6GZDkQBrr9al!ATSf}~(k)Zy-HtO@ z$_{N&#Vv4E8>ZPL7RwMp}i z?=)#%&-Rm3LJd=<%$pr5FK=!RHPeZ@l!s!oV-2&XOld|6F2<(BW;ZuC;Ee9T4qgUR z=7nIr+5p?)hES*>G&?p0I9A?3cM_Q0(9Ev09SjLk(!6=tHBd2hz<+4E-8e)eoC3?GQK7bK+{TZif?B5*Tpx)AC5o9@N@B3;xA!i#VEUvQ`1VvDct)t zEWI^OA=_D*!tywUX6NbmVv5|^2%XB7Zb&($tK|H^(@W>8pN2pm5PdX!IY^mSx`I9~ z!Ez+7<zUl0SuG0z|EI$3r!rIq><~rAoT5>2z0vyp>CHUbnaaUgu5K! zZ|@O)+98)m3%O>IwyfL&u^<=J@NiJWTyr*UNXtfAHqs8mxj-Az1f&T_lW?9z8`83n zmW4DI&JDC7&44rm((E_~`(e&OS`N~3kmg2fOi|W}>725DtWnn2@Lh7s`W7KZS$m$! z8gwOAJD$;%8Ob$?j}osYM3t^MlWv9a?2wuhXEV05Hrbf$L|29DbOeI<~Wzv7J1Rjj^2^AHvwq z{nHzj*7VFe_A!6I?C<&9ABOoW)Ukf7=dx5{^pIML_UWc51M9(9rh(mFPu-tpD(s(* zJVAr0FwN9IKi!m1I6uvDEcmsh8Cg`*i6!I96QI(BA8LE3ZIceSb1YK& zb{(E8?7Pkr=84w`*NE2`u1UL2xK6yza9!GbVZJ!uFhA`^;YRUB!;NV-rr(%xW9Gj1 zQsn&93Zg9X2>RXa`v~$cn;;LxclZO0#?AdP{Kh~5qwz|?a>}H1eEI??vr3fv_oJ(I zmXidG#w#J~QI`D9>1r}L5Fl%%au9JQ@-rMnHq1^3DYl3{gXPp-3@5}aKJFMUvSGDB zG^C}A>Dtg5W27_)y0qc7!GLoE&S{99qs?SrrVOzMvzhEiAR1M?O%Th+*VIjr?u*X> zONh|P(uW!a{ZgZ#Q?z0C-Jltqf?flZqM&$Aua>;b{br*WIeB^c`B^#n*waP_Ldq?9 zIe9r*d3l+cd6`JdLo&{A3%{&o%gM>i%w#v?LLQZfBeqPO5M&EWR8M+$q@wUJ{2*3b z*PGCXoD@TS&lQ9j$xVs8_tD}NqSkofj&c;lemPj$5qLC)`u7%Ce6B17|Ajy zeaMl?qZu2lXN5;6$AW1d%d$;QPG!f7<9k=`U3nz>5E?LpW@qsh$guf~AYOlCnu+16%P81)oU9@{nnX&oI3Q69!JFrq97{4ywg@)D zr?s8Ij$Mhes3Xdvc~fFjqK_!|h28z{_|=UTejuXUM_LABm>>$?eIz+*?=+BIuSjX{ zpoY-*M}^&8Cpw}mx^4(6xpaCC)DZtkkA$8`?Sa&ur)!TheV-m@Y?~@0oPCk6 z-Krr%&vzGFPVpY?y~uJ(@KVbuzRN7GC=$-MoHF84WxOh}WF^gVivJSJDI+h_H$F5@ z+}AaO?q_A;A__n95(NZQFiHh}75G#zLIvJSz=Msz?S5>f)BEw0Q8*dlosI(OlJC-V zTt6Q>@A;yXda@ql;xU(D7pC1&v@5+V7o~ae(|wmo{W9paa`wo7mH#e(Dt|8TmA{eG zP#f54u^o@?SZv2(Yrs|!5w8&Eh)wB@>8FT?q(w4L%{V1vQbxpZNXDt@r=(93y_qeB zri?2x#;3Pr%*i;#Fv)PL;c~+q!xe_p(l3WV@cV{r|H=4N&sm@a+8-WHh35aMhuk0I zxf@!=(;HjypCs+$nT=;IzDhWI@!5^nK=*hHbdGmG8+k$FUC>xw+&E9TbTR28&zN%^ zG?6z86NaCD=-G!}aOlN{-Uuz`>8D+A+I&niFi9BU8{xkm^LvHE6_pheE8Lr4v_k6> zSl7dBp0>nx^&y&&IcOvNq7JcL94eZQ&ATg^{ zG#Ao`Tu339-2sdna}C)z&&D}y4$y#d(U8F};T-k`kRIk5vT&Y-bJ!Z7mFGe_kqapW zvojzwM?((Ib8zm)-6vLpPl)l4mvo{U6JnJ$C)JV> zr2z(M28$o^lv5+vV0S=*{-dykut7AFKe0ch(UO+mkiwR*{*&Vw4zSO#ge}K>hdVM^ z{+t7p*!hx(Smz>s-8~WY8|&%V_dWhRzsGDv5p&`4mCDyLZiQfoO+X+EY0!Ow$a~wn zmaDyOoDlnN9$T*VwtphTzMF$qqNX%q-H+Kn(+} z3r^Gvq?rNEf*u9>8El!Fswan~<>w*0nj5zvdnOYJX3@h4u`<;h|E(iYsZnGfAPNJM z%U~Lrh%<8mk}7_KnYgI_({M!hK%#1S1eJ#E-{$~95Fa&sa zA08)L&XfDgCRWlwd2oDi{FHrEJh(U_`}3r|OdCV(1MO4*AEZtpZ&T!61G!2Zl=#ZzTtyMSN8?~V z)vP3!X&lT3je|*a;$T$4=r5N#)*Lq`=7TZSTtQfy+!Z&He2sjwJRckWk=n9WJ~_Sw>+Y43oU%VZ6!JRN z{=5WZR~3(vQ?}?K$of=U^f7YEF1<>3?+LnlC$jwbd00+k`8nEiFAQ12j=2wI4=^Vum3D2^kp~ncdwDiJ=IYAS;0^It=NC47ezPuw|uX3)y0} zAv-NQJv$>ibAMLw!a&RD5!_~lTurzsJR5!%c6WhZDbq6gNZf(LNPeLEc_OS>D3K0G zq=TPd^YH`DC=q8+gpLF$uBM)*vo}dsZK^nz9?F+K`}s@I5-$}l6E4T7@d}{@GPv(6 zaqP37|Ni##W~Gl$po`m>Nf2F3(Zxp+PbcQ$njvFH!f>T<56i;nq9`m$+{I4Y5^E9Hui=xC{|*K49sm{YuOyEu$Y~>ilYhAtktT><`IxSt{{1u5EI#Kl)XxKU`YTmk}l*MGSxopLUx`x^vhhSE_!od#7HOwhF zhuRztCuZTa9b`Vp>NrS}tdebz&0aWQXyIXYn> zLd@5Bi0d#wyM3tBF?5*CF;p_)WZ1#xVu$0f!!YS1CXM?}%P`CpiTU^Nn;e*(v)E1( zoj4pW$DksU(>Bnhy{lPuC{~Z^6|*gmW}qCDSHPw<#cY_`l9yLtE-1u|qnTbh)5Yo}Q*xo|1EVcT4XT|DBD! zaAwF%r-1_v8uX$YM3fP+;xoo7Vl`k*%eQzfHG-wgQfWEfGA^Z?EL4*$UK?cySVl2n z&OzOz)9)7ti&oKQ7(B#a9b&M-l3>_T;DT$wM%NiEl?d-)u#7QS$_y67_3)-!##yS; z@xW@@jZ4dyQYzK_u^LvD%6f&eUYV>{BZNGd{c+ z9*ul}{gCE^bW0~6q;b_p`RKjp3c|wV-{X>;A#0R$oF*mRZ1EGRw-!|Sf!+6 zfmKRc1*}rieaqpLk(a~qzUA z{`1o;Ue=J)ar_~ha(CpsyR<%?(9csR^ka~+mle(aLQPh989r@J%B~~C28VywWQCF@ zE6e~&4GxKvRigRN6@*KY55@PypXWLhis3U#K1v}!DN*#r5yg9T_PVAr+6E?S7tCB3b%mkhhGiZUpnO($n+*WeK6B~ z@bqCU4<|drfnlM;i~L@(eYy+sM#Yjuj_aE{@0mu0bSk7(K_^PmFy^#7KIO;De-`Zz zPF+7X4@UYE1!yr$DHDD3{;n%U82KIjm7|FtMde(?ITbfi#8IT9X3k%aKA3xziIP$l z4tnK>Ud*KvWO3Tmv*3yXR*SVNO_OsW{t{RDQtx17Rf?A z*sDxjBP`L57SJmSJ5eT&WqD%q1i4D)jN3)fVa&!hPrgm;qZnNh89tiPE}kdMb+|13SVqTq9)7PucQ400KgT>j$Lv>k+4Y{q>T)AHrGW$a zfv9%Hbi|;6tt!jKkAp17ScXmTVyG|_f5#Hfj`2d7Hd^S9D=f_ho-2^DIaZ%agACnu zHCa1$89b;%1&kRma-i{p(K0l82%b!L0FQ|%m<=os$JvQz&-eMUm0IF?lk_|_&>&7#@`r!Ykb4_rtx>iw~W6x{=xXR z@g3tIjk}HS8vkT`&$!3&}LIk+6>q_nel~uGQIazl8s&8ty~&+UVpx-i_z@uau$m zMkq13uDV{M=aV&hzDuL$17($-f4(n02Ln1+5blBv52NR5thcK)8l2)k&&IHLfAsuB zW%zuCJXJmw94HZt`SJo-@GOw;ke6um{4SZOd5WHAF*+P%^qkXeJ_P3YI7ZKTo+?Jq zd3sF8m-2f#tyYH5tW2Jtr}O;#r{}$=$n;)am)`dVCd*I}5}i8Ec6uq!Yp24B5X6#S zJjrXKfU(52>d5-QZm*|`fG^5P-V6%(>ZO3MUOFGa&UpY>Fr|pwI^3&gKJ`qg-cm>7 zWpzpJ!|I>S7(eQbm6QHE*-e zJ6TpBJU_<|L3}BRg0!+tUKI!a1k5zyRlo}rycQT-HB0Ar z>Gp6}28HV0MiEwuok!HV`#8kippMK&QE%Z$LT<8B1fQz2QQY@#3a8El-`YM8fwd@% z`o62m?GANYhWb>_Rmbgudb-u*?ik(y`&{q*d-maWNhA&i^ayNjmG{-8=9T*+jGBnO z3;)|k7HR1I%MAleY~0o9SFvC~#;lAim7TjfeJ%?KWXwuO8Yh!ir_W|Ex?H`VA^bYx4Sqt&pKXFik z6U|gN`lXzfxF*$&7O@OUH~J^}eb!ZeD*sddQ2t1MOMXW#PS_JRY{L?VDP;-5aIG8N zh}QZlL>;tj23EV#7l74n^kv{_N}gW0mu zABBPIV`#UpVty)Go&Z*R-1Wd}kGlbQnv!P|u-fB33#|6Iyc}-N%FE$2o0r2eFNf#h zweILMtvfoDhH%UR zYNR%pyGR?%wQGa9yE+Z#`nsdoIG=xnmvu+8l7CP1OMa8k%oN z*JamxYmiREPh~Jlc7bFGsJ8zK6Q{S57sc<2UmX`6I42YPKWL%YMhmCN4klH}lg$`^z+@FB1B^<& zAOBFDCUF zLQO5;=n8@}*p^0I(@1IXs zO|%!)SqKr?4dETC@veGlzp4SyiS&(#;1;pevc~|Y9irfX9Fobmp+c^fWAJ~NC}%); zQVX`R7D|L#Oj1~j8L4a2v1MS(#AZa~P%*wd~z5QydwpT%gIRl}H-d6hnwVxKN*lN{!y*?08 z5EVoe@quvvwfEU)&P*mRrBxw&IA^c@I%m!av)5jGt@W>J&vHH;sHYNv2^w1uG_>tZ z@FHInh(gg*oF;mqUy(Rn^cH>E8)2Jp(pBrnb%SsxgK$qDksgG5J)pJ!B_P}@R;*~A zna-s1m+TrCnRaZ_IlJH2BP4LGWhVNPZFZFnNnOpMJ&96#Ft(f0FNuw-)Xl8_!sd2S77;_F}?n3;Ip-`_|1pwRsXNE z^$$Sj`oFu+oe6l|>}+=?a$tW`$x4}SA}GKj4jFloHZjpxAg5r6A{))BGY!UQSprJ0 zRgcbJ6-uvtUz(+4XhzNo&DF6jvD*@Gy&`FSre4W`*k@SHkzg7!MHTy-T-wQfQpWxg z+Yx&<_76bzsx{(kvAyR7uh~t2eCPVAU)7I9dsF zOndjyO5cl>yw#{0mw|4nfUOaWbFBvF0(3Sk;BFwm)|!SX6E8SGFs($5{mcezU2XHQEjACkEs2M< zH@7?6y65?mTTpL%epC|)X>eL6D1-n^PC;q`XPzcawkP2_AIHNOXVK4+v*ckxvA{v z;xTfk4vx^dOrE3iTpp1UFlJ1eJ1=$_lU>GHd~;$Pe>g!~^Q6nD$22?3$gPb=jNDPt zl4y0!zPtlPA_*Fsf!uq<*RqanlXT)D6m7-=M6`85RF#9{I+iv_%^(|R z2@a0y;ou0PB(?!KP3N$`F;>l31RsQ=v5^=*wv;nFZ64ofD`!3?&MuWRZd*>h*>-2# z3a20?r*0yue)5!t$m!->Ry=Xkg|(4pPzl-9nsQjSuzp;r>tcb}6%_8ftuPk89E7pJ zJdB_f2xE~W16a`VI0ww2Ghr+e5!2OV?qDu<3=HBf+Hin^X6WlX`hvqyRE^{?8Tbm0 zE^UzNxli5apE_j-qIj&tr{moV?E6^>#!s4L!k9rEVTN;#w;R(CnbiB-&h{q1df7kq ze`cC1Cs!S}=gRixRBG#9)t;QITF35%B{6+dgAJ+w*&VIU+nD00x}DXz8rAmd9PQQ* ztNZ@ei_kAbPdMrows-!L?|TDg&)E)f=T6&q#xq^xo%b}ZJ1 zJM?rBkrtjOP*|N;2WJ@7Nle3?om`RHo(b?N zV|0efTq*;w`o&yTBBM%V7A#e&E-sB0F2k4xhuCR=3>X+dxC&_FD!#lnu3kh$UvY-`mM9iyinByN z(O;Y`28e;8L<|z=h;v1$h>9{XSd@z)VyLJPmEt@xObi!QVuTne&KK2Ulo%~)M6DPj zE)Ziyofs#^iwR<)m?SO~lSRF_NK6q^MT3|ozAY{mmx$@&JEBp{5Z@Iu#Vj#fG>Pwt zIbyDuC%!L!ATAa2#bsiF_@TI5Tp<>UE5%jfYH^LYRxA?NiN#`xSSpr@4Cr$RpHEOa#E!_%AsO@G z1H^uKACVtElrbOOlboNd-iJfn3R9+ z2N=!o9NNG?+BmZhF$M7QID&MVS3e0kXe0JFvCr8Bz=UsG+zqpreZQ0rq0KLPa zdx0jKWvcH7n(jq(x$47-##^R7lD<&&k+i&ted?;Eg*{LbiP7X^lFm*;0xBTPh%z}y zHUA+9g;d~#WN#Dgbwar?s^I|I7al1pkv~bbMN^i_NwN_+13@#0pG*ol3iY}GEEzOe zEwWH=cjE{Fl4#-1ZfMHJb=3ew=&%Z?mIb;gcivPM)Ya4-(N34PE}#l>OyZ`%T?CJ_ zzMCpw(@gO?vQP74kB~!dOd|j|f@wT=}nbB!JQoo|xrX<;>q$`2lJEN=a z3QU+Y)N^Z?uoRn;q+K*8Oc>debdHPo>>ailLg7e65#(KI(H?>?D^cSj57}`|R@#Qp zH`<2KjpU6ZaU_=8emM)0{c^w+DB1f;6ldC*{C-cC-|NFU%kR(hdwhQ6DtR*DctfNQ zJ~ODt*^$te<;(JCtL_jvvb-qDKB}YF51TA4pk(X&Dz=gM2HE5ZBz)4P297nBmycb} z_I%lPb*r|YA9uixpC2l6yae_9s?-PThCZ@%!2Hy# zwbmAL5%Qw>3LJI7kvV(Dd>-f#jJ*lJ*PZ6;=9A`M&FpwyJO>9|rx4ysl&_5^))o{1 zQoV(n9BYeP9BYd^9czoYV{LK2V{Nh3v9{RmSX(&jZ^AdD^~8BC=e0QLTToAH3#z{p zG_5U&j;sEh==)V4NpDqsBu!6~NF*bYVE~y1ka0lb11nDXNj4Quj3g>Cnv91NW8KzR zPqLpYzGdR0&5Ap}wn$w&bhNhc8lycBNC60;DCoW{3f$hJ&>FQ{EefrGsvGULdAS6x z%P^MGn@VNo6|fhrkZ&am5@@4EQ-DetB@8m{RA4G{d_f>|MU4Xf5d(P z0MP#ipyyB7!kNhu;hYspBAhx%Nra2~op{L45p3YV5mGxgLTb(kBs85y?8NYLa&6LX zO$7T%SW()oDFcdb!ih@7hx%U&tzxb1)->Ga>%(onegLzX(xH7yl$02|`Fh8EU(Kzj zHeVlymvB8}y)|Fgps=pE=InjcYr^?$^P^1T+@~qVuRgK7~5gd3N9bn1|j5foV-kPVk9r=??(96KkQ<*xh zAyeBw-ENWOdlhgalKj6dxHis zdD~u85pYFk7FCQj_pY5(A012^@thU448$h<1ni6>k?AGnM<5zgOz@((Te8KSQW#b~ z({3;O2O4QC1Wd;MZaycARQ00yvI%Uc_;z3zKZ%3tbSm0FA zf%YajVKjteirDP}ljRvMAj7ybJbF7FqOKF4IAyf()2QH9|%YyUXxa0Xf30+LIr}jrKe`71F7P+XzxINW~x(L&oWJ0l~;F5jdkL59jZ#IUh`+$yX+GX_OfPW(0@Mz}4PD?@DV@!`2!_W!2 zJok$u;^rR^W%IX))A=kSbv}Y9n_CfQ^H03lwFQwiUqF1#rxAbi0lvcZD57$1v!Zq0 zjmVvw5ubAn>>cld72`dK*tnj>Y@5Iqwh2)jH_P~r_sRH=zhS>+4?w?0F(LoJ{>Zkn zZR{cTFnfgk2>})!h1TuQY&(0L{e?Zjp2RBbDQN%x#-3)+u)nis*>ecQ@DKI^^ja^n z|6?yPWj(o*y~cL2*V%6N278n3fiCYY=_kY@#+hea?=tih2J&(W3Ih3o!u-5^D+K~Q z@_Xc?O{Lr(g@8gXEKsGMg@pxy!a$Fn;Q~}que_YXJlTw5VIkV{^8-2gEWa?nfD&Ca zFMz>7VlKc%@~A^$UVcFy3e+3dE({bTfjYPKrIYIOdlZKA3VYy#+vfIAZG}C11PXfQ z=ZC|vi9E#<9MDhk1l`gpo){yex>Gs9)AAHg-Dvf-Wzo{odazu8%veERr0}!^mZ7w) z&5U~?G?7)4N-hXdI_L|8r%#;1(_!<7EhHT^kK42!t8>4NR)4pd%SyNso=h`@Nac#& zgnCWiXBOLi9x!{`^?yXY?(>KoOX~>6{w&8T`bpVe(ND|%ihkbee{;*tEw5PpZ`yd% z#y3@ePWAg$e@^vS&L*b}$V>^L$_0@qGecwm70c~%XGnAym&fhN^azj7lbvof;l_}y z5`-#yG=wU$Q1U>ia(Ug}OaNs1ylF;jt)d?*CN(-$znBRA;)hdOC}@l*Glr*#Q|f`d z)Nb?$Iz8^3k1BM#v(iD6h}1QqD$6)ON^%wQGAoagh$YL&ljJMNIdMSda-UxRca(32 zshaMSkQGjbz^xBLa(ftZ+*(LvcR_OdGo-lfkl*ItvjtMx3y{^GhAj60TX@f-Y|%YS zw<*c*Zb*UTIr5)nDJUW$Wp( zEpptpMNW+^HQZoJ4RcbYhLB7Fm9;+SguH>=oNzb`&JtmfBZ3I=VkNIP6b=Q$xr*85 z26J-5xm1uxZfnI~4T$Lwk53WpK7Vd*2)t4m<#0B>MFmJp;+2EqrIJ^U zkC!1wsPA}R7~XFdxJ9HUTXCH0!xh?$;Hx~PViELRwKzvjS#I2h&z-mMkd{M<3e= z#Ok>#6-JBuc{UI5Ah=Tw5A$3y#{J@-Od}s`*vXpJ_tR%D7%|$jjRIYhoD0?7Rx@;a z(C~#^sj}#+j;rto9R;cF(^6+g`N@mIvZ#4pzowZ@%}ukL*3T&+6qb3j6$;C!W}vY2 zQz$G8o1JI@ud<1QRG4{fbLvE4c~D}KrbA&N)D`k2nE^c?eOjZiP)lnR7V6iQ&FSb8 zjl#0%oU|w`X(UvI!qRVcXZ=SKnym`U3$Z{Uw19=&ZW}@zvHcMf2ra8)TC?>CQBt$D z7L-%7)t(EvY|E4(R0yTemkDT=M1O)mf#gb1S`wv@P+Mf&7Ai@ULLZzeRDXq*l9`N_ z0!NH4r>+j^5RV1Z=8!UF3exFmGpBpnw5GD|Y4a;F0_dJLJ9gggo;Dqm>j|GW8^%=* z8A6i)XE$!x6+0R`&EzzT(rWWMYddP01H5pid6^j@>pD2H1Kf3z>|$+fjWx%c7XeBB zVzV)6Ba1G7gZX1~rFp%qztNl*n-{wq7IabR$gbiMmrFx*MOR7-Iz?AWL-gwfUFCdf zh_2`wX+fvxD8}CFW=oE5IKH7A*L>Qg=t|SWF0ttIW&QO_sZWipS2V2V5_T!Hiao9X zVX;Of6^(881_ci%6_14fC!4tpsChie?qgIUS1}c70!khENp=d;7IBn^2%u^_%)F-< zRmPddTzW<;W!v@17>Ket;B3?$i)eA>g);JtWjL0)f}sp!SrBerSkR7h8R?*9Bi6l= zF~x0&L;{j^8S`Am+>REuy1g3?%elavv!cBP?u@VT0(T*d=mr61;|dtj=>=~3eUZfM ze22BDz0qFOavOGVrfsfunQgAMD+W+}=?Z<6D7mOT4ZmsUqE`L?EUvTupHhrDXR1=E zuGk`yvbw6es;UO0y1Isj(y9iW>7a}#^qq|p^(w8aD=w}pMqM3hP{I&2ms0twP4$C^ zMCAi>wr}G=ST_&Xv-7dz%6OStSFwF??j>rQ`GlOExtg6f%1Uc?UT2!-7W0412h2an z>O0N5WKQFpXJFmYXel!KMY9{tNV_oXPszESl;izRVFI(9nE+4A&t0=3|N3+J>+7 z0KgW8%X0Rn`I{`4Gt!NwIi2Qnn(OswQqNOh7gEt@;Uf6Bv&ibX)hFG&o@&{w%B_KH zF{x`$dpt<%_5r0vV}>yRUO+?{eLa--MGYK$29%+M*z-7-$#c{wM(tqqMXgbc`oTtD zmyzo-@)C1DP4W(4@g#s;TOUOTCKizRZgY?6GR}7yBlPV4Me{FftolXotH-^@ck$Qx zZvF;;lkees`CEJ+f1AI<-{t%H0sbC8$lvFO_y_z$ewcs6kMNKAC;U_X89&ND$A2$< zm5%e1+W?_yCK(`DAiLWDvb$~mOfo>g_Rbo$y+Z~F2xZaA0HJBk{51>LELxM;-q8jK zYJ2CaGeDSp?ujx$@L5`ceYOF@0?Tzc61m)V9o~l7Pq_|1L6meI9%w^?Ot2wAh9^UU zsOb{M8WvG$H5=CfdGR+o2*UWY688^-AC!(0V06plVC3YkeZ?t-^;= zcW?qZI0P<1T-?dQHGI94)JRT~lA7D-HO{Fw@MI@fq_$@nXGq@bk$Ey7X0kGhOz~m# z9IUynmbE%$urA}m5s1Ln&11WHENR}!$nO;4u{Mx>vXNf~HdvDO1M$Nq=nm~5ltJ4s zSf(pSAz{OD&9x-Y8XMFx-{!M@Z9cm$rlGeUBTCAfzX6qyH!;U5af`F^1^&Gp{A#JUc z{ng!Wa7bG>%KoZ;F}@GY$+KE!wXC%0rcF(oZU9Yejp`x0OPcD_$xGi9X)9%>r-|ON zOV*W{UQP7!oFsK6YnGjHqR$4ub3rcZMS8tCR@guW6M~# zVa`)B);glPC}Y`(^)CS75NdsJybe1+FYQZ12E=+TM-wYv4zn z>u=!qWqJuN5x|pP0$!9zlPDv>guoAf6>3EyC`Mo;(uqn)e!KyoFUnRl0)&w|Q-9>L zonEfGkyn3{*7wJFuOF`xfQ>YWE>GV`-3f29gLZkVc23`kmPu9E^^6VOxC$T-zldd$ zomEfEA*v7eyIR$#4j!Yid~pEh!SY-t&(Xz!Oj#d9h6c*e zLK&KZeq^PWH{%?=oUXznI9bVuo=ftK#w7tC_w_f=1#CWbqdQm%NOzM_+q|qVT>2Hl;t2Z#>R|!^EPom1SCEddsx76?dzEcCp)`xOhOw}Oe^kQ1s;bV^N}CA4S7Jk8i>EAfl#P^;4JtN;7=ZIFY3=m z{b|w%(+`nL9uU6tWiqL3aWLW`pRkGJ^5x6|C=?-{i{SpJs3(kv$--cTJ)*)Rmn??QS9~>b zT&`FW?Xfi0Q$j|=^`A*6j>jlqZ6cSve_hcN$HRhSBJ@j`4%hp> zFmZgzazz*;9%0K~hwCk-PZ(e9@9hz>L>3jMAZZv+{maDh;8o1}`umV%7K}SrP8<)5 zj#{$JV|7eqR1Wj|_f8yVt_}`e5f&Yj2jeAwo@`tewkTM->Hy5&t?&usQK8-*QNhy1 zaQ{Vc{RnPga)sA8wpUzsR`rJ{vf&R^pWqt_4QYt8eb6>r9b6e7~i#M z!uXQtuwbdjl4vKAJO=mQ6gY7lL@PSjBREDH@jhJdk~Lvm?iS+_5f;2GCM4!VxSl&O zVSH(fVwJ)}0rx#HwfVG;Ql{6JmGrS zm;Mru2|0`bO$A8o>4f}Wei2mI_JD#nPe_>s?!Z}wfe%;K|1jUYZua9{gO?(l^{y*vc!`1uJ1{tP}%+0R4%qp&(@Iqy<$2Bq88(Fho;h zUI>jEQ$UimE*3YlNr{;kCyuQsR0Y zdi+Ep@AVkIeSU;8Nss<~$BwGjaMUnEqg= z!ceYrNz+?ofH=CblA!M<1~|044W_nH3!ICeuf#N(Br_vez0C9zmr1wc^Oe|fU6L0e zYR?%IpNJ)W%Gwqc9WADwBZOx&ImVJ|IjI&T4JK>vZ1*Zxaf?#(mmz0ybdq;Lm2SIF zS$hNLX#I84&Az=kE#UQFqsV!0uyTUXln#V-2+{YBsF{-Bz7@3h1_AD|@up4Q*B=Y8 zLkRh=`k0FzUzneV_Qz4>-?kqoIbMUy%jC4f3ApsJ8L?oE$5eF-4>_V$&c2(%(ALuw z;t$aBM=76XeA~IpZFIR!Xc7q=kns#bOM{&RiT%|VId%!d&j;9NVadGLgClL2Unjy+ z5I=cIISs3hJ$kGZ2@r|UoPm=Go|JZxeLnd(X^`d_KXRL4J)ehsJ?ZE#G2?5dJ7gd| zAqWKoYcUHil)yMf|F}57`o~xo_3r(-?bkZG{Z@30U;n6MctJfC;#$-i&k@&LUpr52 z*oVTfMmfgqN(r!U;xQzCDAV#2FiJP)0zIEs~A-%1dBT_2Rt zC!U2xK1*|-+K~90us%L7DhYQq<>o@+`w>XQvrD?7!|P-#h+Ut)nAjtZ4ZlfzNgxUK zzMM0)e8X$WkL5>8Sil6#VpH%P2% zTkACQTxo@9j%H~4g6S5ySv>;-yMr9F-o9dW<%_8|bx5c|2;+Tpe5Uh97qp-%pGD~2 z%|{P?M~!v#)fY}B-qvv{1ZWK}=^=#)5V}cxNAMyz`+XFMc!dA;aO|C-hP z-}OSaMxjwyTUQp2C;)$h{>_9#PwC%fif16;{CUr^wQXbK>6cuHrzCwg4{KWH*vqWKh+?m zozlB1Ie3W0(ihI|J_DOys3?j1BY*Dk8SlM67X*PX-}<*qlfn%@8lknEP#+QUdTm;Y zoF@@TLnwU44%vUD+8+^&Z26b@(L(0~x~KI2sQG<1cD^lo^L`mtz>ZO?M!L~qg)G<&WhEL{z+6`V7#aLP9!L3Ee z`R@Yn7v~PBtx@}qg%{es!XJOT0G(3a{GR*$ys$@U2zP}OgFm=q67j(UaQC#P;8?%2 z@hkhsLbS6!#G?6?X%t zYDV_o)Bev)+2{f+8{_|AVYFZdrlF6o4=l^ibxQZSy_v9X?_YZ~A0|h@mi2H14-Ubw z?#tVK1jf}x;+E^%{7MgGayoQMa%NfEIjLCHm+*`IDZF_1IkEXmCijbexZ{K*+$es@ zd-a3!>%vMQr$6X5p;I z^$1BgI>fR0dz+BIa3SqXOHPnOagQi$5K}r;P*_o2jtcQsAD!BG{P7cO6MRVzs1Bzp5-S+k_^nfwmbtWu=0)qQ%UUEjqNj)0d9kJ% zqo*dI9mS7t<9-*B<2%h5O@jvEd~RwhwH9(y>l!SYx0EC0JB9J7(i$bcR>ZxhBo5d7 zF5$v0#3d14?0|?zN}fzNnFi06!}?pr7bt&v|IH*vmp?{3e*Z<|PMG}iCa*Ht4DX}G zeNVf;!Tt_rIZILfOXMuOsA@&Bs-N|nGMs`UNT)Khe(zYiX$$N&x^;PivK(wb!l8=128PN@V1BDeBhjOJb4FYc@HJi?(SaoVkc6)nWriMWcFHOv0j= zy)0iA#^?ebS_4}CkLeloty=?Jxsi>^5zC6r$)!Oyh!@azHM3dS$jN69NQVzN2{7&M zSn=nd>nJ*B&ccNUIoRz_AHT6@jtY;9d-ND5gkbi|!R!yE@V4Zjg$wg>41zLbbi{T} zj=M;3BUR;?|BVoxS?Jo-o2%6FnkB|vTBrGOo6o=9hy>s-y89!i0VFKd4huuJMpjIG z@xKT_(x?E$$|nc_ACD`hVtmSE)t$y|w-W;dCS0!!R|tea0h5dat`~roSTC=AypWUQ z7T49-xHovj6GQZ!Z9ZlBy_};}U5UOW(d(o$Tc}NbrNYWHdQG7JyQiWFhF^x6c#IdYkzvOx!D^@RL zU21TdH8nIrd8vDaz1g(SF;Yz+u?6C5ZDnwJ>)8!i^qjBkf2eHV{>Ltl6|el}$)%K< zKOKBHJH~+zI{cn3961wL_ssxU>z#)xL6cyGAe!VC-y69uXT(%#q(#$yvtTvj)aj6b zM3!q%)4U+8EEaL+#iC(#;|}UZXctQIu=`2~wYfe@My+&op!40%NICs2qa9l+(H;($ zTg^OA=W->3kIHV-ju)KJpP6T^Cu(y>Af7MMSeIgu6n-N?Z|o8AIDicx)1W!4gmQ^x z^9{j5@gI~}<{OcF&zhg1&GMC2AJZW_8vax?w*(P1GMA?yX&){2kf(?b-PlvR`ovd@ ze>kMuQya2zM6%d@_rLyO><IuSEY;K>+7eiH zAg2eTa^$XRus@nn`;#z7EDpa=a4&{2s z)i=Mw%T#gjPpfXPC-lxjt-naXe%ECW&ywhH5R}$!p5^;z;76;jZwAZOe;<=v-|T(n z!X3e^NY<(|cm5X5L`P`fW0Up|v`A+^ulYv-EfRjU_%X*EaVg|v7KoCr&}e@kO4(n) zkw~n|!3Z_Pfi()Z5d=fN_M+Dk>a&?8y6s}%>`o*~q_bos4=RLJ+=J>7sA@2)5 z_VtH;e-DErHL;uh9z*DIr204$jQinSrx7!N54B#?$9_JD+Q zpESSxP6JAMOyGk(l{ zt9vOb&|YQaonCT#ZGaf$uVswdvMyo|PE{3?ufBE{sIMPmA3m zEmmNSEcawA(zN<#PiPA8Y(wbxyYRnwm-h#lgb zcSPZ#8oajpc@(hv#EN8u&aAHsSzGCj{j8}2U2>xWW4)rJP6;0@p1E00gT)HRGPD82 z0$m6zw8T6=U(ET;x0GI(&7m(00k$GYj>Y}<(`H%mc6q4%h7wm^&35AmQ4@)*ilw1Q zT)z?ZIaTO{*L_ji+6CtKEX}5&r292^Nq*lwkNX|qI)6;hfBp>(R(4x!@%as;r7(z* z*JbZ>%HwhTyW{vb{4UXwB@pr+y*eE73fPeMJ0*ueSgSb_?7oe=rTiMn0de~mJQ)2~ zu-q!Xi251*H+@w8R-jS&gRdu|S^EpNwRwVVHN?Lo4j3bVocn1f#u;m4PH$QrCH1v$ zOFD_EuY&@_Dvth~A*T8geGf%fUm7ETph!o(eq&e7FV~GBq#PwY_BvjH_jI)6fskIs zbymK=p}E0Aqg~81rJP|}EaW9!(eRUhU$%^zR()S2BOm;vJ65;=B<4X`SbW1pYt^lo;gOY~iKcUqIDkjrvyWI_1 zZTgd6tJQwFU}h7V!e#M!6$a@WMPJY)=*!Xx@aulJR7}7~4VPOOK~F%xS@gxpPS(p| zBRYYxYXQ2dBweSgxLGq*ecL?&m>KK+QSLLuQEq22pN6e|W!WUixdA_AQ4{0)PZVAy z?fo~L+Nfn@Q7G5SNz<1YP|l(zD2($Xj=dE3Ze6}F@jCCF#2a;>%SN#?&T;*x?a8DO zRe=_tz$prw;VC{}G!al6)bO_W|Ac3KJ!MkQx_rd5?x#jQ>tD78*_vXaP;sRGFgAs>feIDlI8Kq#(5$(v@3_=rR5OizR$SsGLSULT#i^F)%JBMpdCuukyBaE|J>X z$$n)jBWZd)CG#uGXTk&k^%%gx9Ni!xP(UaMA$|p9hhQ~mga#0H1i2MjgmA>v`{c}W zVKroEN46l6`jtghTcv8KP(U!9^-!aUz_|dSoGpIS%)DKPCP)^?mjfB+am5RCKB@Ja@R3k3^l66@)C>`9=- zpZBCy$e-8?5T$68rQJyV_MxN|%U_N4}No0uhPLd`5iapkjD z)}G61mW}$n(}o?P$8sbcmeB9Cpo?FHH{^S6AKg#Egu`cF0pBzA$}rO30CAL%iK8wt zXG`VG*jJ{A0C(Q_&W3$I_%oQQ;j{h0lVwk^96cd|x%hi(%vTM_xq*P^6CH9mxZ5K6 z;G(vNB|lUzOgJ+R_nZIx?mn#SBKisEr5sJ>yxc+t=Otb9&pI#J#1%-tFC(X=q#6H)$N&MeOv*a zMI#e5Y*qx}R;9(1+^-z)L1RtJRLFES(Hxx%A8Dcv!K!J&0VtE*$KnT4%jSakdQN!NPE-_hftKu4EmZXG*BK<> zY5aFw{+qGOY@!^1QG_g`a=`5L#eoCaUnFj$qFkm#_Kv7Pg4yoQWkN`fv@~q=D{Xi4 zE};*FyB0NZz=4dHh+vsH$vzwWMf-Df3;;+v2>F0$RXj+Pl&g3}DRhJ<isX%ji3E!zIS>Z zwRDbYxQl+$N3Fl!0Fln+=1GGobY-kAPfN_Y?gI1lK?AR0w6`W!nlTw|0?y_@_j8yR&mAM36k;*ChVh< z{K{2)X>c(W+q9TtggDW0Id$B(gh31Gi=EnG zExdx7_ZCIWS0(BikMHIu7yU_VTN)%Z0>VqemtW6o<5+WS?s=^b?tQrDRB%&`MBKGy z$C2OJVg85M)yxwcvi` zPi0e#_1P5vNwX;zN3tn{2Ff9Ho!}iZ34cmX?==NVxGj8$q z$#04Q#Erb))3$CE9SAjYPWKsI{0Og-=$s7Hv~{k7dDx8tTAxQ5J=rC_*3N_w7;zP6 zI$Ae-iDj9bqs7hZ{p>-A0{SRLQ2E6iMRFU^Z%f+NDN5_RlReANG8SN5WCrY^C?=}& z%7~#9{$g1*#biMxJpDvqt(F`bpK`lI7Y3%?CH=lMoS%<6gU1kVc z&snb0uGpGZOOZ3N}gO?;9NE=MB-V~m)Lo+16 zRpl-&f~L(&%_5MnJaipq7CrpDl6~eUTV&Dxk#J#71tjX6z3H4v_BqQ9j3N9S+g^G$ z{8Hg_p+Wh`VSZAlmbYalA|5DF%H3DbQ&SsvpdSi{#X}?*%dhx%q;`Li9A+<9*jQ`g z_tORmEHOyn0m>kOW9V-&^cV@m(O3yo#DO0$)4sh@Z;3$tC>iswr(e|9Ci>Y;CW?lu zDp>Px%>qf?kpG2{s^}6Vc>|`0Wpe83s6|r+CV7Te0 zL@^klyv>2)=n&5N;s!Q4MwoRsn}h63uLFFaiEd`rF^MZdj#Uf%UKI?1lLhLeZRKpAD|b?AUaWq&3du1`)pTK};=SHWM27?k zMCe{D?@x*M$7Kq~FgC<`8o=YL$Pl9p&=~7yo?9~qNdcLMNW>iJ!-yCR37XT_a9TcA1i6Ex(rJrRDVswZUgb?c0od#JNrQ6U7JH=pkarjRyQ_nJ zQu#FM#%!1e94k2icbjQMESS!`=sk~P+-G>A6GI;p3mPnvCQmxUQW+lEHXX}tEAvMb zpyt<#-!|ip?>0%wvimaMbI>cmUm||vt^(L8m^Fj$dZDG?-{w_*AU+jy=-U!lZZuZ! zaZxJV0RjJL_K7nw5}zP-1{s5(IJKh#qGLhz4JKdiEL!5s>=!0gB)J`d81@=O{Bq!q zh!;M$s(R6~ZpxX@`x=DJzqQ>zPzC%RAus;ZRn^B7*_rqJPPK4oK|VQE+k%+NeaN5yM<5`TZW0Bk7^?t*)oI|LnTB#*B0Fjm1MJU^M!@n(6rc`laXuGk zqhwE(0KwAEjEt<_t7?A5SrnaPsiakrvuxGBaZalm>uo8`?ZDq+a<>RIOq4g80elYR zx}?|WLtzjjbzGn*)Cf;+xy{lt^f57!T!I=0vW7Tl`gF%eOT?{zGBpqXsHcYJ8U^{Z znfuufZMY^;qiCgl?R6vGsTOCRE?@HX%Gx&0$s1!p^bzOW7CBW>;C%nZAVp5^(hQa5 z5cu3TJ~TnO(xV-{Kz)wjmZz2Az`?Qi|_R;BvvzoIw=CE0kbssPh(Tu*5 za`{~my4sA*kLAwT=<&7JAk8uq`G_0Tf))Ay^I>v!G0`R~SYEjo7F!>Ibr>{IE;-5i zFPD!ofQI#_>~d|_c8%1?;zj(&}kwJO094+Oh+_2(biZ(d$%d1<-xKBYnaMnZs$3WNMr zj|l-%CX+vXxb|sP%Q~;aj0s^@5gaf^|3o;LhdW;u(1%|2oo42I+4D;GT7CUN%n&UplXj^*Am)pjn1YGQl7El7rN3)Xt;cB#O_b-_jj{bp{#X=((MqEx3ivj~sQu66Pw1e_)MPs7 zJB>jHJtzF9bx^j=<(NzH2egLOml?EA=7{#$Ji7Yh5)h6C_uGT8Isc58JH488D++%% zLw$AgNc2z6E_^;=X)+1yXJPhQr&SThrG#jIKagDjc6GRzV|BEunG7nG%^=sigUpzK z*Ik-_eKYXz8aR>Q75f53b{n|I2Kcrg;Jp0)qSWHntqfI5GlnaVA%8hgPJsT3CcsCC zxOmK^pct?OTUoW0#sCdfOeHP*+m9(x{|(>6v~L$uu4SK>$WN1;uem^o@%(I#t3PMz z;rB_>hy3pKyz8_31r>s`0Xbq9o#``OY1@LnH1E7HnN=c?9uoRXCN0pLohK_89g(O* z7QWXC+6H%FcALYmrLr$JHD3$L-_Xo=%tJo2vdk?ClDfX^5s+F4^jpR_<8(CK~1v%SHmWM{x=~JlS;sZ08Hlyxgyrng@3=&t>Rt5PT z5v`M!I1P6VpWaOty(I({wrx$wI+8r_t%U8LQnkim~b zxq=|0EjEJ;BI^mb(8kexP69m%hv{Eir;=T0DPKN?s2tV5TEh;^&>8e^?C1_$rkP~^ zSqO&f92r#2hPy6D1+8&`pnt)uF$BP1v8NV=;!Y_oYb0W|Aha-D21N!X(Tk*(#SPns z%Z(T;1`=|?aKy*-LbxIo2x#NXvyIyI3_;5cDfMNfH~1izkeba3uRTgIz#jMx9PPRi_xiI*muQ}Gx2=nbdis`= z3{40}j@qMIYr&UByy?1?jUrO?`Y7Ut#f&D_I>4) z@hM2~`g|%H2fk_~x zQTw@>Z_!XDiQayv@ji9waX5jrN9n&0<+)=E_u{%;QPq%7?TSZMCA@xqM(~MKf(i#d zo}s;!IuKCZxw5t^ILGAbw=TlDd~JVO)JvVoCV;+;NvtN&|E`S)^WSN;G^STw@yq5v zMmK)`+h!Co*+mE8*{ZDcny$nE^%(z$-G9%NESbR+iTR7w#=OC}+SY9b3%Hh{J=N$9 z-?-==CYkYR__MQH7w~Hv?>yYJ5N*R-b;>vrQn|UGTj(TAxa6HYg!I_;t?arAYu0b! z6Z!R`Eso{d?>h|&%}N&ZgmZB3J;~oU23@o8ZEPEZP@acx8edxQA0|*_FY8zlZRUJ{ z{F&)rKSuqH4S&^WihlY%9Lx-}KB93z{3%BL8K&RI_5d#vx4d$BW1uNh_Th7Ao`W#F zF-1T9W2>$r>!@c%YV#xokPZ?8)MntMfQ=zcjFYU+Yx}l9hU1nCUAGJkCwOk^nB`(w zE0AwG8c%T}j2+RTc;3~5JAR3(T(qrGM!mG-IGw@Q{I>TGOcEkzW}D>epUwK2^YVb1 zkRowuLUtb(=xFXo3F>q;;)dcoPJGd~qa@=K*BN!)n}MAA-L)ythJ#Le=7pZ)qiM)y7qq zj_cxm?X#e=2GR0WV0=Pwm}^&&+63mhZMf7ef|f7#D%)Q@SWv9b-YXcKYL-}*l$Bb4 zb&K~Q*)h+t0V<*#91zl>;k?rrwh5!C%vYMe`AP52gL~1`2-nS19Wc|2Ul4>Hv9mtx zm43kxrzO6;(Hw5dP--*k$72q=Ig~yiT)?g1`nUqc;=heN!3y3#_ea&S)TZ*_i1Hg* z{|v3c`51$~PbhvQWVve@-+Xl0$L_wAvAfTMFq}MVT6DNe+HkEEn3{3Lk46)mzbTVC ze^yRcTQ>&^O!zM8nmcO)9nO->3J%vg>nj{7L#}uX<}mCQ%1tQly&$8#$eMQDe8Jcp zW#8JM77#o0zG~E&8fn10w;!#M7=^{HL)U(ES`N)WP(ESGl3zl=XHA_8j+DnPBA zL2v`ZLw;AU@FqFM+@E7N+cq8QwK)Yz$5+E>W zSz$N_5UEzEPldd`u@*A@7U4GvsTyjnZz)UQ+3DvrWt`RIpp*)P+!>6@gj<+47Knmh zg*X|mM@HFTdU_e-WG+}&duGGKk~zDH1rwf4kV7_msnf_pEEy@c z87E36tSG4%+SX-;p(T}RnOcPa=J32wI6N(7I1kgrR@4%g*t3|5g;cXS?8VyuC*&~O zN-n?L%Ve8>N%xDD1LLF*>StUE>c1u33V89HWL5Jk%cFgD!5NLpEPqAPxqc*M#za%mO83u&%(1PSe(Yd*v-=Bh)1YX zoSQ-SsE5c-F_w+-2SmbMdoUG}{Kez(y*Z~}q4C;N?H?kJBzG&5tBG5T@>?;)4zgD>((+Lr{C1Uu_9G5P3mb zWhqwQO^WkFxzd^Wl&8b~W*u8?UnbS^IDZv{f<}1z$mb6uVofk{X49P93&o;)O9hUb zZLeNh)6dUCN0;JNo6qB%bK37cyTggyzx~?Tc7EUXi@QHkaaO3aa~>gDYyL&n3Fr3R z8T6ToYqi%ekS3_tyK#s|qM}Um`>PU|E-vR}>sqq&9=&XW&h_ZZzZE6!r=3p^3`9RM zKHMb4YPc&zuTBz2H_}|WUXlHHax{=8v3#7kMCyr%I>5|7$fgAhX$s2Be_R7)=!o;I zoa17-RW~J>U|Fq@pySinnXkHwT&fH-rKKV~$^ndb_Rgx!9VXol=`aBhfGyLNV+fSI zVI;sBC3Os7odFMe=Bp`$_C-G6adJwkLe^I;Gq%p4xdV&2zC@bGxu%{X;|JKzSua+R z0s*r0rI(ndQe3y23tUym{Hm$fdpX)f(|a#ekkQKr}01xpsEBEiEqcOJR?o59XBv@)%3 z5lW@3MJ{PMcAKoO`IXT5B_9=CV4n{bbQ(Ws?~9wG(83HU?QVI(MEIQcqZ|n( z`I|*9-lH2zTi|HHZ#*+JQhFDdu;8T=*WFP2Q5{|_y_s2OU&Ftvkq{yBxV+EzEyeGW z4}WFvlwY>PfBvj&#Q~yoO7C9uv;hE(peG;_quYN?%J}V{%i%c5;=M&e)i4WitOqK= zh-y!9J}-o2rr91gbL%t|`E#6FF7JQ_I=r>%EmX9Fz?A9ZFgDo+)X>q0M_ezc5Dg)#qYJ^sUP@c?xqlm^Qz8Gwpui8)CT@6AvYZ z(A;%BZyF=ZcXHsga5$X891f-(DuG1U{vl;<181ARe0pOA5}BV(>Kef7_Gc2iKImGX z69MglPSH?2cNp>KmVP3KLfrUwNOeSnXPacdZVJU}u zKLUAQ_VI7H|LmdzHU$cK?_TOx3V>1kOdl$AW`6iu=meqf;4qSZ`sD&(qprGytxu7R zrFk>A%+ey(D3`r@tREKMvL?hL^#KOQZSHwzx$Y*D%Prh$> zKU>jR{AEmU?j-x4Hthc~5$M?RYxr4K=Nl}C)7Ha`QndjH8V)~}_=#n1o>)-16Cp5J zS5(^3x@p)+oMgBE1sHSK@>dX)kYdY|^-t^cPYGy20KKtmJ(_ib5<=msolD*a2!~?Q zz_W=N14f0r0nOCCdOX7IJnh&1|meu({BwgR!<#gwxcsVNE{9O#wuVY z|GR|Y7TgffncD+JfZ@2aWfn#x$Emn~ZGc@gUm6K+(JcG+UQS$n_qs8T7%VTt;TD1; z#y+;Hpm6T|qdV>P{wsRzxQH~zb7fs`AQ!$xY3*Z_Kih`gRJz$NCTC%jagl$}YLbv( zT{UL^bK&mWv#o(PMt2KsXZ!GU$|El~>QaC$$MdJO>t@>=TA5O_W=>5@&z*bT8LNb+ zP)3)FFmTwFc?2x&;~ZqEZi@Fx$zy3C!eQQ=;}l>g4b|Zcdy{E`##{e&!|$xIRlj*n5O;?mo^D1dj}GA} z-p_w)Tl0g4$2kc@rd$(pw_qoQ{CBq>)4?H_kv}Ur(>2K4kpYBHthoQO*;V`@LpsJW z)&ItY%Z?!w1vZl{KRwz0o6vsH8X6d_s%hP3Wdj9W?{$n#{lNZX(hsCNG^sirSKLop z2~2Wb(y!cx)ShgH%TYC?s08}hjO~BNBrPV1yS8Rz2`?k`x0saE$?LH{mo26&Hg>H> zH*x&yDufOEPfyb24*Z($TlCa}GB`dP`csiQJl5JD%fc<*lFaPd67*SAukU{(m!Ox^ zf9!8|G4Ssp{uymWwz+u~;@Tj!ZByuQhQT69iPaxtZVnhYE<0Jt?<0X2^8MVVWJ3j{KxW!V-) zs}XdcV%Qd}f*spHjF9C>3yS-<8S3i38?LJZmW~s{($O)6PgZ)C&Te4osD68LV3=}0 zw(x1^?CD-geel5SxY0rj{LFCSQwJa((*^5w3`eJmVmM!!v{T3J?fxuR@a}&}N5Ow| z{R#L4n6GyeDFm5Yp}hX;6QsN%{lpk$72`E zoN2ddff3yEXw*1Ky~9uU4$F>dj~2F79t2ru&Ckql4e;YzXcF;XsT}A3Lum;{*Rnt& zKQ)a`@v_?=${BJ082tlDp5_poEqvVv-SYIsCMy26NMOM_2y@QR-dECtqsfm03URjL#hdosA;0I?T+N zg0MD|MwKpL+yMY%QXTMheG%k}YL-d+ZHqFcIz#cQ8uFJjO73NeS*Fo(ag1Hya? z^EQ@Z-de-k8hCr4nJ3ub587)1PIBkT;KQb+5=I%*@`c1D3dVP1kZ`JF#`i$NDFwzI zF%8F#0^-m?`Z#7b3%>2#nl(uJ0?mA^5dv!K?Nl=h_D4wI^#2RcO#j9F3WNK( z*|7h!$VvA9sx+erAZn z1hgDUk{pi84aO2$;{u>0Q984v0SJ%KGL9+ofKGwcYmKj5-Ody#Lgl)?!-1AJZ3~)% zDEJUVjmPo#53!vNTEO32@G%|Fq3Sli@rtC0Yr83#bwE9Be3(LA42lVPSpDa1D>lU< zrAif7ll8^J`|BYzMO-1;aRT3bYG`tjOyEm%r=I?y(6T~{^uBT4dw@Cc2F<)T%CT-= z7r}Gi#O191lg1q3c3MmSjPKGXFGuDMH~NGu1)mj5s1^x9zr5e);{R-$XIQ7nAK5F| z_80j|gZ%wG{cR;Z&i>fyiB!XNsZ1x|;c7+J{UX8s#17Y;_s<}PPi9#kCoxT5@_Z-@ z!aeKz82?w_ThO*B%I!u4T^%yDU>}F6dL%u|+K=Jyfzb{aTP@4n%VG+Nwu`Xb2wGgL zWm*ZTULkSc-_kyz^E8NKgyyd>uep@QbpC{LNbE~<%zMLCPB%46IKR8{{W=6Sr8rYw zvBuZ(ZB=5@@r}}0Ez-&_4^aXe=$w=*$omjlLYq%D{rbsykT~qqntJ&FE_LF3mSTAQTnfZ8K8swz-|{~Q*mBm^AJ3}gn~pCxbdmQ)K;&<=Eq!8tGd?_B5=huPrLEpaJalp zH?iflc!oy1I?`6aV?~egfjE~VT@mxK;fm5WYKyl(2#l9v%AFmGsEQ^1N>x1Q$mnLF#Y4K; zHixy^wS&HI)6<|_R(m3dX(jHY#D}c?IoWpFipK6)LuTa^1xXGxplz^*-*)waQT?Vf) zQq{ek=?=qLdZjCcfEp2(xMFIDSINbkLCx5<2Q2d@2wAl?uPrUUO$ORG={cyweN~HJ z^(|+q`O|nzKOcUq3X<&}p(sNR4a1S(IE7bFT5RuB39;ROs;NbG@nyv_qSG0$nThz< zX#b-z35aFm^N&On;9pgJqzC*50Gv|SLlK6V)W_eLydxPHWHUUm4#3EsKKbVZu{me~ zUi*!9>VQqxsk!rGLZBOC;R3GDH|M@A8yf1|Grj_0wAg^HFt-Pq8QTiefZb1~{NULC E0cq#-3IG5A literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/COPY.CFG b/DiskImg/hd1/u0/COPY.CFG new file mode 100644 index 0000000000000000000000000000000000000000..3d5310acb996594e037f794e5af30d815268f1c0 GIT binary patch literal 3456 zcmbtW+iu%N5FOU3pa?MvG(gjPr+!IPC{CQ~Yi&yojK)?WB`#7RC|2YuT9{h0Bo&8! z?+5fh(r@TvKO+J9BR#WAU8p2z-7-MDq;_s+&YaypH-b(4`zyE-=*C8{5&U}Lx8RRU zms-0``kaCX?>%kwn)E3JzhHIPq$?Esj@40R{bV@M#1Hcr;S0AzM$X$t6`Hq zrl7>?q)8u9@Di(TlfHzP3r`!5oAeb0ukdaEJz}B<7l`%(+M?zMST$QW8}tp)Ypiz~ zbeHJz`$V@I^exc=R<|4U9Z`wZod%r{y~OHngA~y#tnM`^Ci<{JbiYAoL_MrFTdj*f zEgs(QfB%H{6FWA~W|=BXVtE*5T3g=X#jefP#oadVX5qv<*Su#6u_&@6=48x69qX`Q zWg~n|OZE>;dTs8#FnOVEsQHo33)y{OV$BHB#k;XS;L_x<&4)Hm#h+}^qPjqI+CGU<4ow<<4K3m_pc!$a3 zHb2f$xgIN^P=mE=G60!mC69ERoOvslFz>bh!Qfa;^&$$hGunTLQ3g)jKn~f8fivj> zvxyE*87<_lD)g{W(-iyM-@LY6UcgLw{yjr))fjqHx>`Z($g{ov)FYy(oi?xUS$luO z=jjHtEM(P(qHDiO%ksH<-hP5NV z*jkVj#iYnn##OP^XB>&1im+!o)v7AN<&t2Iop@Kki3s9Zrc^-RT}_gJE7U2aG|S}_ zt?2(Ut6DxIul*7aA_zT3+t<8xxCCShCj=lweFD2+sB8fYYu-?TD72u++_zOjbKqS} zI2UCSrPWrAVjVej{MTIE*F1%Q3Ev{$I?D=-h}fg&4#eG~UWfY+yS+h&f#q@Uhu(k< zI5bJlQ2knOjg3qQb#%3P-#`}BRnHt%<|XG2YT@Z-YtZ*cD*zvwsfkr4ZnxZVyT#Yk zD0!~i9R}A~rD?nzk_4?((RDX5ZdRPr>hxOeUo}VulyaL#+E1IqSW;STpo+z7SwqRU z8(2TW=B?u`PEvQf01lv)L)qmQp>*j20^vr0|3_~}+a+3^j;o1EF8hQ1t6-L=N1n_w z^jT;tzkxo&d_QX-N+?GXKCICrlq*m+Wu0Yc*%&vVN?lxBIbz+jBsi#MlNt)r;rXQb z@nTGxXZ!ppu0gceT^-P9p&KrbeUS)JQ9=eu@NPsDBY)D@97S{Y!ZO4JHND)dG|APm zr^3@&>IPNXGFKzPY3V~I$R^noa#H$)ris72;TK@zZa>IQh&aD@fQaI7%iC?$aB<`9 z`XRz2L={+opM;eZA|AQC-dU5qT0oU%HUc8uKF*Lw&IL#lg({2kul-c~*OO&M_YXvp zC8vC@q`+T$dfKEwqkJN4Dj8cKpN9%kV53?QU{$Vvo@rYMl*(2vJSSx~WFDs&R#-xN zimdE#?(fq8r{>DerX!#yw8lnRaSp{ox_K(PCaOIL)O&_5E#209c?YsvO-H!+Co@b> m#xoQ?e|7WX_~8brOc6&z_AssW5=SL6!D(QU2#lcr_xuh16pqgT literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/COPY.COM b/DiskImg/hd1/u0/COPY.COM new file mode 100644 index 0000000000000000000000000000000000000000..87c0c2fba8bed0622684a78abd89ef27d3f4dcb3 GIT binary patch literal 6912 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 OD{d7&wMY1r#s2}xY8I;i literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/COPY.UPD b/DiskImg/hd1/u0/COPY.UPD new file mode 100644 index 00000000..3725b0e8 --- /dev/null +++ b/DiskImg/hd1/u0/COPY.UPD @@ -0,0 +1,43 @@ + 11 Dec 88 + +Some changes have been made to COPY since the manual was written. +Comparison of dates with Existence testing ON has been changed to +use the Creation date when no Modified date exists, and print +"Undated" when neither exists, yet both source and destination +disks support file date stamping. Additionally, the /X option +has been re-defined, and a new /R option has been added to +Version 1.4. Please replace Paragraph 4.1.2.9 on page 55 of your +ZSDOS manual with the following two paragraphs describing the new +options. + + +4.1.2.9.1 ERASE SOURCE FILE AFTER COPY. + +When you want to "move" a file from one area to another, the "X" +option may be used. This option causes a file or group of files +to be copied in the manner described by the default or specified +options, but after the copy and optional verify, the source file +or files are erased. You will be notified that the file has been +erased by the status "(X)" being printed on your console. To +minimize the possibility of deleting a good file when errors +exist in the copy, the Verify option should always be active, +either by default, or specified. When Verify is active, any +errors detected will disable the "X" option for that file so that +a good source file will not be deleted. The "X" option has no +configurable value, and is always assumed to be "Off" requiring +the option in the command line list to be effective. + + +4.1.2.9.2 COPY ONLY FILES WHICH EXIST (REPLACE). + +Occasionally, you may wish to update selected files to a destina- +tion in a simpler manner than naming each file, or using the +Inspect option. The "R" (Replace) option, when active, tells +COPY to transfer only files which exist on the destination direc- +tory. If the Archive option (A) is added in conjunction with the +Replace option, only files which have not been archived, AND +already exist on the destination will be archived. It should be +noted that the No Replacement (N) option is incompatible with +both the Replace and Archive options, and is disabled when either +"R" or "A" are active. + \ No newline at end of file diff --git a/DiskImg/hd1/u0/DATSWEEP.COM b/DiskImg/hd1/u0/DATSWEEP.COM new file mode 100644 index 0000000000000000000000000000000000000000..5d298c0b1e10adbcbf75b67fc03763540b12d77c GIT binary patch literal 34816 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 T|5c6uS2g}$)%gEE)%gDb`|RXN literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/DSCONFIG.COM b/DiskImg/hd1/u0/DSCONFIG.COM new file mode 100644 index 0000000000000000000000000000000000000000..b77dd0085d20f05f103012192f21f1d5917da60b GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/FA16.CFG b/DiskImg/hd1/u0/FA16.CFG new file mode 100644 index 0000000000000000000000000000000000000000..b7974d36f9365eafc8c00f30228a4a87dade2d77 GIT binary patch literal 3072 zcmcgu%Wfk@6s>lQI%&y*4Gaq&7qiJop3Gz>AApriq>*M4#|esuUB|9=muOct-PQ5< zJNN-Ug&kWyfi*t?=T?)*kMQu82->x^9baMfAS)w!NPm$Kq2F|Ir$>2eJ4}#GmX9 z+GnwNBI56GI*G;SA}(>djl~xt{spIDEWQ-+?>Jq@;wur0_MqL5#n&Q!fm0_rI5>z1 z&-t6TulqMQLpn7&Q`4qOtungh3=R$l=~U7&nT%dO?Ia1`y27=~Qo>HsPmPkcSR93? zH5!dz1)~v++}(OyNvX*+wrs33TN@2w)Gy}gqNX}GbE;(B6t-rowb3<<&SaM28w$<} zr6pShBhCwt_)j&x+^UIzKrYr+>aIauAzrGYDC`NnB1AI<^x11`V0 zE7W+$ogMaPu)i>L#+W_|vcvv_^Er8J>QdTae+&EDT*`t5m9cVcH?Qun=gtgeI-yHl zEH-U9zz%zE()FUYa`w=8w|yV>{c4=6`+u$1cUQcZwE#roBk`AbD^uL-*U#SIGdwp< zrI9J0{V~fxhUl_nCeu}mo;{;C8QEOY52u5nXDv}yq*GGhp0vI77|c~sQ0iGZ3B0qW zlQ^o=%uM7F!Wf#RKL-B051sd=eF}Wx#j2UCdnE5M0P`GgRim}i(@xUpiLB^!@cdnm z!{ajY7;g?B8K1p1L|qi$Mbz6I{J6(OpLKyg%1I~5WhH5xYPyqT&2(DG3C)$wT}op! zo27a}JTuh2>IT0@fOQGb$N|*%VQ>?f!(CI$4RJskB}>89IMdyNLdoz42N$O6?=OMC zHB@DlZcI}X-!=s@nKFdv290x51DB;2j>~0qlC3&iA#k)=$!JvxnCCSH3BomF6WV9N z3kJw!87Upw?mDMVG=> zF!JPs#e)_vd(0_&^n2{PlLR58xb16r%OC{ToP*P3!niF=Q_;Pe zNW+MhMY;%Bq37Q-?K_DZ!dFMHT#mV#g21lur9Zd}@OrPAshEACx#rHMAoGN>%FMtN z`FdA+e-I52%R*Rn*%?iplABDcW06b8f%ky*ZK8$vc zg4TGFrDa(ekcb!9Hr};lodO&zIp=UCKcus=kmz_2(N!X>gibgg5E_PInXUz=*GU3q zOn~mgW!q(0h3>d{?S=)x8hXPzyo%_=4wjxqbt%UxQ%o&4Nb9)10gm&}F9s`oov3b3 zF;A!NB!}}{jdPltrU1KwmU5oKvFjP8&PhLttJFP!dy4d~l^#RIouq@G8jEMyOz+dm zq5!2<6|gRGD>f;#!JQuAhZXOPpe*Rp6#Vzp)A-G$bPe6(!DS9Oz>w!dI7woku-Iri z3K{S)4_0Z;(X{LVPFg%`cPr2dm44h-gs@jLld2{RF4F{e+&HTdHDy%USveDKp gCUuhKR!O(S8mrZT&3mi6@zbEYgG!u|_}`zu0V!{R{{R30 literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/FA16.DOC b/DiskImg/hd1/u0/FA16.DOC new file mode 100644 index 00000000..08b46875 --- /dev/null +++ b/DiskImg/hd1/u0/FA16.DOC @@ -0,0 +1,264 @@ + + FILEATTR + Version 1.6 + + Gene Pizzetta + January 18, 1992 + A ZSDOS utility, copyright (c) 1988 by Carson Wilson. + + +FILEATTR (FA) is a utility that allows rapid settin, resetting, +or displaying of file attributes under ZSDOS, ZRDOS, and CP/M +2.2. Several additional features are available under ZCPR3, +including error flag setting, error handler invocation, an +enhanced display, and better error detection. + +FA will not run under CP/M 3.0 or Z3PLUS. + +USAGE: + + FILEATTR {dir:}{afn} {{/}options} + +If a DIR or DU specification is not given, the current directory +is assumed (under vanilla CP/M only the drive is significant). +If no ambiguous or unambiguous filename is given, all files +("*.*") are matched. + +If no attribute options are given, FILEATTR merely displays the +current state of each file's attributes. Files are displayed in +the order that they appear in the directory. + +Once operation begins, FA cannot be aborted by the user. If a ^C +is entered at the keyboard, all screen output stops, but file +attribute operations continue to completion. If that was not the +case, attributes might be set on some entries for a file and not +on others. Nevertheless, suppressing screen output speeds things +up a bit. + +OPTIONS: A leading slash is required unless the option list is +the second parameter on the command line. Options may be +separated by spaces, commas, or nothing at all. + +ATTRIBUTE OPTIONS: These options set (turn on) corresponding +attributes on files matching the file specification. Attributes +not specified by an attribute option remain unchanged. + +If the option is preceded by a minus ("-") or by an "N", the +corresponding attribute is reset (turned off). + + 1 F1. This is a user attribute which has no predefined + meaning. + + P Public (f2). Under ZSDOS, when this attribute is set, + a file is available from any user area of the disk on + which it resides. A file cannot be made public if + another file with the same name exists in any other + user area on that drive. In that case FA will issue an + error message and leave the attribute off. + + D Inhibit access datestamp (f3). Under ZSDOS, when this + attribute is set, the file's access datestamp will not + be updated, which may speed file access slightly. If + the attribute is turned off, normal access datestamping + resumes. + + 4 F4. This is a user attribute which has no predefined + meaning. + + W Wheel protect (f8). Under ZSDOS, when this attribute + is set, the file becomes read-only when the wheel byte + is off and cannot be erased. If the wheel byte is on, + the file can be erased normally. + + R Read only (t1). When this attribute is set, the file + cannot be erased or modified by most programs. + + S System (t2). When this attribute is set, the file + becomes a "hidden" file that will not be found by most + directory programs or by most well-behaved utilities + that accept ambiguous filenames. (FA must find system + files, of course.) + + A Archive (t3). When this attribute is set, it signals + some archival programs that the file has not been + modified since it was last backed up. If a file is + modified, ZSDOS and ZRDOS turn this attribute off. + CP/M does not fully support this attribute, however. + +OTHER OPTIONS: These options affect only the screen display. + + Q Quiet mode. Console output is suppressed unless there + is an error. All other operations are performed + normally. + + X Screen paging off. With this option, screen paging is + turned off. The screen can still be paused by pressing + any key except ^C. + +ERRORS: Under ZCPR3, errors will cause FA to set the program +error flag and to invoke the error handler. The error flag will +be set to the following values: + 2 invalid directory specification + 4 miscellaneous (conflicting file, no files on disk) + 10 no matching files found (no error handler) + 18 Disk read-only + 19 Invalid option + +For error code 10 (no matching files found), the error flag is +set, but the error handler is not called. + +In addition, under ZCPR 3.3 and above, an invalid directory +specification will abort FA to the error handler, but no message +is printed. + +The following error messages may be seen: + +Conflicting entry, can't set public attribute + If there are files with the same name in other user areas of + the disk, the public attribute cannot be set. + +No files on disk + The disk directory is empty. + +Bad Option: /o + The command line option shown is unknown to FILEATTR. + +Drive R/O + The drive is set to read-only by the operating system and + attributes cannot be changed. + +CP/M version 2.x required + FILEATTR will not run on this system. + +BIOS write error near directory sector n + An error occurred at or near the given directory sector, + which is expressed as a decimal offset from the beginning of + the directory. + +BIOS set track detected - FA aborting + A background program is attempting to modify the current + track setting. The background program must be removeed + before running FA again. + +Not Wheel + Under ZCPR3 the wheel byte must be set before FILEATTR can + be run. + +CONFIGURATION: While no installation is necessary, all options +can be set as defaults, if you prefer, using ZCNFG. The +configuration options are fully explained on the ZCNFG help +screens. + +It is best not to change the name of the configuration file. Its +special name assures that ZCNFG will always find the correct CFG +file, even if the name of FA has been changed or if more than one +version of FA is online. + +HISTORY: + +Version 1.6 -- April 14, 1991 -- Gene Pizzetta + Now displays target DU and directory name in summary. Fixed + bug that caused "GO" to be displayed as program name, if it + was re-invoked with the GO command. + +Version 1.5 -- March 27, 1991 -- Gene Pizzetta + Now calls CP/M version checking routine (it was there, but + it wasn't called). Changed error codes: 10, no matching + files found. "No files on disk" error now gets + miscellaneous error code (4). Error 10 does not invoke + error handler. Not released. + +Version 1.4 -- March 20, 1991 -- Gene Pizzetta, Howard Goldstein + Code to check module data byte (S2) was replaced by Howard + Goldstein's elegant solution which uses a "true" extent + number: ((data_mod * 32) + extent). Entering a ^C no + longer really aborts FILEATTR; instead FA immediately prints + "Wait..." on the screen, turns off paging, turns on quiet + mode, sets the results flag, and finishes what it was doing. + All this is to prevent unexpected results when only some of + a file's directory entries are changed. All errors + including a conflicting file found during a PUBLIC request, + now set the program error flag and invoke the error handler + so an active SUBMIT or ZEX script can be aborted. The error + flag will have the following values: 2, invalid directory; + 10, no files on disk; 18, disk is read-only; 19, invalid + option; 4, all other errors. If no matching files are + found, the program error flag will be set to FFh, but the + error handler will not be invoked. A few other code changes + were made, including a check for CP/M-Plus, under which + FILEATTR will not work. Not released. + +Version 1.3 -- February 22, 1991 -- Gene Pizzetta + Corrected bug that caused faulty operation on large files: + The module data byte (S2) byte was not being checked, so + such files appeared 2 or more times in the directory display + and the public routine was often not finding conflicting + files. Added configuration byte and command line option (X) + for screen paging (paging is suppressed in quiet mode). + Made quiet mode responsive to ZCPR quiet flag and changed Q + command line option to toggle. Usage screen reflects + current effect of X and Q toggles. Attribute configuration + area changed to be compatible with ZCNFG TOGL3 routine. + Actions of D and ND options reversed so they work the same + as the others. Added configuration byte for printing + summary line even in quiet mode, as suggested by Howard + Goldstein. Removed blank lines from screen display, + allowing three more filenames to be shown. Removed tabs + from usage screen so PRINT and PSTR are not needed. + Eliminated leading zero from user number display. Now + prints "file" instead of "files" in summary when only 1 + matching file is found. Ditto for attribute(s) altered. + +Version 1.2 -- November 30, 1988 -- Carson Wilson + Fixed bug of no program name display when FILEATTR's name + was 8 characters long. + +Version 1.1 -- October 30, 1988 -- Carson Wilson + Now wildcards the command forms "FA d: /options" and "FA d: + options." + +Version 1.0 -- September 26, 1988 -- Carson Wilson + If a filespec is given, no leading slash is required before + the options. Link with version 4 libraries. Removed /X + option--ZSDOS 10T always closes the first extent when a file + is written to. Changed summary to read "files matched". + +Version 0.9 -- July 7, 1988 -- Carson Wilson + Increased length of search FCB (AMBFIL) by one byte. Set up + AMBFIL as '?' + 35 binary 0's. ZRDOS and CP/M zero the + drive byte (FCB+0) during search next calls, so reinitialize + it to '?' before rescanning the directory. PROGID now + prints stored name on GO/JUMP. + +Version 0.8 -- June 26, 1988 -- Carson Wilson + Use SYSLIB PRINT for help display. VPRINT does not expand + tabs. Now traps disk track changes at the BIOS level. + Allows '-' as well as 'N' for "negate option." Auto- + wildcards FCB1 for attribute set as well as display. + +Version 0.7 -- May 24, 1988 -- Carson Wilson + Cosmetic changes to help, display. Made public routines + faster by 1/2 directory scan average. Consolidated file + attribute setting/resetting routines for efficiency and + clarity. + +Version 0.6 -- May 14, 1988 -- Carson Wilson + Changed "Publ" to "Publc" and "Priv" to "Privt". Added Q + and X options, made options installable. Added test for bad + ZCPR directory & chain to error handler. + +Version 0.5 -- May 4, 1988 -- Carson Wilson + Fixed bug at CHKRO inherited from MAKE.ASM. Uses Bridger + Mitchell's FRESET to reset disks. Uses ZCPR invocation name + in signon, help, etc. Added F4 attribute. Now includes all + valid ZSDOS attributes. Help now fully "smart" under ZCPR. + Reworked VID3.Z80 and VID4.Z80 from VLIB11 and moved them + into FA.Z80 (see end of file). Put STNDOUT mode ON by + default at beginning of each attribute display sequence for + faster ZCPR displays. + +Version 0.4 -- April 27, 1988 -- Carson Wilson + Tests for matching files at other user areas before setting + the public attribit. + +Version 0.3 -- April 26, 1988 -- Carson Wilson diff --git a/DiskImg/hd1/u0/FA16A.FOR b/DiskImg/hd1/u0/FA16A.FOR new file mode 100644 index 00000000..e9ed3d43 --- /dev/null +++ b/DiskImg/hd1/u0/FA16A.FOR @@ -0,0 +1,6 @@ +An update and bug-fix of FILEATTR (FA), a ZSDOS utility that +allows rapid setting, resetting, or displaying of file attributes +under ZSDOS, ZRDOS, and CP/M 2.2. Several additional features +are available under ZCPR3, including error flag setting, error +handler invocation, and an enhanced display. Version 1.6A adds +documentation; otherwise, same as 1.6. diff --git a/DiskImg/hd1/u0/FA16CFG.TXT b/DiskImg/hd1/u0/FA16CFG.TXT new file mode 100644 index 00000000..4067b9ba --- /dev/null +++ b/DiskImg/hd1/u0/FA16CFG.TXT @@ -0,0 +1,39 @@ + +Option Q -- If the ZCPR quiet flag is set, FILEATTR will always default to +quiet mode. To make quiet mode the default at all times, even when running +under CP/M, set this configuration option to "Yes". Whatever is selected +here can be toggled with the command line "Q" option. + +Option X -- A "Yes" will cause FILEATTR to page screen output by default. +A "No" will default to continuous scrolling. The chosen default can be +toggled with the command line "X" option. Screen paging is always turned +off in quiet mode. + +Option R -- As distributed, FILEATTR prints nothing to the screen when it +is operating in quiet mode. If this configuration option is "Yes", the +results summary line that gives the number of matching files found and the +number of attributes changed will be printed even in quiet mode. + +Option S -- Enter the number of lines on your video display screen. Under +ZCPR 3.3 and higher, the number of screen lines for paging is obtained from +the environment descriptor. This configuration parameter is used only if +running under CP/M. + + + Attribute Configuration Options + +As distributed, FILEATTR will not change any file attribute unless +explicitly commanded to do so by a command line option. To configure +FILEATTR to turn a file attribute ON or OFF by default, toggle the +appropriate configuration selection. + +For example, to make FILEATTR set all matching files to Public by default, +change the "Public attribute" setting to "Turn On". Then FILEATTR will set +the specified files to Public unless the /NP command line option is given +(which would cause the files to be set to Private). Since there is no +command which tells FILEATTR not to change an attribute, however, the +program will now insist on turning the Public attribute either on (default) +or off (through the /NP option). + +Most users will have neither need nor desire to change the configuration +default as distributed which will "Leave As-Is" all matching files. diff --git a/DiskImg/hd1/u0/FILEATTR.COM b/DiskImg/hd1/u0/FILEATTR.COM new file mode 100644 index 0000000000000000000000000000000000000000..4527d090a1a012fe5c9c4921aa301b86ecd061b2 GIT binary patch literal 4096 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 AU;qFB literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/FILEDATE.COM b/DiskImg/hd1/u0/FILEDATE.COM new file mode 100644 index 0000000000000000000000000000000000000000..11b836168de7354b0c5c4f6635fd70a198f5f3e0 GIT binary patch literal 4352 zcmcIIZFCgZbu;@h+L_s%oq20ub`_(yJ3e@{3zCoxUMA8CeSmCZq!eLjEel6B3s#X3 zUda{$yf{7y38zid=7-~R@}r!SlhZWECz4OFH@Gg<*Qy$+FGVDxKx4-nvTEs^aV=^Q z+c=}%w^G{UAN|=8dhgx)?z`Xjz9%N@*ry)a)pmeon9lZ^mbQ*3>l3L6^TjV3jqZPJ z@2*WPjr%*FXlmL2RBBySl~MJ*-|S;0UU`fqUgjU$`Umk-$(pJM?15L&)>l!SXJ5Xk zhm2!PP7kD9C11EaBhXX=$|B2yD&(Y@x@zx#59k{tWGXUfVdwO9C2pD$^A0O;KX#@m* z_hV1&0$q3E&ch73B;x`ZI(0+2N9&fNccSivwxg_}p{p zfdN1?uOXTGH$sL(63XDLavk5Jm19}JR zcb(1p9j6g{*>#Ls<}_oTl^MJFyrBNdX~Dd)fvv7(kowO~8vrT*EK(<&j#exfVSrp{ z@Z?se)W?s?c|RO>;hm0AvwD;}px50dL1 z-9sj1SJtVT*x>!YvG@zL7-;XV)RvXlVEtn!fn|+ckmo)-RojeC*R~+_m}BTNWzPY7 zKxQ2S9|Zms)lN}B)2fNt+}OO@;KX&e(=c{06?dH?w>=}Kc3J=2gqY4wxgo;g0E&?crg_O=*}hGG}R z*t_B*(Zw=yS%|)08b6|=;YF>62aW0*jPrsc!~NH6n&a8+$fi7 z(AlBldxiIg{O=7(mZU(&I4iRk%E&uj42Uhve$D|;zIaGGpk-Tgrz#Gfu6X8TjceM| znvYhY)33D-Xs2Eq)tfU=Yf_Z5cvl?Z&Ysic&oAp+zEE^&Dn*i|lyZ;8-&M|fnUS}#VmH}MZ|nCZ78dgM==gj=vzq|zvC8ey!u~Gm z?V`Phn%z{;RnA{rAa4ls1$>D*z}mjTi}tAc2INdm4@JKzI0?v-Z_!5dKk{PR5E+%g zn33A82ofs?nTR1%4G!|G4E?Bf2Q9!9s%=2gCPe;>FLgx>-)i6G`PGKZ^BC{#KiqR< znD6L0Mf)w4ioIk^Ox1HT(M4Es?mXEjrnYcFfXC%KtGu?rN89bRI0Dk*+t8Xtcn>*5 z`(A+OnYdW;`Bd;2?m5oH`88;@cVmX!lq?z(x_=~-P6rrpZL3j-E=(|tefm{ol8v%1 zI&S^nNR15B2f%vvZ_7Z~To(TkD=@s_0(CtAHB&F>kAvs;oELa#fBM!0cp}HSbrIWaK1pE5NN7B>?2W8)3S*~4jQkQ;W>G7 z6HWY5XpEicHBG}2g8?J%16;yr1PtaOY(^7$P4|*d1=UTOg@n-n)_I9nPr0N*o<3(GNj zK=&xGK<#`TqL`L7G8dE>1B!>U+L8W? z^Pm*~N+lD9>m)K?$eEy{xsWefvGrBP+UgVthV6f$pxDFwde95RzZE{=m)NGllHtpQDpG%nduPn@I`y z=k&1M2|Q-e$v1ULq-GT3(nBX$wj;Q zDqNRWP#mUxv8yOq1jiOEpby7>iSp#z(s=SJ+{IT>{FjK-OE=VcDseU`feAoQt-6jt z;n+>+&6F2FH&GTX{B!~z||CRBT(lDFWuEn>ZZv`}fH{Jg+Vz3+ebtu}491xkIj zrx>3>w@fIzWvK!l1e&I-3)vUw4{V3*4mG5$E+U~Ns5CPVgns&Vs;Su~mBYe{t07># z5ZUP4kYwEl6A%X9sr&Jr`H=b_^F3cR)`hOQbx&nI{@hwBjGM{_sPuY~!f^N*sR~BP z9sLdB+_|}p3He?C--&;K)L(!g#Sh819&{>dS*sF0tFR2E#9IpE3YYjr*N4spgTciL zc&LSq^`X+b`iK1`Ny`hx{GUje@bVu^5{%<&2v8uGmzOuLls4LzS_|__VE(c-GQ|4f za#4riF=Q=)rMJjz5InOiF;F%7Lk_Qh$xjZ-PC&OEK@T`(@L>1hTf;g1*MWfgufvOF zttsDMwtlUBt*xmuOW>{run(9mrvlI)QUVN6{oCb5)?sJz(68I?t_+Wx#VUUCF&Ux& zFXJkXJStZ&veetR^9zQHIZ6)5^Wz2cHtCgT&&$ipsY8^{^v)8u#j_5s2|CP-Q#RxH zW*lM037Glz5n#J`wpit#{EiH5w7taVuYu1JFv=?o{9RO&Tz{>`5o+Y(v&Skc!~`GI;;dBO;}7+dos6iuv}%vw4Eby9~Ji literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/INITDIR.CFG b/DiskImg/hd1/u0/INITDIR.CFG new file mode 100644 index 0000000000000000000000000000000000000000..96baa98657a97513b17249dd40b51c8a43ffbf81 GIT binary patch literal 384 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/PUTDS.COM b/DiskImg/hd1/u0/PUTDS.COM new file mode 100644 index 0000000000000000000000000000000000000000..c0ceba64c60b85f2ad07b98694b6f5158529ce22 GIT binary patch literal 13056 zcmcIr3v^S*nZ9~m%Q7|=;w2l)_e!=wGT25aCb&TmFoY0Z0YXUg0AmXf7|BR-jKL0R zyGfdp?4EYF+db)K(??FzJWdZy)5JMRyoq(!EmC`%$US5!X|tt?XtGMWkc77MA@BFk z+$+gIdV0>DHPO9uXa4zL^Upv3{4?>1!X-garWq7LQ1_VB7p=-Mvk-W(?6oC3`;`GR zzLc+;m0y{aakKJ@MOkN245A{7%1tKaPLp!LtlVO*(f`ig<=NrM`eqrN_jvY3Q~1oz z7D_+0)<{VcE2BPFUg(o+68MK~5KcCyWI;ITNuhk2l~1$sd6W&pADUBkz|^MffN@ay zG%KHG5rZzSF@@qpcrE*7KdF|L}DmV1fYr`+&_4G#{7>vYo*6NkP91H%^;qjJhck2HX#K6n>UUjOe)8hroXtn(+@L&REa4>wMwN}m zp_fiGQRmg2JTX+iZ@50HoHOR|g-B^QQ?glD#)d!^1*Os?TiMgbp3~T~iao38 zY2P9e{J2llDytDM&q>1Js|o-!TyuqJ1;3FgKt2*lsfA^Aj(IrSzoQe-6P8H zncRCt`4_jj*NMTm{CA1LpZUAQV9LK+^mmJD&~U;Z7ySt_SnrRCL6iS(Q5JsUUMb4e zg1b|cR|@V`s4=_Oid7Y=MHms%DN~gJCHY>#eyMD&=g3I%7bXn5(qZPT{lau&hJ2|E zRfZw!34d6;$CH=RADc$f9p=0{S#Cy^Vly`n8%;w-lj9x_HH_cT5f(>|jHO!$#%`v5 z%>(F&a&x=jQ9d@E5^LqR%TTr?SDMx9!FWXUuMm9)#P=a;4rZ_Z(dfjm);6D*q3kxx zXFcvVLH4}w_6sR_axxXHzNn6y&pd37HVIkvtLC#8mgmco!)B%2pxR8-G+@3*^&8Ha z(=VE{s>3v{zGBH$RYTaZv+6a5b|F6roxj$cy7f)#>3sQ$)2DXL7QmC!>AdHhVQJ>* z$rUiV?^v>qn%aCvP)PpXT%$f_d2^-1G2jucYMn*B#!{1SNm?xq(S*+v1NNDMbHKy? zWyVtDHF;lfMS7*BMt#_FCTJO;p>|ou=<~EgxyBNd21tAhK(ipEK5v=WXE{|RxhBD6 zrmU>Ye^@*_rZgEu;nbULn~yy3zytT*`?(t&H3WIUl5b7lZ^A zWWEEx={mQksO?#7+gl`&q!)tRoE{%>$lheiJEVS42_QJQszfF?Hm!#=M z()f}%UpjnGmqrIm2K_l?E`OnY4{vX9b9@bMGv~{#!K0q^rjL*0;qV55>&@K5zl8?= zu5Qruhc~0wpvl$1;T;W}&mQ4WSNOO4gm@^?e}2CZj)Xr63;RNeUGYTMCkF&P6CWQG z4n^+{?b;jus29)&L%ZU=|8qzMU1B ztJG}{^_d3cbt~*xp0sA=^MS1TVQVHMPb+uN42-1~;cwmM4V^7`3$iS4zj5Q5rk2j@ zw+n!uBm%Mo=QLW80X_D%_XTopG2jyek>Pw+ecX`S9gZIxN#9vckn+rHvT`4YRJLV6 zg=+A{$nqM(a=s$7I~*AvNxxi<0m-UAtjr8OpM0boqmq?Ps90ae`}(Zt3yd6_@3X** zzO1HyekO;`%P!?ev_ErJjY9be_%7eHfW2IBMuz>~fX^Ek&QB)uguJ}n>S-6K)uy%X z4ih}oC)ocm={&R62Jj}qey=d}t$o9fN5NI2O<8NBz6fm`vF11f@Dk?TVXaCr+kgS< ztu04uBIk&YjyxkkODY>6yH%iNIaA=PSnD-rW((>^#sc9cVJuaYi*xCl5pY)rh!u@z zW7gLm$fzF}CcG8I03+ZWtLiHLcobkvJkUndwjXe3kc#86`;P6ffeGvM19;H_Zu2Nht8q{a|0n1&&)MB%PB z41W4whz~If{qfN+vQr&^R-C{GOdcRqc7q4wWojmiV{_m#w7(^^<}9-^GAh!kHZoJY zfF-$#b3^PjP2>Gwkjxm1V}W{GR-T6X&%?rf9gHx7n*bC*gG;=XLkXv3n+{V|umKIu zYs?~?;TSRnoq>Z2t?~*b?+&+Dz;r=euuo1phvu9yRmx()C~I>O4DfNyYO^%Bnr%*P z$*5UF`uEcmQzg@HE$mtOE{Q5Aw#pK%7Dm{|wh~pWdE4OzpaU^?7udn%!11 zQuiGJ!s-4jdvW7`(CEG^0H%~5RB2`maJvM%76Xb@RaDKdD}4u;NnxMyv0>u7RrFc# ziNI?FiW2j<$Q_>zzRf_qXzGNat>*$)Pe&)Ky*}W~`ZjQ5%{a5_4qIk;MEy5I?rglo zT9ltvkyQ~A0GC)MbtQ~W=5B7T22PQ1k_)+Ey3$cC?}V3Tnq5`_^Z4~lbzlKz0P`{T zPnSd0S@l2L;IYkYayX7Ym;AzXHvKUxm8Ygdqggoypz6h$DNtylxdtc(LaPUx=SKjS z@nGE2)7h*60DMqZV*`t!LI4HNbAGyP;b?gG0e?n5UY(T#;F>Lm#HwcMS@{~&K2nYT z`ea5YqbA;?cK9t)w@@hF%w;_kKu6xKtx(zmOLwmyYNs+CQwhc5!7LU`b_1z^j3S%1jxs|mm|5=6&d z4bK6*<=za-3MltYsl{^GBq;x6$A2(HHqtrRyS9pQ6%@TpLFBbFfD+&om|!-x3&pUc zAn^Pdy1+FAUCsqYT~^&Z1EUK+Uo(UCCb>(SFU?0Y@vhC#*X;yG#@?aPWg(2NjHm4- zEOST16)-V_I}xC_k{jLFGOlQ zh*2JN*pDOV1kB6;X`19Idgn`!>H>8jKdJMDbq{=_lGI)jJp4O_{^c$qjvNz$37s}d zp97l3GpRKj$!e6FBbgKXZgmnSE%>m^WP|`k_zO&Aee3unJ3bS-;t?>jPv(aBI8OA> zl*_n<>)2M$gyvBNca(#JVn$yG!nbeSf_1GB<(r4*s3$PF;r?hK@ueEh@-S787K^Z1 z*#WfQ^z(@45_crK8--oQ;!o~wOIO5Lfzn)hh+}4P7qLpZpiUnlJZjX~C$!|+ zo}IG~B)6&=@X@9GueS@*^zWoVlLAO_0yzJU*Bxy@;zi&$@wl~zBkhTrR6QM(Ko4~tE zeX&qqS1c5#!rkF$f4p~a(cWn6P*)-m>XCZF@q=**-%?k9B8tjzx768{2yIJr9qJ25 z_O%GM8xvAre?xn7KrAVkd6pwes z1{X@$cLt96=Tf9n z9%lij z{vW%>MahkGLD3bsTDu1TJJZk1$#o<29fEj?$hQcqpx1(fwy#pGROt5|Af>4m)KwU)^m1-&`!7$;alZ zOXvIMQ878!=hWUV{+9m>)PJ)eGYl>Ze)pEh!ANu!CnR-A+iu$igJveO&=!q^(4i|K4TO7prARbEFfii2-mXEI-kw2*uJgvN zmWu(>a#%wIOU=7~q?Sw`#O`=nJCuI{dJClFMtg+Klg7 zRPDiUH>z(aRwJy#?kX$ar&sxQpk^z6+fn<1UYlVt>K0UQLiH!b>iwwNi(e0_{qqXc z)}v}Ioc2L%qp7?O&3%Pt`DtF%JbYEa?WfqDt=qTO`1}En2Q|&j%(~^DY5jD+-drR9 zoL5n@p;BOhPnOCRC1pxNz>@TAg;p#pfv}X6%>`%=GiT~oC~!8W)sb{Lc{X=}HXCzf za4-p){N2p^bVyQXEPQte)`8Xq{qaytYV7gCQWCMQ?t^i(7ylXqJyM)`IaWuXJza?| z9e}>2L^RRWE7@E~Z#KIwTr4A5Bci(@F9GrA0b~iwaToZT^DMJ>8AC76eB-m`*wg7(Bwsm-H*eFSBcH+^wjUHR^xPC($Jr<+qP1_`C z^V+q7jrDA7^B*BDE_(szRhzYXT2PAdM^G3|?x_n3ucRAY!K%?@gq7P|LDOjRC@X)) z6|{{e?`P!=uApHw`H!r8&=oX}CLd$vAy?2mntYm-|JfC^j3!@TN zveD#ES@{)L&^nqt!^%H$17&WntekfRt4EV=RxYnsX4cCM^~`T5_4V?aLJ?~qGFEZ^ok1I`U=Q81$p5Of7MkVc zW$^O5T7_(tbRrzHn}1VR`PxF8d~2~dR4jg@SbVWqOc#rpV(~Y{;-8AeI$0+#FD?|- z^7#ml$_jxBCPXZBxF54GF0J0ux>54C_+`P?AMe^1>X29%CEdQLXF2mRccQo>6x$Px zhp5Qor8@PMP1;|a(0>JSZLa|Q?x>%?S z7-F$#Y@x(w6i`lq7>I=vp({Wrf{L>cO=19x`eM-p989QZ1$wXUip)rjY!E5Rmh z49B}$xC$kC5kdp$5Cxw5LegL;0XM+2hkCq@^`EC!Da5A`vJmR1?H;*aU}2AYT0pMV ziZcSNOF2F%#p)X?5|<9+RE$hU|-tG z>T&M~AcU}+SvuamlG?D4p4i9t9`4QnGD%vp-n}+}ums12UW!4m=kRJdZi-!|wmgV9 zg2xk-U&AJ4=y@EDWSs6`fCW4qh&6B??7l95Tx20DxQf1-?MB9n$Gt9qIHXx`^|;pu z)c+`VZ(u;h+D!o#>ul06ZV9NZ4O;ZXY3!!tB|BGfZzWkNT;eU;0~B7NJNwi*cJ~BW z;|@zc*`SSK=ujY zE4CGHc-SUwR)d!N(@zl4<@^2&KWL)EoGeA~dWM@e6G2*j+~qFmPf6bFO%sY z$}VtQYUfxNJ43x8@&WpmsI-~ecxlb$r(&Amq~Awv8TTGiwY!%_XWHXi3-f zu?Al+?6wy>4t=k1GgVRW%aXp|Vqe(EFe!>+6f%MjH)Z8VnzCvdGm3JcKW$*g2@shL zJ91*hY#4$?raByHeShEZb5X9kf<{ZLX^)ZiHB#OS3cp&n5{*9r9`x*K$yih8X&5bf zWA?FkmEd%(h@WNuC_!5=7&eBwanP>PzEd|E+Bbc#Q9cZ{5DNCs=Z<4XM z(h?QOgKD|%8W@#ewTHev1?K}1KH>M;z1~E2isFcW}zy85WS z3T7yev9U>>&d18fwr6{qF;^k{8@!YhPD|l`?4(sO3LyoLE-ItlVyG~zQz%`bt zymf!Ld%x7fwjH}Vtky!PD8HZ~p`1Q>ebrHk#Oqxcb^6_bAI^N~Co3Ehd0EP7K?5-? zK@=)Tf+W!ic@M(#!kX{zSxKHt9Y9L}Ekz!dE#Lz(g$EXa=?^RU za~z(p<&ZiHv=bu5OH)|j5dsDAoDlXr(L-0E&i%+=a~p3jC^GhMmm4MN2XG2fjnlKua!P(*Jd$0AZ13c z@{LJP3!O#fkr}NGE)#=WK$p7^( z%nRw?E>b>O1V+D2TEbcJ2hAjLVI1388_f*{fMAQ~p1~+!=&YMeyxpdl7qUXNUa*oZ zEM-j>1=z5Y+6i&Vuw;o?R(-XFrvHh36w5LE%7+U}**JBTu7D#F8W+?7%AghQiwj9R z?I&rluB2Fc`bc*B;X=svIIQtf!oVDO2P+ZUB^=)lz< zx?^xVY4p3K(Gyv+3S#2gMRJ>QgEReBVqwhm26pQR!gwD#&7NwjzKT2J` zUW%r4#At%ae}5&8M|B+Fiu0GwU5&q7DPkm0<)2@P>pdOUQ;QU-1(plmic&GRg#fkX z3ONAF<=A{B_{uB6H|yX}_&AN6{GH-K1iMGYJ&OJ7q*|QhoO!rKa~SsfSk+U8QfH;N zA!*IQUoL=udkQ$er3I1T*Kvx;j(RIwQM8Z&lUq4OjrQN+eCv-SOPRe5{>VrmW%i{w zl+@4nc2X5gyod^W8hlwatEc&TIRvhI66T5RG;8+uGUSHQ1G+y`LZEYWZZ!AT3 ziYtyhn`~K-GWa37$n&> z=)5T{!H`IjEg}|9?20-Li?~HxHQRoNfDX7goSz&^8W#sEaa&obGtmAEuzdeT9Z#qW z4HNZ?gElnc-a2U^H?FoCG(6LR1Q>!9>F8oyZCAa9j;-RzY*YI7#mi?~=oy@rj4qyC z2KdhpcqmE-7(@l-6n>m4X$Cq0sbJZ}KP*P&7|3Pqvf#vkLPZ_h#gX*L;^oOF7dw@a z#bDx8R*fvdr3^GW-yy&ZMj6-tfQm4A4ep)dj$qlD!~Ub^%)#>XVgLA12+pa{C3M=T ziEMzA^?uyb)`*?*?G!yA`c4kl?9Wcj@nh2XdPT5`6O655Hdj>xk{kqzR9!J)Yp6%=5S%L$J1^IRuSYJ2481TJaorSoaE5XECI4kDE?p>VXR}9#TP=gWZW1k*|4O5k~+zD z`nDUERL!{>e&Jc=W<$qOF~2_fIitG9@H?aOkTJhH`BnB|R&O>8;&%i<`K`&h7PZds zyVsPCh&U2WuUSHO-kXHfI5WL5W_$S>IL?#Nd}VU~5?HLuMohQZ0HsJ8s}skU=)A*1 vohFDw_uM@gql}Dk2Kn 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/SETUPZST.COM b/DiskImg/hd1/u0/SETUPZST.COM new file mode 100644 index 0000000000000000000000000000000000000000..35e4b5893b722ae52ead1900011c8b40d0d0d70e GIT binary patch literal 7936 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/TD.CFG b/DiskImg/hd1/u0/TD.CFG new file mode 100644 index 0000000000000000000000000000000000000000..ab44bab9d44838b1af78092d43cc2d2e46a36243 GIT binary patch literal 384 zcmaivF;BxV6ohTD5KB?#ZZ{?pO8)>GuWX)3hm0<9QcI~FC9Y5hejg)$iRV-uP*pg4 z@}1v(@9ROPvzEF1mQvB9SPA(oKV_~|mSteogqPqu*PkX6UGR%TWwQPiXYXG@ZXO47 z2AODQIFIdV3Zpe11yQAS)ig`ZZE*L7*DxJTM4|PDXmd#lE~^g~!4GG=U!nH{zl;ez zb?`cFhCvK{&qfR|L$s4;2JCJ8u$DJ$FJ#X5h&(R=roUWUXdXlKgoahZ`1ThylD$~D L>X@*~mH10PTKHJ_ literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/TD.COM b/DiskImg/hd1/u0/TD.COM new file mode 100644 index 0000000000000000000000000000000000000000..552aba678865288f446c7e45d8aac620858940a8 GIT binary patch literal 2048 zcmcgsO>7fa5MIaFyLJ|L`z zkOgWbk+@X7^Z=9}^@gloN_(hG4{ae92sc_3s!~NoIark~Arz@rWy%39owu7NK+{8e z=(GGhZ)U!kdE@zBdA)6POaIV58$tBHHykCF_@@c|3TcFATh`H^+4MX`f7`-(Z6(G|Z?VI1>C_@sq0=_s?_@GD zJbb{9Mw78b5{VKTjbR}pBZ)tzW+Xn16cI_PfRqVP<|T1l;&T2rcZYi=V$`QQam7n1oG!UF=ra9MF2 z<;3)Iw$zv?C>cQ&Re2@EYPRRfL#Y+ltOo7Dcg*F&>2z4r(AdNTo6E5>L|H2}?$Yo` zpH=TFDD*xoGw(lvBtFY2&@zciEbm;{wc=p8{;xNMeB`~7%q==;z3T8?QE{_~;42uiB?yeKIs**{`A7nwaqAG22v zQAUzEsh3FoC&w?eLqF>L5%&8e40(~+pnIHH3GyuboH1>6lK#d4ldgY4>32x_5+(u0 zf8{KX+AM)RM-^vBZJw8aK_#?-y-YR1&=>&W8uK99rq58m1;8%@?vR*4^q2$L>1}3c zm7>q%pzJhpYsTW;4CY;tc?Ih1eHV*p4-^~O1+_+>0&j6n`ji8Bcz!v=T40Z}_f-?@ zf!jn}dYyzjl=rTq5eBhmsnQQ0t@C|B;&%5-5=;*aFYu0oX6ID}y4)`)(0WBobJ|AP z;t>;%hhwqufdfGnt!ay_Oh4Y^0&rR#m(smCtD!6qhvSR;jZT#y* zp>#Wd6a0Z4Dp#FTiGu|rwDo$R0NNe%b#LuZCRhswZ@3ap!WE0pJ+AtGoix_>w*2he zZnVzV{8yZ3#3=FcxVHVfs+G2N(&(7ij6?IMj6;>$+%>;l-AAa2@1-3xbE?%%^8th)D%`0!+D>vi9Q zf`J&j;kq91HI2xE!S1NkfEAv@K&tJtpWC6d`qbugRJDS&DXhI+zGtubFHpxq`H)<# z)chBzeBf9B#OBR=wP*-ZgQ_t1eLxteeNS{m(U+g%{Sn?jG;6Egz0s(6!maJSPnL!? z-~OAmPM2-q^w*P&#}*`91BJj5u~3?1?A03;I!@u&36mwR$_hHnqZ1Q6pZ#kv&9@Uj jO&(X-LC{k~wD7XW4V6aSxS)fc7LcukHs2!g|E)g(%`&K( literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/TERMBASE.DAT b/DiskImg/hd1/u0/TERMBASE.DAT new file mode 100644 index 0000000000000000000000000000000000000000..358d61c0adb85b8e8e8681526ec91950f03b953f GIT binary patch literal 6400 zcmd^D>rd1`5MLC<2T_pM$@th0en1V-o+1$AhvOZQaPr2BiG?Hle@Vf#wh^WIO?6`s0t}9%y+>&wKGEZB>=@I$n)FM;-6~ANr zX+5y376S8#?+_Oh5`QJt??4 zo=d-tnvjzqPz3jv(RBVHr)Co4r_?xmGQvh(-I-D;@9}}< zAPlxetTy>SJX0%4>i;l+`j`hy{B{3t6mNQOf2LA#ws$;|P5f);Uzwko;y!JAmP**_taZJCF zznD9^DE~c>QsZuI)1`7yc6=B z2eU7w@nBYNFVpQ0TgtW|VsCVj-;w>v-_+Ck9qy_&+^P4SrPW9LM=Tbt)NFsX!o=~f z$@#a>Ip4f|#V>l|{0kQl{N+{cJb5>(cp$5NsE2l_qGMFMus_Cdy8Ta{g|R9+K(!-I z<6`=6&UsE{huh=BW8={qMg03?{a^EQL;MFUsi36R311LrKEbSL!i=MEKPwLi93al2 zp3MG2FDCoLepVK(Vw}RyIBr*A;`_XFPzr;Zy2=0P{G<6<3P;xVMXUc|!h#90LYTB* zQs7V2|3TxThvJeC1tvcK6Qei|apD!q3Z;fAB#$mCpa7{(q3mn(`m%ofo@h;m?}3 z{y8r{)A+8Hp|v4CZd=3Sq5?4Ie~N#){o~@FKEEmdC5?ajd(SF&uXuUytM7V&*n|eu zfBL$bjepN?{G(rhrucW-`oG!vr&gAh`IyBQ0@us)be+H9|K}AX)`HlINZ*Cz$5ftU znRu-J*Z1c-c3_#w;=V8Sac7l#*AL1bU*8m;fARyxWdDEd{P%8nVX)7~(vrQ||B3%S Z-0)7sZp8bDE{Q?0~8L0pO literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/TESTCLOK.COM b/DiskImg/hd1/u0/TESTCLOK.COM new file mode 100644 index 0000000000000000000000000000000000000000..d547e2b820b2d59591a532f0f7079576ccaa8100 GIT binary patch literal 6400 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 a0+d270#I>$&I)40=Lm(L^k{5Kqh@ zN4K40y@~ndWcb~hA4M(9$D;99lD;STdR_8TwK^`h1%w-m!@;2qmt^@ecr$#g=iHny(UwXF0N zd1SAzev9ta^0;H;1MTH?sIz@|M^Jra)!i2f04li)MeReY#%z!yJ38uX{@&kfNUt#~ z!)FVnQtH;gP`Xb{S#R1;I-fBY6uYLpydl6dfLBe&%etR3rK{<@5+_!#%S>KIq8!UUE3~$pK5au0%q4>tQgEP!~Y{A{zz0*oSC;DiL!lHcAgW< z(h^k`f7nj*P1em6f8s*NR@jP-jm^_N5L0QZ(iDBuUKiaQ*4%8Rn5$Q>hqWqv_-dI# zNo+$TYJfwUB)L#-w8~qG*Y>#p`5fzXE=0RDr9P+bc5ENh+0Fr%%Ky!QRzIUIkp<>mG%*c zzY0pf22Ab4uq0ND#~s7i)R#}m77=^JO1CEaqf#g6RDmn{ExPy@rYwp0KlXpFe*v3Q B$G!jn literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/ZCNFG.COM b/DiskImg/hd1/u0/ZCNFG.COM new file mode 100644 index 0000000000000000000000000000000000000000..ae423dc59d53e7def68c3b0c74ea91027ec46b18 GIT binary patch literal 8064 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/ZCNFG24.CFG b/DiskImg/hd1/u0/ZCNFG24.CFG new file mode 100644 index 0000000000000000000000000000000000000000..1bfe49bfa7213e2c60ceddfbcee0cfc53b214406 GIT binary patch literal 4608 zcmbVP+in}l5gkeavKZ`qz#>3UNgiSWv>aIuVEDzL$)Q&OO)BKjfn*qqCfOuAo(p$+ zMiM_F-<6l$f7(;kJ=9Qk@({|fAWm0x)u~gbYW{QD;h%XY>fE3HK1@2nAA-|gJ3%n% z1b+-pqmv-G{Vw=((D`uk>9lte{19~hjqgUk3;q;zemSwH{Z8t|ntPdTN-QQHK&$ZgfT0Ww9w$MgzT8bz0HT zq`KPgH2vg$PUyTp`EY#kgzYDHx=huc)-d?5*7OtG58of#-?IJfWjy{!s;-LXCbyMJ zQ(6}#-S)4im(<+O_B5W*v3-y2dugT1TvfRI#av9=5!uEA?BBh9Vn1U0Ws%zgp^r?i zE$wtkvt_Au-nyH8!2ac{b#1=;3l30KqTnTr_*?x1W9lDK29k3KDZ8|5T#Z5icq2FG>C`2`6!{` z)hMRq<~p7+5fWUo^2L_gNwxJurE_b53Ds7wXt75nm`Z8mkOD%?YbXPiWf9bbuSP_=3xrdx?lj>Wj>?kZ1HGK|!w!y2C6`EK2mq&W zMV2vMDM&!J1`C#Y1v((RN0_<p~^*N43A$r1fL~ouo7+pip4%SijZs>T z)L2>-04WO1+Ck?S*^~s&!2;L553rkY#9Mreut8UEbQ}dcLy>Y&Z-sktvOop6r4hEG z{`HFw-aQ;%RU8A~k!#clkU}k-zbMoXdRYstYPj+$a{1zw4+NEW=t&$$NLXQbYQE@n zk3&%i_?$Offi6&B^`hQv;FJ&1U^XCJJQyUXx>;_4iUidbvhyf>6NONz-YAKu<6aUI zI{evSdi61WF`vcLGcN2Llo5msQyTGEoocXMM}d6X zdj78tR@?wl$hDF-U@bFi1G}aXf%P{!5W%#<sBDLchMs5- zQq&d##L#jvWv`KPe-nnb;q#-97#@9d^heu}=@9xzPotxQ(qM2f<f%*%3IFbUxfI*3+(H*m77G}?Zrgm*=(UIoRv5I(Y=X%?x*Eqb zx{jwb>rdlYHoms{azj_(W=eT2)k7EYyt8hSV2jF3j;Ejl1Z3Zq1a#hEsNboy2HQpR zK(|th+N=mnepKJeU;~0`3c+RO@$I*lQ5ffUrYxk?poC*NxC4P=`SFo~V;IM3qltSF z3`9M)I^B_#)r>m{0}L}FWj!3Clq;QKXQ}*7v8&4+Cb8|3MB8Y4hNhPBq6n#)tj?kk zAY8nZ3o`Y`IHU0P=yu za@9TH2V~QGfQ|2MjxC#*r3eLvR* z>7s{Vd*#OY4h_m1wJc4IOp9I$+=nQ6pJ5%sq5>Foi5_^ADtIgnDg>n#KVB~qWYk2L z@fLx|(*mLaj7|P@fbb1lUdmjn%NePzQ`#P4mJR2r?#Z-m6vI9IG`O0+`8*tdIv*yV zi9R8(;rO%v>lwh-&|u<2JQx`Gm*5Ykea!-M2J%R7?hy~dMu8v4nkkWwEEceCaBE7! zOIv{)nTBhHMHKr7);m9XcuBGvORcn$o7#*Xduu#d&y4;-9yGv|m?JXCiq0Hxt2k+oMUsf7UHV7~$+t~d7knl}dllWEkkTJg~@b`Xw zcdv~iSq&jjSzqTzz*^Y}WMl47nGA?-f%l5GPcCs&A*b8Ehrg-{zvm$sP|GFHEdgjC zvuz>lVVmuGX0#emXxbtQeDTuJT04=3zgf1CM+{7bWpT|l1{EK1H+V5m^_^n*#p}8I F{04;9o2LK( literal 0 HcmV?d00001 diff --git a/DiskImg/hd1/u0/ZPATH.COM b/DiskImg/hd1/u0/ZPATH.COM new file mode 100644 index 0000000000000000000000000000000000000000..5c0aa5037ef52e13a9167c1f1521a537321c64f0 GIT binary patch literal 2176 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 literal 0 HcmV?d00001 diff --git a/DiskImg/hd2/X2.DAT b/DiskImg/hd2/X2.DAT deleted file mode 100644 index 83bef6ea8955c9a315a55fd6d4cc075c069fd599..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 150528 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 Ha(w;*Z%_k{ literal 0 HcmV?d00001 diff --git a/RomDsk/cfg_n8vem_dsd/LDTIM.COM b/RomDsk/cfg_n8vem_dsd/LDTIM.COM new file mode 100644 index 0000000000000000000000000000000000000000..1b3e2d1010a4ef4f90247c6a50f800eb7ff0b6c3 GIT binary patch literal 3584 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 ZGdMq-iO1-y$GC@l;4(OlJ|03c*MII)ukio? literal 0 HcmV?d00001 diff --git a/RomDsk/cfg_n8vem_dsd/T5.COM b/RomDsk/cfg_n8vem_dsd/T5.COM new file mode 100644 index 0000000000000000000000000000000000000000..ab55d7594228814e098f59f869ebdc0853077c71 GIT binary patch literal 96 zcmdO5WKdRC7L;aW0w2Eg0 mD$|N()UMg8@Y^Z@D9ddN6j5LWYqd&b{HLdI3aIypwFm$o4;Rw_ literal 0 HcmV?d00001 diff --git a/RomDsk/cfg_n8vem_dsd/VT3.COM b/RomDsk/cfg_n8vem_dsd/VT3.COM new file mode 100644 index 0000000000000000000000000000000000000000..6290a6d3e0c7e921a575060ea62c3fbddd706b3e GIT binary patch literal 1278 zcmZuwOKe+36ut9i?ApPOoDfxsQZ=#Dl#r%Bw{C(-2M8?%3giQnHhkjJ4{_3z^q1KA zR?w)6sw*0V#1aXiE+`TR5UVCnkup=wB3NNTHe`_nLWbC_iHgFQJI@Xh5>NI$XYRdo z?!0^F*_5ash*~7-5i3Yts?OqVs?*{}(cmxW0d%>qa==Av;4k%!rM|at)la{Z5yA-) zjOc{CMzmj^BDzGLC)y*Eq}1wBF0dm+4OrWairsB!Q~kfRzDNZWpShg+jATl)>7*}x z(%)(zJ|mX0_a^UFKAh}``LkXv4u$%x$I z3a?3J8>dJac(_m9BxZ@)yf&4o9{GCqH^&hK2u%?uzPy0Dc+9S_a=dn~-K3VJvdPqa zqlSeJmvsQ9Cp5@rt19sKLic8<;^jqUUWz1iojA44UaXc$WpXQx*GV1vo%ph&gdR7b z*qDadYu32#`1yu)C*8&DgmtDjbiFR10-`=S;B8@R`7U!&}VK_YK=qcfr`MmNxYAv<>wz_##l~n2 zYSK`xKB5}tD?xqB)NP~)ybBn0l$tJ2T( zFEYgRarr6JRbb0L@joz}b94)=-oe-7klj zz9N%M56Us7$K@o`Bk}{L&&fWf<8q*=fI6HA?iRdKa3=Vpg1ZFYEO@!#`09C_fJuQO z`URg9c;eslI2{w%Kr=0KrU(r_AS>!ewydFc6E+c64Jt=7R$8#vFhPdl5%2og5AWoJyQNvwt5z?av=BeOH=W0Gj&a@9%j6VAt+*PY&)x|6}mxK}Y6oc+0_p*$exdk?q+PjvT;kuw&oO zM%?zF$2(D2cH*Z7-LF3L#?t`L9zS$=TOHOv_S|b-^#HH5J%8lHI~afY#n-nt0<<1| eq5bg&0RGfV(T*PUhhTIE0>C(oIao0NTmK&syVC*y literal 0 HcmV?d00001 diff --git a/RomDsk/cfg_n8vem_dsd/XM.COM b/RomDsk/cfg_n8vem_dsd/XM.COM new file mode 100644 index 0000000000000000000000000000000000000000..abcc6828ee42c017913236211641ddcf5558b163 GIT binary patch literal 5375 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 literal 0 HcmV?d00001 diff --git a/RomDsk/cfg_n8vem_dsd/XM5.COM b/RomDsk/cfg_n8vem_dsd/XM5.COM new file mode 100644 index 0000000000000000000000000000000000000000..8ea2b66108110674084d8d5a4be9e590645554e1 GIT binary patch literal 3072 zcmeHI?Qc_67(chY?Y*bEvWb%y1D=hEZXGad5Ur!8+}@2!*E?@JUZRtXQ5n#!%Q|oy zWzHDm2R{)L`G$$a4}NM)Bqbn*-8#~HnVJ;~_^~*y9OB_6NeD zAW=GFAtgfKS9T;R9UXy4(Br9cb(~5KlOu5wB_Ab+NK}pl-zF-7DR^c(sw~N&{c@G7 zfd*{!q=VjeZ0@8NMH&-k?{M@xKI1)&>5`p_yl)g|f8EUgvVo@_e)cymr*VFsekrom z9WEzeX5k)Bi332lg~BofCPx6QDhGmxNKC0XL-c}ecBhR_3*dqNVP9Iz)q$=6Q;GyI zRo9KiO`@H!SwJHSvFt?x9Wse_%2KE;BwO$roX?D#?-(PtEeODVn;183 zehGm3PUBWkHC?mc+8|6o>G5<$0($^y1svHER-}D^I+LetLX@qzy)QtZJ|QBYFzUHa<8Qh)O!6%P$i*%YFe03E^Etp$FKzfa2;5k?6_il zWrxEt?+|t)N^so-T0Q%?S^LJ$z#0Ynd#jsQG)TY@Zuh0|W#g{B^|E$?*Eic%k2h&I z?eqw!TxV9HV7Uu6zZ0^f`#F}Q6fXVmU|XvW$6?W|RrC5N+okW}F?gSWC!<3l-W6w$ z@uoBXIKQ`^gv>Y##Fb)-`md}uU)23o6rrYJyrq5^(>!cU&CGKTS87&P@Y>k|&$$r3 zpT6`jV1NWeZEdnDM`DEWx6Hsk0;fW!TnrC!k5I!ttjRj#D^P8V?+HQ)^{)1zhDDc^7)N5$u^J21CrV0 zTaKTn&pSrEgLoWV<<2`Y;I<55jpfwkw47RZ-a=v_h4!^Dp>1?RYg?Ew!X=s5-cYne zdU%%tR3S~#m>SyC#d=vYi7Kjk$g;qi$?-&-D1-3<$SFZhgP6X|ZXbCS(RORHH$Kux zqE>=ZRjyZi1_y_dBggxDhU1CRlEPi*{8m&}>pwn_Y9^?d76eE^c{3I7O_AXwNyP__ zlAdAmdP@sA(sSx)ap`$a6VZmX0@%N<)BLYQ^@?ss!lhFZgyv_=t|^2poUn_tR#tj_hv@EXs_wa&Gj#E z(60N%O&3y(un#lkLquCK5}8}X;gVpiY$HT^`?r??jb&y4(_eI`!or6bTKCNaJd zX9~G<;^NId-D(tOZQhiOpG0%Laf06jPwt|~KDv5cf@RTJP1oTJupGF~dck404Un#)vxPJKTv>Pu7ePEl#<$D@LBc3m>P?$~r2PCuwVcJ@IXaLJ3A)a0VRlmUeBn+MTY icX3f?lk}xx-oK)wCx*nKYZ$FO9ZxgxGz0%%2L1+F7h!t< literal 0 HcmV?d00001 diff --git a/Source/cbios.asm b/Source/cbios.asm index d7cd2569..2a419d7f 100644 --- a/Source/cbios.asm +++ b/Source/cbios.asm @@ -33,7 +33,7 @@ WBOOTE JP WBOOT ; #1 - WARM START JP CONOUT ; #4 - CONSOLE CHARACTER OUT JP LIST ; #5 - LIST CHARACTER OUT JP PUNCH ; #6 - PUNCH CHARACTER OUT - JP READER ; #7 - READER CHARACTER OUT + JP READER ; #7 - READER CHARACTER OUT JP HOME ; #8 - MOVE HEAD TO HOME POSITION JP SELDSK ; #9 - SELECT DISK JP SETTRK ; #10 - SET TRACK NUMBER @@ -721,14 +721,6 @@ UNA_INI: LD A,(HL) ; GET IT LD (UNACNT),A ; SAVE IT -; CALL NEWLINE ; *DEBUG* -; CALL PRTHEXBYTE ; *DEBUG* -; CALL PC_SPACE ; *DEBUG* -; CALL PRTHEXWORD ; *DEBUG* -; CALL PC_SPACE ; *DEBUG* -; LD BC,(UNASPT) ; *DEBUG* -; CALL PRTHEXWORD ; *DEBUG* - RET ; ;__________________________________________________________________________________________________ @@ -1522,7 +1514,7 @@ MDDPH0 .DW 0000,0000 .DW DIRBF,DPB_ROM .DW MDCSV0,MDALV0 ; -CKS_ROM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA +CKS_ROM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA ALS_ROM .EQU ((ROMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) ; ; MEMORY DISK 01: RAM DISK @@ -1535,7 +1527,7 @@ MDDPH1 .DW 0000,0000 .DW DIRBF,DPB_RAM .DW MDCSV1,MDALV1 ; -CKS_RAM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA +CKS_RAM .EQU 0 ; CKS: 0 FOR NON-REMOVABLE MEDIA ALS_RAM .EQU ((RAMBLKS + 7) / 8) ; ALS: BLKS / 8 (ROUNDED UP) ; MDCSV0: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE @@ -1544,63 +1536,63 @@ MDCSV1: .FILL 0 ; NO DIRECTORY CHECKSUM, NON-REMOVABLE DRIVE MDALV1: .FILL ALS_RAM,00H ; MAX OF 256 DATA BLOCKS ; #IF (FDENABLE) -ORG_FD_DATA .EQU $ - #INCLUDE "fd_data.asm" -SIZ_FD_DATA .EQU $ - ORG_FD_DATA - .ECHO "FD_DATA occupies " - .ECHO SIZ_FD_DATA +ORG_FD_DPH .EQU $ + #INCLUDE "fd_dph.asm" +SIZ_FD_DPH .EQU $ - ORG_FD_DPH + .ECHO "FD DPH occupies " + .ECHO SIZ_FD_DPH .ECHO " bytes.\n" #ENDIF #IF (IDEENABLE) -ORG_IDE_DATA .EQU $ - #INCLUDE "ide_data.asm" -SIZ_IDE_DATA .EQU $ - ORG_IDE_DATA - .ECHO "IDE_DATA occupies " - .ECHO SIZ_IDE_DATA +ORG_IDE_DPH .EQU $ + #INCLUDE "ide_dph.asm" +SIZ_IDE_DPH .EQU $ - ORG_IDE_DPH + .ECHO "IDE DPH occupies " + .ECHO SIZ_IDE_DPH .ECHO " bytes.\n" #ENDIF #IF (PPIDEENABLE) -ORG_PPIDE_DATA .EQU $ - #INCLUDE "ppide_data.asm" -SIZ_PPIDE_DATA .EQU $ - ORG_PPIDE_DATA - .ECHO "PPIDE_DATA occupies " - .ECHO SIZ_PPIDE_DATA +ORG_PPIDE_DPH .EQU $ + #INCLUDE "ppide_dph.asm" +SIZ_PPIDE_DPH .EQU $ - ORG_PPIDE_DPH + .ECHO "PPIDE DPH occupies " + .ECHO SIZ_PPIDE_DPH .ECHO " bytes.\n" #ENDIF #IF (SDENABLE) -ORG_SD_DATA .EQU $ - #INCLUDE "sd_data.asm" -SIZ_SD_DATA .EQU $ - ORG_SD_DATA - .ECHO "SD_DATA occupies " - .ECHO SIZ_SD_DATA +ORG_SD_DPH .EQU $ + #INCLUDE "sd_dph.asm" +SIZ_SD_DPH .EQU $ - ORG_SD_DPH + .ECHO "SD DPH occupies " + .ECHO SIZ_SD_DPH .ECHO " bytes.\n" #ENDIF #IF (PRPENABLE & PRPSDENABLE) -ORG_PRPSD_DATA .EQU $ - #INCLUDE "prp_data.asm" -SIZ_PRPSD_DATA .EQU $ - ORG_PRPSD_DATA - .ECHO "PRPSD_DATA occupies " - .ECHO SIZ_PRPSD_DATA +ORG_PRPSD_DPH .EQU $ + #INCLUDE "prp_dph.asm" +SIZ_PRPSD_DPH .EQU $ - ORG_PRPSD_DPH + .ECHO "PRPSD DPH occupies " + .ECHO SIZ_PRPSD_DPH .ECHO " bytes.\n" #ENDIF #IF (PPPENABLE & PPPSDENABLE) -ORG_PPPSD_DATA .EQU $ - #INCLUDE "ppp_data.asm" -SIZ_PPPSD_DATA .EQU $ - ORG_PPPSD_DATA - .ECHO "PPPSD_DATA occupies " - .ECHO SIZ_PPPSD_DATA +ORG_PPPSD_DPH .EQU $ + #INCLUDE "ppp_dph.asm" +SIZ_PPPSD_DPH .EQU $ - ORG_PPPSD_DPH + .ECHO "PPPSD DPH occupies " + .ECHO SIZ_PPPSD_DPH .ECHO " bytes.\n" #ENDIF #IF (HDSKENABLE) -ORG_HDSK_DATA .EQU $ - #INCLUDE "hdsk_data.asm" -SIZ_HDSK_DATA .EQU $ - ORG_HDSK_DATA - .ECHO "HDSK_DATA occupies " - .ECHO SIZ_HDSK_DATA +ORG_HDSK_DPH .EQU $ + #INCLUDE "hdsk_dph.asm" +SIZ_HDSK_DPH .EQU $ - ORG_HDSK_DPH + .ECHO "HDSK DPH occupies " + .ECHO SIZ_HDSK_DPH .ECHO " bytes.\n" #ENDIF ; @@ -1968,25 +1960,25 @@ LD_CRT .SET CIODEV_PPPCON CIO_MAP: ; ; CONSOLE - .DB LD_TTY ; CON:=TTY: (IOBYTE XXXXXX00) - .DB LD_CRT ; CON:=CRT: (IOBYTE XXXXXX01) - .DB LD_BAT ; CON:=BAT: (IOBYTE XXXXXX10) - .DB LD_UC1 ; CON:=UC1: (IOBYTE XXXXXX11) + .DB LD_TTY ; CON:=TTY: (IOBYTE XXXXXX00) + .DB LD_CRT ; CON:=CRT: (IOBYTE XXXXXX01) + .DB LD_BAT ; CON:=BAT: (IOBYTE XXXXXX10) + .DB LD_UC1 ; CON:=UC1: (IOBYTE XXXXXX11) ; READER - .DB LD_TTY ; RDR:=TTY: (IOBYTE XXXX00XX) - .DB LD_PTR ; RDR:=PTR: (IOBYTE XXXX01XX) - .DB LD_UR1 ; RDR:=UR1: (IOBYTE XXXX10XX) - .DB LD_UR2 ; RDR:=UR2: (IOBYTE XXXX11XX) + .DB LD_TTY ; RDR:=TTY: (IOBYTE XXXX00XX) + .DB LD_PTR ; RDR:=PTR: (IOBYTE XXXX01XX) + .DB LD_UR1 ; RDR:=UR1: (IOBYTE XXXX10XX) + .DB LD_UR2 ; RDR:=UR2: (IOBYTE XXXX11XX) ; PUNCH - .DB LD_TTY ; PUN:=TTY: (IOBYTE XX00XXXX) - .DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX) - .DB LD_UP1 ; PUN:=UP1: (IOBYTE XX10XXXX) - .DB LD_UP2 ; PUN:=UP2: (IOBYTE XX11XXXX) + .DB LD_TTY ; PUN:=TTY: (IOBYTE XX00XXXX) + .DB LD_PTP ; PUN:=PTP: (IOBYTE XX01XXXX) + .DB LD_UP1 ; PUN:=UP1: (IOBYTE XX10XXXX) + .DB LD_UP2 ; PUN:=UP2: (IOBYTE XX11XXXX) ; LIST - .DB LD_TTY ; LST:=TTY: (IOBYTE 00XXXXXX) - .DB LD_CRT ; LST:=CRT: (IOBYTE 01XXXXXX) - .DB LD_LPT ; LST:=LPT: (IOBYTE 10XXXXXX) - .DB LD_UL1 ; LST:=UL1: (IOBYTE 11XXXXXX) + .DB LD_TTY ; LST:=TTY: (IOBYTE 00XXXXXX) + .DB LD_CRT ; LST:=CRT: (IOBYTE 01XXXXXX) + .DB LD_LPT ; LST:=LPT: (IOBYTE 10XXXXXX) + .DB LD_UL1 ; LST:=UL1: (IOBYTE 11XXXXXX) ; ;================================================================================================== ; SECTOR AND CONFIG BUFFER; @@ -1998,10 +1990,10 @@ CIO_MAP: ; A) SYSTEM CONFIGURATION DATA BUFFER ; B) CBIOS INIT CODE THAT CAN BE DISCARDED AFTER INIT ; - .FILL 0FD00H - $,00H ; MAKE SURE SEC/CFGBUF STARTS AT FD00 + .FILL 0FD00H - $,00H ; MAKE SURE SEC/CFGBUF STARTS AT FD00 ; -SECBUF: ; START OF 512 BYTE DISK SECTOR -CFGBUF: ; START OF 256 BYTE CONFIG BUFFER +SECBUF: ; START OF 512 BYTE DISK SECTOR +CFGBUF: ; START OF 256 BYTE CONFIG BUFFER .FILL 256,0 ; INIT: @@ -2028,13 +2020,13 @@ INIT: LD (IOBYTE),A ; STORE IT #IF ((PLATFORM != PLT_N8) & (PLATFORM != PLT_S100)) - IN A,(RTC) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER - BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE - LD A,DEFIOBYTE ; ASSUME WE WANT DEFAULT IOBYTE VALUE - JR NZ,INIT1 ; IF BIT6=1, NOT SHORTED, CONTINUE WITH DEFAULT - LD A,ALTIOBYTE ; LOAD ALT IOBYTE VALUE + IN A,(RTC) ; RTC PORT, BIT 6 HAS STATE OF CONFIG JUMPER + BIT 6,A ; BIT 6 HAS CONFIG JUMPER STATE + LD A,DEFIOBYTE ; ASSUME WE WANT DEFAULT IOBYTE VALUE + JR NZ,INIT1 ; IF BIT6=1, NOT SHORTED, CONTINUE WITH DEFAULT + LD A,ALTIOBYTE ; LOAD ALT IOBYTE VALUE INIT1: - LD (IOBYTE),A ; SET THE ACTIVE IOBYTE + LD (IOBYTE),A ; SET THE ACTIVE IOBYTE #ENDIF ; DEFAULT DRIVE @@ -2110,7 +2102,7 @@ DEFDRV1: JR NZ,DEFDRV1 ; NOPE, NEXT DRIVE DEFDRV2: - ; WE HAVE A MATCH MATCHED, RECORD NEW DEFAULT DRIVE + ; WE HAVE A MATCH, RECORD NEW DEFAULT DRIVE LD A,C ; C HAS MATCHING DRIVE, MOVE TO A LD (DEFDRIVE),A ; SAVE IT ; diff --git a/Source/cnfgdata.inc b/Source/cnfgdata.inc index c6657b92..30a78d24 100644 --- a/Source/cnfgdata.inc +++ b/Source/cnfgdata.inc @@ -140,7 +140,7 @@ BOOTLU .DW 0 ; logical unit on dev/unit for boot ;SDCAPACITY .EQU 64 ; DEVICE SIZE IN MEGABYTES .DW SDCAPACITY - .DB SDCSIO ; USE CSI/O PORT (boolean) + .DB SDMODE ; USE CSI/O PORT (boolean) .DB SDCSIOFAST ; USE FAST CSI/O ALGORITHM (boolean) #ELSE .DB 0E5h ; placeholder for Z180_CLKDIV diff --git a/Source/config_n8_2312.asm b/Source/config_n8_2312.asm index 13104efd..ee62df50 100644 --- a/Source/config_n8_2312.asm +++ b/Source/config_n8_2312.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU TRUE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_CSIO ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU TRUE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8_2511.asm b/Source/config_n8_2511.asm index 44f2a34a..3e422c96 100644 --- a/Source/config_n8_2511.asm +++ b/Source/config_n8_2511.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_N8 ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_cvdu.asm b/Source/config_n8vem_cvdu.asm index 99a99b86..1c9a53e9 100644 --- a/Source/config_n8vem_cvdu.asm +++ b/Source/config_n8vem_cvdu.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_dide.asm b/Source/config_n8vem_dide.asm index 0eb33d08..346ecf10 100644 --- a/Source/config_n8vem_dide.asm +++ b/Source/config_n8vem_dide.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_diskio.asm b/Source/config_n8vem_diskio.asm index 2c3fc748..daad8e37 100644 --- a/Source/config_n8vem_diskio.asm +++ b/Source/config_n8vem_diskio.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_diskio3.asm b/Source/config_n8vem_diskio3.asm index ae3014bc..55163120 100644 --- a/Source/config_n8vem_diskio3.asm +++ b/Source/config_n8vem_diskio3.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_dsd.asm b/Source/config_n8vem_dsd.asm new file mode 100644 index 00000000..a77503a8 --- /dev/null +++ b/Source/config_n8vem_dsd.asm @@ -0,0 +1,92 @@ +; +;================================================================================================== +; ROMWBW 2.X CONFIGURATION FOR N8VEM SBC 5/8/2012 +;================================================================================================== +; +; BUILD CONFIGURATION OPTIONS +; +CPUFREQ .EQU 8 ; IN MHZ, USED TO COMPUTE DELAY FACTORS +; +DEFCON .EQU CIODEV_UART ; DEFAULT CONSOLE DEVICE (LOADER AND MONITOR): CIODEV_UART, CIODEV_VDU, DIODEV_PRPCON +ALTCON .EQU DEFCON ; ALT CONSOLE DEVICE (USED WHEN CONFIG JUMPER SHORTED) +DEFVDA .EQU VDADEV_NONE ; DEFAULT VDA (VDADEV_NONE, VDADEV_VDU, VDADEV_CVDU, VDADEV_UPD7220, VDADEV_N8V) +DEFEMU .EQU EMUTYP_TTY ; DEFAULT EMULATION TYPE (EMUTYP_TTY, EMUTYP_ANSI, ...) +; +RAMSIZE .EQU 512 ; SIZE OF RAM IN KB, MUST MATCH YOUR HARDWARE!!! +CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA) +; +DSKMAP .EQU DM_RAM ; DM_ROM, DM_RAM, DM_FD, DM_IDE, DM_PPIDE, DM_SD, DM_PRPSD, DM_PPPSD +; +DSKYENABLE .EQU FALSE ; TRUE FOR DSKY SUPPORT (DO NOT COMBINE WITH PPIDE) +; +UARTENABLE .EQU TRUE ; TRUE FOR UART SUPPORT (ALMOST ALWAYS WANT THIS TO BE TRUE) +UARTFIFO .EQU TRUE ; TRUE ENABLES UART FIFO (16550 ASSUMED, N8VEM AND ZETA ONLY) +UARTAFC .EQU FALSE ; TRUE ENABLES AUTO FLOW CONTROL (YOUR TERMINAL/UART MUST SUPPORT RTS/CTS FLOW CONTROL!!!) +; +VDUENABLE .EQU FALSE ; TRUE FOR VDU BOARD SUPPORT +CVDUENABLE .EQU FALSE ; TRUE FOR CVDU BOARD SUPPORT +UPD7220ENABLE .EQU FALSE ; TRUE FOR uPD7220 BOARD SUPPORT +N8VENABLE .EQU FALSE ; TRUE FOR N8 (TMS9918) VIDEO/KBD SUPPORT +; +DEFIOBYTE .EQU $00 ; DEFAULT INITIAL VALUE FOR CP/M IOBYTE, $00=TTY, $01=CRT (MUST HAVE CRT HARDWARE) +ALTIOBYTE .EQU DEFIOBYTE ; ALT INITIAL VALUE (USED WHEN CONFIG JUMPER SHORTED) +WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM +DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS +; +FDENABLE .EQU FALSE ; TRUE FOR FLOPPY SUPPORT +FDMODE .EQU FDMODE_DIO ; FDMODE_DIO, FDMODE_ZETA, FDMODE_DIDE, FDMODE_N8, FDMODE_DIO3 +FDTRACE .EQU 1 ; 0=SILENT, 1=FATAL ERRORS, 2=ALL ERRORS, 3=EVERYTHING (ONLY RELEVANT IF FDENABLE = TRUE) +FDMEDIA .EQU FDM144 ; FDM720, FDM144, FDM360, FDM120 (ONLY RELEVANT IF FDENABLE = TRUE) +FDMEDIAALT .EQU FDM720 ; ALTERNATE MEDIA TO TRY, SAME CHOICES AS ABOVE (ONLY RELEVANT IF FDMAUTO = TRUE) +FDMAUTO .EQU TRUE ; SELECT BETWEEN MEDIA OPTS ABOVE AUTOMATICALLY +; +IDEENABLE .EQU FALSE ; TRUE FOR IDE SUPPORT +IDEMODE .EQU IDEMODE_DIO ; IDEMODE_DIO, IDEMODE_DIDE +IDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) +IDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) +IDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) +; +PPIDEENABLE .EQU FALSE ; TRUE FOR PPIDE SUPPORT (DO NOT COMBINE WITH DSKYENABLE) +PPIDEMODE .EQU PPIDEMODE_STD ; PPIDEMODE_STD, PPIDEMODE_DIO3 +PPIDETRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPIDEENABLE = TRUE) +PPIDE8BIT .EQU FALSE ; USE IDE 8BIT TRANSFERS (PROBABLY ONLY WORKS FOR CF CARDS!) +PPIDECAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) +PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPIDE IS UNRELIABLE) +; +SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT +SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) +SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) +SDMODE .EQU SDMODE_DSD ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER +; +PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PRPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PRPSDENABLE = TRUE) +PRPSDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) +PRPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) +; +PPPENABLE .EQU FALSE ; TRUE FOR PARPORTPROP SUPPORT +PPPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) +PPPSDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPPENABLE = TRUE) +PPPSDCAPACITY .EQU 64 ; CAPACITY OF PPP SD DEVICE (IN MB) +PPPCONENABLE .EQU TRUE ; TRUE FOR PROPIO CONSOLE SUPPORT (PS/2 KBD & VGA VIDEO) +; +HDSKENABLE .EQU FALSE ; TRUE FOR SIMH HDSK SUPPORT +HDSKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) +HDSKCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) +; +PPKENABLE .EQU FALSE ; TRUE FOR PARALLEL PORT KEYBOARD +PPKTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF PPKENABLE = TRUE) +KBDENABLE .EQU FALSE ; TRUE FOR PS/2 KEYBOARD ON I8242 +KBDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF KBDENABLE = TRUE) +; +TTYENABLE .EQU FALSE ; INCLUDE TTY EMULATION SUPPORT +ANSIENABLE .EQU FALSE ; INCLUDE ANSI EMULATION SUPPORT +ANSITRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF ANSIENABLE = TRUE) +; +BOOTTYPE .EQU BT_MENU ; BT_MENU (WAIT FOR KEYPRESS), BT_AUTO (BOOT_DEFAULT AFTER BOOT_TIMEOUT SECS) +BOOT_TIMEOUT .EQU 20 ; APPROX TIMEOUT IN SECONDS FOR AUTOBOOT, 0 FOR IMMEDIATE +BOOT_DEFAULT .EQU 'R' ; SELECTION TO INVOKE AT TIMEOUT +; +BAUDRATE .EQU 38400 ; IN BPS: 1200, 9600, 38400, ..., 115200 +TERMTYPE .EQU TERM_ANSI ; TERM_TTY=0, TERM_ANSI=1, TERM_WYSE=2 diff --git a/Source/config_n8vem_ppide.asm b/Source/config_n8vem_ppide.asm index f2ad1ccb..36ee2d3c 100644 --- a/Source/config_n8vem_ppide.asm +++ b/Source/config_n8vem_ppide.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_ppisd.asm b/Source/config_n8vem_ppisd.asm index 180fa3b5..43054fa7 100644 --- a/Source/config_n8vem_ppisd.asm +++ b/Source/config_n8vem_ppisd.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU TRUE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU TRUE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_propio.asm b/Source/config_n8vem_propio.asm index ce30d22f..5c90bed6 100644 --- a/Source/config_n8vem_propio.asm +++ b/Source/config_n8vem_propio.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_simh.asm b/Source/config_n8vem_simh.asm index 57ec9929..656e1fe5 100644 --- a/Source/config_n8vem_simh.asm +++ b/Source/config_n8vem_simh.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_std.asm b/Source/config_n8vem_std.asm index 609a9cf3..c48ee10c 100644 --- a/Source/config_n8vem_std.asm +++ b/Source/config_n8vem_std.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_n8vem_vdu.asm b/Source/config_n8vem_vdu.asm index 77a1b9d1..a4ccd6a5 100644 --- a/Source/config_n8vem_vdu.asm +++ b/Source/config_n8vem_vdu.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_JUHA ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_zeta_ppp.asm b/Source/config_zeta_ppp.asm index 0660067c..c393bdda 100644 --- a/Source/config_zeta_ppp.asm +++ b/Source/config_zeta_ppp.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU FALSE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_NONE ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/config_zeta_std.asm b/Source/config_zeta_std.asm index 6c051e5f..e17efafb 100644 --- a/Source/config_zeta_std.asm +++ b/Source/config_zeta_std.asm @@ -56,10 +56,8 @@ PPIDESLOW .EQU FALSE ; ADD DELAYS TO HELP PROBLEMATIC HARDWARE (TRY THIS IF PPI SDENABLE .EQU FALSE ; TRUE FOR SD SUPPORT SDTRACE .EQU 1 ; 0=SILENT, 1=ERRORS, 2=EVERYTHING (ONLY RELEVANT IF IDEENABLE = TRUE) SDCAPACITY .EQU 64 ; CAPACITY OF DEVICE (IN MB) -SDCSIO .EQU FALSE ; TRUE IF USING THE CSIO PORT (N8 ONLY) -SDCSIOFAST .EQU FALSE ; TRUE IF USING THE LOOKUP TABLE RATHER THAN SHIFTS AND ROTATES (N8 ONLY) -PPISD .EQU TRUE ; TRUE IF USING PPISD MINI-BOARD (DO NOT COMBINE WITH PPIDE) -S2ISD .EQU FALSE ; TRUE IF USING SCSI2IDE BOARD (DO NOT COMBINE WITH PPISD) +SDMODE .EQU SDMODE_PPI ; SDMODE_JUHA, SDMODE_CSIO, SDMODE_UART, SDMODE_PPI, SDMODE_DSD +SDCSIOFAST .EQU FALSE ; TABLE-DRIVEN BIT INVERTER ; PRPENABLE .EQU FALSE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) PRPSDENABLE .EQU TRUE ; TRUE FOR PROPIO SD SUPPORT (FOR N8VEM PROPIO ONLY!) diff --git a/Source/fd_data.asm b/Source/fd_data.asm deleted file mode 100644 index f1ddff25..00000000 --- a/Source/fd_data.asm +++ /dev/null @@ -1,173 +0,0 @@ -; -;================================================================================================== -; FLOPPY DISK DRIVER - DATA -;================================================================================================== -; -#IF (FDMEDIA == FDM720) - #DEFINE FDDPB DPB_FD720 ; DPB_FD720 OR DPB_FD144 - #DEFINE FDCKS CKS_FD720 - #DEFINE FDALS ALS_FD720 -#ENDIF -#IF (FDMEDIA == FDM144) - #DEFINE FDDPB DPB_FD144 ; DPB_FD720 OR DPB_FD144 - #DEFINE FDCKS CKS_FD144 - #DEFINE FDALS ALS_FD144 -#ENDIF -#IF (FDMEDIA == FDM360) - #DEFINE FDDPB DPB_FD360 ; DPB_FD720 OR DPB_FD144 - #DEFINE FDCKS CKS_FD360 - #DEFINE FDALS ALS_FD360 -#ENDIF -#IF (FDMEDIA == FDM120) - #DEFINE FDDPB DPB_FD120 ; DPB_FD720 OR DPB_FD144 - #DEFINE FDCKS CKS_FD120 - #DEFINE FDALS ALS_FD120 -#ENDIF -#IF (FDMEDIA == FDM111) - #DEFINE FDDPB DPB_FD111 ; DPB_FD720 OR DPB_FD144 - #DEFINE FDCKS CKS_FD111 - #DEFINE FDALS ALS_FD111 -#ENDIF -; -; -; - .DB DIODEV_FD + 0 -FDDPH0: .DW 0000, 0000 - .DW 0000, 0000 - .DW DIRBF, FDDPB - .DW FDCSV0, FDALV0 - .DB DIODEV_FD + 1 -FDDPH1: .DW 0000, 0000 - .DW 0000, 0000 - .DW DIRBF, FDDPB - .DW FDCSV1, FDALV1 -; .EXPORT FDDPH0, FDDPH1 -;; -;; DISK PARAMETER BLOCKS USED FOR FLOPPY DRIVER -;; -;; IBM 720KB 3.5" FLOPPY DRIVE, 80 TRKS, 36 SECS/TRK, 512 BYTES/SEC -;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 128 -;; -;#IF ((FDMEDIA == FDM720) | (FDMEDIAALT == FDM720)) -;DPB_FD720: -; .DW 36 ; SPT: SECTORS PER TRACK -; .DB 4 ; BSH: BLOCK SHIFT FACTOR -; .DB 15 ; BLM: BLOCK MASK -; .DB 0 ; EXM: EXTENT MASK -; .DW 350 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((720K - 18K OFF) / 2K BLS) - 1 = 350 -; .DW 127 ; DRM: DIR ENTRIES - 1 = 128 - 1 = 127 -; .DB 11000000B ; AL0: DIR BLK BIT MAP, FIRST BYTE -; .DB 00000000B ; AL1: DIR BLK BIT MAP, SECOND BYTE -; .DW 32 ; CKS: DIRECTORY CHECK VECTOR SIZE = 128 / 4 -; .DW 4 ; OFF: RESERVED TRACKS = 4 TRKS * (512 B/SEC * 36 SEC/TRK) = 18K -;#ELSE -;DPB_FD720 .EQU 0 -;#ENDIF -CKS_FD720 .EQU 32 ; CKS: DIR ENT / 4 = 128 / 4 = 32 -ALS_FD720 .EQU 44 ; ALS: BLKS / 8 = 351 / 8 = 44 (ROUNDED UP) -; .EXPORT DPB_FD720 -;#ENDIF -;; -;; IBM 1.44MB 3.5" FLOPPY DRIVE, 80 TRKS, 72 SECS/TRK, 512 BYTES/SEC -;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256 -;; -;#IF ((FDMEDIA == FDM144) | (FDMEDIAALT == FDM144)) -;DPB_FD144: -; .DW 72 ; SPT: SECTORS PER TRACK -; .DB 4 ; BSH: BLOCK SHIFT FACTOR -; .DB 15 ; BLM: BLOCK MASK -; .DB 0 ; EXM: EXTENT MASK -; .DW 710 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((1,440K - 18K OFF) / 2K BLS) - 1 = 710 -; .DW 255 ; DRM: DIR ENTRIES - 1 = 256 - 1 = 255 -; .DB 11110000B ; AL0: DIR BLK BIT MAP, FIRST BYTE -; .DB 00000000B ; AL1: DIR BLK BIT MAP, SECOND BYTE -; .DW 64 ; CKS: DIRECTORY CHECK VECTOR SIZE = 256 / 4 -; .DW 2 ; OFF: RESERVED TRACKS = 2 TRKS * (512 B/SEC * 72 SEC/TRK) = 18K -;#ELSE -;DPB_FD144 .EQU 0 -;#ENDIF -CKS_FD144 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64 -ALS_FD144 .EQU 89 ; ALS: BLKS / 8 = 711 / 8 = 89 (ROUNDED UP) -; .EXPORT DPB_FD144 -;#ENDIF -;; -;; IBM 360KB 5.25" FLOPPY DRIVE, 40 TRKS, 9 SECS/TRK, 512 BYTES/SEC -;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 128 -;; -;#IF ((FDMEDIA == FDM360) | (FDMEDIAALT == FDM360)) -;DPB_FD360: -; .DW 36 ; SPT: SECTORS PER TRACK -; .DB 4 ; BSH: BLOCK SHIFT FACTOR -; .DB 15 ; BLM: BLOCK MASK -; .DB 0 ; EXM: EXTENT MASK -; .DW 170 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((360K - 18K OFF) / 2K BLS) - 1 = 170 -; .DW 127 ; DRM: DIR ENTRIES - 1 = 128 - 1 = 127 -; .DB 11110000B ; AL0: DIR BLK BIT MAP, FIRST BYTE -; .DB 00000000B ; AL1: DIR BLK BIT MAP, SECOND BYTE -; .DW 32 ; CKS: DIRECTORY CHECK VECTOR SIZE = 128 / 4 -; .DW 4 ; OFF: RESERVED TRACKS = 4 TRKS * (512 B/SEC * 36 SEC/TRK) = 18K -;#ELSE -;DPB_FD360 .EQU 0 -;#ENDIF -CKS_FD360 .EQU 32 ; CKS: DIR ENT / 4 = 128 / 4 = 32 -ALS_FD360 .EQU 89 ; ALS: BLKS / 8 = 171 / 8 = 22 (ROUNDED UP) -; .EXPORT DPB_FD360 -;#ENDIF -;; -;; IBM 1.20MB 5.25" FLOPPY DRIVE, 80 TRKS, 60 SECS/TRK, 512 BYTES/SEC -;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256 -;; -;#IF ((FDMEDIA == FDM120) | (FDMEDIAALT == FDM120)) -;DPB_FD120: -; .DW 60 ; SPT: SECTORS PER TRACK -; .DB 4 ; BSH: BLOCK SHIFT FACTOR -; .DB 15 ; BLM: BLOCK MASK -; .DB 0 ; EXM: EXTENT MASK -; .DW 591 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((1,200K - 15K OFF) / 2K BLS) - 1 = 591 -; .DW 255 ; DRM: DIR ENTRIES - 1 = 256 - 1 = 255 -; .DB 11110000B ; AL0: DIR BLK BIT MAP, FIRST BYTE -; .DB 00000000B ; AL1: DIR BLK BIT MAP, SECOND BYTE -; .DW 64 ; CKS: DIRECTORY CHECK VECTOR SIZE = 256 / 4 -; .DW 2 ; OFF: RESERVED TRACKS = 2 TRKS * (512 B/SEC * 60 SEC/TRK) = 15K -;#ELSE -;DPB_FD120 .EQU 0 -;#ENDIF -CKS_FD120 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64 -ALS_FD120 .EQU 74 ; ALS: BLKS / 8 = 592 / 8 = 74 (ROUNDED UP) -; .EXPORT DPB_FD120 -;#ENDIF -;; -;; IBM 1.11MB 8" FLOPPY DRIVE, 74 TRKS, 60 SECS/TRK, 512 BYTES/SEC -;; BLOCKSIZE (BLS) = 2K, DIRECTORY ENTRIES = 256 -;; -;#IF ((FDMEDIA == FDM111) | (FDMEDIAALT == FDM111)) -;DPB_FD111: -; .DW 60 ; SPT: SECTORS PER TRACK -; .DB 4 ; BSH: BLOCK SHIFT FACTOR -; .DB 15 ; BLM: BLOCK MASK -; .DB 0 ; EXM: EXTENT MASK -; .DW 546 ; DSM: TOTAL STORAGE IN BLOCKS - 1 BLK = ((1,110K - 15K OFF) / 2K BLS) - 1 = 546 -; .DW 255 ; DRM: DIR ENTRIES - 1 = 256 - 1 = 255 -; .DB 11110000B ; AL0: DIR BLK BIT MAP, FIRST BYTE -; .DB 00000000B ; AL1: DIR BLK BIT MAP, SECOND BYTE -; .DW 64 ; CKS: DIRECTORY CHECK VECTOR SIZE = 256 / 4 -; .DW 2 ; OFF: RESERVED TRACKS = 2 TRKS * (512 B/SEC * 60 SEC/TRK) = 15K -CKS_FD111 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64 -ALS_FD111 .EQU 69 ; ALS: BLKS / 8 = 592 / 8 = 74 (ROUNDED UP) -; .EXPORT DPB_FD111 -;#ENDIF -; -; -; -#IF (FDMAUTO) -; ASSUME WORST CASE SIZES -FDCSV0: .FILL CKS_FD144 -FDALV0: .FILL ALS_FD144 -FDCSV1: .FILL CKS_FD144 -FDALV1: .FILL ALS_FD144 -#ELSE -FDCSV0: .FILL FDCKS -FDALV0: .FILL FDALS -FDCSV1: .FILL FDCKS -FDALV1: .FILL FDALS -#ENDIF diff --git a/Source/fd_dph.asm b/Source/fd_dph.asm new file mode 100644 index 00000000..7cab05ba --- /dev/null +++ b/Source/fd_dph.asm @@ -0,0 +1,72 @@ +; +;================================================================================================== +; FLOPPY DISK DRIVER - DATA +;================================================================================================== +; +#IF (FDMEDIA == FDM720) + #DEFINE FDDPB DPB_FD720 ; DPB_FD720 OR DPB_FD144 + #DEFINE FDCKS CKS_FD720 + #DEFINE FDALS ALS_FD720 +#ENDIF +#IF (FDMEDIA == FDM144) + #DEFINE FDDPB DPB_FD144 ; DPB_FD720 OR DPB_FD144 + #DEFINE FDCKS CKS_FD144 + #DEFINE FDALS ALS_FD144 +#ENDIF +#IF (FDMEDIA == FDM360) + #DEFINE FDDPB DPB_FD360 ; DPB_FD720 OR DPB_FD144 + #DEFINE FDCKS CKS_FD360 + #DEFINE FDALS ALS_FD360 +#ENDIF +#IF (FDMEDIA == FDM120) + #DEFINE FDDPB DPB_FD120 ; DPB_FD720 OR DPB_FD144 + #DEFINE FDCKS CKS_FD120 + #DEFINE FDALS ALS_FD120 +#ENDIF +#IF (FDMEDIA == FDM111) + #DEFINE FDDPB DPB_FD111 ; DPB_FD720 OR DPB_FD144 + #DEFINE FDCKS CKS_FD111 + #DEFINE FDALS ALS_FD111 +#ENDIF +; +; +; + .DB DIODEV_FD + 0 +FDDPH0: .DW 0000, 0000 + .DW 0000, 0000 + .DW DIRBF, FDDPB + .DW FDCSV0, FDALV0 +; + .DB DIODEV_FD + 1 +FDDPH1: .DW 0000, 0000 + .DW 0000, 0000 + .DW DIRBF, FDDPB + .DW FDCSV1, FDALV1 +; +CKS_FD720 .EQU 32 ; CKS: DIR ENT / 4 = 128 / 4 = 32 +ALS_FD720 .EQU 44 ; ALS: BLKS / 8 = 351 / 8 = 44 (ROUNDED UP) +; +CKS_FD144 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64 +ALS_FD144 .EQU 89 ; ALS: BLKS / 8 = 711 / 8 = 89 (ROUNDED UP) +; +CKS_FD360 .EQU 32 ; CKS: DIR ENT / 4 = 128 / 4 = 32 +ALS_FD360 .EQU 89 ; ALS: BLKS / 8 = 171 / 8 = 22 (ROUNDED UP) +; +CKS_FD120 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64 +ALS_FD120 .EQU 74 ; ALS: BLKS / 8 = 592 / 8 = 74 (ROUNDED UP) +; +CKS_FD111 .EQU 64 ; CKS: DIR ENT / 4 = 256 / 4 = 64 +ALS_FD111 .EQU 69 ; ALS: BLKS / 8 = 592 / 8 = 74 (ROUNDED UP) +; +#IF (FDMAUTO) +; ASSUME WORST CASE SIZES +FDCSV0: .FILL CKS_FD144 +FDALV0: .FILL ALS_FD144 +FDCSV1: .FILL CKS_FD144 +FDALV1: .FILL ALS_FD144 +#ELSE +FDCSV0: .FILL FDCKS +FDALV0: .FILL FDALS +FDCSV1: .FILL FDCKS +FDALV1: .FILL FDALS +#ENDIF diff --git a/Source/hdsk_data.asm b/Source/hdsk_dph.asm similarity index 88% rename from Source/hdsk_data.asm rename to Source/hdsk_dph.asm index 2e52e51c..12f5e267 100644 --- a/Source/hdsk_data.asm +++ b/Source/hdsk_dph.asm @@ -7,10 +7,10 @@ HDSK_SLICETRKS .EQU 65 ; TRACKS PER SLICE HDSK_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) HDSK_SLICESIZE .EQU ((HDSK_SLICETRKS * HDSK_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) HDSK_NUMSLICES .EQU HDSKCAPACITY / HDSK_SLICESIZE ; TOTAL SLICES IN DEVICE -HDSK0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0 -HDSK1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1 -HDSK2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0 -HDSK3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1 +HDSK0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0 +HDSK1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1 +HDSK2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2 +HDSK3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3 ; .DB DIODEV_HDSK + 0 HDSKDPH0 .DW 0000,0000 diff --git a/Source/ide_data.asm b/Source/ide_dph.asm similarity index 87% rename from Source/ide_data.asm rename to Source/ide_dph.asm index d4c20c90..895909ac 100644 --- a/Source/ide_data.asm +++ b/Source/ide_dph.asm @@ -7,10 +7,10 @@ IDE_SLICETRKS .EQU 65 ; TRACKS PER SLICE IDE_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) IDE_SLICESIZE .EQU ((IDE_SLICETRKS * IDE_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) IDE_NUMSLICES .EQU IDECAPACITY / IDE_SLICESIZE ; TOTAL SLICES IN DEVICE -IDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0 -IDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1 -IDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0 -IDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1 +IDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0 +IDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1 +IDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2 +IDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3 ; .DB DIODEV_IDE + 0 IDEDPH0 .DW 0000,0000 diff --git a/Source/ppide_data.asm b/Source/ppide_dph.asm similarity index 85% rename from Source/ppide_data.asm rename to Source/ppide_dph.asm index 2fb4c2b3..f4b5e534 100644 --- a/Source/ppide_data.asm +++ b/Source/ppide_dph.asm @@ -6,11 +6,11 @@ PPIDE_SLICETRKS .EQU 65 ; TRACKS PER SLICE PPIDE_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) PPIDE_SLICESIZE .EQU ((PPIDE_SLICETRKS * PPIDE_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) -PPIDE_NUMSLICES .EQU PPIDECAPACITY / PPIDE_SLICESIZE ; TOTAL SLICES IN DEVICE -PPIDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0 -PPIDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1 -PPIDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0 -PPIDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1 +PPIDE_NUMSLICES .EQU PPIDECAPACITY / PPIDE_SLICESIZE ; TOTAL SLICES IN DEVICE +PPIDE0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0 +PPIDE1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1 +PPIDE2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2 +PPIDE3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3 ; .DB DIODEV_PPIDE + 0 PPIDEDPH0 .DW 0000,0000 diff --git a/Source/ppp.asm b/Source/ppp.asm index 9d4cb29a..3d8937a6 100644 --- a/Source/ppp.asm +++ b/Source/ppp.asm @@ -350,10 +350,12 @@ PPPSD_PRT: RET Z #ENDIF PUSH AF + PUSH DE ; SAVE PTR TO FUNC STRING CALL NEWLINE LD DE,PPPSTR_PREFIX ; PRINT DRIVER PREFIX CALL WRITESTR CALL PC_SPACE + POP DE ; RECOVER PTR TO FUNC STRING CALL WRITESTR ; PRINT FUNCTION CALL PPPSD_PRTBLK ; PRINT BLOCK NUMBER CALL PC_SPACE diff --git a/Source/ppp_data.asm b/Source/ppp_dph.asm similarity index 88% rename from Source/ppp_data.asm rename to Source/ppp_dph.asm index 94e0ccc1..ef6cc45d 100644 --- a/Source/ppp_data.asm +++ b/Source/ppp_dph.asm @@ -7,10 +7,10 @@ PPPSD_SLICETRKS .EQU 65 ; TRACKS PER SLICE PPPSD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) PPPSD_SLICESIZE .EQU ((PPPSD_SLICETRKS * PPPSD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) PPPSD_NUMSLICES .EQU PPPSDCAPACITY / PPPSD_SLICESIZE ; TOTAL SLICES IN DEVICE -PPPSD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0 -PPPSD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1 -PPPSD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0 -PPPSD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1 +PPPSD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0 +PPPSD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1 +PPPSD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2 +PPPSD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3 ; .DB DIODEV_PPPSD + 0 PPPSDDPH0 .DW 0000,0000 diff --git a/Source/prp_data.asm b/Source/prp_dph.asm similarity index 88% rename from Source/prp_data.asm rename to Source/prp_dph.asm index 34041c1c..61b2fa73 100644 --- a/Source/prp_data.asm +++ b/Source/prp_dph.asm @@ -7,10 +7,10 @@ PRPSD_SLICETRKS .EQU 65 ; TRACKS PER SLICE PRPSD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) PRPSD_SLICESIZE .EQU ((PRPSD_SLICETRKS * PRPSD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) PRPSD_NUMSLICES .EQU PRPSDCAPACITY / PRPSD_SLICESIZE ; TOTAL SLICES IN DEVICE -PRPSD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0 -PRPSD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1 -PRPSD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0 -PRPSD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1 +PRPSD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0 +PRPSD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1 +PRPSD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2 +PRPSD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3 ; .DB DIODEV_PRPSD + 0 PRPSDDPH0 .DW 0000,0000 diff --git a/Source/sd.asm b/Source/sd.asm index e5b99875..291002c6 100644 --- a/Source/sd.asm +++ b/Source/sd.asm @@ -1,6 +1,7 @@ ; +; ;============================================================================= -; SD DISK DRIVER +; SD/SDHC/SDXC CARD STORAGE DRIVER ;============================================================================= ; ; - CATER FOR THE VARIOUS SDCARD HARDWARE VERSIONS @@ -11,34 +12,103 @@ ; - PERFORM BOOT INITIALIZATION OF RTC SOMEWHERE ELSE??? ; - PUT RELEVANT RTC BITS TO A KNOWN STATE AT ALL I/O ENTRY POINTS ; -; CONTROL BITS ; -#IF (PLATFORM==PLT_N8) -SD_CS .EQU $04 ; RTC BIT 2, SD CARD SELECT (ACTIVE HI) - #IF (!SDCSIO) -SD_CLK .EQU $02 ; RTC BIT 1, SD CLOCK -SD_DOUT .EQU $01 ; RTC BIT 0, SD DATA OUT -SD_DIN .EQU $40 ; RTC BIT 6, SD DATA IN - #ENDIF -#ELSE - #IF (PPISD) -SD_CS .EQU $10 ; PC4, SD CARD SELECT (ACTIVE LO) -SD_CLK .EQU $02 ; PC1, SD CLOCK -SD_DOUT .EQU $01 ; PC0, SD DATA OUT -SD_DIN .EQU $80 ; PB7, SD DATA IN - #ELSE - #IF (S2ISD) -SD_CS .EQU $08 ; MCR:3 OUT2, CD, ACT=LO=0 -SD_CLK .EQU $04 ; MCR:2 OUT1, CLK, ACT=LO=1 -SD_DOUT .EQU $20 ; MSR:5 DSR, DAT0, ACT=HI=0 (INV) -SD_DIN .EQU $01 ; MCR:0 DTR, CMD, ACT=HI=0 (INV) - #ELSE -SD_CS .EQU $04 ; RTC BIT 2, SD CARD SELECT (ACTIVE HI) -SD_CLK .EQU $40 ; RTC BIT 6, SD CLOCK -SD_DOUT .EQU $80 ; RTC BIT 7, DATA OUT TO SD-CARD -SD_DIN .EQU $40 ; RTC BIT 6, DATA IN FROM SD-CARD - #ENDIF - #ENDIF +;---------------------------------------------------------------------- +; SD Signal Act JUHA N8 CSIO PPI UART DSD +; ------------ ------- ------- ------- ------- ------- ------- ------- +; CS (DAT3) LO -> RTC:2 RTC:2 RTC:2 ~PC:4 MCR:3 OPS:2 +; CLK HI -> RTC:1 RTC:1 N/A PC:1 ~MCR:2 OPS:1 +; DI (CMD) HI -> RTC:0 RTC:0 N/A PC:0 ~MCR:0 OPS:0 +; DO (DAT0) HI -> RTC:7 RTC:6 N/A PB:7 ~MSR:5 OPS:0 +;---------------------------------------------------------------------- +; +; CS = CHIP SELECT (AKA DAT3 FOR NON-SPI MODE) +; CLK = CLOCK +; DI = DATA IN (HOST -> CARD, AKA CMD FOR NON-SPI MODE) +; DO = DATA OUT (CARD -> HOST, AKA: DAT0 FOR NON-SPI MODE) +; +; NOTES: +; 1) SIGNAL NAMES ARE FROM THE SD CARD SPEC AND ARE NAMED FROM THE +; PERSPECTIVE OF THE SD CARD: +; DI = DATA IN: HOST -> CARD = MOSI (MASTER OUT/SLAVE IN) +; DO = DATA OUT: CARD -> HOST (MASTER IN/SLAVE OUT) +; +; 2) THE QUIESCENT STATE OF THE OUTPUT SIGNALS (HOST -> CARD) IS: +; CS = HI (NOT SELECTED) +; CLK = LO +; DI = HI (ACTIVE IS THE NATURAL/DEFAULT STATE FOR DATA IN) +; +; 3) SPI MODE 0 IMPLEMENTATION IS USED (CPOL=0, CPHA=0) +; THE DATA MUST BE AVAILABLE BEFORE THE FIRST CLOCK SIGNAL RISING. +; THE CLOCK IDLE STATE IS ZERO. THE DATA ON MISO AND MOSI LINES +; MUST BE STABLE WHILE THE CLOCK IS HIGH AND CAN BE CHANGED WHEN +; THE CLOCK IS LOW. THE DATA IS CAPTURED ON THE CLOCK'S LOW-TO-HIGH +; TRANSITION AND PROPAGATED ON HIGH-TO-LOW CLOCK TRANSITION. +; +; 4) DI SHOULD BE LEFT HI (ACTIVE) WHENEVER UNUSED (FOR EXAMPLE, WHEN +; HOST IS RECEIVING DATA (CARD -> HOST)). +; +#IF (SDMODE == SDMODE_JUHA) ; JUHA MINI-BOARD +SD_OPSREG .EQU RTC ; USES RTC LATCHES FOR OPERATION +SD_OPSDEF .EQU %00000001 ; QUIESCENT STATE??? +SD_INPREG .EQU RTC ; INPUT REGISTER IS RTC +SD_CS .EQU %00000100 ; RTC:2 IS SELECT +SD_CLK .EQU %00000010 ; RTC:1 IS CLOCK +SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU) +SD_DO .EQU %10000000 ; RTC:7 IS DATA OUT (CARD -> CPU) +#ENDIF +; +#IF (SDMODE == SDMODE_N8) ; UNMODIFIED N8-2511 +SD_OPSREG .EQU RTC ; USES RTC LATCHES FOR OPERATION +SD_OPSDEF .EQU %00000001 ; QUIESCENT STATE??? +SD_INPREG .EQU RTC ; INPUT REGISTER IS RTC +SD_CS .EQU %00000100 ; RTC:2 IS SELECT +SD_CLK .EQU %00000010 ; RTC:1 IS CLOCK +SD_DI .EQU %00000001 ; RTC:0 IS DATA IN (CARD <- CPU) +SD_DO .EQU %01000000 ; RTC:6 IS DATA OUT (CARD -> CPU) +#ENDIF +; +#IF (SDMODE == SDMODE_CSIO) ; N8-2312 +SD_OPSREG .EQU RTC ; USES RTC LATCHES FOR OPERATION +SD_OPSDEF .EQU %00000000 ; QUIESCENT STATE +SD_CS .EQU %00000100 ; RTC:2 IS SELECT +SD_CNTR .EQU CPU_CNTR +SD_TRDR .EQU CPU_TRDR +#ENDIF +; +#IF (SDMODE == SDMODE_PPI) ; PPISD +SD_PPIBASE .EQU PPIBASE ; BASE IO PORT FOR PPI +SD_PPIB .EQU PPIBASE + 1 ; PPI PORT B (INPUT: DOUT) +SD_PPIC .EQU PPIBASE + 2 ; PPI PORT C (OUTPUT: CS, CLK, DIN) +SD_PPIX .EQU PPIBASE + 3 ; PPI CONTROL PORT +SD_OPSREG .EQU SD_PPIC ; PPI PORT C IS OPS REG +SD_OPSDEF .EQU %00110001 ; CS HI, DI HI +SD_INPREG .EQU SD_PPIB ; INPUT REGISTER IS PPI PORT B +SD_CS .EQU %00010000 ; PPIC:4 IS SELECT +SD_CLK .EQU %00000010 ; PPIC:1 IS CLOCK +SD_DI .EQU %00000001 ; PPIC:0 IS DATA IN (CARD <- CPU) +SD_DO .EQU %10000000 ; PPIB:7 IS DATA OUT (CARD -> CPU) +#ENDIF +; +#IF (SDMODE == SDMODE_UART) +SD_MCR .EQU SIO_MCR ; UART MCR PORT (OUTPUT: CS, CLK, DIN) +SD_MSR .EQU SIO_MSR ; UART MSR PORT (INPUT: DOUT) +SD_CS .EQU %00001000 ; UART MCR:3 IS SELECT +SD_CLK .EQU %00000100 ; UART MCR:2 IS CLOCK +SD_DI .EQU %00000001 ; UART MCR:0 IS DATA IN (CARD <- CPU) +SD_DO .EQU %00100000 ; UART MSR:5 IS DATA OUT (CARD -> CPU) +#ENDIF +; +#IF (SDMODE == SDMODE_DSD) ; DUAL SD +SD_OPSREG .EQU $08 ; DEDICATED OPERATIONS REGISTER +SD_OPSDEF .EQU %00000001 ; QUIESCENT STATE +SD_INPREG .EQU SD_OPSREG ; INPUT REGISTER IS OPSREG +SD_SELREG .EQU SD_OPSREG + 1 ; DEDICATED SELECTION REGISTER +SD_SELDEF .EQU %00000000 ; SELECTION REGISTER DEFAULT +SD_CS .EQU %00000100 ; RTC:2 IS SELECT +SD_CLK .EQU %00000010 ; RTC:1 IS CLOCK +SD_DI .EQU %00000001 ; RTC:6 IS DATA IN (CARD <- CPU) +SD_DO .EQU %00000001 ; RTC:0 IS DATA OUT (CARD -> CPU) #ENDIF ; ; SD CARD COMMANDS @@ -58,23 +128,35 @@ SD_ACMD41 .EQU $40 | 41 ; SD_APP_OP_COND ; ; SD CARD TYPE ; -SD_TYPEUNK .EQU 0 -SD_TYPEMMC .EQU 1 -SD_TYPESDSC .EQU 2 -SD_TYPESDHC .EQU 3 +SD_TYPEUNK .EQU 0 ; CARD TYPE UNKNOWN/UNDETERMINED +SD_TYPEMMC .EQU 1 ; MULTIMEDIA CARD (MMC STANDARD) +SD_TYPESDSC .EQU 2 ; SDSC CARD (V1) +SD_TYPESDHC .EQU 3 ; SDHC/SDXC CARD (V2) +; +; SD CARD STATUS (SD_STAT) +; +SD_STOK .EQU 0 ; OK +SD_STNOTRDY .EQU -1 ; NOT READY (INITIALIZATION PENDING) +SD_STRDYTO .EQU -2 ; TIMEOUT WAITING FOR CARD TO BE READY +SD_STINITTO .EQU -3 ; INITIALIZATOIN TIMEOUT +SD_STCMDTO .EQU -4 ; TIMEOUT WAITING FOR COMMAND RESPONSE +SD_STCMDERR .EQU -5 ; COMMAND ERROR OCCURRED (REF SD_RC) +SD_STDATAERR .EQU -6 ; DATA ERROR OCCURRED (REF SD_TOK) +SD_STDATATO .EQU -7 ; DATA TRANSFER TIMEOUT +SD_STCRCERR .EQU -8 ; CRC ERROR ON RECEIVED DATA PACKET ; ; ; SD_DISPATCH: LD A,B ; GET REQUESTED FUNCTION AND $0F - JR Z,SD_READ + JP Z,SD_READ DEC A - JR Z,SD_WRITE + JP Z,SD_WRITE DEC A - JR Z,SD_STATUS + JP Z,SD_STATUS DEC A - JR Z,SD_MEDIA + JP Z,SD_MEDIA CALL PANIC ; ; @@ -82,42 +164,78 @@ SD_DISPATCH: SD_MEDIA: ; INITIALIZE THE SD CARD TO ACCOMMODATE HOT SWAPPING CALL SD_INITCARD - LD A,MID_NONE ; ASSUME FAILURE - RET NZ ; INIT FAILED, RETURN WITH HL=0 - - ; SET READY AND RETURN - XOR A - LD (SD_STAT),A ; SD_STAT = 0 = OK - LD A,MID_HD + LD A,MID_HD ; ASSUME SUCCESS + RET Z ; RETURN IF GOOD INIT + CALL SD_PRT + LD A,MID_NONE ; IF FAILURE, RETURN NO MEDIA RET ; SD_INIT: - PRTS("SD: IO=0x$") -#IF (!SDCSIO) - LD A,RTC -#ELSE - LD A,CPU_CNTR + PRTS("SD:$") +#IF (SDMODE == SDMODE_JUHA) + PRTS(" MODE=JUHA$") + PRTS(" IO=0x$") + LD A,SD_OPSREG + CALL PRTHEXBYTE + PRTS(" UNITS=1$") +#ENDIF +; +#IF (SDMODE == SDMODE_N8) + PRTS(" MODE=N8$") + PRTS(" IO=0x$") + LD A,SD_OPSREG + CALL PRTHEXBYTE + PRTS(" UNITS=1$") #ENDIF +; +#IF (SDMODE == SDMODE_CSIO) + PRTS(" MODE=CSIO$") + #IF (SDCSIOFAST) + PRTS(" FAST$") + #ENDIF + PRTS(" IO=0x$") + LD A,SD_OPSREG + CALL PRTHEXBYTE + PRTS(" CNTR=0x$") + LD A,SD_CNTR + CALL PRTHEXBYTE + PRTS(" TRDR=0x$") + LD A,SD_TRDR CALL PRTHEXBYTE PRTS(" UNITS=1$") +#ENDIF ; - LD A,20H ; PUT RTC LATCH TO IDLE - OUT (RTC),A -#IF (PPISD) - LD A,82H ; PPI PORT A=OUT, B=IN, C=OUT - OUT (PPIX),A - LD A,30H ; PC4,5 /CS HIGH - OUT (PPIC),A +#IF (SDMODE == SDMODE_PPI) + PRTS(" MODE=PPI$") + PRTS(" BASEIO=0x$") + LD A,SD_PPIBASE + CALL PRTHEXBYTE + PRTS(" UNITS=1$") #ENDIF -#IF (S2ISD) - IN A,(SIO_MCR) - OR SD_CS ; DEASSERT = HI = 1 - AND ~SD_DIN ; DEASSERT DIN = LO = 1 - AND ~SD_CLK ; DEASSERT CLK = LO = 1 - OUT (SIO_MCR),A +; +#IF (SDMODE == SDMODE_UART) + PRTS(" MODE=UART$") + PRTS(" MCR=0x$") + LD A,SD_MCR + CALL PRTHEXBYTE + PRTS(" MSR=0x$") + LD A,SD_MSR + CALL PRTHEXBYTE + PRTS(" UNITS=1$") #ENDIF - XOR A - DEC A +; +#IF (SDMODE == SDMODE_DSD) + PRTS(" MODE=DSD$") + PRTS(" OPS=0x$") + LD A,SD_OPSREG + CALL PRTHEXBYTE + PRTS(" SEL=0x$") + LD A,SD_SELREG + CALL PRTHEXBYTE + PRTS(" UNITS=1$") +#ENDIF +; + LD A,SD_STNOTRDY LD (SD_STAT),A RET ; @@ -127,227 +245,217 @@ SD_STATUS: RET ; SD_READ: - JP SD_RDSEC + CALL SD_RDSEC + JR SD_PRT ; SD_WRITE: - JP SD_WRSEC + CALL SD_WRSEC + JP SD_PRT +; +SD_PRT: +#IF (SDTRACE >= 1) + RET Z + PUSH AF + CALL SD_PRTPREFIX + CALL PC_SPACE + CALL SD_PRTSTAT + POP AF +#ENDIF + RET ; ;============================================================================= -; SD INTERFACE ROUTINES +; SD HARDWARE INTERFACE ROUTINES ;============================================================================= ; -; SD_SENDCLKS: A=RTC MASK, B=# OF CLK TRANSITIONS -; For bit bang versions B is number of transitions -; For PPISD B is number of bits -; For CSIO B is number of bytes -SD_SENDCLKS: -#IF (!SDCSIO) - #IF (PPISD) - LD A,03 ;PC1=1, TOGGLE CLOCK - OUT (PPIX),A - NOP - LD A,02 ;PC1=0, RESET CLOCK +; +; PERFORM HARDWARE SPECIFIC INITIALIZATION +; +SD_SETUP: +; +#IF ((SDMODE == SDMODE_JUHA) | (SDMODE == SDMODE_N8)) + LD A,SD_OPSDEF + LD (SD_OPSVAL),A + OUT (SD_OPSREG),A +#ENDIF +; +#IF (SDMODE == SDMODE_CSIO) + ; CSIO SETUP +; LD A,02 ; 18MHz/20 <= 400kHz + LD A,06 ; ??? + OUT0 (SD_CNTR),A + LD A,SD_OPSDEF + LD (SD_OPSVAL),A + OUT (SD_OPSREG),A +#ENDIF +; +#IF (SDMODE == SDMODE_PPI) + LD A,82H ; PPI PORT A=OUT, B=IN, C=OUT OUT (PPIX),A - #ELSE - #IF (S2ISD) - OUT (SIO_MCR),A - XOR SD_CLK - #ELSE - OUT (RTC),A - XOR SD_CLK ; TOGGLE CLOCK BIT - #ENDIF - #ENDIF - DJNZ SD_SENDCLKS + ;LD A,30H ; PC4,5 /CS HIGH + LD A,SD_OPSDEF + LD (SD_OPSVAL),A + OUT (SD_OPSREG),A +#ENDIF +; +#IF (SDMODE == SDMODE_UART) + IN A,(SD_MCR) + OR SD_CS ; DEASSERT = HI = 1 + AND ~SD_DI ; ASSERT DIN = LO = 0 (INVERTED) + AND ~SD_CLK ; DEASSERT CLK = HI = 1 (INVERTED) + OUT (SD_MCR),A +#ENDIF +; +#IF (SDMODE == SDMODE_DSD) + LD A,SD_SELDEF + OUT (SD_SELREG),A + LD A,SD_OPSDEF + LD (SD_OPSVAL),A + OUT (SD_OPSREG),A +#ENDIF + XOR A RET +; +; +;; PULSE CLOCK SIGNAL B TIMES +;; DO NOT MODIFY ANY SIGNALS BUT CLOCK SIGNAL +;; LEAVE WITH ALL SIGNALS IN ORIGINAL STATE +;; +;SD_SENDCLKS: +;; +;#IF ((SDMODE == SDMODE_JUHA) | (SDMODE == SDMODE_DSD)) +; LD A,(SD_OPSVAL) +;SD_SENDCLKS1: +; XOR SD_CLK +; OUT (SD_OPSREG),A +; XOR SD_CLK +; OUT (SD_OPSREG),A +; DJNZ SD_SENDCLKS1 +; RET +;#ENDIF +;; +;#IF (SDMODE == SDMODE_CSIO) +;#ENDIF +;#IF (SDMODE == SDMODE_PPI) +;#ENDIF +;#IF (SDMODE == SDMODE_UART) +;#ENDIF +; +; SELECT CARD +; +SD_SELECT: + LD A,(SD_OPSVAL) +#IF (SDMODE == SDMODE_PPI) + AND ~SD_CS ; SET SD_CS (CHIP SELECT) #ELSE -SD_SENDCLKS1: - CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING - LD A,0FFH - OUT0 (CPU_TRDR),A ; put byte in buffer - IN0 A,(CPU_CNTR) - SET 4,A ; set transmit enable - OUT0 (CPU_CNTR),A - DJNZ SD_SENDCLKS + OR SD_CS ; SET SD_CS (CHIP SELECT) +#ENDIF + LD (SD_OPSVAL),A + OUT (SD_OPSREG),A RET - +; +; DESELECT CARD +; +SD_DESELECT: + LD A,(SD_OPSVAL) +#IF (SDMODE == SDMODE_PPI) + OR SD_CS ; RESET SD_CS (CHIP SELECT) +#ELSE + AND ~SD_CS ; RESET SD_CS (CHIP SELECT) +#ENDIF + LD (SD_OPSVAL),A + OUT (SD_OPSREG),A + RET +; +; +; +#IF (SDMODE == SDMODE_CSIO) SD_WAITTX: ; WAIT FOR TX EMPTY - IN0 A,(CPU_CNTR) ; get CSIO status + IN0 A,(SD_CNTR) ; get CSIO status BIT 4,A ; Tx empty? JR NZ,SD_WAITTX RET - +; +; +; SD_WAITRX: - IN0 A,(CPU_CNTR) ; wait for receiver to finish + IN0 A,(SD_CNTR) ; wait for receiver to finish BIT 5,A JR NZ,SD_WAITRX RET -#ENDIF ; -; COMPLETE A TRANSACTION - PRESERVE AF ; -SD_DONE: - PUSH AF -#IF (!SDCSIO) - #IF (PPISD) - LD A,30H - OUT (PPIC),A ;PC4=1 /CS INACTIVE - LD B,16 - #ELSE - #IF (S2ISD) - IN A,(SIO_MCR) - OR SD_CS ; TURN OFF CS - OUT (SIO_MCR),A - LD B,17 - #ELSE - XOR A - LD B,17 - #ENDIF +; +MIRROR: ; MSB<-->LSB mirror bits in A, result in C + #IF (!SDCSIOFAST) ; slow speed, least code space + LD B,8 ; bit counter +MIRROR1: + RLA ; rotate bit 7 into carry + RR C ; rotate carry into result + DJNZ MIRROR1 ; do all 8 bits + RET + #ELSE ; fastest but uses most code space + LD BC,MIRTAB ; 256 byte mirror table + ADD A,C ; add offset + LD C,A + JR NC,MIRROR2 + INC B +MIRROR2: + LD A,(BC) ; get result + LD C,A ; return result in C + RET #ENDIF - CALL SD_SENDCLKS -#ELSE - CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING - IN A,(RTC) - AND ~SD_CS ; CLEAR CS - OUT (RTC),A - LD B,2 - CALL SD_SENDCLKS +; +MIRTAB: .DB 00H, 80H, 40H, 0C0H, 20H, 0A0H, 60H, 0E0H, 10H, 90H, 50H, 0D0H, 30H, 0B0H, 70H, 0F0H + .DB 08H, 88H, 48H, 0C8H, 28H, 0A8H, 68H, 0E8H, 18H, 98H, 58H, 0D8H, 38H, 0B8H, 78H, 0F8H + .DB 04H, 84H, 44H, 0C4H, 24H, 0A4H, 64H, 0E4H, 14H, 94H, 54H, 0D4H, 34H, 0B4H, 74H, 0F4H + .DB 0CH, 8CH, 4CH, 0CCH, 2CH, 0ACH, 6CH, 0ECH, 1CH, 9CH, 5CH, 0DCH, 3CH, 0BCH, 7CH, 0FCH + .DB 02H, 82H, 42H, 0C2H, 22H, 0A2H, 62H, 0E2H, 12H, 92H, 52H, 0D2H, 32H, 0B2H, 72H, 0F2H + .DB 0AH, 8AH, 4AH, 0CAH, 2AH, 0AAH, 6AH, 0EAH, 1AH, 9AH, 5AH, 0DAH, 3AH, 0BAH, 7AH, 0FAH + .DB 06H, 86H, 46H, 0C6H, 26H, 0A6H, 66H, 0E6H, 16H, 96H, 56H, 0D6H, 36H, 0B6H, 76H, 0F6H + .DB 0EH, 8EH, 4EH, 0CEH, 2EH, 0AEH, 6EH, 0EEH, 1EH, 9EH, 5EH, 0DEH, 3EH, 0BEH, 7EH, 0FEH + .DB 01H, 81H, 41H, 0C1H, 21H, 0A1H, 61H, 0E1H, 11H, 91H, 51H, 0D1H, 31H, 0B1H, 71H, 0F1H + .DB 09H, 89H, 49H, 0C9H, 29H, 0A9H, 69H, 0E9H, 19H, 99H, 59H, 0D9H, 39H, 0B9H, 79H, 0F9H + .DB 05H, 85H, 45H, 0C5H, 25H, 0A5H, 65H, 0E5H, 15H, 95H, 55H, 0D5H, 35H, 0B5H, 75H, 0F5H + .DB 0DH, 8DH, 4DH, 0CDH, 2DH, 0ADH, 6DH, 0EDH, 1DH, 9DH, 5DH, 0DDH, 3DH, 0BDH, 7DH, 0FDH + .DB 03H, 83H, 43H, 0C3H, 23H, 0A3H, 63H, 0E3H, 13H, 93H, 53H, 0D3H, 33H, 0B3H, 73H, 0F3H + .DB 0BH, 8BH, 4BH, 0CBH, 2BH, 0ABH, 6BH, 0EBH, 1BH, 9BH, 5BH, 0DBH, 3BH, 0BBH, 7BH, 0FBH + .DB 07H, 87H, 47H, 0C7H, 27H, 0A7H, 67H, 0E7H, 17H, 97H, 57H, 0D7H, 37H, 0B7H, 77H, 0F7H + .DB 0FH, 8FH, 4FH, 0CFH, 2FH, 0AFH, 6FH, 0EFH, 1FH, 9FH, 5FH, 0DFH, 3FH, 0BFH, 7FH, 0FFH #ENDIF - POP AF - RET ; ; SEND ONE BYTE ; SD_PUT: -#IF (PPISD) -; CALL PRTHEXBYTE ; *DEBUG* - LD C,A ; C=BYTE TO SEND - LD B,8 ; SEND 8 BITS (LOOP 8 TIMES) - LD A,08H ;PC4=0, /CS ACTIVE - OUT (PPIX),A -SD_PUT1: - RL C ;ROTATE NEXT BIT FROM C INTO CF - LD A,01 ;PC0=1, DATA OUT=1 - JR C,SD_PUT2 - LD A,00 ;PC0=0, DATA OUT =0 -SD_PUT2: - OUT (PPIX),A ;SEND DATA OUT - LD A,03 ;PC1=1, TOGGLE CLOCK - OUT (PPIX),A - LD A,02 ;PC1=0, RESET CLOCK - OUT (PPIX),A - DJNZ SD_PUT1 ;REPEAT FOR ALL 8 BITS - RET +#IF (SDMODE == SDMODE_CSIO) + CALL MIRROR ; MSB<-->LSB mirror bits, result in C + CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING + OUT0 (SD_TRDR),C ; put byte in buffer + IN0 A,(SD_CNTR) + SET 4,A ; set transmit enable + OUT0 (SD_CNTR),A #ELSE - #IF (S2ISD) -; CALL PRTHEXBYTE ; *DEBUG* - XOR $FF ; INVERT FOR S2ISD INTERFACE LD C,A ; C=BYTE TO SEND LD B,8 ; SEND 8 BITS (LOOP 8 TIMES) - IN A,(SIO_MCR) ; START WITH CURRENT MCR REG VAUE + LD A,(SD_OPSVAL) ; LOAD CURRENT OPS VALUE SD_PUT1: - RRA ; PREPARE A FOR ROTATE - RL C ; ROTATE NEXT DATA BIT FROM C INTO CF - RLA ; ROTATE DATA BIT INTO A:0 - OR SD_CLK ; ASSERT CLOCK - OUT (SIO_MCR),A ; SEND IT - AND ~SD_CLK ; DEASSERT CLOCK - OUT (SIO_MCR),A ; SEND IT - DJNZ SD_PUT1 ; REPEAT FOR ALL 8 BITS - RET - #ELSE - #IF (!SDCSIO) -; CALL PRTHEXBYTE ; *DEBUG* - LD C,A ; C=BYTE TO SEND - LD B,8 ; SEND 8 BITS (LOOP 8 TIMES) -SD_PUT1: - #IF (PLATFORM==PLT_N8) - LD A,2 ; SD_CS >> 1 (SD_CS WILL BE SET AFTER ROTATE) - RL C ; ROTATE NEXT BIT FROM C INTO CF - RLA ; ROTATE CF INTO A:0, SD_DOUT is RTC:0 - #ELSE - LD A,8 ; SD_CS WILL BE IN BIT2 AFTER ROTATE + RRA ; PREPARE TO GET DATA BIT FROM CF RL C ; ROTATE NEXT BIT FROM C INTO CF - RRA ; ROTATE CARRY INTO A:7, SD_DOUT is RTC:7 - #ENDIF - OUT (RTC),A ; CLOCK LOW (ABOUT TO SEND BIT) - OR SD_CLK ; SET CLOCK BIT - OUT (RTC),A ; CLOCK HIGH (SEND BIT) + RLA ; ROTATE CF INTO A:0, SD_DO is OPS:0 + ;OUT (SD_OPSREG),A ; ASSERT DATA BIT + XOR SD_CLK ; TOGGLE CLOCK + OUT (SD_OPSREG),A ; UPDATE CLOCK AND ASSERT DATA BIT + XOR SD_CLK ; TOGGLE CLOCK + OUT (SD_OPSREG),A ; UPDATE CLOCK DJNZ SD_PUT1 ; REPEAT FOR ALL 8 BITS - AND ~SD_CLK ; RESET CLOCK - OUT (RTC),A ; LEAVE WITH CLOCK LOW - RET - #ELSE - CALL MIRROR ; MSB<-->LSB mirror bits, result in C - CALL SD_WAITRX ; MAKE SURE WE ARE DONE SENDING - OUT0 (CPU_TRDR),C ; put byte in buffer - IN0 A,(CPU_CNTR) - SET 4,A ; set transmit enable - OUT0 (CPU_CNTR),A - RET ; let it do the rest - #ENDIF - #ENDIF + LD A,(SD_OPSVAL) ; LOAD CURRENT OPS VALUE + OUT (SD_OPSREG),A ; LEAVE WITH CLOCK LOW #ENDIF + RET ; let it do the rest ; ; RECEIVE ONE BYTE ; SD_GET: -#IF (PPISD) - LD B,8 ; RECEIVE 8 BITS (LOOP 8 TIMES) -SD_GET1: - IN A,(PPIB) ; GET BIT FROM SD-CARD - RLA ; ROTATE PB7 INTO CARRY - RL C ; ROTATE CARRY INTO C - LD A,03 ; PC1=1, TOGGLE CLOCK - OUT (PPIX),A - LD A,02 ; PC1=0, RESET CLOCK - OUT (PPIX),A - DJNZ SD_GET1 ; REPEAT FOR ALL 8 BITS - LD A,C ; GET BYTE RECEIVED INTO A -; CALL PRTHEXBYTE ; *DEBUG* - RET -#ELSE - #IF (S2ISD) - LD B,8 ; SEND 8 BITS (LOOP 8 TIMES) -SD_GET1: - IN A,(SIO_MCR) ; GET CURRENT MCR TO TOGGLE CLK - OR SD_CLK ; SET CLK - OUT (SIO_MCR),A ; SEND IT - - NOP - - IN A,(SIO_MSR) ; MSR:5 HAS DATA BIT - RLA ; ROTATE DATA BIT TO A:6 - RLA ; ROTATE DATA BIT TO A:7 - RLA ; ROTATE DATA BIT TO CF - RL C ; NOW ROTATE CF INTO C:0 - - IN A,(SIO_MCR) ; GET CURRENT MCR TO TOGGLE CLK - AND ~SD_CLK ; CLEAR CLK - OUT (SIO_MCR),A ; SEND IT - - DJNZ SD_GET1 ; REPEAT FOR ALL 8 BITS - LD A,C ; GET BYTE RECEIVED INTO A - XOR $FF ; INVERT FOR S2ISD INTERFACE -; CALL PC_PERIOD ; *DEBUG* -; CALL PRTHEXBYTE ; *DEBUG* - RET - #ELSE - #IF (!SDCSIO) - LD B,8 ; RECEIVE 8 BITS (LOOP 8 TIMES) -SD_GET1: - IN A,(RTC) ; GET RTC BITS - RLA ; ROTATE RTC:6 (SD_IN) INTO CF - RLA - RL C ; ROTATE CF INTO C:0 - LD A,SD_CS | SD_DOUT | SD_CLK - OUT (RTC),A ; CLOCK HIGH (ACK BIT RECEIVED) - AND ~SD_CLK ; RESET CLOCK BIT - OUT (RTC),A ; CLOCK LOW (READY FOR NEXT BIT) - DJNZ SD_GET1 ; REPEAT FOR ALL 8 BITS - LD A,C ; GET BYTE RECEIVED INTO A -; CALL PRTHEXBYTE ; *DEBUG* - RET - #ELSE +#IF (SDMODE == SDMODE_CSIO) CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING IN0 A,(CPU_CNTR) ; get CSIO status SET 5,A ; start receiver @@ -356,72 +464,65 @@ SD_GET1: IN0 A,(CPU_TRDR) ; get received byte CALL MIRROR ; MSB<-->LSB mirror bits LD A,C ; keep result - RET - #ENDIF +#ELSE + LD B,8 ; RECEIVE 8 BITS (LOOP 8 TIMES) + LD A,(SD_OPSVAL) ; LOAD CURRENT OPS VALUE +SD_GET1: + XOR SD_CLK ; TOGGLE CLOCK + OUT (SD_OPSREG),A ; UPDATE CLOCK + IN A,(SD_INPREG) ; READ THE DATA WHILE CLOCK IS ACTIVE + #IF ((SDMODE == SDMODE_JUHA) | (SDMODE == SDMODE_PPI)) + RLA ; ROTATE INP:7 INTO CF #ENDIF -#ENDIF - -#IF (SDCSIO) -MIRROR: ; MSB<-->LSB mirror bits in A, result in C - #IF (!SDCSIOFAST) ; slow speed, least code space - LD B,8 ; bit counter -MIRROR1: - RLA ; rotate bit 7 into carry - RR C ; rotate carry into result - DJNZ MIRROR1 ; do all 8 bits - RET - #ELSE ; fastest but uses most code space - LD BC,MIRTAB ; 256 byte mirror table - ADD A,C ; add offset - LD C,A - JR NC,MIRROR2 - INC B -MIRROR2: - LD A,(BC) ; get result - LD C,A ; return result in C - RET + #IF (SDMODE == SDMODE_N8) + RLA ; ROTATE INP:6 INTO CF + RLA ; " #ENDIF + #IF (SDMODE == SDMODE_DSD) + RRA ; ROTATE INP:0 INTO CF + #ENDIF + RL C ; ROTATE CF INTO C:0 + LD A,(SD_OPSVAL) ; BACK TO INITIAL VALUES (TOGGLE CLOCK) + OUT (SD_OPSREG),A ; DO IT + DJNZ SD_GET1 ; REPEAT FOR ALL 8 BITS + LD A,C ; GET BYTE RECEIVED INTO A #ENDIF - + RET +; +;================================================================================================== +; SD DISK DRIVER PROTOCOL IMPLEMENTATION +;================================================================================================== ; ; SELECT CARD AND WAIT FOR IT TO BE READY ($FF) ; SD_WAITRDY: -#IF (PPISD) - LD A,21H ;/CS ACTIVE (PC4), DOUT=1 (PC0) - OUT (PPIC),A -#ELSE - #IF (S2ISD) - IN A,(SIO_MCR) - AND ~SD_CS ; ASSERT CS (1) - OUT (SIO_MCR),A - #ELSE - IN A,(RTC) - #IF (!SDCSIO) - OR SD_CS | SD_DOUT ; SET SD_CS (CHIP SELECT) - #ELSE - CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING - OR SD_CS ; SET SD_CS (CHIP SELECT) - #ENDIF - OUT (RTC),A - #ENDIF -#ENDIF + CALL SD_SELECT ; SELECT CARD LD DE,0 ; LOOP MAX (TIMEOUT) SD_WAITRDY1: -; CALL PC_SPACE ; *DEBUG* +; CALL PC_SPACE ; *DEBUG CALL SD_GET ; CALL PRTHEXBYTE ; *DEBUG* ; XOR A ; *DEBUG* TO SIMULATE READY TIMEOUT INC A ; $FF -> $00 RET Z ; IF READY, RETURN - DEC DE + DEC DE LD A,D OR E JR NZ,SD_WAITRDY1 ; KEEP TRYING UNTIL TIMEOUT - LD A,$FF ; SIGNAL TIMEOUT ERROR - OR A ; SET FLAGS + XOR A ; ZERO ACCUM + DEC A ; ACCUM := $FF TO SIGNAL ERROR RET ; TIMEOUT ; +; COMPLETE A TRANSACTION - PRESERVE AF +; +SD_DONE: + PUSH AF + CALL SD_DESELECT + LD A,$FF + CALL SD_PUT + POP AF + RET +; ; SD_GETDATA ; SD_GETDATA: @@ -481,7 +582,7 @@ SD_PUTDATA2: CALL SD_GET CP $FF ; WANT BYTE != $FF JR NZ,SD_PUTDATA3 ; NOT $FF, MOVE ON - DEC DE + DEC DE BIT 7,D JR Z,SD_PUTDATA2 ; KEEP TRYING UNTIL TIMEOUT SD_PUTDATA3: @@ -526,19 +627,21 @@ SD_SETCMDP: ; W/ PARMS IN BC & DE ; EXECUTE A SD CARD COMMAND ; SD_EXEC: + CALL SD_WAITRDY + JP NZ,SD_ERRRDYTO ; RETURN VIA READY TIMEOUT HANDLER XOR A LD (SD_RC),A LD (SD_TOK),A LD HL,SD_CMDBUF LD E,6 ; COMMANDS ARE 6 BYTES SD_EXEC1: -#IF (SDCSIO) +#IF (SDMODE == SDMODE_CSIO) CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING - IN A,(RTC) + IN A,(SD_OPSREG) OR SD_CS ; SET CS - OUT (RTC),A + OUT (SD_OPSREG),A #ENDIF -#IF (S2ISD) +#IF (SDMODE == SDMODE_UART) IN A,(SIO_MCR) AND ~SD_CS ; ASSERT = LO = 0 OUT (SIO_MCR),A @@ -556,6 +659,7 @@ SD_EXEC2: DEC DE BIT 7,D JR Z,SD_EXEC2 + JP SD_ERRCMDTO SD_EXEC3: LD (SD_RC),A #IF (SDTRACE >= 2) @@ -564,6 +668,7 @@ SD_EXEC3: #IF (DSKYENABLE) CALL SD_DSKY #ENDIF + OR A RET ; SD_EXECCMD0: ; EXEC COMMAND, NO PARMS @@ -577,6 +682,8 @@ SD_EXECCMDP: ; EXEC CMD W/ PARMS IN BC/DE ; PUT CARD IN IDLE STATE ; SD_GOIDLE: + ;CALL SD_DONE ; SEEMS TO HELP SOME CARDS... + ; SMALL DELAY HERE HELPS SOME CARDS LD DE,200 ; 5 MILISECONDS CALL VDELAY @@ -587,65 +694,37 @@ SD_GOIDLE: LD A,$95 LD (SD_CMDBUF+5),A ; SET CRC=$95 CALL SD_EXEC ; EXEC CMD - CP $01 ; IN IDLE STATE? - CALL SD_DONE - RET + CALL SD_DONE ; SIGNAL COMMAND COMPLETE + JP P,SD_GOIDLE1 ; VALID RESULT, CHECK IT + CALL SD_EXEC ; 2ND TRY + CALL SD_DONE ; SIGNAL COMMAND COMPLETE + RET M ; COMMAND FAILED +; +SD_GOIDLE1: ; COMMAND OK, CHECK FOR EXPECTED RESULT + DEC A ; MAP EXPECTED $01 -> $00 + RET Z ; IF $00, ALL GOOD, RETURN + JP SD_ERRCMD ; OTHERWISE, HANDLE COMMAND ERROR ; ; INIT CARD ; SD_INITCARD: -#IF (PPISD) - LD A,82H ; PPI PORT A=OUT, B=IN, C=OUT - OUT (PPIX),A - LD A,30H ; PC4,5 /CS HIGH - OUT (PPIC),A -#ENDIF - LD A,20H ; PUT RTC LATCH TO IDLE - OUT (RTC),A - -#IF (SDCSIO) - ; CSIO SETUP -; LD A,02 ; 18MHz/20 <= 400kHz - LD A,06 ; ??? - OUT0 (CPU_CNTR),A -#ENDIF - CALL SD_DONE ; SEEMS TO HELP SOME CARDS... - -#IF (!SDCSIO) - #IF (PPISD) - LD A,21H ; /CS=0, DOUT=1, CLK=0 - OUT (PPIC),A - LD B,07FH ; 127 CLOCKS (255 TRANSITIONS STARTING WITH LO) - #ELSE - #IF (S2ISD) - IN A,(SIO_MCR) - OR SD_CS ; DEASSERT CS = HI = 1 - AND ~SD_DIN ; ASSERT DIN = HI = 0 - AND ~SD_CLK ; DEASSERT CLK = HI = 0 - LD B,0FFH ; 127 CLOCKS (255 TRANSITIONS STARTING WITH LO) - #ELSE - LD A,SD_CS | SD_DOUT ; CS=HI, DOUT=HI - LD B,0FFH ; 127 CLOCKS (255 TRANSITIONS STARTING WITH LO) - #ENDIF - #ENDIF -#ELSE - CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING - IN A,(RTC) - OR SD_CS ; SET CS - OUT (RTC),A - LD B,16 -#ENDIF - CALL SD_SENDCLKS ; INIT DELAY + GO SPI MODE + CALL SD_SETUP ; DO HARDWARE SETUP/INIT +; + ; WAKE UP THE CARD, KEEP DIN HI (ASSERTED) AND /CS HI (DEASSERTED) + LD B,$10 ; MIN 74 CLOCKS REQUIRED, WE USE 128 ($10 * 8) +SD_INITCARD000: + LD A,$FF + PUSH BC + CALL SD_PUT + POP BC + DJNZ SD_INITCARD000 - ; WAIT FOR CARD TO BE READY FOR A COMMAND - CALL SD_WAITRDY - JP NZ,SD_ERRRDYTO + ;CALL SD_SELECT ; PUT CARD IN IDLE STATE CALL SD_GOIDLE - CALL NZ,SD_GOIDLE ; SOME CARDS REQUIRE A SECOND ATTEMPT - JP NZ,SD_ERRCMD ; GIVE UP - + RET NZ ; FAILED + SD_INITCARD00: LD A,SD_TYPESDSC ; ASSUME SDSC CARD TYPE LD (SD_TYPE),A ; SAVE IT @@ -653,7 +732,6 @@ SD_INITCARD00: ; CMD8 IS REQUIRED FOR V2 CARDS. FAILURE HERE IS OK AND ; JUST MEANS THAT IT IS A V1.X CARD LD A,SD_CMD8 - LD BC,0 LD D,1 ; VHS=1, 2.7-3.6V LD E,$AA ; CHECK PATTERN @@ -661,11 +739,12 @@ SD_INITCARD00: LD A,$87 LD (SD_CMDBUF+5),A ; SET CRC=$87 CALL SD_EXEC ; EXEC CMD - AND ~$01 - JR NZ,SD_INITCARD0 + CALL M,SD_DONE ; CLOSE COMMAND IF ERROR + RET M ; ABORT DUE TO PROCESSING ERROR + AND ~$01 ; IGNORE BIT 0 (IDLE) + JR NZ,SD_INITCARD0 ; CMD RESULT ERR, SKIP AHEAD - ; CMD8 WORKED, SO THIS IS V2 CARD - ; NEED TO CONSUME EXTRA CMD8 RESPONSE BYTES (4) + ; CMD8 WORKED, NEED TO CONSUME CMD8 RESPONSE BYTES (4) CALL SD_GET CALL SD_GET CALL SD_GET @@ -674,34 +753,31 @@ SD_INITCARD00: SD_INITCARD0: CALL SD_DONE - LD B,0 ; LOOP LIMIT (TIMEOUT) + LD A,$40 + LD (SD_LCNT),A SD_INITCARD1: ; CALL SD_APP_OP_COND UNTIL CARD IS READY (NOT IDLE) LD DE,200 ; 5 MILLISECONDS CALL VDELAY LD A,SD_CMD55 ; APP CMD IS NEXT - PUSH BC CALL SD_EXECCMD0 - POP BC - AND ~$01 ; ONLY 0 (OK) OR 1 (IDLE) ARE OK CALL SD_DONE + RET M ; ABORT ON PROCESSING ERROR + AND ~$01 ; ONLY 0 (OK) OR 1 (IDLE) ARE OK JP NZ,SD_ERRCMD LD A,SD_ACMD41 ; SD_APP_OP_COND - PUSH BC LD BC,$4000 ; INDICATE WE SUPPORT HC LD DE,$0000 CALL SD_EXECCMDP - POP BC - PUSH AF - AND ~$01 CALL SD_DONE - POP AF -; LD A,$01 ; *DEBUG* TO SIMULATE INIT TIMEOUT ERROR + RET M ; ABORT ON PROCESSING ERROR CP $00 ; INIT DONE? JR Z,SD_INITCARD2 ; YUP, MOVE ON CP $01 ; IDLE? JP NZ,SD_ERRCMD ; NOPE, MUST BE CMD ERROR, ABORT - DJNZ SD_INITCARD1 ; KEEP CHECKING + LD HL,SD_LCNT ; POINT TO LOOP COUNTER + DEC (HL) ; DECREMENT LOOP COUNTER + JR NZ,SD_INITCARD1 ; LOOP UNTIL COUNTER EXHAUSTED LD A,$FF ; SIGNAL TIMEOUT OR A JP SD_ERRINITTO @@ -712,6 +788,7 @@ SD_INITCARD2: LD A,SD_CMD58 CALL SD_EXECCMD0 CALL NZ,SD_DONE + RET M ; ABORT ON PROCESSING ERROR JP NZ,SD_ERRCMD ; CMD58 WORKED, GET OCR DATA AND SET CARD TYPE @@ -732,6 +809,7 @@ SD_INITCARD21: LD DE,512 CALL SD_EXECCMDP CALL SD_DONE + RET M ; ABORT ON PROCESSING ERROR JP NZ,SD_ERRCMD #IF (SDTRACE >= 2) @@ -742,9 +820,7 @@ SD_INITCARD21: CALL PRTHEXBYTE #ENDIF -; RET NZ ; IF ERROR, ABORT NOW WITH A SET CORRECTLY - -#IF (SDCSIO) +#IF (SDMODE == SDMODE_CSIO) CALL SD_WAITTX ; MAKE SURE WE ARE DONE SENDING XOR A ; NOW SET CSIO PORT TO FULL SPEED OUT (CPU_CNTR),A @@ -803,9 +879,6 @@ SD_RDSEC: CALL SD_CHKCARD ; CHECK / REINIT CARD AS NEEDED RET NZ - CALL SD_WAITRDY ; WAIT FOR CARD TO BE READY FOR A COMMAND - JP NZ,SD_ERRRDYTO ; HANDLE NOT READY TIMEOUT ERROR - CALL SD_SETADDR ; SETUP BLOCK ADDRESS LD A,SD_CMD17 ; READ_SINGLE_BLOCK @@ -825,9 +898,6 @@ SD_WRSEC: CALL SD_CHKCARD ; CHECK / REINIT CARD AS NEEDED RET NZ - CALL SD_WAITRDY ; WAIT FOR CARD TO BE READY FOR A COMMAND - JP NZ,SD_ERRRDYTO ; HANDLE NOT READY TIMEOUT ERROR - CALL SD_SETADDR ; SETUP BLOCK ADDRESS LD A,SD_CMD24 ; WRITE_BLOCK @@ -876,59 +946,45 @@ SD_SETADDRSDHC: ; HANDLE READY TIMEOUT ERROR ; SD_ERRRDYTO: -#IF (SDTRACE >= 1) - CALL SD_PRTPREFIX - LD DE,SDSTR_ERRRDYTO -#ENDIF + LD A,SD_STRDYTO JR SD_CARDERR ; -; HANDLE INIT TIMEOUT ERROR -; SD_ERRINITTO: -#IF (SDTRACE >= 1) - CALL SD_PRTPREFIX - LD DE,SDSTR_ERRINITTO -#ENDIF + LD A,SD_STINITTO JR SD_CARDERR ; -; HANDLE COMMAND ERROR +SD_ERRCMDTO: + LD A,SD_STCMDTO + JR SD_CARDERR ; SD_ERRCMD: -#IF (SDTRACE == 1) - CALL SD_PRTTRN -#ENDIF -#IF (SDTRACE >= 1) - LD DE,SDSTR_ERRCMD -#ENDIF + LD A,SD_STCMDERR JR SD_CARDERR ; -; HANDLE COMMAND ERROR -; SD_ERRDATA: -#IF (SDTRACE == 1) - CALL SD_PRTTRN -#ENDIF -#IF (SDTRACE >= 1) - LD DE,SDSTR_ERRDATA -#ENDIF + LD A,SD_STDATAERR + JR SD_CARDERR +; +SD_ERRDATATO: + LD A,SD_STDATATO + JR SD_CARDERR +; +SD_ERRCRC: + LD A,SD_STCRCERR JR SD_CARDERR ; ; GENERIC ERROR HANDLER, DE POINTS TO ERROR STRING ; SD_CARDERR: - PUSH AF - XOR A - DEC A - LD A,FALSE LD (SD_STAT),A -#IF (SDTRACE >= 1) - CALL PC_SPACE - CALL PC_LBKT - CALL WRITESTR - CALL PC_RBKT -#ENDIF +#IF (SDTRACE >= 2) + PUSH AF + PRTC('<') + CALL SD_PRTSTAT + PRTC('>') POP AF - LD (SD_STAT),A +#ENDIF + OR A RET ; ; PRINT DIAGNONSTIC PREFIX @@ -939,6 +995,67 @@ SD_PRTPREFIX: CALL WRITESTR RET ; +; PRINT STATUS STRING +; +SD_PRTSTAT: + LD A,(SD_STAT) + LD DE,SDSTR_STOK + JR Z,SD_PRTSTAT1 + INC A + LD DE,SDSTR_STNOTRDY + JR Z,SD_PRTSTAT1 + INC A + LD DE,SDSTR_STRDYTO + JR Z,SD_PRTSTAT1 + INC A + LD DE,SDSTR_STINITTO + JR Z,SD_PRTSTAT1 + INC A + LD DE,SDSTR_STCMDTO + JR Z,SD_PRTSTAT1 + INC A + LD DE,SDSTR_STCMDERR + JR Z,SD_PRTSTAT1 + INC A + LD DE,SDSTR_STDATAERR + JR Z,SD_PRTSTAT1 + INC A + LD DE,SDSTR_STDATATO + JR Z,SD_PRTSTAT1 + INC A + LD DE,SDSTR_STCRCERR + JR Z,SD_PRTSTAT1 + LD DE,SDSTR_STUNK +; +SD_PRTSTAT1: + CALL WRITESTR + LD A,(SD_STAT) + CP SD_STCMDERR + JR Z,SD_PRTCMDERR + CP SD_STDATAERR + JR Z,SD_PRTDATAERR + RET +; +SD_PRTCMDERR: + LD A,(SD_RC) + JR SD_PRTCODE +; +SD_PRTDATAERR: + LD A,(SD_TOK) + JR SD_PRTCODE +; +SD_PRTCODE: + CALL PC_LPAREN + PUSH AF + LD A,(SD_CMD) + CALL PRTHEXBYTE + LD DE,SDSTR_ARROW + CALL WRITESTR + POP AF + CALL PRTHEXBYTE + CALL PC_RPAREN + RET +; ; PRT COMMAND TRACE ; SD_PRTTRN: @@ -992,39 +1109,23 @@ SD_DSKY: ; ; ; -#IF (SDCSIOFAST) -MIRTAB: .DB 00H, 80H, 40H, 0C0H, 20H, 0A0H, 60H, 0E0H, 10H, 90H, 50H, 0D0H, 30H, 0B0H, 70H, 0F0H - .DB 08H, 88H, 48H, 0C8H, 28H, 0A8H, 68H, 0E8H, 18H, 98H, 58H, 0D8H, 38H, 0B8H, 78H, 0F8H - .DB 04H, 84H, 44H, 0C4H, 24H, 0A4H, 64H, 0E4H, 14H, 94H, 54H, 0D4H, 34H, 0B4H, 74H, 0F4H - .DB 0CH, 8CH, 4CH, 0CCH, 2CH, 0ACH, 6CH, 0ECH, 1CH, 9CH, 5CH, 0DCH, 3CH, 0BCH, 7CH, 0FCH - .DB 02H, 82H, 42H, 0C2H, 22H, 0A2H, 62H, 0E2H, 12H, 92H, 52H, 0D2H, 32H, 0B2H, 72H, 0F2H - .DB 0AH, 8AH, 4AH, 0CAH, 2AH, 0AAH, 6AH, 0EAH, 1AH, 9AH, 5AH, 0DAH, 3AH, 0BAH, 7AH, 0FAH - .DB 06H, 86H, 46H, 0C6H, 26H, 0A6H, 66H, 0E6H, 16H, 96H, 56H, 0D6H, 36H, 0B6H, 76H, 0F6H - .DB 0EH, 8EH, 4EH, 0CEH, 2EH, 0AEH, 6EH, 0EEH, 1EH, 9EH, 5EH, 0DEH, 3EH, 0BEH, 7EH, 0FEH - .DB 01H, 81H, 41H, 0C1H, 21H, 0A1H, 61H, 0E1H, 11H, 91H, 51H, 0D1H, 31H, 0B1H, 71H, 0F1H - .DB 09H, 89H, 49H, 0C9H, 29H, 0A9H, 69H, 0E9H, 19H, 99H, 59H, 0D9H, 39H, 0B9H, 79H, 0F9H - .DB 05H, 85H, 45H, 0C5H, 25H, 0A5H, 65H, 0E5H, 15H, 95H, 55H, 0D5H, 35H, 0B5H, 75H, 0F5H - .DB 0DH, 8DH, 4DH, 0CDH, 2DH, 0ADH, 6DH, 0EDH, 1DH, 9DH, 5DH, 0DDH, 3DH, 0BDH, 7DH, 0FDH - .DB 03H, 83H, 43H, 0C3H, 23H, 0A3H, 63H, 0E3H, 13H, 93H, 53H, 0D3H, 33H, 0B3H, 73H, 0F3H - .DB 0BH, 8BH, 4BH, 0CBH, 2BH, 0ABH, 6BH, 0EBH, 1BH, 9BH, 5BH, 0DBH, 3BH, 0BBH, 7BH, 0FBH - .DB 07H, 87H, 47H, 0C7H, 27H, 0A7H, 67H, 0E7H, 17H, 97H, 57H, 0D7H, 37H, 0B7H, 77H, 0F7H - .DB 0FH, 8FH, 4FH, 0CFH, 2FH, 0AFH, 6FH, 0EFH, 1FH, 9FH, 5FH, 0DFH, 3FH, 0BFH, 7FH, 0FFH -#ENDIF -; -; -; SDSTR_PREFIX .TEXT "SD:$" SDSTR_ARROW .TEXT "-->$" SDSTR_RC .TEXT "RC=$" SDSTR_TOK .TEXT "TOK=$" -SDSTR_OK .TEXT "OK$" -SDSTR_ERR .TEXT "ERR$" -SDSTR_ERRRDYTO .TEXT "READY TIMEOUT$" -SDSTR_ERRINITTO .TEXT "INIT TIMEOUT$" -SDSTR_ERRCMD .TEXT "CMD ERR$" -SDSTR_ERRDATA .TEXT "DATA ERR$" +SDSTR_STOK .TEXT "OK$" SDSTR_SDTYPE .TEXT "SD CARD TYPE: $" ; +SDSTR_STNOTRDY .TEXT "NOT READY$" +SDSTR_STRDYTO .TEXT "READY TIMEOUT$" +SDSTR_STINITTO .TEXT "INITIALIZATION TIMEOUT$" +SDSTR_STCMDTO .TEXT "COMMAND TIMEOUT$" +SDSTR_STCMDERR .TEXT "COMMAND ERROR$" +SDSTR_STDATAERR .TEXT "DATA ERROR$" +SDSTR_STDATATO .TEXT "DATA TIMEOUT$" +SDSTR_STCRCERR .TEXT "CRC ERROR$" +SDSTR_STUNK .TEXT "UNKNOWN$" +; ;================================================================================================== ; SD DISK DRIVER - DATA ;================================================================================================== @@ -1033,6 +1134,8 @@ SD_STAT .DB 0 SD_TYPE .DB 0 SD_RC .DB 0 SD_TOK .DB 0 +SD_OPSVAL .DB 0 +SD_LCNT .DB 0 ; LOOP COUNTER SD_CMDBUF .EQU $ SD_CMD .DB 0 SD_CMDP0 .DB 0 diff --git a/Source/sd_data.asm b/Source/sd_dph.asm similarity index 87% rename from Source/sd_data.asm rename to Source/sd_dph.asm index 0a6e665e..71bc710e 100644 --- a/Source/sd_data.asm +++ b/Source/sd_dph.asm @@ -7,10 +7,10 @@ SD_SLICETRKS .EQU 65 ; TRACKS PER SLICE SD_TRKSIZE .EQU 128 ; SIZE OF TRACK (IN KB) SD_SLICESIZE .EQU ((SD_SLICETRKS * SD_TRKSIZE) + 1023) / 1024 ; SIZE OF EACH SLICE (IN MB) SD_NUMSLICES .EQU SDCAPACITY / SD_SLICESIZE ; TOTAL SLICES IN DEVICE -SD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR UNIT 0 -SD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR UNIT 1 -SD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR UNIT 0 -SD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR UNIT 1 +SD0_SLICEDEF .EQU 0 ; DEFAULT SLICE FOR LOGICAL UNIT 0 +SD1_SLICEDEF .EQU 1 ; DEFAULT SLICE FOR LOGICAL UNIT 1 +SD2_SLICEDEF .EQU 2 ; DEFAULT SLICE FOR LOGICAL UNIT 2 +SD3_SLICEDEF .EQU 3 ; DEFAULT SLICE FOR LOGICAL UNIT 3 ; .DB DIODEV_SD + 0 SDDPH0 .DW 0000,0000 diff --git a/Source/std.asm b/Source/std.asm index cd14fe07..37e02168 100644 --- a/Source/std.asm +++ b/Source/std.asm @@ -99,6 +99,16 @@ PPIDEMODE_NONE .EQU 0 PPIDEMODE_STD .EQU 1 ; STANDARD N8VEM PARALLEL PORT PPIDEMODE_DIO3 .EQU 2 ; DISKIO V3 PARALLEL PORT ; +; SD MODE SELECTIONS +; +SDMODE_NONE .EQU 0 +SDMODE_JUHA .EQU 1 ; JUHA MINI BOARD +SDMODE_N8 .EQU 2 ; N8-2511, UNMODIFIED +SDMODE_CSIO .EQU 3 ; N8-2312 OR N8-2511 MODIFIED +SDMODE_PPI .EQU 4 ; PPISD MINI BOARD +SDMODE_UART .EQU 5 ; S2ISD +SDMODE_DSD .EQU 6 ; DUAL SD +; ; CONSOLE TERMINAL TYPE CHOICES ; TERM_TTY .EQU 0