GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
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 available, 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 the standardized 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 happens 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 section 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 emulated 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 Superdos.
-l
the hexadecimal address at which to load and start the bootstrap file, if a separate bootstrap is necessary.

If you want to run CP/M 2.2 while yaze-ag is compiled 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 boot file 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 directory or from the user's home directory ($HOME/cpm) 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 unique abbreviations. If yaze-ag was compiled with GNU Readline, command-line editing, filename completion and history recall are available - see the readline documentation.

The monitor commands are described with more details in the file yaze.doc. The new commands '128' and 'clock' are 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/device
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

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 (OPNsense)

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.

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

http://yaze-ag.de

or

http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/

cdm(1)

Andreas Gerlich (E-Mail: development (at) yaze-ag (dot) de)
Jon Saxton (He passed at June 15, 2015 after a though battle with cancer)
Frank D. Cringle (E-Mail: fdc (at) cliwe (dot) ping (dot) de).
20. September 2020 4th Berkeley Distribution

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.