# YAZE-AG - Yet Another Z80 Emulator by AG (V 2.20.1)

## (Project page of this Open Source Project)

(Thanks to the Faculty of Mathematics and Economics at Ulm University (Germany) which hosts these web page. )

(Special thanks to Prof. Franz Schweiggert and Dr. Andreas Franz Borchert.)

Development BOOTSYS Download Documentation Older versions Donations

## Introduction

yaze-ag is designed to provide an exact simulation of the Z80 microprocessor on a

- UNIX (Solaris)
- Linux
- FreeBSD
- Mac OS X
- Windows system (cygwin environment) (or as "Standalone Binaries for Windows").

It is fast, emulates undocumented opcodes, and passes instruction regression tests against real Z80 hardware.

NEW in yaze-ag version 2.xx is the support of an emulated Memory Management Unit (MMU) and the BIOS which supports CP/M 3.1 .

YAZE-AG is a Z80-CPU-Emulator and NOT a CP/M-Emulator!

Inside the Emulator runs an original CP/M or a replacement of CP/M.

YAZE-AG uses the free CP/M 3.1 replacement "ZPM3N10" of Simeon Cran (bootfile "yaze-cpm3.boot") or the CP/M 2.2 replacement "Superdos" (bootfile "yaze.boot").

## Development

I took the idea of the page tables from Michael Haardt (see "Older version") and developed the MMU in YAZE-AG-2.xx.

This version runs CP/M 3.1 or ZPM3. I made a lot of changes in all modules to embed the MMU in the whole system and added the new module mem_mmu.c/mem_mmu.h.

In the BIOS3 (*.Z80-files) and the yaze-bios (bios.c) I support also special features of CP/M 3.1 like date, disk-change, xmove and multi-I/O.

Yaze-ag-2.20.1 is a final release. I believe this version runs quite stable. Since the pre release 2.00 I got many positive feedbacks and three bug reports (see "Fixed Bugs" in yaze-ag.doc). The reread bug of connected (unix-/windows-)directories is solved!

### Keybord translation (2010-03-18)

- Mr. Jon Saxton (from Australia) expand the project with keyboard translations. So it ist possible to use the cursor keys for example in an editor like WS or Turbo-Modula-2 or ZDE. The development goes on. :-)
  The last stable version is final release 2.30.

### Final Release 2.30 (2011-06-30)

- Now you can export files to the host system with the W.COM utility without exiting the emulator.
  With the R.COM utility you can import files from the host system.
  See the development directory for the new version. There are also windows binaries.

### Support of serial lines in final release 2.20.1

- since version 2.20.1 the emulator uses the serial lines of the PC (/dev/ttyS[0-3] in Linux or COM1-4 in Windows) to communicate with other computers (like with my new old real Z280 system which I got on the www.zfest.de in 2007).
  The new feature is described in "Serial Lines" in yaze-ag.doc.
  Kermit.com and rz.com/sz.com are on the disk file "Kermit_SZRZ.ydsk".
- On Sun machines you can use the serial lines via the device /dev/ttya or /dev/ttyb.
- I haven't tried if a Mac with serial ports works. If anybody wants to do that for me, please give me back a note how it works.
- I fix a severe bug in the code connecting (Unix-/Windows-)directories to a CP/M drive (see "Fixed Bugs" Number 4 in yaze-ag.doc). It was by chance that I found this bad bug.
  It's recommended to update to the new release 2.20.1 !!!
- Since release 2.20 I name all YAZE-AG-Disk-Files with the extension ".ydsk".
- I updated the documentation (HELP.HLP of CP/M 3.1 and the other documents).

### Bugfix in release 2.12.1

- Jim Donoghue (USA, Houston, Texas) reports a bug in the Z80 assembler instructions OUTI and OUTD. This is fixed in release 2.12.1 .

### NEW Features in release 2.12

- I added the feature to put the time stamps of the (unix-/windows-) files into the simulated CP/M directory of a CP/M drive which is connected to a (unix-/windows-)directory. "Mounting Directories with Time Stamps" in yaze-ag.doc describes this new feature (version 2.10).
- The Z-System now works with yaze-ag (version 2.10) !
- DOS-Character set enabled in the version for Windows (version 2.12).

I will announce new versions in the NETNEWS in comp.os.cpm !

For new versions see the development directory and see there ChangeLog!

If you find an error feel free and send an email to me.

Tip: Run the new emulator and give the command "help yaze-ag support". ;-))

Or see the documentation (in HTML) which belongs to the new tar archive or to the new standalone binaries for windows.

yaze-ag-2.xx is a further development of yaze-1.10 (see "older version").

My English is not that good. I would be very delighted if anybody read my documentation and give a feedback. The documentation which I wrote is INSTALL-2.20, parts of yaze(1), README-2.20, yaze-ag.doc, README_BIOS3_Z80 and README_BOOTSYS.

(Tip: Use the document files in yaze-ag-2.20.1.tar.gz ;-))

## BOOTSYS - CPM3.SYS loader

BOOTSYS relocates the resident and banked part of a CPM3.SYS to their places into memory and starts CP/M 3.1.

I develop it because CPMLDR of DRI/Caldera and ZPM3LDR of Simeon Cran does not work with the big CPM3.SYS file (43 KB) in yaze-ag.

- README for the CPM3.SYS loader BOOTSYS - README_BOOTSYS
  - See the chapter "4. Some Words to BOOTSYS" in yaze-ag.doc - it describes why I had to developed BOOTSYS
- The source of BOOTSYS - BOOTSYS.Z80 (intel-hex, uuencoded )
  - Sorry the comments are in German language ;-)
  - Tip: If you want to download it use the intel-hex or the uuencoded part
- BOOTSYS compiled - BOOTSYS.COM (intel-hex, uuencoded)

## YAZE-AG-2.20.1 (final release 2.20.1 with CP/M 3.1) (Download)

It's recommended to update to the new release 2.20.1, because of fixed bug number 4.

Currently there are no known bugs (see "Fixed Bugs" in yaze-ag.doc).

The new feature of version 2.12 is described in "Mounting Directories with Time Stamps" in yaze-ag.doc.

The new feature of version 2.20.1 is described in "Serial Lines" in yaze-ag.doc.

- YAZE-AG-2.20.1 - yaze-ag-2.20.1.tar.gz (Source).
  - In this version you can mount UNIX-/Windows-directories to CP/M drives.
  - A bug in the drive tables is fixed. Now you can mount disk files (.ydsk) up to 64 MB.
- Standalone Binaries for Windows. They are produced with the cygwin environment www.cygwin.com
  - Cygwin is a unix like environment for Windows.

For new versions see the development directory and see there ChangeLog!

if you want to support this Open Source Project with software, services, hardware or money.

## Documentation of YAZE-AG-2.20

- A little documentation how you install yaze-ag-2.20 - INSTALL-2.20
  - Please read it because I have expanded the Install process and you have to edit the Makefile.
- You start yaze-ag with the shell script "yaze". Please read yaze(1) it describes the binary "yaze_bin" and the shell script "yaze" and what it install at first time.
- Windows users start the emulator with a link on the Desktop or with the batch file "yaze.bat"
  (see Binaries for Windows)
  - For the options of "yaze_bin.exe" read yaze(1).
- With the cdm(1) utility you can handle the <CPM_disk> files which are used by yaze-ag.
- The features of the old version 1.06/1.10 - README-1.10
- The documentation of the old version 1.10 - yaze.doc
- A README to release 2.20 - README-2.20
- The documentation only of the new features until yaze-ag-2.20 - yaze-ag.doc
- A README of the CP/M 3.1 bios files (*.Z80 - Files) - README_BIOS3_Z80
- Help of CP/M 3.1 - HELP.HLP

### Old yaze-ag versions

You will find old versions of yaze-ag here.

### Older version

- YAZE-1.10 at ftp.ping.de/pub/misc/emulators/
- A CP/M 3.0 bios implementation for YAZE-1.10 by Michael Haardt at http://www.moria.de/~michael/yaze-cpm3/.

### Useful Links

- "Cpmtools" for reading floppy disks with other formats than the IBM-floppy http://www.moria.de/~michael/cpmtools/

### Other Links

- German documentation of the TI-59 / TI-58C / TI-58 calculator http://ti59.in-ulm.de/
- German Z80 meeting the "ZFest" http://www.zfest.de/

if you want to support this Open Source Project with software, services, hardware or money.

15. June 2008

Andreas Gerlich

(University of Ulm, Germany)

| For reading the left QR-Code You need a QR-Code reader for your mobile phone. See for example www.i-nigma.com or www.kaywa.com. english description of the QR-Code (Wikipedia) german description of the QR-Code (Wikipedia)

( Last change September 01, 2011)

crypted emails (with GnuPG) are welcome: Fingerprint: 6093 AFC3 40C6 920B A8F3 A9A5 1137 80FD 4E54 554C

(I will also answer not crypted emails but throw away spam!)

(Click on "Fingerprint" to do a search at a PGP-Keyserver to get my public GnuPG key.)