From 6aa216e040e28040bd958ee9f5e33f79a60683e4 Mon Sep 17 00:00:00 2001 From: Wayne Warthen Date: Mon, 23 Aug 2021 14:43:55 -0700 Subject: [PATCH] ZMP LInux/MacOS Build - Added new ZMP application to Linux/MacOS Build - More ZX cleanup --- Binary/Apps/Clean.cmd | 4 + Binary/Apps/Makefile | 2 +- Source/Apps/Build.cmd | 2 +- Source/Apps/Clean.cmd | 1 + Source/Apps/Makefile | 2 +- Source/Apps/{ZMODEM => ZMP}/Build.cmd | 2 +- Source/Apps/{ZMODEM => ZMP}/Clean.cmd | 0 Source/Apps/ZMP/Makefile | 10 + Source/Apps/ZMP/Notes.txt | 16 + Source/Apps/{ZMODEM => ZMP}/zmconfig.ovr | Bin Source/Apps/{ZMODEM => ZMP}/zminit.ovr | Bin Source/Apps/{ZMODEM => ZMP}/zmo-rw01.z80 | 19 +- Source/Apps/{ZMODEM => ZMP}/zmp-blnk.z80 | 0 Source/Apps/{ZMODEM => ZMP}/zmp-ovl.upd | 0 Source/Apps/{ZMODEM => ZMP}/zmp.cfg | 0 Source/Apps/{ZMODEM => ZMP}/zmp.doc | 0 Source/Apps/{ZMODEM => ZMP}/zmp.fon | 0 Source/Apps/{ZMODEM => ZMP}/zmp.for | 0 Source/Apps/{ZMODEM => ZMP}/zmp.hlp | 0 Source/Apps/{ZMODEM => ZMP}/zmp15+-.new | 0 Source/Apps/{ZMODEM => ZMP}/zmterm.ovr | Bin Source/Apps/{ZMODEM => ZMP}/zmxfer.ovr | Bin Source/Images/d_bp.txt | 7 + Source/Images/d_cpm22.txt | 7 + Source/Images/d_cpm3.txt | 7 + Source/Images/d_nzcom.txt | 7 + Source/Images/d_zpm3.txt | 7 + Source/Images/d_zsdos.txt | 7 + Tools/Makefile.inc | 3 + Tools/unix/zx/cpmdrv.c | 101 +- Tools/unix/zx/cpmglob.c | 6 +- Tools/unix/zx/cpmint.h | 3 + Tools/unix/zx/edops.h | 1139 +++++++++++----------- Tools/unix/zx/readme.txt | 33 +- Tools/unix/zx/zx.html | 5 +- Tools/zx/zx-src.zip | Bin 58631 -> 61143 bytes Tools/zx/zx.exe | Bin 95232 -> 97792 bytes Tools/zx/zx.html | 5 +- Tools/zx/zxdbg.exe | Bin 100864 -> 101888 bytes 39 files changed, 713 insertions(+), 682 deletions(-) rename Source/Apps/{ZMODEM => ZMP}/Build.cmd (85%) rename Source/Apps/{ZMODEM => ZMP}/Clean.cmd (100%) create mode 100644 Source/Apps/ZMP/Makefile create mode 100644 Source/Apps/ZMP/Notes.txt rename Source/Apps/{ZMODEM => ZMP}/zmconfig.ovr (100%) rename Source/Apps/{ZMODEM => ZMP}/zminit.ovr (100%) rename Source/Apps/{ZMODEM => ZMP}/zmo-rw01.z80 (93%) rename Source/Apps/{ZMODEM => ZMP}/zmp-blnk.z80 (100%) rename Source/Apps/{ZMODEM => ZMP}/zmp-ovl.upd (100%) rename Source/Apps/{ZMODEM => ZMP}/zmp.cfg (100%) rename Source/Apps/{ZMODEM => ZMP}/zmp.doc (100%) rename Source/Apps/{ZMODEM => ZMP}/zmp.fon (100%) rename Source/Apps/{ZMODEM => ZMP}/zmp.for (100%) rename Source/Apps/{ZMODEM => ZMP}/zmp.hlp (100%) rename Source/Apps/{ZMODEM => ZMP}/zmp15+-.new (100%) rename Source/Apps/{ZMODEM => ZMP}/zmterm.ovr (100%) rename Source/Apps/{ZMODEM => ZMP}/zmxfer.ovr (100%) diff --git a/Binary/Apps/Clean.cmd b/Binary/Apps/Clean.cmd index 1427d697..3b66f0e1 100644 --- a/Binary/Apps/Clean.cmd +++ b/Binary/Apps/Clean.cmd @@ -2,5 +2,9 @@ setlocal if exist *.com del *.com + +if exist *.ovr del *.ovr +if exist *.doc del *.doc +if exist *.hlp del *.hlp if exist Tunes\*.pt? del Tunes\*.pt? if exist Tunes\*.mym del Tunes\*.mym diff --git a/Binary/Apps/Makefile b/Binary/Apps/Makefile index 7e63d751..2290ff2b 100644 --- a/Binary/Apps/Makefile +++ b/Binary/Apps/Makefile @@ -7,4 +7,4 @@ all:: mkdir -p Tunes clobber:: - @rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.COM *.BIN Tunes/*.mym Tunes/*.pt? + @rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.ovr *.hlp *.doc *.COM *.BIN Tunes/*.mym Tunes/*.pt? diff --git a/Source/Apps/Build.cmd b/Source/Apps/Build.cmd index 87038f2e..2fdbb9ea 100644 --- a/Source/Apps/Build.cmd +++ b/Source/Apps/Build.cmd @@ -35,7 +35,7 @@ pushd Tune && call Build || exit /b & popd pushd FAT && call Build || exit /b & popd pushd I2C && call Build || exit /b & popd pushd ramtest && call Build || exit /b & popd -pushd zmodem && call Build || exit /b & popd +pushd ZMP && call Build || exit /b & popd copy *.com %APPBIN%\ || exit /b diff --git a/Source/Apps/Clean.cmd b/Source/Apps/Clean.cmd index 429b0c70..7aaa1702 100644 --- a/Source/Apps/Clean.cmd +++ b/Source/Apps/Clean.cmd @@ -13,3 +13,4 @@ pushd Tune && call Clean || exit /b 1 & popd pushd FAT && call Clean || exit /b 1 & popd pushd I2C && call Clean || exit /b 1 & popd pushd ramtest && call Clean || exit /b 1 & popd +pushd ZMP && call Clean || exit /b 1 & popd diff --git a/Source/Apps/Makefile b/Source/Apps/Makefile index 7f87a2d0..4b2d227b 100644 --- a/Source/Apps/Makefile +++ b/Source/Apps/Makefile @@ -2,7 +2,7 @@ OBJECTS = sysgen.com survey.com \ syscopy.com assign.com format.com talk.com mode.com rtc.com \ timer.com inttest.com rtchb.com ppidetst.com tstdskng.com OTHERS = *.hex *.com -SUBDIRS = XM FDU FAT Tune I2C ramtest +SUBDIRS = XM FDU FAT Tune I2C ramtest ZMP DEST = ../../Binary/Apps TOOLS =../../Tools diff --git a/Source/Apps/ZMODEM/Build.cmd b/Source/Apps/ZMP/Build.cmd similarity index 85% rename from Source/Apps/ZMODEM/Build.cmd rename to Source/Apps/ZMP/Build.cmd index 7063e7f3..71f79633 100644 --- a/Source/Apps/ZMODEM/Build.cmd +++ b/Source/Apps/ZMP/Build.cmd @@ -15,4 +15,4 @@ zx MLOAD25 -ZMP.COM=ZMPX.COM,ZMO-RW01 || exit /b copy /Y zmp.com ..\..\..\Binary\Apps\ || exit /b copy /Y *.ovr ..\..\..\Binary\Apps\ || exit /b copy /Y *.hlp ..\..\..\Binary\Apps\ || exit /b -copy /Y zmp.doc ..\..\..\Doc\ || exit /b \ No newline at end of file +copy /Y zmp.doc ..\..\..\Binary\Apps\ || exit /b \ No newline at end of file diff --git a/Source/Apps/ZMODEM/Clean.cmd b/Source/Apps/ZMP/Clean.cmd similarity index 100% rename from Source/Apps/ZMODEM/Clean.cmd rename to Source/Apps/ZMP/Clean.cmd diff --git a/Source/Apps/ZMP/Makefile b/Source/Apps/ZMP/Makefile new file mode 100644 index 00000000..09abd053 --- /dev/null +++ b/Source/Apps/ZMP/Makefile @@ -0,0 +1,10 @@ +OBJECTS = zmp.com *.ovr *.hlp zmp.doc +DEST = ../../../Binary/Apps +TOOLS = ../../../Tools +OTHERS = *.hex +NODELETE = *.ovr zmp.doc *.hlp + +include $(TOOLS)/Makefile.inc + +zmp.com: zmo-rw01.hex + $(ZXCC) $(CPM)/MLOAD25 -ZMP.COM=ZMPX.COM,ZMO-RW01 diff --git a/Source/Apps/ZMP/Notes.txt b/Source/Apps/ZMP/Notes.txt new file mode 100644 index 00000000..2424af33 --- /dev/null +++ b/Source/Apps/ZMP/Notes.txt @@ -0,0 +1,16 @@ +- Overlay files must reside on default drive at time program is + launched. This seems to preclude the path search feature of + ZSDOS/ZCPR which would be nice. Need to look into this. +- Need some mechanism for user to select a CIO unit other than CIO 1 + without modifying and rebuilding application. +- Initialization messages refer to CIO 1 as CIO 0 +- System hangs after error message if there is no CIO 1 unit +- When leaving program, terminal cursor remains hidden + +--WBW 1:42 PM 8/23/2021 + +- When leaving program, terminal cursor remains hidden (fixed) +- System hangs after error message if there is no CIO 1 unit (fixed) +- Initialization messages refer to CIO 1 as CIO 0 (fixed) + +--WBW 1:58 PM 8/23/2021 \ No newline at end of file diff --git a/Source/Apps/ZMODEM/zmconfig.ovr b/Source/Apps/ZMP/zmconfig.ovr similarity index 100% rename from Source/Apps/ZMODEM/zmconfig.ovr rename to Source/Apps/ZMP/zmconfig.ovr diff --git a/Source/Apps/ZMODEM/zminit.ovr b/Source/Apps/ZMP/zminit.ovr similarity index 100% rename from Source/Apps/ZMODEM/zminit.ovr rename to Source/Apps/ZMP/zminit.ovr diff --git a/Source/Apps/ZMODEM/zmo-rw01.z80 b/Source/Apps/ZMP/zmo-rw01.z80 similarity index 93% rename from Source/Apps/ZMODEM/zmo-rw01.z80 rename to Source/Apps/ZMP/zmo-rw01.z80 index b2b8af4b..54435c31 100644 --- a/Source/Apps/ZMODEM/zmo-rw01.z80 +++ b/Source/Apps/ZMP/zmo-rw01.z80 @@ -457,7 +457,8 @@ init: call print db 'CIO device initialized: ',0 ld a,(port) - add a,'0'-1 + ;add a,'0'-1 + add a,'0' call cout call print db cr,lf,0 @@ -472,12 +473,16 @@ initerr: call print db 'Unable to initialize CIO device: ',0 ld a,(port) - add a,'0'-1 + ;add a,'0'-1 + add a,'0' call cout call print db cr,lf,0 - ret + ;ret + + call show ; show cursor, then ... + jp 0 ; bail out to avoid system hang! ;-------------------------------------------------------------------------- stop: dw 1 ; stop bits @@ -539,7 +544,8 @@ setport: pop hl ld a,l - add a,'0'-1 + ;add a,'0'-1 + add a,'0' call cout call print db cr,lf,0 @@ -550,7 +556,8 @@ seterr: db 'Unable to set CIO device: ',0 pop hl ld a,l - add a,'0'-1 + ;add a,'0'-1 + add a,'0' call cout call print db cr,lf,0 @@ -641,7 +648,7 @@ hide: ;Turn on cursor: show: call print - db esc,'.3',0 + db esc,'[?25h',0 ret ;Save cursor position: diff --git a/Source/Apps/ZMODEM/zmp-blnk.z80 b/Source/Apps/ZMP/zmp-blnk.z80 similarity index 100% rename from Source/Apps/ZMODEM/zmp-blnk.z80 rename to Source/Apps/ZMP/zmp-blnk.z80 diff --git a/Source/Apps/ZMODEM/zmp-ovl.upd b/Source/Apps/ZMP/zmp-ovl.upd similarity index 100% rename from Source/Apps/ZMODEM/zmp-ovl.upd rename to Source/Apps/ZMP/zmp-ovl.upd diff --git a/Source/Apps/ZMODEM/zmp.cfg b/Source/Apps/ZMP/zmp.cfg similarity index 100% rename from Source/Apps/ZMODEM/zmp.cfg rename to Source/Apps/ZMP/zmp.cfg diff --git a/Source/Apps/ZMODEM/zmp.doc b/Source/Apps/ZMP/zmp.doc similarity index 100% rename from Source/Apps/ZMODEM/zmp.doc rename to Source/Apps/ZMP/zmp.doc diff --git a/Source/Apps/ZMODEM/zmp.fon b/Source/Apps/ZMP/zmp.fon similarity index 100% rename from Source/Apps/ZMODEM/zmp.fon rename to Source/Apps/ZMP/zmp.fon diff --git a/Source/Apps/ZMODEM/zmp.for b/Source/Apps/ZMP/zmp.for similarity index 100% rename from Source/Apps/ZMODEM/zmp.for rename to Source/Apps/ZMP/zmp.for diff --git a/Source/Apps/ZMODEM/zmp.hlp b/Source/Apps/ZMP/zmp.hlp similarity index 100% rename from Source/Apps/ZMODEM/zmp.hlp rename to Source/Apps/ZMP/zmp.hlp diff --git a/Source/Apps/ZMODEM/zmp15+-.new b/Source/Apps/ZMP/zmp15+-.new similarity index 100% rename from Source/Apps/ZMODEM/zmp15+-.new rename to Source/Apps/ZMP/zmp15+-.new diff --git a/Source/Apps/ZMODEM/zmterm.ovr b/Source/Apps/ZMP/zmterm.ovr similarity index 100% rename from Source/Apps/ZMODEM/zmterm.ovr rename to Source/Apps/ZMP/zmterm.ovr diff --git a/Source/Apps/ZMODEM/zmxfer.ovr b/Source/Apps/ZMP/zmxfer.ovr similarity index 100% rename from Source/Apps/ZMODEM/zmxfer.ovr rename to Source/Apps/ZMP/zmxfer.ovr diff --git a/Source/Images/d_bp.txt b/Source/Images/d_bp.txt index 1e5addd1..be17824c 100644 --- a/Source/Images/d_bp.txt +++ b/Source/Images/d_bp.txt @@ -26,6 +26,13 @@ ../../Binary/Apps/timer.com 15: ../../Binary/Apps/tune.com 15: ../../Binary/Apps/xm.com 15: +../../Binary/Apps/zmp.com 15: +../../Binary/Apps/zmp.hlp 15: +../../Binary/Apps/zmp.doc 15: +../../Binary/Apps/zmxfer.ovr 15: +../../Binary/Apps/zmterm.ovr 15: +../../Binary/Apps/zminit.ovr 15: +../../Binary/Apps/zmconfig.ovr 15: # ../../Binary/Apps/i2clcd.com 2: ../../Binary/Apps/i2cscan.com 2: diff --git a/Source/Images/d_cpm22.txt b/Source/Images/d_cpm22.txt index b775469b..1f328f27 100644 --- a/Source/Images/d_cpm22.txt +++ b/Source/Images/d_cpm22.txt @@ -16,6 +16,13 @@ ../../Binary/Apps/timer.com 0: ../../Binary/Apps/tune.com 0: ../../Binary/Apps/xm.com 0: +../../Binary/Apps/zmp.com 0: +../../Binary/Apps/zmp.hlp 0: +../../Binary/Apps/zmp.doc 0: +../../Binary/Apps/zmxfer.ovr 0: +../../Binary/Apps/zmterm.ovr 0: +../../Binary/Apps/zminit.ovr 0: +../../Binary/Apps/zmconfig.ovr 0: # ../../Binary/Apps/i2clcd.com 2: ../../Binary/Apps/i2cscan.com 2: diff --git a/Source/Images/d_cpm3.txt b/Source/Images/d_cpm3.txt index 8b5b4298..6c5eef3b 100644 --- a/Source/Images/d_cpm3.txt +++ b/Source/Images/d_cpm3.txt @@ -36,6 +36,13 @@ ../../Binary/Apps/timer.com 0: ../../Binary/Apps/tune.com 0: ../../Binary/Apps/xm.com 0: +../../Binary/Apps/zmp.com 0: +../../Binary/Apps/zmp.hlp 0: +../../Binary/Apps/zmp.doc 0: +../../Binary/Apps/zmxfer.ovr 0: +../../Binary/Apps/zmterm.ovr 0: +../../Binary/Apps/zminit.ovr 0: +../../Binary/Apps/zmconfig.ovr 0: # ../../Binary/Apps/i2clcd.com 2: ../../Binary/Apps/i2cscan.com 2: diff --git a/Source/Images/d_nzcom.txt b/Source/Images/d_nzcom.txt index 4a245f37..b63994c2 100644 --- a/Source/Images/d_nzcom.txt +++ b/Source/Images/d_nzcom.txt @@ -16,6 +16,13 @@ ../../Binary/Apps/timer.com 0: ../../Binary/Apps/tune.com 0: ../../Binary/Apps/xm.com 0: +../../Binary/Apps/zmp.com 0: +../../Binary/Apps/zmp.hlp 0: +../../Binary/Apps/zmp.doc 0: +../../Binary/Apps/zmxfer.ovr 0: +../../Binary/Apps/zmterm.ovr 0: +../../Binary/Apps/zminit.ovr 0: +../../Binary/Apps/zmconfig.ovr 0: # ../../Binary/Apps/i2clcd.com 2: ../../Binary/Apps/i2cscan.com 2: diff --git a/Source/Images/d_zpm3.txt b/Source/Images/d_zpm3.txt index 12b8d5d2..5be3b3a5 100644 --- a/Source/Images/d_zpm3.txt +++ b/Source/Images/d_zpm3.txt @@ -35,6 +35,13 @@ ../../Binary/Apps/timer.com 15: ../../Binary/Apps/tune.com 15: ../../Binary/Apps/xm.com 15: +../../Binary/Apps/zmp.com 15: +../../Binary/Apps/zmp.hlp 15: +../../Binary/Apps/zmp.doc 15: +../../Binary/Apps/zmxfer.ovr 15: +../../Binary/Apps/zmterm.ovr 15: +../../Binary/Apps/zminit.ovr 15: +../../Binary/Apps/zmconfig.ovr 15: # #../../Binary/Apps/i2clcd.com 2: #../../Binary/Apps/i2cscan.com 2: diff --git a/Source/Images/d_zsdos.txt b/Source/Images/d_zsdos.txt index 805bd5c5..b3ca2e43 100644 --- a/Source/Images/d_zsdos.txt +++ b/Source/Images/d_zsdos.txt @@ -28,6 +28,13 @@ d_cpm22/u0/XSUB.COM 0: ../../Binary/Apps/timer.com 0: ../../Binary/Apps/tune.com 0: ../../Binary/Apps/xm.com 0: +../../Binary/Apps/zmp.com 0: +../../Binary/Apps/zmp.hlp 0: +../../Binary/Apps/zmp.doc 0: +../../Binary/Apps/zmxfer.ovr 0: +../../Binary/Apps/zmterm.ovr 0: +../../Binary/Apps/zminit.ovr 0: +../../Binary/Apps/zmconfig.ovr 0: # ../../Binary/Apps/i2clcd.com 2: ../../Binary/Apps/i2cscan.com 2: diff --git a/Tools/Makefile.inc b/Tools/Makefile.inc index 48910ec8..b5a8bf44 100644 --- a/Tools/Makefile.inc +++ b/Tools/Makefile.inc @@ -93,6 +93,9 @@ CPM=$(TOOLS)/cpm/bin %.rel: %.z80 $(ZXCC) $(CPM)/Z80ASM -$(basename $<)/MF +%.hex: %.z80 + $(ZXCC) $(CPM)/Z80ASM -$(basename $<)/HF + %.hex: %.180 $(ZXCC) $(CPM)/SLR180 -$(basename $<)/HF diff --git a/Tools/unix/zx/cpmdrv.c b/Tools/unix/zx/cpmdrv.c index 1faff21b..24042e5b 100644 --- a/Tools/unix/zx/cpmdrv.c +++ b/Tools/unix/zx/cpmdrv.c @@ -139,6 +139,7 @@ cpm_word fcb_purge() #endif } +/* Generic 8MB disk definition */ static cpm_byte exdpb[0x11] = { 0x80, 0, /* 128 records/track */ @@ -154,61 +155,7 @@ static cpm_byte exdpb[0x11] = { cpm_word fcb_getdpb(cpm_byte *dpb) { -#ifdef WIN32 - DWORD spc, bps, fc, tc; - unsigned bsh, blm, psh, phm; - char *hostd = drive_to_hostdrive(redir_cpmdrive); - - if (!hostd) return 0x01FF; /* Can't select */ - - if (!GetDiskFreeSpace(hostd, &spc, &bps, &fc, &tc)) - return 0x01FF; /* Can't select */ - - /* Store total clusters */ - //if (tc > 0x10000L) tc = 0x10000L; - if (tc > 0xFFFFL) tc = 0xFFFFL; - - psh = 0; phm = 0; - - while (bps > 128) /* Get sector size */ - { - bps /= 2; - psh++; - phm = (phm << 1) | 1; - } - bsh = psh; blm = phm; - while (spc > 1) /* Get cluster size */ - { - spc /= 2; - bsh++; - blm = (blm << 1) | 1; - } - - - exdpb[2] = bsh; - exdpb[3] = blm; - exdpb[5] = tc & 0xFF; - exdpb[6] = tc >> 8; - - exdpb[15] = psh; - exdpb[16] = phm; -#else - struct statfs buf; - cpm_word nfiles; - - /* Get DPB for redir_cpmdrive. Currently just returns a dummy. */ - if (!statfs(redir_drive_prefix[redir_cpmdrive], &buf)) - { - /* Store correct directory entry count */ - - if (buf.f_files >= 0x10000L) nfiles = 0xFFFF; - else nfiles = buf.f_files; - - exdpb[7] = nfiles & 0xFF; - exdpb[8] = nfiles >> 8; - } -#endif - + /* Return the example dpb */ memcpy(dpb, &exdpb, 0x11); return 0x11; } @@ -223,7 +170,7 @@ cpm_word fcb_getalv(cpm_byte *alv, cpm_word max) memset(alv, 0xFF, max / 2); memset(alv + (max / 2), 0, max / 2); - + return max; } @@ -231,45 +178,7 @@ cpm_word fcb_getalv(cpm_byte *alv, cpm_word max) cpm_word fcb_dfree (cpm_byte drive, cpm_byte *dma) { -#ifdef WIN32 - DWORD spc, bps, fc, tc; - DWORD freerec; - char *hostd = drive_to_hostdrive(drive); - - if (!hostd) return 0x01FF; - if (!hostd) return 0x01FF; /* Can't select */ - - if (!GetDiskFreeSpace(hostd, &spc, &bps, &fc, &tc)) - return 0x01FF; /* Can't select */ - - freerec = fc; /* Free clusters */ - freerec *= spc; /* Free sectors */ - freerec *= (bps / 128); /* Free CP/M records */ - - /* Limit to maximum CP/M drive size */ - if (freerec > 4194303L) freerec = 4194303L; - redir_wr24(dma, freerec); - -#else - struct statfs buf; - long dfree; - - if (!redir_drive_prefix[drive]) return 0x01FF; /* Can't select */ - - if (statfs(redir_drive_prefix[drive], &buf)) return 0x01FF; - - dfree = (buf.f_bavail * (buf.f_bsize / 128)); - - if (dfree < buf.f_bavail || /* Calculation has wrapped round */ - dfree > 4194303L) /* Bigger than max CP/M drive size */ - { - dfree = 4194303L; - } - - redir_wr24(dma, dfree); -#endif + /* Return half of disk capacity */ + redir_wr24(dma, 0x8000L); /* 8MB / 128 / 2 */ return 0; } - - - diff --git a/Tools/unix/zx/cpmglob.c b/Tools/unix/zx/cpmglob.c index 20306e09..5566d8a4 100644 --- a/Tools/unix/zx/cpmglob.c +++ b/Tools/unix/zx/cpmglob.c @@ -277,7 +277,11 @@ cpm_word redir_find(int n, cpm_byte *fcb, cpm_byte *dma) while (n >= 0) { de = next_entry(hostdir, fcb, dma + 1, &st); - if (!de) return 0xFF; + if (!de) + { + closedir(hostdir); + return 0xFF; + } --n; } /* Valid entry found & statted. dma+1 holds filename. */ diff --git a/Tools/unix/zx/cpmint.h b/Tools/unix/zx/cpmint.h index f0ec4237..e6878174 100644 --- a/Tools/unix/zx/cpmint.h +++ b/Tools/unix/zx/cpmint.h @@ -67,6 +67,9 @@ #ifdef HAVE_UNISTD_H # include #endif +#ifdef WIN32 +# define strcasecmp _stricmp +#endif #ifdef __MSDOS__ diff --git a/Tools/unix/zx/edops.h b/Tools/unix/zx/edops.h index 6b04c96a..433f0cb2 100644 --- a/Tools/unix/zx/edops.h +++ b/Tools/unix/zx/edops.h @@ -1,567 +1,572 @@ -/* Emulations of the ED operations of the Z80 instruction set. - * Copyright (C) 1994 Ian Collier. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#define input(var) { unsigned short u;\ - var=u=in(tstates,b,c);\ - tstates+=u>>8;\ - f=(f&1)|(var&0xa8)|((!var)<<6)|parity(var);\ - } -#define sbchl(x) { unsigned short z=(x);\ - unsigned long t=(hl-z-cy)&0x1ffff;\ - f=((t>>8)&0xa8)|(t>>16)|2|\ - (((hl&0xfff)<(z&0xfff)+cy)<<4)|\ - (((hl^z)&(hl^t)&0x8000)>>13)|\ - ((!(t&0xffff))<<6)|2;\ - l=t;\ - h=t>>8;\ - } - -#define adchl(x) { unsigned short z=(x);\ - unsigned long t=hl+z+cy;\ - f=((t>>8)&0xa8)|(t>>16)|\ - (((hl&0xfff)+(z&0xfff)+cy>0xfff)<<4)|\ - (((~hl^z)&(hl^t)&0x8000)>>13)|\ - ((!(t&0xffff))<<6)/*|2*/;\ - l=t;\ - h=t>>8;\ - } -/* [JCE] The "|2" should not be there, at least according to my tests on - * a PCW16. The PCW16's ADC always resets that bit. */ - - -#define neg (a=-a,\ - f=(a&0xa8)|((!a)<<6)|(((a&15)>0)<<4)|((a==128)<<2)|2|(a>0)) - -{ - unsigned char op=fetch(pc); - pc++; - radjust++; - switch(op){ -instr(0x40,8); - input(b); -endinstr; - -instr(0x41,8); - tstates+=out(tstates,b,c,b); -endinstr; - -instr(0x42,11); - sbchl(bc); -endinstr; - -instr(0x43,16); - {unsigned short addr=fetch2(pc); - pc+=2; - store2b(addr,b,c); - } -endinstr; - -instr(0x44,4); - neg; -endinstr; - -instr(0x45,4); - iff1=iff2; - ret; -endinstr; - -instr(0x46,4); - im=0; -endinstr; - -instr(0x47,5); - i=a; -endinstr; - -instr(0x48,8); - input(c); -endinstr; - -instr(0x49,8); - tstates+=out(tstates,b,c,c); -endinstr; - -instr(0x4a,11); - adchl(bc); -endinstr; - -instr(0x4b,16); - {unsigned short addr=fetch2(pc); - pc+=2; - c=fetch(addr); - b=fetch(addr+1); - } -endinstr; - -instr(0x4c,4); - neg; -endinstr; - -instr(0x4d,4); - ret; -endinstr; - -instr(0x4e,4); - im=1; -endinstr; - -instr(0x4f,5); - r=a; - radjust=r; -endinstr; - -instr(0x50,8); - input(d); -endinstr; - -instr(0x51,8); - tstates+=out(tstates,b,c,d); -endinstr; - -instr(0x52,11); - sbchl(de); -endinstr; - -instr(0x53,16); - {unsigned short addr=fetch2(pc); - pc+=2; - store2b(addr,d,e); - } -endinstr; - -instr(0x54,4); - neg; -endinstr; - -instr(0x55,4); - ret; -endinstr; - -instr(0x56,4); - im=2; -endinstr; - -instr(0x57,5); - a=i; - f=(f&1)|(a&0xa8)|((!a)<<6)|(iff2<<2); -endinstr; - -instr(0x58,8); - input(e); -endinstr; - -instr(0x59,8); - tstates+=out(tstates,b,c,e); -endinstr; - -instr(0x5a,11); - adchl(de); -endinstr; - -instr(0x5b,16); - {unsigned short addr=fetch2(pc); - pc+=2; - e=fetch(addr); - d=fetch(addr+1); - } -endinstr; - -instr(0x5c,4); - neg; -endinstr; - -instr(0x5d,4); - ret; -endinstr; - -instr(0x5e,4); - im=3; -endinstr; - -instr(0x5f,5); - r=(r&0x80)|(radjust&0x7f); - a=r; - f=(f&1)|(a&0xa8)|((!a)<<6)|(iff2<<2); -endinstr; - -instr(0x60,8); - input(h); -endinstr; - -instr(0x61,8); - tstates+=out(tstates,b,c,h); -endinstr; - -instr(0x62,11); - sbchl(hl); -endinstr; - -instr(0x63,16); - {unsigned short addr=fetch2(pc); - pc+=2; - store2b(addr,h,l); - } -endinstr; - -instr(0x64,4); - neg; -endinstr; - -instr(0x65,4); - ret; -endinstr; - -instr(0x66,4); - im=0; -endinstr; - -instr(0x67,14); - {unsigned char t=fetch(hl); - unsigned char u=(a<<4)|(t>>4); - a=(a&0xf0)|(t&0x0f); - store(hl,u); - f=(f&1)|(a&0xa8)|((!a)<<6)|parity(a); - } -endinstr; - -instr(0x68,8); - input(l); -endinstr; - -instr(0x69,8); - tstates+=out(tstates,b,c,l); -endinstr; - -instr(0x6a,11); - adchl(hl); -endinstr; - -instr(0x6b,16); - {unsigned short addr=fetch2(pc); - pc+=2; - l=fetch(addr); - h=fetch(addr+1); - } -endinstr; - -instr(0x6c,4); - neg; -endinstr; - -instr(0x6d,4); - ret; -endinstr; - -instr(0x6e,4); - im=1; -endinstr; - -instr(0x6f,5); - {unsigned char t=fetch(hl); - unsigned char u=(a&0x0f)|(t<<4); - a=(a&0xf0)|(t>>4); - store(hl,u); - f=(f&1)|(a&0xa8)|((!a)<<6)|parity(a); - } -endinstr; - -instr(0x70,8); - {unsigned char x;input(x);} -endinstr; - -instr(0x71,8); - tstates+=out(tstates,b,c,0); -endinstr; - -instr(0x72,11); - sbchl(sp); -endinstr; - -instr(0x73,16); - {unsigned short addr=fetch2(pc); - pc+=2; - store2(addr,sp); - } -endinstr; - -instr(0x74,4); - neg; -endinstr; - -instr(0x75,4); - ret; -endinstr; - -instr(0x76,4); - im=2; -endinstr; - -instr(0x78,8); - input(a); -endinstr; - -instr(0x79,8); - tstates+=out(tstates,b,c,a); -endinstr; - -instr(0x7a,11); - adchl(sp); -endinstr; - -instr(0x7b,16); - {unsigned short addr=fetch2(pc); - pc+=2; - sp=fetch2(addr); - } -endinstr; - -instr(0x7c,4); - neg; -endinstr; - -instr(0x7d,4); - ret; -endinstr; - -instr(0x7e,4); - im=3; -endinstr; - -instr(0xa0,12); - {unsigned char x=fetch(hl); - store(de,x); - if(!++l)h++; - if(!++e)d++; - if(!c--)b--; - f=(f&0xc1)|(x&0x28)|(((b|c)>0)<<2); - } -endinstr; - -instr(0xa1,12); - {unsigned char carry=cy; - cpa(fetch(hl)); - if(!++l)h++; - if(!c--)b--; - f=(f&0xfa)|carry|(((b|c)>0)<<2); - } -endinstr; - -instr(0xa2,12); - {unsigned short t=in(tstates,b,c); - store(hl,t); - tstates+=t>>8; - if(!++l)h++; - b--; - f=(b&0xa8)|((b==0)<<6)|2|((parity(b)^c)&4); - } -endinstr; - -instr(0xa3,12); /* I can't determine the correct flags outcome for the - block OUT instructions. Spec says that the carry - flag is left unchanged and N is set to 1, but that - doesn't seem to be the case... */ - {unsigned char x=fetch(hl); - tstates+=out(tstates,b,c,x); - if(!++l)h++; - b--; - f=(f&1)|0x12|(b&0xa8)|((b==0)<<6); - } -endinstr; - -instr(0xa8,12); - {unsigned char x=fetch(hl); - store(de,x); - if(!l--)h--; - if(!e--)d--; - if(!c--)b--; - f=(f&0xc1)|(x&0x28)|(((b|c)>0)<<2); - } -endinstr; - -instr(0xa9,12); - {unsigned char carry=cy; - cpa(fetch(hl)); - if(!l--)h--; - if(!c--)b--; - f=(f&0xfa)|carry|(((b|c)>0)<<2); - } -endinstr; - -instr(0xaa,12); - {unsigned short t=in(tstates,b,c); - store(hl,t); - tstates+=t>>8; - if(!l--)h--; - b--; - f=(b&0xa8)|((b==0)<<6)|2|((parity(b)^c^4)&4); - } -endinstr; - -instr(0xab,12); - {unsigned char x=fetch(hl); - tstates+=out(tstates,b,c,x); - if(!l--)h--; - b--; - f=(f&1)|0x12|(b&0xa8)|((b==0)<<6); - } -endinstr; - -/* Note: the Z80 implements "*R" as "*" followed by JR -2. No reason - to change this... */ - -instr(0xb0,12); - {unsigned char x=fetch(hl); - store(de,x); - if(!++l)h++; - if(!++e)d++; - if(!c--)b--; - f=(f&0xc1)|(x&0x28)|(((b|c)>0)<<2); - if(b|c)pc-=2,tstates+=5; - } -endinstr; - -instr(0xb1,12); - {unsigned char carry=cy; - cpa(fetch(hl)); - if(!++l)h++; - if(!c--)b--; - f=(f&0xfa)|carry|(((b|c)>0)<<2); - if((f&0x44)==4)pc-=2,tstates+=5; - } -endinstr; - -instr(0xb2,12); - {unsigned short t=in(tstates,b,c); - store(hl,t); - tstates+=t>>8; - if(!++l)h++; - b--; - f=(b&0xa8)|((b==0)<<6)|2|((parity(b)^c)&4); - if(b)pc-=2,tstates+=5; - } -endinstr; - -instr(0xb3,12); - {unsigned char x=fetch(hl); - tstates+=out(tstates,b,c,x); - if(!++l)h++; - b--; - f=(f&1)|0x12|(b&0xa8)|((b==0)<<6); - if(b)pc-=2,tstates+=5; - } -endinstr; - -instr(0xb8,12); - {unsigned char x=fetch(hl); - store(de,x); - if(!l--)h--; - if(!e--)d--; - if(!c--)b--; - f=(f&0xc1)|(x&0x28)|(((b|c)>0)<<2); - if(b|c)pc-=2,tstates+=5; - } -endinstr; - -instr(0xb9,12); - {unsigned char carry=cy; - cpa(fetch(hl)); - if(!l--)h--; - if(!c--)b--; - f=(f&0xfa)|carry|(((b|c)>0)<<2); - if((f&0x44)==4)pc-=2,tstates+=5; - } -endinstr; - -instr(0xba,12); - {unsigned short t=in(tstates,b,c); - store(hl,t); - tstates+=t>>8; - if(!l--)h--; - b--; - f=(b&0xa8)|((b==0)<<6)|2|((parity(b)^c^4)&4); - if(b)pc-=2,tstates+=5; - } -endinstr; - -instr(0xbb,12); - {unsigned char x=fetch(hl); - tstates+=out(tstates,b,c,x); - if(!l--)h--; - b--; - f=(f&1)|0x12|(b&0xa8)|((b==0)<<6); - if(b)pc-=2,tstates+=5; - } -endinstr; - -/* XZ80 Pseudo-ops -instr(0xfb,4); - multiloader(hl,a); -endinstr; - -instr(0xfc,4); - { int ans; - stopwatch(); - ans=loader(pc,ix,de,a,cy); - if(ans>=0){ - if(ans==1)pc=0x0806; - else if(ans==2)f&=254; - else f|=1; - ix+=de; - d=e=0; - if(ans!=1)ret; - } - startwatch(1); - } -endinstr; - -instr(0xfd,4); - { int ans; - stopwatch(); - ans=saver(pc,ix,de,a); - if(ans>0)pc=0x0806; - else if(ans==0){ - ix+=de; - d=e=0; - ret; - } - startwatch(1); - } -endinstr; -*/ - -/* ZXCC pseudo-op */ -instr(0xfe, 4); -{ - /* Create copies of the registers here so we can take their addresses - * and not lose register optimisation in the rest of the CPU code */ - byte xa,xb,xc,xd,xe,xf,xxh,xxl; - word xp,xx,xy; - - xa = a; xb = b; xc = c; xd = d; xe = e; xf = f; xxh = h; xxl = l; - xp = pc; xx = ix; xy = iy; - - ed_fe(&xa,&xb,&xc,&xd,&xe,&xf,&xxh,&xxl,&xp,&xx,&xy); - - a = xa; b = xb; c = xc; d = xd; e = xe; f = xf; h = xxh; l = xxl; - pc = xp; ix = xx; iy = xy; -} -endinstr; - -default: tstates+=4; - -}} +/* Emulations of the ED operations of the Z80 instruction set. + * Copyright (C) 1994 Ian Collier. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#define input(var) { unsigned short u;\ + var=u=in(tstates,b,c);\ + tstates+=u>>8;\ + f=(f&1)|(var&0xa8)|((!var)<<6)|parity(var);\ + } +#define sbchl(x) { unsigned short z=(x);\ + unsigned long t=(hl-z-cy)&0x1ffff;\ + f=((t>>8)&0xa8)|(t>>16)|2|\ + (((hl&0xfff)<(z&0xfff)+cy)<<4)|\ + (((hl^z)&(hl^t)&0x8000)>>13)|\ + ((!(t&0xffff))<<6)|2;\ + l=t;\ + h=t>>8;\ + } + +#define adchl(x) { unsigned short z=(x);\ + unsigned long t=hl+z+cy;\ + f=((t>>8)&0xa8)|(t>>16)|\ + (((hl&0xfff)+(z&0xfff)+cy>0xfff)<<4)|\ + (((~hl^z)&(hl^t)&0x8000)>>13)|\ + ((!(t&0xffff))<<6)/*|2*/;\ + l=t;\ + h=t>>8;\ + } +/* [JCE] The "|2" should not be there, at least according to my tests on + * a PCW16. The PCW16's ADC always resets that bit. */ + + +#define neg (a=-a,\ + f=(a&0xa8)|((!a)<<6)|(((a&15)>0)<<4)|((a==128)<<2)|2|(a>0)) + +{ + unsigned char op=fetch(pc); + pc++; + radjust++; + switch(op){ +instr(0x40,8); + input(b); +endinstr; + +instr(0x41,8); + tstates+=out(tstates,b,c,b); +endinstr; + +instr(0x42,11); + sbchl(bc); +endinstr; + +instr(0x43,16); + {unsigned short addr=fetch2(pc); + pc+=2; + store2b(addr,b,c); + } +endinstr; + +instr(0x44,4); + neg; +endinstr; + +instr(0x45,4); + iff1=iff2; + ret; +endinstr; + +instr(0x46,4); + im=0; +endinstr; + +instr(0x47,5); + i=a; +endinstr; + +instr(0x48,8); + input(c); +endinstr; + +instr(0x49,8); + tstates+=out(tstates,b,c,c); +endinstr; + +instr(0x4a,11); + adchl(bc); +endinstr; + +instr(0x4b,16); + {unsigned short addr=fetch2(pc); + pc+=2; + c=fetch(addr); + b=fetch(addr+1); + } +endinstr; + +instr(0x4c,4); + neg; +endinstr; + +instr(0x4d,4); + ret; +endinstr; + +instr(0x4e,4); + im=1; +endinstr; + +instr(0x4f,5); + r=a; + radjust=r; +endinstr; + +instr(0x50,8); + input(d); +endinstr; + +instr(0x51,8); + tstates+=out(tstates,b,c,d); +endinstr; + +instr(0x52,11); + sbchl(de); +endinstr; + +instr(0x53,16); + {unsigned short addr=fetch2(pc); + pc+=2; + store2b(addr,d,e); + } +endinstr; + +instr(0x54,4); + neg; +endinstr; + +instr(0x55,4); + ret; +endinstr; + +instr(0x56,4); + im=2; +endinstr; + +instr(0x57,5); + a=i; + f=(f&1)|(a&0xa8)|((!a)<<6)|(iff2<<2); +endinstr; + +instr(0x58,8); + input(e); +endinstr; + +instr(0x59,8); + tstates+=out(tstates,b,c,e); +endinstr; + +instr(0x5a,11); + adchl(de); +endinstr; + +instr(0x5b,16); + {unsigned short addr=fetch2(pc); + pc+=2; + e=fetch(addr); + d=fetch(addr+1); + } +endinstr; + +instr(0x5c,4); + neg; +endinstr; + +instr(0x5d,4); + ret; +endinstr; + +instr(0x5e,4); + im=3; +endinstr; + +instr(0x5f,5); + r=(r&0x80)|(radjust&0x7f); + a=r; + f=(f&1)|(a&0xa8)|((!a)<<6)|(iff2<<2); +endinstr; + +instr(0x60,8); + input(h); +endinstr; + +instr(0x61,8); + tstates+=out(tstates,b,c,h); +endinstr; + +instr(0x62,11); + sbchl(hl); +endinstr; + +instr(0x63,16); + {unsigned short addr=fetch2(pc); + pc+=2; + store2b(addr,h,l); + } +endinstr; + +instr(0x64,4); + neg; +endinstr; + +instr(0x65,4); + ret; +endinstr; + +instr(0x66,4); + im=0; +endinstr; + +instr(0x67,14); + {unsigned char t=fetch(hl); + unsigned char u=(a<<4)|(t>>4); + a=(a&0xf0)|(t&0x0f); + store(hl,u); + f=(f&1)|(a&0xa8)|((!a)<<6)|parity(a); + } +endinstr; + +instr(0x68,8); + input(l); +endinstr; + +instr(0x69,8); + tstates+=out(tstates,b,c,l); +endinstr; + +instr(0x6a,11); + adchl(hl); +endinstr; + +instr(0x6b,16); + {unsigned short addr=fetch2(pc); + pc+=2; + l=fetch(addr); + h=fetch(addr+1); + } +endinstr; + +instr(0x6c,4); + neg; +endinstr; + +instr(0x6d,4); + ret; +endinstr; + +instr(0x6e,4); + im=1; +endinstr; + +instr(0x6f,5); + {unsigned char t=fetch(hl); + unsigned char u=(a&0x0f)|(t<<4); + a=(a&0xf0)|(t>>4); + store(hl,u); + f=(f&1)|(a&0xa8)|((!a)<<6)|parity(a); + } +endinstr; + +instr(0x70,8); + {unsigned char x; + input(x); + store(hl,x); + } +endinstr; + +instr(0x71,8); + {unsigned char x=fetch(hl); + tstates+=out(tstates,b,c,x); + } +endinstr; + +instr(0x72,11); + sbchl(sp); +endinstr; + +instr(0x73,16); + {unsigned short addr=fetch2(pc); + pc+=2; + store2(addr,sp); + } +endinstr; + +instr(0x74,4); + neg; +endinstr; + +instr(0x75,4); + ret; +endinstr; + +instr(0x76,4); + im=2; +endinstr; + +instr(0x78,8); + input(a); +endinstr; + +instr(0x79,8); + tstates+=out(tstates,b,c,a); +endinstr; + +instr(0x7a,11); + adchl(sp); +endinstr; + +instr(0x7b,16); + {unsigned short addr=fetch2(pc); + pc+=2; + sp=fetch2(addr); + } +endinstr; + +instr(0x7c,4); + neg; +endinstr; + +instr(0x7d,4); + ret; +endinstr; + +instr(0x7e,4); + im=3; +endinstr; + +instr(0xa0,12); + {unsigned char x=fetch(hl); + store(de,x); + if(!++l)h++; + if(!++e)d++; + if(!c--)b--; + f=(f&0xc1)|(x&0x28)|(((b|c)>0)<<2); + } +endinstr; + +instr(0xa1,12); + {unsigned char carry=cy; + cpa(fetch(hl)); + if(!++l)h++; + if(!c--)b--; + f=(f&0xfa)|carry|(((b|c)>0)<<2); + } +endinstr; + +instr(0xa2,12); + {unsigned short t=in(tstates,b,c); + store(hl,t); + tstates+=t>>8; + if(!++l)h++; + b--; + f=(b&0xa8)|((b==0)<<6)|2|((parity(b)^c)&4); + } +endinstr; + +instr(0xa3,12); /* I can't determine the correct flags outcome for the + block OUT instructions. Spec says that the carry + flag is left unchanged and N is set to 1, but that + doesn't seem to be the case... */ + {unsigned char x=fetch(hl); + tstates+=out(tstates,b,c,x); + if(!++l)h++; + b--; + f=(f&1)|0x12|(b&0xa8)|((b==0)<<6); + } +endinstr; + +instr(0xa8,12); + {unsigned char x=fetch(hl); + store(de,x); + if(!l--)h--; + if(!e--)d--; + if(!c--)b--; + f=(f&0xc1)|(x&0x28)|(((b|c)>0)<<2); + } +endinstr; + +instr(0xa9,12); + {unsigned char carry=cy; + cpa(fetch(hl)); + if(!l--)h--; + if(!c--)b--; + f=(f&0xfa)|carry|(((b|c)>0)<<2); + } +endinstr; + +instr(0xaa,12); + {unsigned short t=in(tstates,b,c); + store(hl,t); + tstates+=t>>8; + if(!l--)h--; + b--; + f=(b&0xa8)|((b==0)<<6)|2|((parity(b)^c^4)&4); + } +endinstr; + +instr(0xab,12); + {unsigned char x=fetch(hl); + tstates+=out(tstates,b,c,x); + if(!l--)h--; + b--; + f=(f&1)|0x12|(b&0xa8)|((b==0)<<6); + } +endinstr; + +/* Note: the Z80 implements "*R" as "*" followed by JR -2. No reason + to change this... */ + +instr(0xb0,12); + {unsigned char x=fetch(hl); + store(de,x); + if(!++l)h++; + if(!++e)d++; + if(!c--)b--; + f=(f&0xc1)|(x&0x28)|(((b|c)>0)<<2); + if(b|c)pc-=2,tstates+=5; + } +endinstr; + +instr(0xb1,12); + {unsigned char carry=cy; + cpa(fetch(hl)); + if(!++l)h++; + if(!c--)b--; + f=(f&0xfa)|carry|(((b|c)>0)<<2); + if((f&0x44)==4)pc-=2,tstates+=5; + } +endinstr; + +instr(0xb2,12); + {unsigned short t=in(tstates,b,c); + store(hl,t); + tstates+=t>>8; + if(!++l)h++; + b--; + f=(b&0xa8)|((b==0)<<6)|2|((parity(b)^c)&4); + if(b)pc-=2,tstates+=5; + } +endinstr; + +instr(0xb3,12); + {unsigned char x=fetch(hl); + tstates+=out(tstates,b,c,x); + if(!++l)h++; + b--; + f=(f&1)|0x12|(b&0xa8)|((b==0)<<6); + if(b)pc-=2,tstates+=5; + } +endinstr; + +instr(0xb8,12); + {unsigned char x=fetch(hl); + store(de,x); + if(!l--)h--; + if(!e--)d--; + if(!c--)b--; + f=(f&0xc1)|(x&0x28)|(((b|c)>0)<<2); + if(b|c)pc-=2,tstates+=5; + } +endinstr; + +instr(0xb9,12); + {unsigned char carry=cy; + cpa(fetch(hl)); + if(!l--)h--; + if(!c--)b--; + f=(f&0xfa)|carry|(((b|c)>0)<<2); + if((f&0x44)==4)pc-=2,tstates+=5; + } +endinstr; + +instr(0xba,12); + {unsigned short t=in(tstates,b,c); + store(hl,t); + tstates+=t>>8; + if(!l--)h--; + b--; + f=(b&0xa8)|((b==0)<<6)|2|((parity(b)^c^4)&4); + if(b)pc-=2,tstates+=5; + } +endinstr; + +instr(0xbb,12); + {unsigned char x=fetch(hl); + tstates+=out(tstates,b,c,x); + if(!l--)h--; + b--; + f=(f&1)|0x12|(b&0xa8)|((b==0)<<6); + if(b)pc-=2,tstates+=5; + } +endinstr; + +/* XZ80 Pseudo-ops +instr(0xfb,4); + multiloader(hl,a); +endinstr; + +instr(0xfc,4); + { int ans; + stopwatch(); + ans=loader(pc,ix,de,a,cy); + if(ans>=0){ + if(ans==1)pc=0x0806; + else if(ans==2)f&=254; + else f|=1; + ix+=de; + d=e=0; + if(ans!=1)ret; + } + startwatch(1); + } +endinstr; + +instr(0xfd,4); + { int ans; + stopwatch(); + ans=saver(pc,ix,de,a); + if(ans>0)pc=0x0806; + else if(ans==0){ + ix+=de; + d=e=0; + ret; + } + startwatch(1); + } +endinstr; +*/ + +/* ZXCC pseudo-op */ +instr(0xfe, 4); +{ + /* Create copies of the registers here so we can take their addresses + * and not lose register optimisation in the rest of the CPU code */ + byte xa,xb,xc,xd,xe,xf,xxh,xxl; + word xp,xx,xy; + + xa = a; xb = b; xc = c; xd = d; xe = e; xf = f; xxh = h; xxl = l; + xp = pc; xx = ix; xy = iy; + + ed_fe(&xa,&xb,&xc,&xd,&xe,&xf,&xxh,&xxl,&xp,&xx,&xy); + + a = xa; b = xb; c = xc; d = xd; e = xe; f = xf; h = xxh; l = xxl; + pc = xp; ix = xx; iy = xy; +} +endinstr; + +default: tstates+=4; + +}} diff --git a/Tools/unix/zx/readme.txt b/Tools/unix/zx/readme.txt index 31c3e320..15feb3e8 100644 --- a/Tools/unix/zx/readme.txt +++ b/Tools/unix/zx/readme.txt @@ -9,6 +9,9 @@ which is essentially just the zxcc command. Please see http://www.seasip.info/Unix/Zxcc/ for more information on zxcc. +Note that this is a Win32 build. The code has not been updated to build as a 64-bit +binary. However, Win32 binaries run very nicely under 64 bit Windows. + To build under Open Watcom or Microsoft Visual C++, use the following command: cl /Fe"zx.exe" zx.c cpmdrv.c cpmglob.c cpmparse.c cpmredir.c drdos.c util.c xlt.c zxbdos.c zxcbdos.c zxdbdos.c z80.c dirent.c @@ -17,9 +20,9 @@ To build a debug version, use the following command: cl /DDEBUG /Fe"zxdbg.exe" zx.c cpmdrv.c cpmglob.c cpmparse.c cpmredir.c drdos.c util.c xlt.c zxbdos.c zxcbdos.c zxdbdos.c z80.c dirent.c -WARNING: There seems to be a rare scenario that breaks zx under the Open Watcom build. CP/M allows a file to be accessed -under multiple FCB's without an error. Open Watcom will see this as an error. At present, the only tool I know of that does -this is M80. +WARNING: There seems to be a rare scenario that breaks zx under the Open Watcom build. +CP/M allows a file to be accessed under multiple FCB's without an error. Open Watcom +will see this as an error. At present, the only tool I know of that does this is M80. December 5, 2014 @@ -43,5 +46,27 @@ March 15, 2017 - Implemented BDOS console status function. - Set stdin and stdout to binary mode at startup. +August 21, 2021 + +- Incorporated filename case insensitivity changes from Curt Mayer +- Incorporated fixes from Tony Nicholson at https://github.com/agn453/ZXCC + - Emulation of CP/M BDOS function 60 (call resident system extension) + should be disabled and return 0xFF in both the A and L registers. + - Change cpm_bdos_10() to return an unsigned result to avoid buffer + size being interpreted as negative. + - Fix the emulation of Z80 opcodes for IN (HL),(C) and + OUT (C),(HL) - opcodes 0xED,0x70 and 0xED,0x71 respectively. + This is noted in Fred Weigel's AM9511 arithmetic processing unit + emulation from https://github.com/ratboy666/am9511 in the howto.txt + description. NB: I have not included Fred's am9511 support at this + time into ZXCC. +- Fixed parse_to_fcb function in zx.c to handle parsing second automatic + FCB from command line +- I have not been able to reproduce the multiple FCBs referring to a + single file issue with Watcom documented above. Perhaps I fixed it + and don't remember or I found a bug-fixed version of M80. Not sure. + Wayne Warthen -wwarthen@gmail.com \ No newline at end of file +wwarthen@gmail.com + +--WBW 4:09 PM 8/21/2021 \ No newline at end of file diff --git a/Tools/unix/zx/zx.html b/Tools/unix/zx/zx.html index b425ee1e..ff2da790 100644 --- a/Tools/unix/zx/zx.html +++ b/Tools/unix/zx/zx.html @@ -6,7 +6,7 @@ Windows command line. It is compatible with Windows XP and greater (both 32 and 64 bit).

-

zx is basically a port of a subset of the zxcc package by John Elliott. +

zx is basically a port of a subset of the zxcc program by John Elliott. The GPLv2 licensing carries forward. Please refer to the zxcc web page for more information.

@@ -15,7 +15,8 @@ zxcc web page for more information.

execution of the Hi-Tech C CP/M compiler under Unix, zx is slightly more general and intended to allow running most CP/M tools. Specific changes were incorporated to improve interactice console operation of -CP/M applications.

+CP/M applications. Additionally, Curt Mayer added case insensitivity +for filenames under Unix variants.

Setup

diff --git a/Tools/zx/zx-src.zip b/Tools/zx/zx-src.zip index 1d51fd61b61e774d96af01648673ec27afc65a8b..a2887f976c55da622b3af593cf473ce369ef823b 100644 GIT binary patch delta 15633 zcmZX51#n!uvhA3enIUFoW@ct)W{zo+m^t>?j+r4bGcz+YGc!9ee4pI+|G%f+RPEZT z9%*%Jb*r@1lEOwH7S|!F=-`2nkyz?pm)E2&&;S4@G5`Pz007Kg94*|un9SR?k7H+9 zP~X-C`T^j2u&Z@zn5ZFzRpEvz-ao{@&~dx!&r-xX6vHgm-Y)a5)O_h9DG_v-9OHgm zax}gc=s6rd?cJVz4cZngTM6SpV_md&^bw1c7Q3F3(PSBMDDU&I`U!k4kj!lLzI<9I zZBk<1V<;?kWhh|vcy}Knv7M+JdLYjl@?cK%dwwy^J++|X=r=1%(Zfi_=;yWNWtA`T ziCbVR{$8k5%_SG@-Ybi1W;@3eBV$29W$%|#jHYd2m4T=oLB;EuZY^DWS2K4NU2IUD zVsyBx6RbsC@Vz(IltGeulL7?_i< zpUch5{4v~p+{Wzco6C|g-{(z;##C9A=WjSV9&bx}egBB9U7sc*YM zKVYaY%MpTtK>5XkgB(7b1w!o?D9XrL869UR$M?rq_ochVeiDNj+PMuhKv-|06F3!& zh;XSj7PM0~$jf*KB=+5KD~Im*yYEp@(H59_GjE*P)e6NEt}>2htDjhNHSn{O<#1CN zPZjj9H!W9-gE)X|x5o?T=^jIMMQ`B40X+%T=+l^^y+Tmy6Zfq`nZ%EcH@5nNe8Xmj zxahP`?v7&|8EJdAHq+a$NezdFsJ6I=XvMdt$>DQn;}fgBvVGJ;$J6%}hqe&zV(``q z(^xQ^Y;GK&l_o_DHOTGw)%vzdBXfOnb$@a#lBu=)-Zx! zGNjN3n_x4jid*1!6n1G z=xteU9cKYvWQR^dEx!v*fDMP!SUt|F*YS|>Jh^JqkR%#tJ>B zbS=qblJ=z5tO%dM`RhX*v{mb41DQWHC(^maGYHsfO@~+`1kYjhUCJTvDU*CtW~>Cu zGR_A+bjdxQ-0CPv^VsYxVjJ5^CfO33*J((XZVi}hfp<8^XLui5Dl8{WRkU=xs{z!V z0Q%Y@A?@}m=ND2;i%rZ8Yvc7L>-}jHf?rsJMD2qtD7R86jS42pjSR)Yd{+d3@F#*| zThnpF+G z2Qr)??ag}b2;+}5#2vYp$`g!UT7mBhOl|CfH{~W5ufIe}wX|z=Nn%1|b)b7EdJKI< zgyGo|Uy;-*XRDfNqf!*VHo8kXL>X5lop5HTlxi0>;-lyeoQZ@l`q)usz*8wU96AC4 zh7eJ6$u7KKC-gx3b|dNUi{P*=2qfAonZ1J+7)mOPYNpI;R}0=2L{uG-HP>M#^T$iB zF;_69{9g$w7owFOV*@O^sMon7L)^K&9gP1pw8C^)o=n&hj=EIPn{9DtT$S_I=XQ0) zC2-(646nmpY%oxI4=)lmV|X}sK}iBpwZA#vHg$%;mk_U=vP*sU?5`#ozDw(w_3a+; zai*YQY3Rk)aM0-3Ew3c_>13K@*}QygHpB!hR5E#d zEHsM}?+k3-R?Y|A>XfRXY4v&JwK2kWK69@@av$O(Vh8bvp&m^P(=1p-$z1^0Y1HBR zI9~dy{dh&1j3nIF53>WjX$rUj({2Dplot6vZ4UX9Z2EnPA6XE*68q5Rin{PCX_E;LZm%cCjI zengMy2y`Q~bRpxpgy=#v!@mpUe#C<%-`#-K16Unb2rvJVt`2D@lg@~ zYc^ssGqtakf**iICjIg;XC3N@6rlkCWSk&;418daQWey|(p@~}kGez=d1?wgQpMHa zYuHmnJB#5Y3u49Ri`Vmub=evRF%tGnU-Yix_4f7lfNZWse58=cjne$xSL?9B)hGK~ znV23K>qgy*LArU-loQje0`L?Cr`f9=Htljj<@=788(IC=?*;>Q!jU}`lk?i0$oJf- z54Av-8Mr&12>#vz_JDVd2i|r>cC3)YU)dXUFT8T~TDoi_m9H9)^Nwtq;=%`twE{?! z#m!o#6)!wX9Ei~%Qo{9_9S&rVk{kJQx6D}fr0AznZ)T&?L#wb$k1};(waTJHRUQg| z0sIr5*^$Y)V69qtqMx_=Qi7yTO2GvF@>Rf~>@e9iZN5Ht(=EATyoI^s+c(=qK}5YAdK>ukFM6+Z9_d2l;&zD%Y)=lGosetjx*&U||B z?4@yskY+1$pq8^&T%5OY#@iZ-DZwa->fC3#ChbC`K&N|OG1dg+s2Mc@y6GJ*r!H;Lc{C*#YOu$qNFF2!FKufm@ zx337k5;tL09b4qhV!!j=;gjIY^VDmlNDgx{`VmKe$}VD!ofPqX9Z1k6cp&hOfhJGY zQ(x5U*MspG`vHs36Pt^oX^jv3J#K1HIF#Hyq88~e?FjP|T`6ysr2~~z`e@M>`dxnJ z(Gd%rEFBOg6XK8!jtIWsXb!acBzeGz?Cddx%{x4*!?v=x1%P^iTv7Se7qscz_qr?b zMB1q2T#5FbLv@K_d%jk}IvP$O!IV;8)m)gwXeLkMKB(Qf6Pia<`GpY3N*lPke&jjn z;DSeG{uJLe^A(J4yy~4saX=!D0@*#cq&Ak!lSfUECVc!8-ZT~FWSTLz?QROVNg!M( zoeibF`Rb0f+l#$!tHWOJ?TvOXmp<%vkME!;(FJRqW8b5p6RGm}O36hF2j5icdKIc3h%nR!-iB%S;nsMadliJ_{KCU!- z8im6&YOWkW>c))TbE+{^(}fzCu{BA3HuZ+u2J1=1rlmZOaoBJ8y#kJn%gw*5wlI=q z=LWCC$4=AJnV1Ci&CvW<>6m7A4ELPGmIRTanhHCrJw`)n#B(0wT830iKu%4mw)zCi zN8VED5|ONwnkEwX{a8E}hOi>M3!GrExdV0=chC=oR^A?>K!TG5u^DUT1b)FTQsX97 zdIHyvj2!KCPOd3oQz>PySTn)%;G|g1YK|Dy#x0bI&?ccEaZTiQJ8aNM&-%q^7U0^* ztCkjPyC~Tjw1zSGb@`jNA1A*XS&tPG{7o)NM37p6Wi}AF3e`>&>nLl7oiYPrB8xiR z+2q(AGmRUOeh4#P<@=3Y54ZY@4<(^2HNrefw=Vdn=_GsW=aV>LjnbNI>R2-`5kykj ziwItSA!P9wbcV`t^N9R>Ne8DAS6g5_4rAdj(-^WA>FhGuXQFN?F77!tT%&zH&m z;RNi8;u}qqx%TCwfH^qao#*~|fYz%tHkJAuLwThLq@Fn);{{V=AU;j;zJoYh?g6?< zZOaTY`E>fczI--T6HNj)SzJ`y9|9Owy!hcoUJ}1IW9386Jb$+bm|B;LulG4vUWbY` zHO2hYo}p^m89%CofcClP!*IeO|s>(*;f4{G7So&Z{&3A`lfV_yZU6 z%@N)JSkfOlVlB>8GvcP&c;vHd+ePV=9^2xm&gu`@bw*{$+=?+Q9I|JjK{i)Q7XleT zd+mhlJt!XG;I>MaH0Nke;y?(Yrs8vp?d5uKkJOf}y^Uam*S8<1+r+@^%A8JUiBp~= zh{-cRKy3LlRf7%rHp4T^d!wJ;QT-Z6AF~DooP!byt{GXPAXb77qrNh@s=4MEg)ztM z&9Z(fWf0Sc0FVHd*a_W!P6v)ue^VGwypko1u!P6k4I4%8(bg_E59}vP+Ou@S$~r#H zG_5-^Uk~KnP(^LB-*QjNxoVZmJJvxVe>ae3#DE>Sh7r_2lhq-)3$oYtpyG1|%R#CD zHnd!2GRA2>ewx)#P-hU!`=v`3GF!vTnDKQvtC6d}UOJd}(l=m0ntG8aE28}pS8mK~ z8yy^zCkM{gtd8t!SG`xu2BJe{>sOMvNx7<8RAs9MLh_R@IwHbWrq;{pO5h0k;Oi2r z0`PY-NYK*MM@=w61LziX+~4CbC@Y~DqzjAMe1-? z4?_g!ld!zLB@|Aq=bK0W#H#w#RYO5lHb}4r9!pj~8LHJ64z&%9HU=4uQm>*14Eei36f(7Ci&=4f1;?Sv;zrEiC$n{WrM#2=0&^oqou9aqOqV#^>i zkTh&8YY3fqKzTOiT3++hj|+!PV-iqH1HEE{{-Exx=afd~$h%5DQ6E>Z(cf5nwl>UmVfu_O@IX3j@B#+R1vJ zo(5PZSj%SeXQ(+Wlnvws+Dc+{$ohI!6m!A;sdf56iuCT#Y4H`=hUoaDx|r+wR2Hs+ z&{i+{P6Ny)1IBjZn$aC}xEpV;|v z4HKLfPeNo0UqIxv0ZdrR4JOcWQ+Z15Xs4fm zfJ#G-X7ZjZu4o+UORCVW8Cenf=B_JwnAs-hEt~k`D3n(gxfv)0Z_amFHB5~sogn3q zCedldgP?mZT_7}30p2^cNQmwMy;?l0)R6SXW37Z{;SQN+F@`vpr5lK0%-9(<8w~du zx?f#BZ%plimE+CocegAN;de9LO6NMn8Gk&SCH;^*lgp}BBV)0`xme+l!n9pUiWS<& zl2G$mo|K*FS=(uUsFpby30bK%J&A86EVkv{_~6>H9MN^{TbP?%y zjL$gf$tPkJjr*dhv5EuGmY$xukA6v~DMp(MQ8kRRM_vcaMc6>h8)zFW&j8x3z|Tbn zF?kkC z^-#eJ-dUTzg|bpgCzEA!;F`{C^I?1g>(OG3b{37{4xf<-QeX!& z9+8nvc>CKaR_WzN$rz1Y&mD#*ZTt$n@Z%%gCo@m?}xXE$duut?zxOcZxN zBEN}66&DcvTsRZc(k*<(dPc*V<1N+{OOGMIdN_o$k>8_t$(CA&&KVA*}jbt+m3#`a0 zZ(uDxUqw8`yZYraW#7(u>PHf}Q7nwcxjWZtmlsty)NOk7Q+umJ9~Rqg0*gI-EBy}4W?d3=4>edT7D=E&;?f{uL?@s7f47tg zE;$`PzHj;z`sT+Q6BI=VT?*Q99wRP)UyqX0UH6B43%s?(wEKzJzgChOgN0CktnDbF zCCX)p8$#%fHYgdCIs+U-CfNV3BO}Q=ZAbw0zhE+AbafvefJk?B(=1U}%l-!FRPQ3f znrk3!;afOBxmnxocXb z^CfZRXS1m8>OIHF*&UE~>}gY(`J2Tt*{7(4OFw^y`EALZahlUgW8;bTPDGFAx0*a) zzBS*>nw3!A7d`~KGo8(P?|}PX0HIoKAsq{}qfd0{$FJ1ttA9$_8XFXf&c_+^QfGMS zBuOR#51)C`0@lTs%H3F?VdhPP%r^n$75GAq4)``Vd&%1Iw$Odq->c^#$xcXCv%xZ| zLPR_-6pNlwmT{nkCV=@p7-mf0qkfPAmyS66D2+=}7fsf#P^Lz~jgSwacpIf;Z{F-o z^R3z5Gm@)94P0OH5OgJ4?PV5ewf*>i&t(+Rz*$vf89Hp0GEa2Qd-HsTa>|-UERng% zpZzit9{S_=nqO9`ZuB@otn(Rv=Z_T&>Ie$V#fkdQF&V`;c9zb6h}wZOz~iZX zC)UTtN{Hzg6e~PI@300^p>9@MEN0&okT+sOy3zgs*o~r^i;!LX(0P({@A-KBgdSSY z>8gwu>GeFaw(ARg)K;nHjEX+d8FJQTU@HoQ`ovi>T%kw)6#3MI4M!D3DL8@=*P~_H zKA#eT47G4}#s$eQ;qb10 z(WC7=?VZSQJE|;uJh^Q5wy>*>ezG#xU-PzF;K*ox3?fH(LxiK1(M=}8?}|g5slr$( z-st9$j|UXNi71%~&QZ#(LQe5J?<6f-dLk!mfmrq1dXG=gg62NFI6^5a?Ic42pbxKC$x?~0be$6HxOgSPGdYJ5q>qI2@Kt<7v->a?e+OL-Ad_j zF}}m8$U{J4ex!O}0Zl$w>cy}j3!ESO5bB^!3R1Y6qBgljQMB_S5G*AXYYR@0>Sdj< zZ>%ykM7U(n_=-*kVEj|=XPcx6IL(#?Gp&Yyxt)MjdBTA4lB?A}|D4LQ6 ztPNC8NeYx&iFS9qQp|<43Q2I>0)KReN;V)c2ujA$A>|UW{mCvbWurpNN}PXSFM~^` zbH$0mZ)VPH_o<*avovuRf;_L9KAwVQ|2rPBwQR2`DX0Gh%;h9A#1Ud=&*6m493Hgs zs*K|yy!Ug$p^jNR6?pD6%Xood{spqx6oKdFCuQKF_M2+4l=-+Y8z|Ut#iN@o;8qB!6!=XjRG3T=_S5S5 zsq0r1$$BZGcnCw}2Fw;RNRsTCqho^YCX6+IpqeNr`y0qsu6_@dpI2aRPZOh445c2+Z@tnh- zO6nY7c@)cPsTCI@ZNzMnIup7wTa{1c-JL+AcF0eG?pTY}u|&O@7?*l!7)pND^#mcm+nGh5XGk7` ze$TVEwT+1HvX8Tj>nbSh+mVz^xMwxE-9&DXId$4a zF`D+LSpcy=15AQ^R*)}0{b1)WUhpJo)b&X4COX?&c}zZDajRwQ>dol~1&^*VKI$vS zxp%SZUqO5Nrop>BGu^amMO1syvHYQlVyN!f^+}WuiUIsNIfk8t+5@eh23*MO<__^* zex6V#X73BaBp?Hs)6xT_x>9OJgCGk!s2S)VT(u-g49q)m=!2H0Uu=1x6xU9HMluuX!^fJQbiyy(X z5~)bG>W5cB*$NnVPxNLxK^NS47nL=oC)-#V)JRBZs?^~Yo2vnvO6Ye~monlesGa}x zP8`u|Mv_e!3^d_sfJ4`c)}n8vvii{3oacXE#u~mF^y)==(CNO#qu!Zy zfY#bA$!NByY(~HT13wD>u1g)V`!jx#5o_?MEOfMYe$8GkGV5W(sH1dUhfbBEyKC%Z zLmbJ5D_y3oJ!TfTck<=913$h!I~C#i*59bt82YlsP&=JM@$jd;ZmwLac5~ghmZp(z zzyC@5?&r2x#P_7!Pf!zI87P!V_Icy!xJke#jx^{~M)49eTZi)}n+ipg)GQx@WE)Iu zd1=fcoadpvN9Aq3kSgNB`jDve1jOh5P(LX@-;6Gx?zA}ol@ELtyQQct;x{Ycl9J+a zPocQKkz2t;oh60{NAPW4?|Jmtn9Bb`)xCKcu{e^lnd?r6D-ZLo{?*NR=5+Cuf?#AB z%81{!smMtT2Ofh zc!$)gQxAgUOm8MQcS7HRUbwZi<>(-6^rn44b}wX#^!X&0GOi7|=zU3-T9!Fhu2en` z7O(luo)X%}kqfSQZr$4ezol2?k}ez9i*G^GjJipeIvuqi2fF1r>`B&S1jB;v^9cLp z1DzhWBbjBg6%CLk(rMxxt_G{PCjgki>VkvtY?y@qp48`QCkI%B$`(hu*s5gDaX3c^ z0UfMs^E!Dpm)P+#D9m6v{#fw^67|rG3<|k*8!p6vdw+7*^ko^WSW5RMl9Jxl)68^s zKlwe7d22Sthj=P1;K+nS8ftLe^D4^7PJ$rlj@|}ZnDvUjiwtaVLef6*Qxy=N#w#zhveknhU0alVj_{p?=yiGMj!aQm~mmvW-Pyb_?kqfp*cJI6uP92)= zbgg~Wa@9ZBbn{Vy!jxhy>$IOC`rB(b3SNs61!NQiHSb>hk_pIUjA2W%=Yb{4Iu@h5 zE%-V-_pI4ELX`n`aE$}K zwa2Q6ff1pQj;TU+nl zE?=Q@Fu1$aT}j#WHdyWizlS=Ykx*iUlghUF)baZO;WNr%Rwo-DH^k8&eEcr=^A{_Z zcePs`qRt)8FC0-e1U6SJ`JKJIjoJh2MwaZ!!s%3XifpCz5Ju`Gdjy4<3V|pXgIiOL zsiP>63XX7>fEQP*?ue6enqMx$xaab^V1^~`L7$Ncpdtp4KQV(9cYh0Df0-G;UnSNp z#XqeC-Y+2#4?3Iztcb31@jgEYwJT*JXqzkM-{MshBoa0M5R;8d@jv%4ZJv5dalG_HhpN9=E& zR*ehKB{)y4%r7;dyx`*gbD}zwn+zvdmUf~Iq}6rMtEenctAH8~#PxAwi{Z7gE$&k> z0PYV)a;kP~40b#Jf|Ua&o6i8Y9DnhCwTY~GQpX$vK&ohQCy{)v41we3Zna}P_(5`l zWQU&S(Z23fnsTdzw4q7)@s*gT(CS;S(h;vA?17ZfxI$Ve+Z5nR<@&mSLUVK%`ZPBN zL@d{3U;EKcHSiQ5y3iDGD%0utXNM8oFUKg*pUdYi^_;BHfPbcPA1;Osh0=}=Plj-4 zqhpJ;cth8ze@Pxj3322ywv(^&ET0{ox|OifoA2_jQxb-G`^-?%a!X>kFH*_c^+0?XJ&cl2i~cThaVGJ&oP z))TfWq5R#d?_5H;)W(6;c&cETHK?KWpp#bO<1`Un&*wQ%i;p)6td;wE6I7)-=A6@fv+M_*r(Cn+%-erJ<_!k zDxG-~b5@|CAgXBFn6Pn;YLK@AP1XeI#{_v==2L-+NgbRMkcN833Eyp$k9sy9vXv=U zwT!Ak{;UOlyRRC)%4u!)aP(qzNrGb3h+ijq#nf#CYqVGi-O;q=$=NwD1bmh1UUkN7 zd$rQ6?kw_zZ_2)P7L=vZuOMo;(&8A1!Zs?Z(cW_c>#bd6E>_$rRb1uzy78@<7! z`n6rE%BOFiII)n{9#uv(3Dc&BhIG@7e%9=-Qhe*aAH>6uh2fAnLD2uEm%n6e|B%(S zsweGyvZuSZMDA_(oLg+*SnogYSbrcDY&RLBLr-7QT*F3icRrWb1XP}$wp^n>h))XG zJ>~S>$&@Q%WWZBKv{&;N3^7QRtM2j;j6&9qqZppOF2;FbY*BD?0P`fHryNv|G+6p& z5fE$Xo+hE#YjY^?-!!WJ>sMg)9Kkx@#ih&z-a>SPt^KamH%ix)%C3!fRe_(3Bwe|0>_nD^qKrec#qWWhQ9fkvtLv{ESJ3^L(;f{QwkOAm{dY)Z3Ue6pP!#}<_&07zA!i0HZQJq^U6whk7s>&; zQ{si>`+STuE$jSy_povlpm(=2FFA{u`Cetn`TB>%q9v;z$R5i0o^G068#qw)I^&4i zbU>Stm-^>G!8q{`d0`tOx@+Z9Y7&2d8I6<z2xePmOh}gQT&g zh(zy;X-)W#bfy?tQv(9V1^+G*=tf2HbsaY{A^R?t5HgZ{s zVZf^jJ(!hV(tYgM8yA^@GK<6|1MC}*e1~%84gVE&0K%+op3cUh6cP&Wu>|A5QFFXH zGUK>BXCK94nJjetC`8U5)EjFdjaV~otUP?3AzkN3Ah#7Uf-tr^uA!$Bu5V>4V2g0L zzA(XNh0TGL-;4mfGzH<-sK0HQ+Mz?$FmfoL0#xnPK2|-MSDHdH_RCIG`J6X|!7k{| zhcAAT>Zp9RIV`}38@HodU@o<32C*C$R_-6jVE z@E<|+p2yj7Kr&Ak#W}*HCi(6xS;nQ>pZyA4^(M+H2oHpI-C6RE@DJh524^bdAp~0r z$a&&tqEJ7WOk;O1VuLUUk9UnyUt8Q>Z~*Us|DW-o{EDT%P&1s%_;CR92OyGB2v^7hw zJgn#7GUavolvHE+YyQ>OuY5Aw=6FSG*-ZdHPKn`{ny0GdE<-a`z@|+ANA^ZKv3hl( ze0_biGKqZy`FjV~SGiqX=|f;+L1xUzk_b=nmTzUMR?)Udz*a(Dejc}CYOJ&W=2};* zeUU^SRr%m21|G7PZ*GmAnJzQ=a*lW7A@xXz)$5qyQ6zaoz#0{{!BBKq2CNwNU zjSY@6aPTe#&*=61WrubnWe6@sZceX#E0VJ1F`?ZJg&eSI>ja3+gCP`TN=Fg&i;KIr*YUFi>cHH zB(?)T`tJ1v&a`bOXL;a5lTuShlx5Fj;FPdT+l9#=HA%?et(E5K4XDP*yXjyf&bl^F zd-8qK+@M><-38cZrocFfPw`GRUL!Q|w9Ze^+XQGAD>KIXlJiaEm3;dUhlSP}IH@or-7OmS||rkiF^&;U;Ak#DRBboOKX9^ptrl@T56IkYMefq z`_8r|fzN)fUe_=28sW-N%b^-5h@EW-jN=K;KM=~U$~t6&_6;Jl7jIL=zZEcVj!nQR zeqW*Wd{Qc1m?3Y~v-v}nhFn}cN^P@NA5nk$iSPT8-(j(bA^*x4N6eS8kcuA9Zjel- z^>K&nw|$3N#Y9n{_1$<2=Mdc=6+YxYO1wZ8WzOG;oQ+VZ>*-VH&pS>#Et-8&;T@GF z(4R4J=q4DE*kN~>6>2Z@1H>Vl3w|Go_>~U(c!bI#!0n6VTCEoKHP?VJSThdJ~y(5Y2(&8k=2Mmh=Pb zT1jrZhnToWw&h|I)622>Kr_NPK&xmOIvF-J782cxy(*(|I=gHfWV9!VCRjG*x>pLt zZhRjKO$VzN(ELGZNSkgYw<~Y&fE0~c8Fk`Z&k^O3SP*y%ubFE`(x;1!99>_q;!fYI z$l@6@lYx=zpC@mlPoMq#-pJZ)bU42Y|CmlIXBa$@1XCu-H1wy&U4kS~jjMo<;#OHL zGjc0+ug#LaM>(q_kQ&6z6OPiQ-9FDIlW@f!yTlv=#OkUMLy3$K0H?rmk(2<`UM9d$ z2T+o=wWE48;^3{P&QEwxAoOY2YSrXvez(YH4~jS#={r|}71{2_8{LrR)7F0gPFF9> zwtIWY*>+%ss=#*tbFA628UKrZl~Fmbt{?BC&2iD>A+w2iBVj=ZL0*BiJ!L z5`{D0x3Gvn0V{o~yzRJ}(JBVFZ-aQ7mGGH>1x9?WIYBs;$kZ^S;$Jfr+up9Ss#xPO zXz=&8k86uT&j)V?6px+Q-x|yrlhYk*1lyLcoYzG#iitOWIM6wD-BTZ;Try%82+S0cJrRO$(=>&L6E=+$J{8cLf}RAj}(4H42Y#{XKvbV1D|!;f-`XC(oOhb2EmJWX2+X7?JsIen5CwNT_oc)SuV8CqHCps_PUQ*Db62A; zY7`wDzoYs@)HqWa-RQ`OZ~@%JUuVhkk1r_*lH}0r)fibCU_B;j_&#CZ{V=2Hfco}( zqI3&A4c_Zw&8pc$dq#61%SV>a-N_Qn*>6C%G$ttj$)a@)9{9ej`R$bt z6Ushj18<|M&6?S>aA~$Bd8L`-88YJV(kOG?0#=HKem)j!4VRW-)voriNCNWGuDjes z%3(Wqwt!pLRcpIDNIuE^yqzJ+`Om9R{r6-?x_K?@>?8q;&24cn+e{zh2Xbr1%?Qnb zMT;QL6#SDJ>U~fT|ECUAEMsveiR!MKc{6S8dDk=mF-|UNjMa7IM8RP z_B0%~XIV@vzq8Y0dvJtM&yqg+=N1!b-iG=$&58>QH}@*3dEWX#g?=?O zBimCoR>;~2IW1jzf$}n5yrZL?38k$&<*Ti~FrXqugPIcV? zh*@Dj&BQHk`6c~x-h^lGzHu04YG)7rMr{VUjpbOvi7ssn&6IC@<*QCEpx?kQ{Xp$= zqt2|Zx6;?j+>k~PHW2bH`i_*3&ds`?{Ma*$xYYhzz=XSqd7RDBl}Bt{y+9q}9+KbV z)hq(lTq=hir&x0z_1Bg81j7p%L|qLH%b9)qQ~k|B&C?y&_DyJRA0#Zf@EH>RU+X^w zTYe3TrH##;&Ub+`2bh&L%C$sJ;6CvoAT&?OA^L3E^-z+gA_CFXd{(|N^I0w5mySKMNof1B-a%;k+Z%Q36NLf4l(iO-Spv7CMpPY&BtV>}Y<1o()q;x}r4@asyqfqMsh~=x z4Fvl%_dqfkTi|d1>Okt8c&SC0ItNT#6(uVwsTA^ zCKKyE*)X)tN#C(pm2H;;GG1h=aUh9>$AjrN>iPN|b`TvP()U<_=7tink=8nQs^#cs zn(24E>)IeVev5LBKHYkkA@$HEBy~g3?zl3czG@FJOu$e1i@Q9e9_J3s**fabBd2w1tmJ4% zoTvK@1)$R+&7?fxZ;(nRsCs8DbAcoZmmHs?14u!Q=Tej?BHif?KVmAZz z`Vv3jjGg(aJ*PWYwcyk|i=Mx=juG z^Y9GEJ+IP%Y*s_I4=OZGX!m_e^&cFiF89|Ag(+&SKf7%R(HAsR(>%OKuK2ikG2&R? z)h#rW$Tu2uv4@Q*8P-$v_x$RPXB)dCawCCiufL>JT80fGBAHLVd zRC{)ID~YkCgCFIn01WIndN_13F3fs*DHO=HBkb`E_Fw$`dcV`pS2xMBkY)W;lQXb1t0Y}mT zWX%NY)d^dECcPMffybF3k-JP1#-z6OK&Fd)?xEYQsoFVv}u%*zRgWmyx-8CUwF z6uE2wl`Jgy^8|FdtPi!n_D@NE#Sls+KU-571|n+vB-Ms1Id}D z{;z%h4@mnCN&iOv*WrW@Ww8H3wx$1zZ0qE~Wb@xPle&MaUiv`RlHvOxuWgl+p^yD< zO&3!)cgz24#DDsSQj+?&e_uJ9{#x;}1?pbK22ryiBmXx=Q#>H$HByAOgOk6t(6vzh zav8UV5AL7>DqSOm%8vQRQ&Vf4;Ild)n00cf?A@356A;rnC%A(y$nrxlMKAK_N{ zlpd&eog87}^M~NW&gDmvzi4#2|5iF{3?kbgM-UVE5A{BQWPht^8~nQ(z#IhJAclWA zlKzXPiw6SR#0Ir*;Dg^=gO)dlq4+{%J`}%fa00dL000X&3upI#lVAMHgh?D&h(8-ISs!c4(f2Uvm$-ewI(DLX1 z&c*yU))2Q()b*5czYd!40 zXi{m&pzqs=;NS8=S=+?_GitlHIjKWxK2UuA&9MWw`5fCv<3PB;zab7SV+o`Oq-H`uY)g13R4H`JFK5~zz;kq^QAhhTjjgt$in#ojIY zAz<0#1ee?ZS^pzI_@_zK9;bBZ_CMM!%>Id@e+|2groz88{YC$T;|t8h(azM_ox!AG8*La4 z__v45Vb*3IIvCg=HZU;w|Lb94>tM`avIy`|U6(-nLja5#$T38WsXHd8VX)GJpwCG# z4Pdjw940SjEld2OndHT`-|^VeQ3^6$4G}Qsxu*zF?C|OEc@eOy;>1VD>(Z1Qd6`Cu z_qbYKO2mgPP;i)+Q&cN_Bb^26V^cxkDms9+f3c{Z^Gn|MyxvGlzM&aNSPLQrbB!-( z_IN*MsdZQ}oj-eHNa`_OO#Kv0@l#+7RtxR(`bF7-0F1+|Qpb;Pu;HAAbR(EfK9uOR z%KXyz`|CXIXfnZXov=XZGuT}nK(=_df|`4|`Ztht#V=;y?~5Uu`;9Z;RZg7iudtKF zGd?7~{tQe|FFJl&5n z57y}I;`#hGzFcbk^vmKNXzuCD=j-%*3pTTA7E}5xgIHzAf()4uW*A9e*0P-=O?Xan z>4%!V(-J<7stBY+M?q0EILpf}3r-ucF4ISjS44f(7bGFB)U1g&=;B+wq;)HFtF|tz z7u(cWG*QYKoGGhe<%Cl$3d(a@p;H~Cy7rDILiV%MwfW*k^4jq4v z(}?b$O|^Iwoe7kia*wEG>r|1Zy8Rw*#9}QHB?nanlzAk0RJL3&4UV(Q3F_?1hMzTx zuBFkub|#i9j^(LB~TcFHtC6SPQFIIG<)0@dzh1ePJS!nzg8m_%i>%dQ{wOth+l~Hh$r9? zAp^bH`QC_Iv1(UcD?l87j=5t|W3jRUyix;CnW;pu!-S7!+J%5 zQs0&qn=}%a1c+|G1i{1&xD=eIiT2>dRDN1j(b5)4r0+b3Q16%aBoM=aFol2Pk=+40 z-E7os|E;@daRG;tV<<&$p;afdx$CAu%yO3uyYB43wCp;(Oz#q5;*;# z#ugZ@0!f#=e5yEuX5C$I)t zCN*KYRs3~qLC~&&BCi?wA_wiv*OCcdj9pN}b^?JsJC15m(0c&gBaHc6MaMoH$aHJ+91Md#@FO4n4U`bV3V0oyiyr zy3hA0;DTnw*2rZn@(8h&Ygjn_B1Ri}dL!Whl=;`dW<{74)fvq(3UQ}G)=L(vT`0h2 zDk~bJZpuj9v(TRYV90V+f>|KhE5&f0;!1%YYA2itbU#7jx;zi0O>nODw zZLuj_AF|KrZ)|C`8Jh|jd!_10ZU-l&D&}m0q%(U+dR#MX3e;_Z2Lq__U5!&uUEjce z0o`4S*@$MV$K7Gus8S&tplcp%+)YKra@nazVeP3=WD-;T-tAED+_{^FBDD==6um>f zR!0LHl36AF)fnmp33+RZ9F((ab1GZ}6?DqEn$yK~BJdvw8?uVtpG2GJUbufzo5K!* zCH=}hx(cKhj}RkxW0hTvE*P}@2HR!^0KQ@Ae!l<=`X)ZqtfRhTeVvugnc!0_J*JiR zT;3MD&%x%5yo;q_f&(9f)Hv znb~MS&U8W5hed=T$@h%bdvHK1csKV`=oFQ9g1WR0qWf6vc@vsSC~C-r=sK=Co`3yG zaf+JocogOmrzTI3M2fad1?+4%teg-peOuj-z+SeEEPy=CE__z$c@?|2Q%lS@mbB0dZ(eFDniK5Wv8Jy zl8y8jXyqrCF`Zv`FE75peKFj{O$-XkYN?H8wJ_Y?{ElF7HAcz-oERw421fdz^N3ztG?679)_N0i&^(l>rE&qg4x zgv1-SQ&SIT7YpVKW;o(FS|HH@KZ3x*uG&AMOr1(&8beYo181N!PIOC$Qcl4Ls=Sgj zxI`*aCpkqPyN(O$)q~8d1mcEnsS{37dVgv^BiDu|Nmf6gb-?I>iO)g}NV za%|cRzO?22-cFM7%{bE-9YcN+fhIe3(rO23;-RyNrkd#Ugx3-tlK@X!t_S5qw+%IO zbf_#`fr=iDx}Z$Byh`2^_trbPKN*5^bQz?t*>Cx8P}4V+oe+_vzp zh<3Lt%O>pjL^=7p#Ig8v35%mGvh89@-+}qT%Y0H03X(|QXn5J|08=>=r7W$a&m#=$ zllfx1>1A5wJA-8G-U1Dhi9Wfdj1=+$7JYZfClK3W)WkuNl$Ggnhn8aL{u#7ocAx6Z zjX{ubvRf9Dli=0c6$IPmeL^jcy&XGE^R1qK2DI(cdcffy4elfZ(A6^$no zykx8uoY=kMsq&i0L@Q?$-XCLwal03u->&PpEUPM|qe;b_j%(uI9giK-e;XHf4M|}N zvsBBy%bc*}voRW3#960^Z#J~S6?ns>i!;v%gM|F}H9ReYz<_xu)<*dnMo-CH&i2LY z+Y*}AA#H_qYT`nJA<+EE2zq>QLwEdiF3 z+E8>CV|Pbur~K}^xjZIrLkKLK#Gam~8@T}e{km`#@O&dDtmu);9m3)ouWFIffj#*U zdO2{i=BA$~Wx$bC?kN3l(b&c>=(AT-ETKYa*C~PH;*)8q;TUXHzk%Uot>l5QhoAfv<+CdTW#^01q%`}N*c5Lkp zbBmPPk7s~(P^u2sxGF3(8)m7kWh=6SC|=d>fur+Hm4#aKyxY2*FKGQxioTP-^>QiY zMp>!j0O)3^&hZ7;ob#v(C))v^#=ZTD%n}a9T1k7x&g` zI@efpal{7GOmXF4PvR_gs&i=Em>jexNW^+k$+rM;tz%i?B}ViLTW2K=h@Q*&jjVd2 zm~<83kD@V}UzhWb!6PxWRs4WuCL5D9t{oEYS)-}TwSkca6JCF|!Ak!m zOLRb!#%>~r3_WvH>DW5md>OjHAyThaTaAo6lHt30x=G@Ng%^CSEA>p@Ppdlg{Q<>U zE);tV2;#5l#WQc*uN}bQ(~poAJnSvOYT|btSg~T6kLt!ySyd;rUt!JcR2;|B!uElH;!P&D%I9W0)lH#jgFxec{)1N1OF|@b5PvM`ELxQ_UaIeX$1x zHRpK7npv1J@!lfKF~h0A$rSrw!hoPjqkDuyy(HLSrMCr+cjz&Q|3X1Nq4# zfI%M>Z4=G0PQ@Y#sH5OwHs%A(5_{mIcQJaCCdanvHc!MI69lnKIce8M9mnte2lDZa zZ@fVE-3r41OyR^K)2=68iM;I)csQvq5dv zd4BuDsbBunGJiSHsxaCo9w7fLz+w7=uL9sC3GCVO#Sg`&C1>ogrZgA=ir6))69lLy z$j6J5jp#Qx%^I3tku(fQa8qEbD9bgbLFBF5EM~X1iS0T~P;}ES(nQJ%2W;VP$01nj zVCd1?M31;WTpMI9?Q5apufaQG#MiD314|dAADU5%;nx+DxK@=%bQrPD`!LjV_P}YH zlwCeH+o{#U+VLM}wd)>Wp8V7Gm?#X!mo1N{m5L&GgDl}igPv?%Pu}Cxn{!if$!XWJ zwn<+xa5rMLl^=ebJwGZHp|3J}X8Jxy3y~Rt-w?05Chx@4vOXzXeuXJh4(Ejil7 zBLx!292y*;xmOa(^$NSK7_M>(+1P|l^Krzoc{#6_kFvr3Quwg~v<^bMk3XLV(^wJ7 z=Xs=@e+@rFgd{oaQQm=P#u*)=L$P(u>`JPcn2=>~Z-hNk2WJew4a(LlqVNJX)vj`8 z0EK0>M60>{XG6ahZL$`hCRcV5`B^KdCPTU4jB{{Y4PhT{oe*SpLU1Zt!KhRGzJB8K ztvQnPXAIMPIMc}nmTSjMyhJ(Ldv}0bJ zHh3s_A)H`&eh9Ob_6;&oq1AtAWOP6~Ys?<=gV@WW-1gm|Oyr%E{5iGc?a>9db8kn% zoA6|vR>|crEPl0!Z&g-=5>|9L;P7ZR{;nyU0g@&xts)!R;k#S0_hNZ8XatXaZUE<>A2b*LS6T`|UR-^Yu-d|pJ-and`- zRYV7IF?P)9`%fj)+&@`79d^-{S{F{5X~DxI__0avkWAzDaYSru4PJA1+b8l6CU_&6 zhjg4UM8?7ufInI$OZ7-vq^|#<>N##wx#9I7@H$rc_y*@PcV;7!OkhBAz&hZQOC)ti z3{F4l!pqip$q-ImJ}juNDS?Ca;B-CWWv1brMq#Tsh(2bfIfeS{x1~-iloDVzy8)Kvn-5mR|+bpqh#j6c~gG; z&gmVeNaYtH-aomf)eSaDUf^Y!G6k>RzGTeNqI5|(@MbZc%ds7tDSJej^z|z^G>HBy zHFzsX<0~mpVJ*hR?n=G@$~-iQejDP^1v*uiKsQ*Gu~x`7U{1**HD)GX#h6cGayfxX zt#;dn*nMzVe?dYjoL7@(1XfJUMDw$>;TRb!-&9iAfROdm2I5atMo3H4?*79E%LQU6 z105;5Lj;fCNrzg-iIflpvrLo4dPNr~g zXNjS^ruIi3;20PraR!`P;F%6O9oY+XcQ0ZqO~mx5?<@!DF(a=To}&6V%FHqPvgx^D z`1gz>Wmw>t$KN?~Ba>JyxSUhE?E)i&Y1ac%u(204vZOFy3M@JEsRqm;i3Po&{LGOW z({ML{C^~XY5#~=T4g+2DFQ~cf+s+$5qo{}o5Ogr`V#tPd>!IvWFuxHoVNj>lhB{BK z<$wU^-x7?H#0ld>zL+rEOvR5i;S5WNupib`$imgO4By#$$RoBjV6VB2Rmy67b=SB$ z%0tUpHQ-2HJ)vC&cth_-j9hiUmGkzg%n?BWL61#YwPeLSpIyvzarI{uDf8BaEmkh& zD5dn0d@2hN&{DzHeI%iu&@ZIFqrDr5mxEiYt4n{*8d#?y1`;VEJV(L4PqA=~-r{iQ z`2;uY96F^~d@(K7IPgvtt{ovgH&}Rf75KSqjb}i$!*X=rp&n)nqI}sq%n`n-lOYZV z&QX5hR@;H?a&l}AW`sVtN(}&HkiK27I>sD3?V7XmHsgFYbJysccCa=4iA<7>F~%X^ zjwYq1omCE7x(_(64h1-WN1HfTuSZfBhZk`^Y8*Mbx-i^8^xjMVIl|B`c=WKNU*$YE zA8PYGxt5*By4Z*^HeLE_Ky|V>T}jarFc!o+GaXa17N0}9gOo>--LIxKpWm$&4E)pS z4KML}KwE91%@f8;^|NW=VY>aWi6HcOlTrBh9Kl`C^CEL+=h(DPDAE%aRx7{tWgiRYWPF4EQ8ADBFuI1xM}D;tl+g%zYD3|f>G{EuPIhy*1_OUFZdulCORNxdwTu2 zV0#yU9bEJ0&^rWBq47|FcYraR7NTvwd-LK%ec*5u~R% zQZ54Eh1%3zoaMD{({Z3nUJm^*JM=TU#+9#W=9BacXG8m=5@hBiC5D5;t|PFO$FRLd!t~PO zK;)f|q~|KFuR~#Eky3hq;{>2lrgEUpVAr6YqN%~0=Y8o(TthwpG&_$b6vN(qvH20J!=HK0b`%SzJovbCm;fs( zv|_1zJuG6R^2KB}^!8xcd3zV-6 z(9u84kMU~yW%2|zFs2KoI7vCJyf)Uz{2aact%gu})3$(|H8DJM79UIuj>4-1wV#%4ouY%vi{PFLHmNG#XWd;n}m=5Krtee!(o=npv@R z6Slb1JfOIgFhqHh%cM_Af-ieq(q??mnW$2zS_Ds253>0Jq;5>rs!f%JHiQGy-Wu*Xkaq)>A(MME(a{x^Dy}1yQGz!{5>=Sx;uB;$RPMM1 z1R!k;iTG=l3)GwyPKTYi4JZT8mr?|=H6EhwU>)FQ zl;VhCHPAK+fCVS>8(sm06M-y|)QneAI#5FOxC5J~pHQf=gUCdRuT3deeDVZt;3OE7 zTe}Tga1G90uuW4r{njh$|*IbV#@TQ%wKY`nndvmRl8LU zy(&r=xTN%Ti_;gE^m~>VB5Nm>7IS*;Tit%km-KwCe$o6VsD8PgeWd1r0~ngMlBn8f zQAe-a;paTJFisfA^!OHaQov@~Gwf679qOC7jSw3C6!wdscJ=%My|tG_7>@@sNZd*I0$C^Vhgl<&K=72NyQxua@LD|gmVEu~2wdK|W6u+y<5=f+U>ZKDB)rQ1T z##rKFWXmBnxyWIpg2r^+o-%vfDL~7O&r99&bQYtJmD)^&{l;M_;0}dlLM@%1rCK$S9Y+rTS+Sb9)&g%Q7RUHtAFK+dMIeT^2kM-t^ z+|}T$zWrybi>8T#{$&zM3tb99vtwsqKwiI5A>pl*St*h-u8$<75y%}qsQ#tAKlR-x zkeRJBFli88gnUVEQU$TxrLcmz6A0``7-Rlq(NK_^$d+}V>`+vxOFrxFzILKLY7~zy zk8OMBQmAGNs0P*)tCT>O_~WK)kL?iF-6I%-+9CAn3BbFHPASVzdWcl@(5Xz=vi8V_up=bdI16C-^xoAwA zjbFN2Vjr-X$J;p*Er}lzh83QuB@hN@@hr-J-X+n?u*`GeMv!OINyOT;6|0tB(=2dn z2Ych%HUbx3?kAvI*U;~;onKLRc5zXYGe$6D>59N**k^)GdNr6RG)*VMFt~M=UNW7jVi}~jO{2lIujE& zQ-v$aR6H92X7-ko5F!Q&EZ|U_e2w$#`DPi3q*B_B+?CvWpE7C)xy9)$ z5*y}3(#6K0Qc%GfE*&U3VvS0Me7Rf%1N-QTtGa&$dufFFWP{?M4DNoZ$w~o1_l>65$Odil?TuNo&MSb#7qv*-VAC)O_ zNJcd6!)$^}R>wSedZjk+jmNq(6X&R0XL!%>H}tchrkKXQGpV=_>o;a5F#|5b19IDJ z;4#|>QtJJ7l;nxKi3s7dXdlkL3?ILNsY~MHt5<*NG1EO08k~V!C{*10HtG>Ow1k}^ zu>}9nzmZsB!zD#bNv(ZiA?w>T#<;F2S`;7QZqsxe&>Nsv`G(B)vkM>JMfndG{_iaj z6NamjnWqx%AW0Xyo*Jz5w(meqR5^->G~v$|u?EXO9)$`SVaho4d)ypzoUCieS)cqJ zKO2PBS-^h(=D_@Quy1hJ5Ue_60BP#RO*U+x{QUsvgJeoG#u zAzfjv${uqdZu+NZn)x^;y3EDmJOO~HqWR+EC;e4C_km-R?q(s#bajB~21E=$g^N zz_()x$xc$JO@4?6$V{{D#a;fMNHMAoHtAR9mKiGtd)<#ThF2zOyS%=6{Qb&=nQT_w zVtz(v^0(Jvj5WDxoYf+*c4#8N4la4=prtd6e&59K{oSb$H$F+OL4A>Eq`TJ6*xz@G z?bf|~8epjG$FdHc+*xbgVn2TL`>J}`WQWV!ahh2jkI_K-aDEKt$U9L8ZSIjg7Z>;* zEFXU*kKEmENBqXiV6ZNNj^HlWJ)sM@bsy|m&-apCdO39C zl6YOpt(6?}czoW|H`Ppf%`t(#C)Jjk2|(yw1w?IJSX!O@I`p6;pz@TTm_yS9@btTx zk?&6!c8;rHRz)s}*c3F)u316@0+)nO^X2tibx)p-(B|31s2VNdh#18!#ByvQjeu?; z_3-5!s+fX^f&@Upz`S6ClQ}_>KO!gFoGSYw7+*t8DVq`|3b8-VwjwOT^b{^-p{5K? zG!*1*EN-H0lxHH;++irvFpHcV9JGgpcr_i|Dt%p6@7Bh5htp#Y|IKQ&l)~%RLV|&% zf1IljK8{w-W=5uVW(=;Lu0!gw@$*bTv~I~UAnrLdT8SPSqZ5QXI96SNXLQ!C9A-lt z(JG47Rc|BDtwU4Fz*dP`--*Ssi&8N zS6(KOp9b%UXV^jm<{N5P-yj%#R!!hXIM6 zZM@^J^CYPa)3$0-$C$Gu<)w?G^-q{xcU?smOZa(nP3g?DWp`~S>D?|7z20!HS5>R& zgf-PNy|JiwtF24Zi9#ubcoI6vjtBYLpJ_H)r&x}YFx&m>x|B6t99$KFfs}I2M_qj? z^*2lPQBq*6_cXEb8kJtTY3SiVb6xzF>&o~kTTKI_77R-v!t}k*NMCN#Lh4&kU%ty% z?+ZCdxKj&@2n8Ky%=St4NZcH((m!VhC`kp!|{!18^`MmN+O?BfZi3B z{$dSL>0-65BD>?IHJyYp@ew*M;uZXG?l^#7^H~G{&>8@QNFaIh!TVcKX?o0R@lQo~ zdIiEDR7baM;^n1-YB?6511<3hzcd?6>V>|k*3VTvVrjs9+bwIV@Xm~PoLdV2w#UO2 z7w0jJ4KY4xdrLm=NXzAcS-mt@1dW`Yg|gJnj8g{QpfGVw%uUVxc8s}LULkHdjn`Sq zWMTD^ROooaa`~m)JaxlY(rIZjtoG?(*S2`6Sd%N6M_GtaeI!p{R?uAJI$wv|{Ya|w z1ik%Gr9^qssF@}c`>0Xgef3%08-mU<*4OWCtrOJ`n4j?Tuj5#`UZtf*A)4VMTn!*_ zsqC-%iAIudZDAOS;t`nzF_tBnl&eivP%5yZgV{gI!kOw{#Q~RT+l(=8&@0$&V+5tl zmd7v*5Bdweu+e?XhzPO*cL1_kds7PMHY2tM+qq#6+pZ9Lu-nyU=rO zS&J9LiV}=JyG1n1*u=@k(_i&YN)`fPe|y7yo28vBL8FBV=DOmjRKh-U*edX1nA=5p zaF5i$DPhF|J9W1jg>`n07Kp2&&{Gnz5o7+dQ6a0WD?16x>|XeKcQ@(tyHOnVUUoa{ zht=wW_HTZw?3Q78!$hXwHfbbtAXNz%mNNK+)hj2AAXo!KfR5_A(lpjrMmMvW!f(}a(pY)TrzU)ns zX#ixJ>9GC%^RpYB*ZG=x#&VG6_=fay#C{Et&ntt^B=KqUeuZ&OF~*tII_HKJ$U>NU zx<64w^95*@w09p1%n63tYd2#6L>%CC<2vAXHOZZct@4&*&7bD)ntOv1<8+QShdZhh zzdT+pOSHsL85CC>8RE&aGo`RJJIg(X6BS2G)K{d)Xc`Nc|$E?TaUaIYa)W3&o%RolG}ovn6Fih zcX@NX{;6rxUKP=5wM3=L?Lqs8-UE?BxCt&*?hDdB7;UyvO4+s%wGm5AzUHk6gFs}xdAuLLpS)pTt-ksb zg~9ZSa-1DGXOqnXd>gk`(Mk52$u~^|JTb8)FGSB0f@mcFGclUwdbzR8%Glb`Ak_8+ zn9yAY%S1biJ8piDS{0sTC;{3^0@M6~B3z)XNc$mNqv+I0)_8pXJyC!k>mC|bZn$f} z`go5!jk9ZLlkYS_{o)VY__YQZeC0yvhi(}Y21rYUayx*OVV=yw!x9no)oODm76{vP z2k#Cosf@4-%i@Rr<5Ac*qlk`e@diohl%j!o?zyFFF#A!0hl`z39Jw+Vt48Zk=N~|B zPKxSU#s z{bq4;OzXZ)Go^mi0}=uM2yhl?z~#uaK5t<8g(cgINfTJqEt2AmEe2jt$N-zbEWCw& zwo-5Np2C@$JX+dG1iP)_1{%8=IE85@fkDY(;nwTJsgJa2n?oO^H&dm*K&1k4^^&Ke%qJN{ z^*wT$=czNC@PnjCk92lra0%PdUeL}r@34bu!J@p6b<3<;<+%|ua10vpj)b#Kn@Ih6$0@BRGBg)`AnZ z*OI`hfX0;KfCw5?h0>HnGsXfF(`ex-vietip@Bi<49eTK@BLzgz7;XJML_*(|1_97w4-M#z~D??K@6m=m9mGzsq zYqlXrl4+*X+DEW3$T|ilO%8-Wp+w|!_PO7Cv+TYQa)A({hBx)>ygxCT#CEhRVcX`->i5gl&|Y1ebJ#iK>s)$b zmT540cQ8J!I-7R`HmHtft^pw06oUObl!hQ|S!1`oI}9<aUWNRu=ZNVo+$6up)WaDPW^KS24Qc>3{jMGz(e#?n<*Dx=gy8sIRJ2+nne4R+F zYes!|$|cBDZn|C547YLaH{Dc?p7M^2x_2D&XMK6q^qL@#txNs9jYkUSxB;bT8F>YN zp2FZ69)AwU@C7&UM}bB`GcVGMQCNiKT@o3G6v0nGDl1o{yaD&;T8aV*H3H%ESghQ1 zdfoTL+^WPYF`_@X%=D|f^lw_ep4ZAXo7m8DBdh}UrqspR7}2_R0n;W}bRoA|1BIwY zJd=y4TV{-2<%kb3gC%Ep)qus^f(yYb5-dtKxmHrFw=i(ubPodEqk%$}sd=qii65=kU%Jpt z>o|4PAiZ53XnRlGk5<>N9&|w7-xkRp4k%#{4J5HgiTN!e?Q`$JBKS9}%l*Hox@E|J zQ3?P15In_49P#%>`tgCl1flHXU?$0?{~NgU0{hP#--mw#1^-)A{ojG3A3r{xwzsl( zWw1o}2L%QO4u%WncKClt3@xD_rpN5Fe?_MM*VEC+*~N^(k3O zpu~M_5aaZ6hz~)i4Z8kN z3A*6_Q+fK6{Zp|X;X_F4f)tO45#l%r{;9O_K(j~Kpx6(MfDx$th!}e9_lE{Fal}rW zX95Oh>TK%Z^4|qo0JHxs@N0+Kzh!hlqW?t~_;14ee`y`C`v24C|H~AjXwE;Nc%#3r z;eU(+GW-Q4{NLd4e_@bZ{x?+oU!=XC|A)lWMfhR++A%xCo;wKrgb{dQS+T^CJElw0*)(U6KL@=FP?QUvChl z%KvBgzl-&Oa1FrzhoEwb55biQvOgt;_U8GEka)^Y##{b@;Q3z$Z8=RA{(5p!^wK^H z=lExvBAA$N0}K$!;zAH~l~GkL8Jh5$@ZjEQ2e_ WLc{#sn&cmEDS|~-Fv+N diff --git a/Tools/zx/zx.exe b/Tools/zx/zx.exe index d2cca5e4d9950dac9386887b8c7afad24699c047..73d83296d6d3469f5d668834cf6cc32d4d812b50 100644 GIT binary patch literal 97792 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
    oUeiOPq%yEO8cQ41XKqfiM+$!-$4y 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 delta 49615 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 is basically a port of a subset of the zxcc package by John Elliott. +

    zx is basically a port of a subset of the zxcc program by John Elliott. The GPLv2 licensing carries forward. Please refer to the zxcc web page for more information.

    @@ -15,7 +15,8 @@ zxcc web page for more information.

    execution of the Hi-Tech C CP/M compiler under Unix, zx is slightly more general and intended to allow running most CP/M tools. Specific changes were incorporated to improve interactice console operation of -CP/M applications.

    +CP/M applications. Additionally, Curt Mayer added case insensitivity +for filenames under Unix variants.

    Setup

    diff --git a/Tools/zx/zxdbg.exe b/Tools/zx/zxdbg.exe index 070a9bf8d7599d891b9ce3500251b53f58efc27f..3079b506254eb33271a1f2e226f61a1230c10f3b 100644 GIT binary patch delta 45397 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