Sorry, my english language is not good, I hope you understand what I write here. 2021-11-18 Andreas Gerlich release candidate 3 of version 2.51.2 (2.51.2-RC3) * some minor changes This Version is for testing. Please give a feedback to me. (version 2.51.2-RC2 was an internal version for developing) see the next remark (2021-11-13) 2021-11-13 Andreas Gerlich release candidate 1 of version 2.51.2 (2.51.2-RC1) * ZSM4 added: ZSM4 is a free Macro Assembler for the Z80/Z180/Z280. The Assembler is created by Hector Peraza. The project page is on "https://github.com/hperaza/ZSM4". The licence is the GPLv2 (General Public Licence Version 2). The source files of this Assembler can be mounted on drive O:. This Assembler is now the standard for assemble BOOTSYS and the BIOS3-Z80-files for YAZE-AG (see drive P:). * The usage, the description of the different features and the Copyright can be displayed with the flag "-?". 2021-10-03 Andreas Gerlich * Windows binaries of version 126.96.36.199 produced 2021-08-23 Andreas Gerlich final release of version 188.8.131.52 * The different Z80 cores are now called over a function pointer (It's faster than if-then-else) 2021-08-03 Andreas Gerlich finale release of version 2.51.1 * With the submit file A:TESTZEX.SUB you can print out the speed of the emulator on your computer (set with "sys clock 0" the emulator to max speed) * Update the whole documentation * Window binaries for 32 bit and 64 bit are produced 2021-07-17 Andreas Gerlich finale release of version 2.51.0 * Update the whole documentation * A window size handler set up the columns and lines in the SCB (System Control Block) of CP/M 3.1 * You can define a clockrate (e.g. "sys clock 4000" for 4000 kHz (4 MHz)) in the monitor * Window binaries for 32 bit and 64 bit are produced 2020-09-20 Andreas Gerlich relese candidate 1 of version 2.51.0 * Update the whole documentation * It is now possible to define a clockrate. For example 4000 for 4000 kHz (4.0 MHz) * This version can you compile again on Solaris with SparcV9 processor! 2020-04-28 Andreas Gerlich release candidate 3 of version 2.50.0 with windows size signal handler * Richard Deane reports a bug in W.COM. This is fixed in rc3. * for testing 2020-04-25 Andreas Gerlich release candidate 2 of version 2.50.0 with windows size signal handler * for testing 2020-04-07 Andreas Gerlich release candidate 1 of version 2.50.0 with windows size signal handler * for testing 2019-11-17 Andreas Gerlich final release 184.108.40.206 with windows size signal handler * I have finished the development at the C sources. The yaze_bin binary reports the version 2.41.8. * The version nummber of the tar-archive is still 220.127.116.11, this means that I have to work at the Windows binaries. The final version of the tar-archive will be called 2.41.8 when I have produced the final Windows binaries. Have a look to release candidate 4 of version 2.41.3. It describes the new features. 2019-07-24 Andreas Gerlich final release 2.41.6 with windows size signal handler * some minor changes * Makefile for the Raspberry Pi 4 Model B added * This version ist the basis for Windows binaries Have a look to release candidate 4 of version 2.41.3. It describes the new features. 2019-07-06 Andreas Gerlich final release 2.41.5 with windows size signal handler * Richard Deane reports an error in context with the device program of CP/M 3. This is fixed in this version. Have a look to release candidate 4 of version 2.41.3. It describes the new features. 2019-06-06 Andreas Gerlich finale release 2.41.4 with window size signal handler Have a look to release candidate 4 of version 2.41.3. It describes the new features. 2019-05-23 Andreas Gerlich release candidate 4 of version 2.41.3 with window size signal handler * The window size signal handler determins the lines and columns of your xterm/LXterminal/gnome-terminal/... It sets the columns and lines bytes in the SCB (System Control Block) of CP/M 3.1. CP/M programms and Wordstar 4.00 gets from the SCB this values to set up the screen. Wordstar can only get the values at start time. When Wordstar runs you can change the columns and lines of your terminal emulator but Wordstar can determin the new values not before the next start of Wordstar 4.00. You must use the patched Wordstar 4.00 which is here in the tar-archive on drive A: when you run the emulator! (Wordstar 4.00 ist patched with the file CPM3WS4.Z80 which is also on drive A:) * The Z80 "INI"-instruction works now correct. * Keytranslation: The F4 button works now. * I mount over the .yazerc now only A: and B:. The rest of the ydsk-files can be mounted over the sys commands in profile.sub. Default is: No mounts of the rest ydsk-files. * This version is for testing only to make a feedback to me if somthing does not work or it works very well!!! 2018-02-01 Andreas Gerlich final release Version 2.40.5 with keytranslation * update some utilities on drive A:, see *.TXT * Full update of the documentation: 1. "Keytranslation" is added to yaze-ag.doc 2. "Wordstar with more than 25 lines" is added to yaze-ag.doc * Windows binaries for different machines produced: 1. The Windows installation binaries produce 2 icons on the desktop: One for 25 lines and one for 46 lines! --> see "Wordstar with more than 25 lines" in yaze-ag.doc! 2. There is no second window opened when you start a Window binary. 2018-01-01 Andreas Gerlich development version 2.40.4-02 with keytranslation * update some Utilities see the *.TXT files on drive A:. * update the Documentation. * Windows binaries are produced for 32Bit-generic, 64Bit-core2duo/i3/i5 and 64Bit-corei7 (see the development directory). * The file structure of the Windows binaries have to be changed. This was necassary to prevent the second window which was opened in older versions. * All changed for producing windows binaries (see the script "gen_windows"). 2017-01-23 Andreas Gerlich final release Version 2.40.3 with keytranslation * update 3DIR.COM and R.COM (import utility) on drive A: (BOOT_UTILS.ydsk) - R.COM had a bug. This is fix in this version. - 3DIR.COM is a version from Jon Saxton. It prints the right size of the files. * update drive L: (spl.ydsk) with the new source of R.COM (YREAD.SPL). (Have a look to Y.SUB which generate A:R.COM and A:W.COM.) * update Wordstar 4.00 on drive A: (BOOT_UTILS.ydsk) - This version is patched and takes the number of column and lines from the SCB (system control block) of CPM3.SYS (CPM3.COM respectively yaze-cpm3.boot). (When you give at system generation of CPM3.SYS another number of lines then you can edit with the Wordstar with more than 25 lines. Default is 25 lines. You must expand the lines of your terminal emulator (for example "xterm") to the lines which you give at system generation. Then start CPM3.COM which is genrate by the submit file G.SUB on drive P: (BIOS3.ydsk). Have a look to the submit file P:G.SUB.) * Windows binaries are not yet produced 2016-07-24 Andreas Gerlich final release version 2.40.2 with keytranslation * I update the import (R.COM) and export (W.COM) utlilites * New Windows binaries are produced 2016-07-06 Andreas Gerlich final release version 2.40.1 with keytranslation * Windows binaries are now produced 2016-06-01 Andreas Gerlich final release version 2.40 with keytranslation * Windows binaries are not jet produced 2016-05-23 Andreas Gerlich release candidate 3 of version 2.40 with keytranslation * minor fix in cdm.c to run on MacOSX 2016-05-21 Andreas Gerlich release candidate 2 of version 2.40 with keytranslation * An error in the install routine is fixed ("make install") 2016-05-20 Andreas Gerlich release candidate 1 of version 2.40 with keytranslation * Makefiles for Raspberry Pi 1 and Raspberry Pi 2 Model B * Makefiles for Raspberry Pi 3 Model B (32 and 64 Bit) * Makefile for Orange Pi Plus / Plus2 * Makefile for Radxa Rock/RockPro/RockLite * More Makefiles for different systems 2015-04-22 Andreas Gerlich development version 2.32-07 with keytranslation * a full upgrade from Jon Saxton * Makefiles for Raspberry Pi 1 and Raspberry Pi 2 Model B * Makefile for Radxa Rock/RockPro/RockLite * More Makefiles for different systems 2015-01-17 Andreas Gerlich development version 2.32-01 with keytranslation * Update the CP/M system files and BOOTSYS.Z80 with a Version from Jon Saxton * Update the Copyright messages This version is the start for a new development cycle (V 2.32-xx) 2014-12-28 Jon Saxton & Andreas Gerlich development version 2.31-12 with keytranslation * Last Update from Jon Saxton * runs also on Cygwin (32 Bit or 64 Bit) 2014-01-24 Andreas Gerlich final release 2.30.3 * Added a Makefile for the Raspberry Pi computer 2013-12-26 Jon Saxton & Andreas Gerlich development version 2.31-10 * update from Jon Saxton * runs also on Cygwin (32 Bit or 64 Bit) 2013-11-23 Andreas Gerlich final release 2.30.2 * update software and documentation * new Windows binaries are produced with the new Cygwin environment (Cygwin DLL 1.7.25) yaze-ag-2.30.2-winbinaries-x86_32-generic.exe .EXE for 32 Bit generic yaze-ag-2.30.2-winbinaries-x86_64-AMD-athlon64.exe .EXE for 64 Bit AMD yaze-ag-2.30.2-winbinaries-x86_64-Intel-nocona.exe .EXE for 64 Bit Intel 2011-12-10 Andreas Gerlich final release 2.30.1 * fix a bug in the day calculation routine the command "DATE" print now the correct date 2011-06-30 Andreas Gerlich & Peter Schorn final release 2.30 * some bug fixes * Windows binaries produced 2011-01-15 Jon Saxton & Andreas Gerlich development version 2.31-03 * Jon Saxton developed a full keyboard translation system 2009-09-25 Peter Schorn release candidate 2.30-RC2 * Peter Schorn gives me a patch which corrects a bug in the Z80 core (simz80.c) * I produce new Windows binaries with WinRAR which I buy for the project. Now you can use any directory and the link on the desktop will be correctly set. (yaze-ag-2.30-pre01-winbinaries.exe) 2009-09-17 Andreas Gerlich release candidate 2.30-RC1 * I found an error by handling directories under Windows. Now also windows binaries are generated. I test the Windows binaries with Windows 7 RC. 2009-09-15 Andreas Gerlich release candidate 2.30-RC (please don't use it in your production environment) * W.COM for exporting files as text or binary (without exiting the emulator) * R.COM for importing files (look Drive L: for the SPL-Compiler and the source for W.COM is L:YWRITE.SPL, the source for R.COM is L:YREAD.SPL . Read the file 0-README.1ST !!!) 2008-07-10 Dave Hines and Andreas Gerlich final release 2.21 * No warnings when you compile the project. (Thanks to Dave Hines, who send me that patch! :-) ) * Now you can compile also with the "cc" of the Solaris OS. (see Makefile_solaris_cc and Makefile_solaris_gcc) 2008-06-15 Andreas Gerlich final release 2.20.1 * bug fixes in the simulated directory when you mount a Unix-Directory to a CP/M drive. 2008-06-08 Andreas Gerlich final release 2.20 * I complete the documentation (the use of the serial lines is now documented) (I add in the HTML-Documentation the contens of the CP/M 3 helpfile "HELP.HLP") * I change/complete the install process (make install) and the startup shell script "yaze.sh" * fix a severe bug when connecting (Unix-/Windows-)directories to a CP/M drive. * you can use COM1 (/dev/ttyS0) and COM2 (/dev/ttyS1) ... the seriell lines to an another computer.
2005-10-18 Andreas Gerlich final release 2.12.1 * Bugfix: Jim Donoghue (USA, Houston, Texas) reports a bug in the Z80 assembler instructions OUTI and OUTD. 2005-08-21 Andreas Gerlich final release 2.12 * the "Umlaute" are handled correct now (this is only important for the Windows version of yaze-ag) 2005-07-16 Andreas Gerlich final release 2.11 * some changes in the Makefiles 2005-07-05 Andreas Gerlich pre release 2.10-pre Windwos Versions have now the "build"-counter * UCSD-Mode to run the UCSD P-System * bios routines conin and conout do not mask with 0x7F * I add the "DISKSORT" project This version is for testing !!! (read also all infomations until 2003-12-20 in this document. At 2003-12-20 I begin with this development circle) 2005-03-05 Andreas Gerlich development Version 2.02-11 * I adapt the emulator for the CYGWIN-Environment (remember CYGWIN is an unix environment for windows) This version is for testing !!! (read also all infomations until 2003-12-20 in this document. At 2003-12-20 I begin with this development circle) 2004-08-16 Andreas Gerlich development Version 2.02-10 * NEW: P:BIOSKRNL.Z80 changed. Now you can run Z3PLUS !!! :-) * NEW: I have to change the mount.com utility. Please don't use the old one (yaze-ag crashes) !!! * NEW: I put the changed documentation to the archive. (It's the documentation of the final release 2.10) This version is for testing !!! (read also all infomations until 2003-12-20 in this document. At 2003-12-20 I begin with this development circle) 2004-04-14 Andreas Gerlich development Version 2.02-08 * NEW: Now the time stamps informations are now correct on big endian (sparcv9) and on little endian (intel) machines. * NEW: I integrate the new monitor command "setaccess on/off". (see also "help setaccess" in the monitor) When a Unix directory is connected to a CP/M drive normaly only update time stamps are present. If you will see also the access time stamps you switch it on with "setaccess on". (see "SET [ACCESS=ON]" in the help with HELP.COM) This version is for testing !!! (read also all infomations until 2003-12-20 in this document. At 2003-12-20 I begin with this development circle) 2004-01-27 Andreas Gerlich development Version 2.02-06 * NEW: When you connect a directory to a CP/M drive the date stamps of the unix files will now be present also under CP/M 3.1. The modification time of the unix files is the update time under CP/M 3.1 . Now it's posible to edit source files under unix/linux and to compile it under the yaze-ag emulator with the MAKE.COM (and resetdsk.com, look version 2.02-02 ) utility. >>>> The time stamps are only correct on little endian machine (for example Intel) !!! This version is for testing. 2004-01-25 Andreas Gerlich development Version 2.02-04 (internal version not uploaded) * integrate the date calculation function "dayfaktor" in bios.c (It calculates the theoretical days since 1.1.0000) (Gregorian calendar) (look to the Modula-2 sources DAYS.MOD/DEF and BIRTHDAY.MOD on drive M: (disk file "Turbo-Modula-2") when you have started the emulator.) * Update the CP/M 3.1 function "Get and Set Time" in bios.c to use "dayfaktor". * patch cdm.c with the patch from Carl Mascott. * Carl Mascott reports an error with unmounting drives. The sys.com utility makes now a full reset of all drives (BDOS 37). * cleanup all sources (*.c) to use the flag -D_BSD_SOURCE for Linux (I took the knowledge about this flag from yaze-1.12) 2004-01-20 Andreas Gerlich development version 2.02-02 * Fix reread bug of a unix directory Describtion: When you give a ^C (CTRL-C) at the prompt of the CCP the disk system in CP/M will be reseted completely. A drive which is connected to a directory will be now fully rereaded (remount) at the next access (SELDSK). You can use the feature "Mounting Directories" if you create and edit files with vi or an another editor under unix and you want to compile the files over a compiler/assembler in yaze-ag. (This new function works also under superdos (CP/M 2.2) which is in the boot file "yaze.boot".) I add the little program "RESETDSK.Z80/COM" which resets all disks over the BDOS function 37. This is identical like the CTRL-C. You can use this utility in a submit file: compile.sub: ; resetdsk ; ; Resets all disks. Every drive will be rereaded by ; CP/M 3.1. Direcrories will be fully rereaded. ; m80 d:test=c:test ; ; d: must be a disk file. ; c: is connected to a directory and will be fully rereaded I add to the monitor the command "remount <drive>" which you can use also in a submit file with the command "sys remount <drive>" Remount makes also a remount (reread of the unix directory) explizit of the <drive>. (It tells (like mount) over the MF flag in the DPH of the <drive> and the @MEDIA flag in the SCB to CP/M 3.1 that this drive is "new". At the next access to the <drive> CP/M 3.1 tests if the <drive> is changed and makes a reread of the directory if necessary.) You can also use the work around with "sys mount <drive> <unix-directory>" which I describe on the web page of yaze-ag under "Mounting Directories" 2003-12-20 Andreas Gerlich I start with further development TODO: I will fix the reread bug of a unix directory when you give a CTRL-C at the command prompt or a CP/M program resets the disk system over the BDOS function no. 37. (bug described under the next section) (look chapter 3 "Known Bugs" and chapter 7 "Mounting Directories" in yaze-ag.doc (or yaze-ag_doc.html)) 2003-12-20 Andreas Gerlich Version 2.01 Timothy Wagner and Carl Mascott reports a complex bug in yaze-ag-2.00. I test also the old version yaze-1.00. This bug is also there (I take the code to access directories from yaze-1.00). I found also an another error in coherence with unix directories. (look to the bug fixes described here). * I add to the distribution the whole HTML documentation. * generate a Makefile_cygwin to compile yaze-ag also under the unix like environment "cygwin" under Windows :-) * Put standalone windows binaries on the home page. * The excecutable of the emulator is now named yaze_bin. That was neccessary because cygwin generates an exe-file (yaze_bin.exe) if you give no extension. The old name yaze.bin was not good for cygwin/windows. I also change this in yaze.sh (which will be copied to "yaze" if you make a "make install"). * I delete monitor.c_linux and monitor.c_solaris! Now there is only one monitor.c. It can be compiled under Solaris/Linux/FreeBSD/Cygwin. * fix a terrible bug in function "readsector" in bios.c which reads a sector from a disk file or a unix directory: The file-cache which is used for accessing unix files was not correctly handled. That was a bug which crashes yaze-ag !!! (reported by Timothy Wagner and Carl Mascott) Have a look to yaze-ag.doc (or yaze-ag_doc.html) chapter "3. Known Bugs" and "7. Mounting Directories" !!! * fix an another terrible bug in function "mountdir" in monitor.c which mounts directories to a drive under CP/M. Now double names are correctly handled (like "Source.z80" and "source.z80" which will be translated to "SOURCE.Z80" under CP/M). In the code of yaze-2.00 (and yaze-1.10 also) there was two directory entries with "SOURCE.Z80" created. Now only one of the both unix-files (Source.z80 or source.z80) gets an entry in the CP/M directory. That was a bug which crashes yaze-ag, too !!! Have a look to yaze-ag.doc chapter "3. Known Bugs" and "7. Mounting Directories" !!! * BUG: A mounted unix directory does not reread once more if you give a CTRL-C (at the CCP) or a Program makes "disk resets" over the BDOS function 37. Look chapter 3 "Known Bugs" and the work around in and chapter 7 "Mounting Directories" in yaze-ag.doc (or yaze-ag_doc.html) 2003-01-12 Andreas Gerlich Version 2.00 (final release) * I add the diskfile "Turbo-Modula-2" to the distribution It contents the Turbo Modula 2 Compiler of Borland. (The editor is adapted for the Linux console (25 lines, 80 columns). It works also in a xterm (but xterm starts with 24 lines, expand it to 25 lines)) * I made no changes (against the pre release) in the sources (I change only the printing of the version) 2002-02-10 Andreas Gerlich version 2.00 (pre release) for testing * cdm.c can be compiled also under Linux 2001-11-04 Andreas Gerlich Development Version YAZE-AG-1.20-15 * Frank D. Cringle don't accept my work. After a half year of dicussion with him I decide to make a new project (look GPL) and I call it "Yet Another Z80 Emulator by AG" or "YAZE-AG" * NEW: Memory Management Unit (MMU): The MMU have 16 tables to 16 page pointers (page size 4 KB) and adresses up to 1 MB. * simz80.c: Optimizing: simz80 is faster than the version of yaze-1.10. NEW: I made the necessary changes to embed the MMU. * NEW: I made the necessary changes to embed the MMU in the whole system. I create the new module "mem_mmu.c/.h" * NEW: I develop the BIOS3 (*.z80) and the yaze-bios (bios.c) for yaze-ag: * enlage bios.c to make available all necessary functions for CP/M 3.1 * Idea: To create the Yaze-Control-Table (YCT) for communication between the bios and yaze-bios. * enlage BIOS3/yaze-bios to use the "Disc change feature" of CP/M 3.1. * implement xmove in yaze-bios (this enables disks with sektor size > 128 Byte, the default sectorsize is now 2048 Bytes) * implement Multi-I/O in yaze-bios (CP/M 3.1 reads/writes more than one sektor in one read/write call) * implement Date in yaze-bios * NEW: I developed BOOTSYS a CPM3.SYS loader because the CPMLDR/ZPM3LDR does not work with the big CPM3.SYS file. * NEW: CP/M 3.1 runs on the Emulator: I create the new boot file "yaze-cpm3.boot". It contents BOOTSYS + CPM3.SYS (ZPM3 is used in CPM3.SYS; it's the BDOS3 replacement of Simeon Cran) and is identical with CPM3.COM/CPM3-OK.COM on drive A: (BOOT_UTIL). The bios3 and the yaze-bios supports by the side of the fundamental features for CP/M 3.1 also the special features of CP/M 3.1 like date, xmove/move and multio (look "Features" in yaze-ag.doc (yaze-ag_doc.html)) * NEW: To access unix directories are adapted for CP/M 3.1 * BUG: cdm.c (CP/M Disk Manager) can not compiled under Linux (but under Solaris/FreeBSD/MacOS-X) ------------------------------------------------------------------------------- 1998-01-27 Frank D. Cringle * simz80.pl: set the flags correctly for LD A,I/R and CPI/CPIR/CPD/CPDR (reported by Sean Young). * monitor.c (mountdir): fix fencepost error when setting cp, as reported by Richard Hirst. 1998-01-25 Frank D. Cringle * simz80.pl: change direct and indirect references to the RAM() macro, because it now evaluates its operand more than once if MMU is in use (contributed by Michael Haardt). * yaze.c, simz80.h: Make BIOS optional and add MMU initialisation (contributed by Michael Haardt). Sun Apr 28 11:30:52 1996 Frank D. Cringle * cdm.c (getblock): rename index to idx (avoids a warning about shadowing index()). (main): correct a type in the !USE_GNU_READLINE case. Thu Apr 25 15:32:24 1996 Frank D. Cringle * bios.c (constat, lststat): select() may modify timeval, so reinitialise it. (readsec,writesec): protect against undefined or unmounted disk. (bios): Add BgiiFix. * monitor.c (mount): use MAP_FILE flag in mmap() call (linux-ism?). * yaze.c (load_cpm): correctly calculate available memory if loadadr is specified. * simz80.pl (CALLC): rename symbol adr to avoid warning msg. * cdm.c (srchdir): ignore cpm-3 byte count.