Files
RomWBW/Tools/unix/zx
Wayne Warthen 87579e5b65 More ZX Fixes
Credit to Tony Nicholson & Russell Marks
2021-08-24 13:59:12 -07:00
..
2020-01-30 06:47:47 +00:00
2020-02-18 22:03:23 -08:00
2020-02-18 22:03:23 -08:00
2021-08-20 10:50:30 -07:00
2021-08-23 14:43:55 -07:00
2021-08-23 14:43:55 -07:00
2021-08-23 14:43:55 -07:00
2020-01-30 06:47:47 +00:00
2021-08-23 14:43:55 -07:00
2021-07-26 10:00:04 -07:00
2021-08-23 14:43:55 -07:00
2021-08-20 10:50:30 -07:00
2020-01-30 06:47:47 +00:00
2020-01-30 06:47:47 +00:00
2020-01-30 06:47:47 +00:00
2021-08-24 13:59:12 -07:00
2021-08-20 19:25:42 -07:00
2020-02-18 22:03:23 -08:00
2021-08-23 14:43:55 -07:00
2021-08-20 10:50:30 -07:00
2021-08-20 18:16:56 -07:00

ZX Command

An adaptation of zxcc-0.5.6 by Wayne Warthen

This directory contains the source files used to build the "zx" tool.  This tool
is essentially just John Elliott's zxcc package version zxcc-0.5.6 modified to
build for Windows and simplified down to just a single command (zx)
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

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.

December 5, 2014

After struggling to get the entire zxcc package to build nicely using autoconf,
I finally gave up and took a much more direct approach.  I have extracted just
the source files needed and created a simple batch file to build the tool.  I
realize this could be done much better, but I cheated in the interest of time.

The one "real" change I made in the source code was that I modified the tool
to look for bios.bin in the same directory as the executable is in.  This
just makes it much easier to set up (for me, anyway).

The GPL status of everything remains in place and carries forward.

Wayne Warthen
wwarthen@gmail.com

March 15, 2017

- Updated to compile under Open Watcom.
- 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

--WBW 4:09 PM 8/21/2021