yaze(1) Local commands 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 is 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 pro− vided 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 host. yaze-ag-2.10 is a further development of yaze-1.10. New in yaze-ag is the emulated Memory Management Unit (MMU) and the BIOS which supports CP/M 3.1 or ZPM3 which is used in yaze-ag. You can still run CP/M 2.2 or SuperDos (a CP/M 2.2 replacement) in yaze-ag if you want. yaze is a shell script. It is used to start yaze-ag. It tests firstly if the startup file .yazerc is in the direc− tory of `pwd`. If there is one it starts at once yaze_bin the binary of the Z80 emulator. If no .yazerc exists it tests if the directory $HOME/cpm exists. If not it creates $HOME/cpm. Then it copies some yaze-disks into $HOME/cpm which are necessary for running yaze-ag with CP/M 3.1 respectively ZPM3. Then it creates $HOME/cpm/doc and sets links in that directory to the com− plete documentation. This will be done only if no $HOME/cpm directory exists. At last it changes to $HOME/cpm and starts yaze_bin. This will be done every time you starts the shell script yaze and if there is no .yazerc in the `pwd`. yaze-ag can also be started with z80 or cpm. They are links to the shell script yaze. The complete documentation is contained in the file yaze.doc and the new features of yaze-ag-2.01 describes the file yaze-ag.doc (see $HOME/cpm/doc). 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 sektor 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 sektor 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 bootfile is not specified with the -b option, yaze-ag looks for the file yaze-cpm3.boot in the current directory first, 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 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 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 sektor 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.01 can be compiled under all unix or unix-like operating systems. yaze-ag-2.01 are tested with: Solaris gcc 3.3.x Linux gcc 3.3 FreeBSD gcc ? MacOS-X gcc ? Cygwin gcc 3.3.1 (have a look to www.cygwin.com) Cygwin is a unix-like environment for windows 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://www.mathematik.uni-ulm.de/users/ag/yaze-ag/ or ftp://ag-yaze:yaze@xylopia-upload.mathematik.uni-ulm.de/ SEE ALSO cdm(1) AUTHORS Andreas Gerlich Frank D. Cringle only text emails please: address removed !!! AGL's & Frank's Hacks 14 April 2004 yaze(1)