yaze(1) Local command yaze(1)
NAME
yaze-ag - yet another z80 emulator by ag
SYNOPSIS
yaze [-1] [-v] [-bbootfile] [-lloadadr] [-pbasepage] [-sstartup]
[-zZ3ENV] command...
cpm ...
z80 ...
DESCRIPTION
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
Unix-/Linux-/RaspberryPi-/Mac-/Windows-Host.
yaze-ag-2.51.0 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.0 is the possibility to define a clock
rate. This allows you to run the emulator e.g. with 4.0
MHz.
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
screen.
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).
OPTIONS
-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−
tion MONITOR COMMANDS.
-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−
dos.
-l the hexadecimal address at which to load and start
the bootstrap file, if a separate bootstrap is nec−
essary.
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.
MONITOR COMMANDS
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
yaze-ag.doc.
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
$HOME/cpm/.yazerc.
detach Detach CP/M device from file
setaccess
Turns on/off access time stamps for mounted directories
mount Mount a Unix file or directory as a CP/M disk
remount
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
yaze-ag.
interrupt
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
SUPPORTED OPERATING SYSTEMS
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
Cygwin.
SOURCE AND BINARIES
You find the source (for all systems) and the binaries for
windows (if you don't want to install the cygwin environ
ment) under
http://yaze-ag.de/
or
http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/
SEE ALSO
cdm(1)
AUTHORS
Andreas Gerlich
Frank D. Cringle
only text emails please:
(SPAM-Account)
AGL's & Frank's Hacks 20. September 2020 yaze(1)