Update History of MYZ80 by Simeon Cran. August 1 1992 ~~~~~~~~~~~~~ Version 1.00 First non-Beta release. ___ Version 1.01 Minor changes to a number of routines for higher performance. 386 version of MicroFast engine optimised further. Beta test of bugfix where high word of 32 bit registers was not being properly cleared on program startup. --- August 23 1992 ~~~~~~~~~~~~~~ Version 1.02 Bugfix where memory allocation strategy was not being properly restored (causing very strange errors after running MYZ80 with DOS 5.0 or OS/2 2.0 with UMBs). Version 1.01 was a Beta only release. Version 1.02 is a public release again. --- October 16 1992 ~~~~~~~~~~~~~~~ Version 1.03 Bugfix where DOSDIR would not display R/O files. Bugfix where EXPORT would not properly export files larger than 16k when run from CP/M 2.2. IMPORT and EXPORT both upgraded by the addition of the -M option (to automatically delete the original file) and the -O option (to automatically overwrite any existing destination files). Support for INT 14h to allow the use of a communications FOSSIL. New keyboard system allowing all keys to be redefined. New KEY utility to support the new keyboard system. Correct CPM3.SYS included in package. MYZ80 API information included in package. --- November 11 1992 ~~~~~~~~~~~~~~~~ Version 1.04 Function 42 added to MYZ80 API (BYE time and date support). Functions 22 & 23 added to MYZ80 API (DOS environment block support). Terminal emulator BEEP changed to operate in the background so that it doesn't slow the emulator down at all. Faster TIME routine for higher performance. Added DOS environment variables A.DSK, B.DSK and C.DSK to allow aliases for disk file names. --- NOTE: No versions between 1.04 and 1.10 have been officially released. If you find such a version it is a beta which has escaped accidentally. The code will not be stable and should not be used. --- February 1 1993 ~~~~~~~~~~~~~~~ Version 1.10 Z80 register report added to PAUSE, HALT and ILLEGAL boxes. HALT box modified so that the "Single Step" option steps to the next instruction (ignoring the HALT) to enable it to be used for Z80 code debugging. Some undocumented instructions added (particularly SLAS A for Z280/Z80 detection routines). DATE routine bug fix (day was out by one for non-leap years). Screen cleared and colour restored on exit. Attribute values corrected for monochrome systems. PUNCH and READER (AUXIN and AUXOUT) functions in API enabled. Change to API functions 1, 9, 32, 47. Added API functions 2, 14, 49, 50, 60, 61, 62, 63. Modified code to allow "paste" functions in multitaskers to work. Delays added to rego screens to encourage registration. Added ANSI terminal support to default MYZ80 terminal emulation. Minor changes and additions to the default MYZ80 terminal emulation. "VT52", "LEAR", "ANSI", "GENERIC", "RAW", "MDT20" terminal emulations added. Added TERMINAL.COM utility to change terminal emulations and terminal parameters. Added DOS environment variable MYZ80TERM to allow default terminal selection. Added DOS environment variable MYZ80BOOT to allow default boot file selection (boot file can now only be specified in the environment, not on the command line). Various minor changes to assist cooperation with DesqView. Eliminated sign-on screen from second and subsequent coldboots (registered versions only). Eliminated sign-on screen at startup if anything on the command line (registered versions only). Utility Compatibility Number incremented (which means that all utilities must be replaced with the ones in this package). Replaced COLOUR.COM with new interactive COLOUR.COM. Modified so that MYZ80.CLR is read from DOS for COLOUR definitions. Fix to KEY.COM to allow proper reading of KEY files from KEY.LBR. Fix to key redefinition system to allow 1Ch and 1Fh to be stored. Modified to allow different physical sector sizes with CP/M 3.0. SHRINK.COM modified to work with different sector sizes. Updated CPM3.SYS to use 1k sector size (some programs were buggy with the 128 byte sectors). Disk structures changed to be more conventional (some programs were buggy with the large number of sectors per track). Minor change to MicroFast engine for greater efficiency. QUIT.COM modified to confirm quit if RAM disk is holding data. SHRINK.COM modified to display number of kb removed by shrinking. IMPORT.COM and EXPORT.COM modified to properly handle drive specifications without paths. Support for United Kingdom keyboard added. April 27 1993 ~~~~~~~~~~~~~ Version 1.11 Minor code changes to solve a problem with QRAM causing crashes on exit. Minor code change to make memory allocation more logical when UMBs are available. Fixed API function 1 bug (which caused uncertain returns under some circumstances). Minor code tuning for higher performance. KEY.COM and COLOUR.COM modified to display a list of available definitions with the "LIST" argument. Code added to guarantee speaker is turned off on exit and beeps stopped on coldboot. --- NOTE: No versions between 1.11 and 1.20 have been officially released. If you find such a version it is a beta which has escaped accidentally. The code will not be stable and should not be used. --- March 31 1994 ~~~~~~~~~~~~~ Version 1.20 Utility Compatibility Number incremented (which means that all utilities must be replaced with the ones in this package). Changes to terminal emulation code for higher performance. Added ^W (clear to end of screen) to all terminal emulations. Colour added to ANSI emulation. Return cursor position added to ANSI emulation. Fixed minor bug where the default terminal was not being restored on coldboot. Terminal emulation of escape-G (set video attributes) changed so that video attributes are not accumulative. IMPORT.COM modified to allow ^C abort at any time. IMPORT.COM modified to fix bug that prevented the DOS file from being properly closed if an error. IMPORT.COM modified to preserve datestamps. EXPORT.COM modified to allow ^C abort at any time. EXPORT.COM modified to fix bug that caused incorrect times to be set in the DOS datestamp. EXPORT.COM modified to work around a bug in ZSDOS and ZDDOS. EXPORT.COM modified to fix bug that caused no more than 16k to be exported on wildcard exports. EXPORT.COM modified to delete DOS file if aborted. EXPORT.COM modified to handle ZSDOS timestamps. COLOUR.COM fix to display more than 3 files in a COLOUR.LBR file (using LIST argument). KEY.COM fix to display more than 3 files in a KEY.LBR file (using LIST argument). KEY.COM to fix not reading last record of definitions in KEY.LBR. QUIT.COM name changed to EXIT.COM for consistency with DOS. EXIT.COM modified to unconditionally quit if a timestamp or label is the only thing on the RAM disk. Serial ports now automatically use interrupt driven code. PUNCH and READER functions modified to use interrupt driven serial code. Added ^\ & ^_ key definitions to default definitions (were missing). CTRL-L key definition added to work correctly when SHIFT pressed. Added "Save and Continue" option to key redefinition box. Change to LIST function. Change to LISTST function. Added API function 26. Added API function 31. Added API function 43. Added API function 48. Change to API function 49. Change to API function 50. Added API function 51. Change to API function 62. Added API function 64. Added API function 65. Added STRIP7.COM utility. Added CHGDSK.COM utility to change disk file assignments in CP/M. Fixed minor bug where the default terminal was not being restored on coldboot. Fixed minor remapping error for the UK keyboard. Improved idle detection for API time & date calls. OS2-specific idle calls added for better efficiency. Fixed minor bug where cursor would end up on the wrong scan line with some video cards. Fixed minor bug where cursor would be restored on return from pause box even if cursor was turned off. Critical error handling modified. Fixed bug that prevented RES 1,C and RES 1,B from working. BIOSes for CP/M 2.2 and CP/M 3.0 updated. BIOS source code added to the package. Executable name changed from CPM.EXE to MYZ80.EXE. August 1 1994 ~~~~~~~~~~~~~ Version 1.21 Changes to EXPORT.COM to enable datestamping on ZDDOS systems. Changes to EXPORT.COM to fix incorrect dates on ZSDOS systems. Changes to MYZ80.SYS to fix problem with RAM disk not being accessible until C: was accessed. Changes to MYZ80.SYS to fix problem with warm boots sometimes ending up at A0: when they shouldn't. Minor change to serial port ISR's for higher performance. Modified to allow external keyboard remapping files to allow use of non-US keyboards. Modified so that MYZ80.KEY is read from DOS for KEY definitions. Change to API function 14. Added API function 34. Minor change to BIOS TIME (26) function for better CPU utilisation. April 1 1995 ~~~~~~~~~~~~ Added LD D,IXH undocumented instruction for a commercial assembler that uses it. October 16 1995 ~~~~~~~~~~~~~~~ Version 1.22 Added Robotron terminal emulation. January 1 1997 ~~~~~~~~~~~~~~ Version 1.23 All directory writes are now commited immediately to ensure that data isn't lost due to a power failure. Minor changes to MicroFast engine to give speed improvements on Pentium CPUs. January 7 1998 ~~~~~~~~~~~~~~ Version 1.24 Modified idle detection to work with Win98 Returned to delayed commitment of directory writes as the immediate commitment causes an unacceptable performance loss on modern, fast PCs. Reliability is no worse than for any other typical program handling data on disk.