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

## (HTML - Documentation)

## 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) (look to "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").

## How do you find new versions and the web page of YAZE-AG?

For detail information and new versions look to the web page of YAZE-AG

http://yaze-ag.de/

it's a redirect to

http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/ (the original page at the University of Ulm, Germany)

An another way to find the web page of YAZE-AG is a search with Google. Give the search pattern "z80 emulator" and the link to "YAZE-AG - Yet Another Z80 Emulator by AG" is in the first page of the search results.
(Google uses only the second link.)

## Development

I took the idea of the page tables from Michael Haardt (look "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 (look "Fixed Bugs" in yaze-ag.doc). The reread bug of connected (unix-/windows-)directories is solved!

### 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 over the device /dev/ttya or /dev/ttyb.
- I haven't try if a Mac with serial ports works. If anybody want to do that for me, please give me back a note how it works.
- I fix a severe bug in the code which connecting (Unix-/Windows-)directories to a CP/M drive (look "Fixed Bugs" Number 4 in yaze-ag.doc). It was a chance to find this bad bug
  It's recommended to update to the new release 2.20.1 !!!
- Since release 2.20.1 I name all YAZE-AG-Disk-Files with the extension ".ydsk".
- I update 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 !

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 have a look to the documentation (in HTML) which belongs to the new tar archive or to the new standalone binaries for windows. Or look to the end of this document.

yaze-ag-2.xx is a further development of yaze-1.10 (look "older versions" on the web page of YAZE-AG).

## 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)

## 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 the batch file "yaze.bat" or "r.bat" (look 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 of 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

08. June 2008

Diplom-Ingenieur (FH) Andreas Gerlich

(University of Ulm, Germany)

IRC: agl @ IRCNet

only text emails please: (SPAM-Account)

( Last change 08. June 2008 )