yaze(1)			  Local command 		  yaze(1)

       yaze-ag - yet another z80 emulator by ag

       yaze  [-1]  [-v] [-bbootfile] [-lloadadr] [-pbasepage] [-sstartup]
       [-zZ3ENV] command...
       cpm ...
       z80 ...

       yaze-ag has been designed to provide an  exact  simulation
       of the Z80 microprocessor on a Unix system. In addition to
       the instruction set emulator, a CP/M basic i/o  system  is
       provided  that  can  reference  Unix  directories and Unix
       files containing images of CP/M  disks.   When  a  genuine
       CP/M  operating  system  (ccp + bdos) or a clone system is
       loaded into the emulator, a complete CP/M system is avail−
       able, running on a

       yaze-ag-2.51.1 is a further development of yaze-1.10. New
       in yaze-ag is the emulated Memory  Management  Unit  (MMU)
       and  the  BIOS  that  supports CP/M 3.1 or ZPM3 (boot file
       yaze-cpm3.boot) which is used in yaze-ag.  You  can  still
       run   the  CP/M  2.2  replacement  "SuperDos"  (boot  file
       yaze.boot) in yaze-ag if you want.
       New in version 2.40.5 was the key translation  module.  So
       you  can use e.g. the cursor keys and function keys in the
       CP/M command line or when Wordstar is running. Look at the
       files $HOME/cpm/*.ktt on the host.
       New in version 2.51.1 is the possibility to define a clock
       rate. This allows you to run the emulator  e.g.  with  4.0
       Further  there is a "window size handler" in the binary of
       yaze-ag. This handler determines the  coordinates  of  the
       used Terminal emulator (e.g. xterm, gnome-terminal, mintty
       (Cygwin/Windows), ...). So the lines and columns variables
       in  the  System  Control  Block (SCB) of CP/M-3 are set by
       this handler.  The patched Wordstar 4.00  (see  drive  A:)
       and   the   CP/M-3-Utilities   (e.g.  TYPE.COM,  3DIR.COM,
       DIR.COM, ...) uses this two variables in the SCB via stan−
       dardized  BDOS3-Interface  (call  to  0005H)  to setup the
       Further you can test the speed of the Z80  core  with  the
       submit  file  "A:TESTZEX.SUB". It runs ZEXALL.COM and mea−
       sure up the time how it's need and prints the speed at the
       end of the submit file.

       yaze is a shell script. It is used to start  yaze-ag.   It
       first  tests if the startup file .yazerc is in the current
       directory. If there is one, it immediately starts yaze_bin
       the binary of the Z80 emulator.
       If  .yazerc  does  not  exist,  it  tests if the directory
       $HOME/cpm exists.  If not, it creates $HOME/cpm.  Then  it
       copies  some  yaze-disks-files  (.ydsk) to $HOME/cpm which
       are necessary for running yaze-ag with CP/M 3.1  or  ZPM3.
       Then  it  creates $HOME/cpm/doc_html and sets links to the
       complete documentation in this directory.  This only  hap−
       pens if the directory $HOME/cpm does not exists.
       Finally,  it  changes  to  $HOME/cpm  and starts yaze_bin.
       This is done every time you start the  shell  script  yaze
       and if .yazerc is not present in the current directory.

       yaze-ag  can  also  be  started with z80 or cpm.  They are
       symbolic links to the shell script yaze.

       The older documentation is contained in the file  yaze.doc
       (version yaze-1.10) and the new features of yaze-ag-2.51.0
       describes the file yaze-ag.doc
       (see $HOME/cpm/doc_html/index.html).

       -1     set  sector  size	 to 128 bytes for all disks (only
	      CP/M 3.1).

	      If you create a disk file under the yaze-ag monitor
	      or  with the cdm(1) utility and you use the default
	      sectors per track (see create) the sector	 size  is
	      also set to 2048 bytes (only CP/M 3.1).

	      If  you use software like a disk edit utility under
	      CP/M 3.1 it can be necessary to set the sector size
	      to 128 bytes.

	      See  also the monitor command 128 above in the sec−

       -v     causes a summary of the system configuration to  be
	      displayed after loading.

       -b     gives the name of a file to be loaded into the emu−
              lated  processor's  ram  before  the  emulation  is
              started.  The file is loaded at the  address  given
	      by the -l option, if one is present, or else at the
	      basepage (see -p).  If a boot file is not specified
	      with  the  -b option, yaze-ag looks firstly for the
              file yaze-cpm3.boot in the current directory,  then
              in  /usr/local/lib/yaze to boot CP/M 3.1.  If yaze−
              ag is compiled without the flag  -DBOOTSYS  yaze-ag
              looks  for  the  file  yaze.boot  (instead of yaze-
              cpm3.boot) to boot the CP/M 2.2 replacement  Super−

       -l     the hexadecimal address at which to load and  start
	      the bootstrap file, if a separate bootstrap is nec−

	      If you want to run CP/M 2.2 while yaze-ag	 is  com−
	      piled  to	 load  yaze-cpm3.boot  (CP/M 3.1) you can
	      start yaze-ag with the following options

	      yaze -l -1 -b yaze.boot

       -p     the top 2 hex digits of the location  of	the  CP/M
	      console  command	processor  (CP/M  2.2).	 Also the
	      location to which bootfile is loaded if a -l option
	      is not present.

       -s     a	 file  containing monitor commands that are to be
	      executed before starting the emulator.   If  no  -s
	      option  is present, .yazerc from the current direc−
	      tory or from the user's home directory is taken.

       -z     the hexadecimal address in the emulated processor's
	      ram  of  a  1KByte area that should be reserved for
	      use by an extended CP/M clone such as ZCPR3.

       When the emulator is started it	executes  commands  first
       from  the  startup file, then from the tail of the command
       line (any strings which follow the options) and then  from
       the  tty	 if neither the startup file nor the command line
       included a "go" command.	 Control can be returned  to  the
       monitor	by executing the CP/M sys.com command or, if yaze
       was compiled with -DDEBUG, by sending it a SIGINT  signal.

       Command	names  can be shortened to a unique abbreviation.
       If yaze-ag was compiled with  GNU  Readline,  command-line
       editing, filename completion and history recall are avail−
       able - see the readline documentation.

       The monitor commands are described in more detail  in  the
       file   yaze.doc.	  The	command	 '128'	is  described  in

       help   Display a command list

       help cmd
	      Give details about cmd

       attach Attach CP/M device to a Unix file

       clock  Display and set the clock rate

              Without  a  parameter it displays the current clock
              rate. With a parameter (for example  4000  for  4.0
              MHz)  the clock rate will be set. The parameter "0"
              returns to "max speed".
              If you want to set a permanent clock rate  you  can
              put  a  clock command into the yaze-ag startup file

       detach Detach CP/M device from file
       	      Turns on/off access time stamps for mounted directories

       mount  Mount a Unix file or directory as a CP/M disk
	      Remount a CP/M disk

       umount Unmount a CP/M disk

       create Create a new disk

       128    Set sector size to 128 for  all  disks  (only  CP/M
	      3.1).   To  reverse this option you have to restart

	      Set user interrupt key

       go     Start/Continue CP/M execution

       !      Execute a Unix command

       quit   Terminate yaze

       time   Display elapsed time since last `time' command

       Yaze-ag-2.51.0 can be compiled under all unix or unix-like
       operating systems.

       yaze-ag-2.51.0 are tested with:

       Solaris        cc and gcc (SparcV9 and X86_64)

       Linux          gcc (x86_64, x86_32, ARM6, ARM7 and ARM8)

       RaspberryPiOS  RaspberryPi 1,2B,3B,3B+,4B (all with gcc)

       FreeBSD        clang

       MacOS-X        gcc ?

       Cygwin         gcc (have a look to www.cygwin.com)

       Cygwin is a unix-like environment for windows.
       The "Standalone Binaries for Windows"  are  produced  with

       You find the source (for all systems) and the binaries for
       windows (if you don't want to install the cygwin  environ­
       ment) under





       Andreas Gerlich
       Frank D. Cringle

       only text emails please:  (SPAM-Account)

AGL's & Frank's Hacks       20. September 2020            yaze(1)