YAZE-AG - Yet Another Z80 Emulator by AG
YAZE-AG can emulate CP/M
Hints:
start cp/m 2: ./yaze -l -1 -b yaze.boot start cp/m 3: ./yaze
back to emulators page.
History
2021-11-16: I re-created this page on my self-hosted web server.
2013-10-31: starting a cp/m 2 session:
tingo@kg-core1$ ./yaze -l -1 -b yaze.boot pwd=/zs/tingo/work/yaze-ag-2.20.1 starting ./yaze_bin -l -1 -b yaze.boot Yet Another Z80 Emulator by AG, final release 2.20.1 (MMU) Copyright 1995,1998 Frank D. Cringle. Pagetables Copyright by Michael Haardt. MMU and CP/M 3.1 extensions Copyright (c) 2000,2008 by Andreas Gerlich. yaze-ag comes with ABSOLUTELY NO WARRANTY; for details see the file "COPYING" in the distribution directory. RAM: 1024 KByte, 4 KByte PAGESIZE, 256 PAGES MMU: 16 TABLES, 16 PAGEPOINTERS per TABLE, selected MMU-PAGETABLE: 0 Running 'yaze.boot' /dev/ttyS0: No such file or directory A>
a few commands:
A>mount A: r/w BOOT_UTILS.ydsk B: r/w CPM3_SYS.ydsk C: r/o ./disksort/ D: r/w DISKSORT.ydsk F: r/w ZINC.ydsk G: r/w TEST-UTILS-1.10.ydsk H: r/w HI-C-Z280-Compiler.ydsk I: r/w UNIXLIKE.ydsk J: r/w MMU-Utils.ydsk K: r/w Kermit_SZRZ.ydsk M: r/w Turbo-Modula-2.ydsk N: r/w testdsk.ydsk O: r/w ZPM3N10.ydsk P: r/w BIOS3.ydsk
all for now.
2013-10-31: device
A>device values Current Assignments: CONIN: = Null Device CONOUT: = Null Device AUXIN: = Null Device AUXOUT: = Null Device LST: = Null Device A>device con CONIN: = Null Device CONOUT: = Null Device A>device console CONIN: = Null Device CONOUT: = Null Device A>device console [page] Console width set to 80 columns Console page set to 25 lines
all.
2013-10-31: show
A>show A: RW, Space: 3,602k B: RW, Space: 492k A>show [space] A: RW, Space: 3,602k A>show [drive] A: Drive Characteristics 32,768: 128 Byte Record Capacity 4,096: Kilobyte Drive Capacity 1,024: 32 Byte Directory Entries 1,024: Checked Directory Entries 128: Records / Directory Entry 16: Records / Block 128: Records / Track 0: Reserved Tracks 2,048: Bytes / Physical Record A>show [label] ERROR: No directory label exists on drive A A>show [users] A: Active User : 0 A: Active Files: 0 A: # of files : 58 A: Number of free directory entries: 959 A>show [dir] A: Number of free directory entries: 959
That is all.
2013-10-31: setdef
A>setdef Drive Search Path: 1st Drive - A: 2nd Drive - B: 3rd Drive - Default Search Order - SUB, COM Temporary Drive - A: Console Page Mode - On Program Name Display - Off Date format used - YMD
that's it.
2013-10-31: using it - CP/M 3 - various commands:
A>show A: RW, Space: 3,602k B: RW, Space: 492k C: RW, Space: 880k D: RW, Space: 138k F: RW, Space: 136k G: RW, Space: 90k H: RW, Space: 1,076k I: RW, Space: 124k J: RW, Space: 118k K: RW, Space: 926k M: RW, Space: 34k N: RW, Space: 164k O: RW, Space: 328k P: RW, Space: 166k
and
A>mount A: r/w BOOT_UTILS.ydsk B: r/w CPM3_SYS.ydsk C: r/o ./disksort/ D: r/w DISKSORT.ydsk F: r/w ZINC.ydsk G: r/w TEST-UTILS-1.10.ydsk H: r/w HI-C-Z280-Compiler.ydsk I: r/w UNIXLIKE.ydsk J: r/w MMU-Utils.ydsk K: r/w Kermit_SZRZ.ydsk M: r/w Turbo-Modula-2.ydsk N: r/w testdsk.ydsk O: r/w ZPM3N10.ydsk P: r/w BIOS3.ydsk DRIVES: A B C/ D . F G H I J K . M N O P exit: A>e tingo@kg-core1$
start again:
tingo@kg-core1$ ./yaze pwd=/zs/tingo/work/yaze-ag-2.20.1 starting ./yaze_bin Yet Another Z80 Emulator by AG, final release 2.20.1 (MMU) Copyright 1995,1998 Frank D. Cringle. Pagetables Copyright by Michael Haardt. MMU and CP/M 3.1 extensions Copyright (c) 2000,2008 by Andreas Gerlich. yaze-ag comes with ABSOLUTELY NO WARRANTY; for details see the file "COPYING" in the distribution directory. RAM: 1024 KByte, 4 KByte PAGESIZE, 256 PAGES MMU: 16 TABLES, 16 PAGEPOINTERS per TABLE, selected MMU-PAGETABLE: 0 Running 'yaze-cpm3.boot' /dev/ttyS0: No such file or directory BOOTSYS - CPM3.SYS, V 1.22 08.06.2008 Copyright (c) 2000,2008 by A.Gerlich No CP/M vektors found, try to boot CP/M 3.1 in cooperation with yaze-ag ... Loading CP/M 3.1 ... 62K TPA DRIVES: A B C/ D . F G H I J K . M N O P CP/M 3.1 BIOS for yaze-ag, V 1.10 12.03.2005, Copyright (c) by A.Gerlich A>pause PAUSE Press any Key ...
more commands:
A>help HELP UTILITY v1.1 pl3 At "HELP>" enter topic {,subtopic}... EXAMPLE: HELP> DIR BUILT-IN Topics available: COMMANDS CNTRLCHARS COPYSYS DATE DEVICE DIR DUMP ED ERASE FILESPEC GENCOM GET HELP HEXCOM INITDIR LIB LINK MAC PATCH PIP (COPY) PUT RENAME RMAC SAVE SET SETDEF SHOW SID SUBMIT TYPE USER XREF WHATS-NEW YAZE-AG HELP>
and
HELP Syntax: HELP {topic} {subtopic1 ... subtopic8} {[NOPAGE|LIST]} Explanation: HELP displays a list of topics and provides summarized information for CP/M 3 commands. HELP topic displays information about that topic. HELP topic subtopic displays information about that subtopic. One or two letters is enough to identify the topics. After HELP displays information for your topic, it displays the special prompt HELP> on your screen, followed by a list of subtopics. - Enter ? to display list of main topics. - Enter a period and subtopic name to access subtopics. - Enter a period to redisplay what you just read. - Press the RETURN key to return to the CP/M 3 system prompt. Press RETURN to continue
more
CNTRLCHARS Control Character Function CTRL-A moves cursor one character to the left. Banked system only. CTRL-B moves cursor from beginning to end of command line and back without affecting command. Banked system only. CTRL-C stops executing program when entered at the system prompt or after CTRL-S. CTRL-E forces a physical carriage return without sending command to CP/M 3. CTRL-F moves cursor one character to the right. Banked system only. CTRL-G deletes character at current cursor position if in the middle of a line. Banked system only. CTRL-I same as the TAB key. CTRL-H delete character to the left of cursor. CTRL-J moves cursor to the left of the command line and sends command to CP/M 3. Line feed, has same effect as carriage return. CTRL-K deletes character at cursor and all characters to the right. CTRL-M same as carriage return. CTRL-P echoes console output to the list device. CTRL-Q restarts screen scrolling after a CTRL-S. CTRL-R retypes the characters to the left of the cursor on a new line; updates the command line buffer. CTRL-S stops screen scrolling. CTRL-U updates the command line buffer to contain the characters to the left of the cursor; deletes current line. Press RETURN to continue
user
USER Syntax: USER {number} Explanation: The USER command sets the current user number. The disk directory can be divided into distinct groups according to a "User Number." User numbers range from 0 through 15. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES user examples USER EXAMPLES A>USER Enter User#:5 5A> The current user number is now 5 on drive A. A>USER 3 3A> This command changes the current User Number to 3.
pip (copy)
PIP (COPY) Syntax: DESTINATION SOURCE PIP d:{Gn} | filespec{[Gn]} = filespec{[o]},... | d:{[o]} Explanation: The file copy program PIP copies files, combines files, and transfers files between disks, printers, consoles, or other devices attached to your computer. The first filespec is the destination. The second filespec is the source. Use two or more source filespecs separated by commas to combine two or more files into one file. [o] is any combination of the available options. The [Gn] option in the destination filespec tells PIP to copy your file to that user number. PIP with no command tail displays an * prompt and awaits your series of commands, entered and processed one line at a time. The source or destination can be any CP/M 3 logical device. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES OPTIONS pip examples PIP (COPY) EXAMPLES COPY A FILE FROM ONE DISK TO ANOTHER A>PIP b:=a:draft.txt A>PIP b:draft.txt = a: B3>PIP myfile.dat=A:[G9] A9>PIP B:[G3]=myfile.dat COPY A FILE AND RENAME IT A5>PIP newdraft.txt=oldraft.txt C8>PIP b:newdraft.txt=a:oldraft.txt COPY MULTIPLE FILES A>PIP b:=draft.* A>PIP b:=*.* B>PIP b:=c:.*.* C>PIP b:=*.txt[g5] C>PIP a:=*.com[wr] B>PIP a:[g3]=c:*.* COMBINE MULTIPLE FILES A>PIP b:new.dat=file1.dat,file2.dat COPY, RENAME AND PLACE IN USER 1 A>pip newdraft.txt[g1]=oldraft.txt COPY, RENAME AND GET FROM USER 1 A>PIP newdraft.txt=oldraft.txt[g1] COPY TO/FROM LOGICAL DEVICES A>PIP b:funfile.sue=con: A>PIP lst:=con: A>PIP lst:=b:draft.txt[t8] A>PIP prn:=b:draft.txt pip options PIP (COPY) OPTIONS PIP OPTIONS A Archive. Copy only files that have been changed since the last copy. C Confirm. PIP prompts for confirmation before each file copy. Dn Delete any characters past column n. E Echo transfer to console. F Filter form-feeds from source data. Gn Get from or go to user n. H Test for valid Hex format. I Ignore :00 Hex data records and test for valid Hex format. K Kill display of filespecs on console. L Translate upper case to lower case. N Number output lines O Object file transfer, ^Z ignored. Pn Set page length to n. (default n=60) Qs^Z Quit copying from source at string s. R Read files that have been set to SYStem. Ss^Z Start copying from the source at the string s. Tn Expand tabs to n spaces. U Translate lower case to upper case. V Verify that data has been written correctly. W Write over Read Only files without console query. Z Zero the parity bit. All options except C,G,K,O,R,V and W force an ASCII file transfer, character by character, terminated by a ^Z.
setdef
SETDEF Syntax: SETDEF { d: {,d: {,d: {,d:}}}} {[ TEMPORARY = d: ] | [ ORDER = (typ {,typ}) ]} SETDEF [DISPLAY | NO DISPLAY] SETDEF [PAGE | NOPAGE] SETDEF [US | UK | YMD] Explanation: SETDEF allows the user to display or define up to four drives for the program search order, the drive for temporary files, and the file type search order. The SETDEF definitions affect only the loading of programs and/or execution of SUBMIT (SUB) files. SETDEF turns on/off the system Display and Console Page modes. When on, the system displays the location and name of programs loaded or SUBmit files executed, and stops after displaying one full console screen of information. SETDEF is also used to select whether dates are displayed in US, UK or Year-Month-Day format. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES setdef examples HELP> setdef examples SETDEF EXAMPLES A>SETDEF Displays current SETDEF parameters. A>SETDEF [TEMPORARY=C:] Sets disk drive C as the drive to be used for temporary files. A>SETDEF C:,* Tells the system to search for a program on drive C, then, if not found, search for it on the default drive. A>SETDEF [ORDER=(SUB,COM)] Instructs the system to search for a SUB file to execute. If no SUB file is found, search for a COM file. A>SETDEF [DISPLAY] Turns on the system display mode. Henceforth, the system displays the name and location of programs loaded or submit files executed. A>SETDEF [NO DISPLAY] Turns off the system Display mode. A>SETDEF [UK] Dates will be entered and displayed in UK form. xref XREF Syntax: XREF {d:} filename {$P} Explanation: XREF provides a cross-reference summary of variable usage in a program. XREF requires the .PRN and .SYM files produced by MAC or RMAC for input to the program. The SYM and PRN files must have the same filename as the filename in the XREF command tail. XREF outputs a file of type .XRF. Examples: A>XREF b:MYPROG copysys COPYSYS Syntax: COPYSYS Explanation: COPYSYS copies the CP/M 3 system from a CP/M 3 system diskette to another diskette. The new diskette must have the same format as the original system diskette. Example: A>COPYSYS erase ERASE Syntax: ERASE {filespec} {[CONFIRM]} Explanation: The ERASE command removes one or more files from the directory of a disk. Wildcard characters are accepted in the filespec. Directory and data space are automatically reclaimed for later use by another file. The ERASE command can be abbreviated to ERA. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: erase option ERASE OPTION [CONFIRM] option informs the system to prompt for verification before erasing each file that matches the filespec. CONFIRM can be abbreviated to C. erase examples ERASE EXAMPLES A>ERASE X.PAS Removes the file X.PAS from the disk in drive A. A>ERA *.PRN Confirm (Y/N)?Y All files with the filetype PRN are removed from the disk in drive A. B>ERA A:MY*.* [CONFIRM] Each file on drive A with a filename that begins with MY is displayed with a question mark for confirmation. Type Y to erase the file displayed, N to keep the file. A>ERA B:*.* Confirm (Y/N)?Y All files on drive B are removed from the disk. initdir INITDIR Syntax: INITDIR {d:} Explanation: The INITDIR Command initializes a disk directory to allow date and time stamping of files on that disk. INITDIR can also recover time/date directory space. Example: A>INITDIR C: INITDIR WILL ACTIVATE TIME-STAMPS FOR SPECIFIED DRIVE. Do you want to re-format the directory on C: (Y/N)?Y put PUT Syntax: PUT CONSOLE {OUTPUT TO} FILE filespec {option} | CONSOLE PUT PRINTER {OUTPUT TO} FILE filespec {option} | PRINTER PUT CONSOLE {OUTPUT TO} CONSOLE PUT PRINTER {OUTPUT TO} PRINTER Explanation: PUT puts console or printer output to a file for the next command entered at the console, until the program terminates. Then console output reverts to the console. Printer output is directed to a file until the program terminates. Then printer output is put back to the printer. PUT with the SYSTEM option directs all subsequent console/printer output to the specified file. This option terminates when you enter the PUT CONSOLE or PUT PRINTER command. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: OPTIONS EXAMPLES put options PUT OPTIONS [ {ECHO | NO ECHO} {FILTER | NO FILTER} | {SYSTEM} ] ECHO specifies that output is echoed to the console. This is the default option when you direct console output to a file. NO ECHO specifies that file output is not echoed to the console. NO ECHO is the default for the PUT PRINTER command. FILTER specifies filtering of control characters, which means that control characters are translated to printable characters. For example, an ESCape character is translated to ^[. NO FILTER means that PUT does not translate control characters. This is the default option. SYSTEM specifies that system output as well as program output is written to the file specified by filespec. Output is written to the file until a subsequent PUT CONSOLE command redirects console output back to the console. put examples PUT EXAMPLES A>PUT CONSOLE OUTPUT TO FILE XOUT [ECHO] Directs console output to file XOUT with the output echoed to the console. A>PUT PRINTER OUTPUT TO FILE XOUT A>MYPROG Directs the printer output of program MYPROG to file XOUT. The output is not echoed to the printer. A>PUT PRINTER OUTPUT TO FILE XOUT2 [ECHO,SYSTEM] Directs all printer output to file XOUT2 as well as to the printer (with ECHO option), and the PUT is in effect until you enter a PUT PRINTER OUTPUT TO PRINTER command. A>PUT CONSOLE OUTPUT TO CONSOLE Directs console output back to the console. A>PUT PRINTER OUTPUT TO PRINTER Directs printer output back to the printer. show SHOW Syntax: SHOW {d:}{[SPACE |LABEL |USERS |DIR |DRIVE]} Explanation: The SHOW command displays the following disk drive information: Access mode and the amount of free disk space Disk label Current user number and Number of files for each user number on the disk Number of free directory entries for the disk Drive characteristics ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES show examples SHOW EXAMPLES A>SHOW A>SHOW [SPACE] Instructs the system to display access mode and amount of space left on logged-in drives. A>SHOW B: Show access mode for drive B and amount of space left on drive B. A>SHOW B:[LABEL] Displays label information for drive B. A>SHOW [USERS] Displays the current user number and all the users on drive A and the corresponding number of files assigned to them. A>SHOW C:[DIR] Displays the number of free directory entries on drive C. A>SHOW [DRIVE] Displays the drive characteristics of drive A. whats-new WHATS-NEW All the CP/M 3 patches described in the document CPM3FIX.PAT have been applied to the source code, except those relating to INITDIR. Patches applied were nos. 1-18, except nos. 5 and 9. CP/M 3 is now fully Year 2000 compliant. This affects the programs DATE.COM, DIR.COM and SHOW.COM. Dates can be displayed in US, UK or Year-Month-Day format. This is set by SETDEF. The CCP has a further bug fix: A command sequence such as: C1 :C2 :C3 will now not execute the command C3 if the command C1 failed. date DATE Syntax: DATE {CONTINUOUS} DATE {time-specification} DATE SET Explanation: The DATE command lets you display and set the date and time of day. The date and time may be in US, UK or Year-Month-Day format, depending on the current setting - see SETDEF. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES date examples DATE EXAMPLES A>DATE Displays the current date and time. A>DATE C Displays the date and time continuously. A>DATE 08/14/82 10:30:0 Sets the date and time. A>DATE SET Prompts for date and time entries. filespec FILESPEC FILESPEC FORMAT CP/M 3 identifies every file by its unique file specification, which can consist of four parts: the drive specification, the filename, the filetype and the password. The term "filespec" indicates any valid combination of the four parts of a file specification, all separated by their appropriate delimiters. A colon must follow a drive letter. A period must precede a filetype. A semicolon must precede a password. The symbols and rules for the parts of a file specification follow: d: drivespec optional single alpha character (A-P) filename filename 1-8 letters and/or numbers typ filetype optional 0-3 letters and/or numbers password password optional 0-8 letters and/or numbers Valid combinations of the elements of a CP/M 3 file specification are: filename d:filename filename.typ d:filename.typ filename;password d:filename;password filename.typ;password d:filename.typ;password If you do not include a drive specifier, CP/M 3 automatically uses the default drive. Some CP/M 3 commands accept wildcard (* and ?) characters in the filename and/or filetype parts of the command tail. A wildcard in the command line can in one command reference many matching files on the default or specified user number and drive. (See Commands). lib LIB Syntax: LIB filespec{[I|M|P|D]} LIB filespec{[I|M|P]}=filespec{modifier} {,filespec{modifier} ... } Explanation: A library is a file that contains a collection of object modules. Use the LIB utility to create libraries, and to append, replace, select or delete modules from an existing library. Use LIB to obtain information about the contents of library files. LIB creates and maintains library files that contain object modules in Microsoft REL file format. These modules are produced by Digital Research's relocatable macro-assembler program, RMAC, or any other language translator that pruduces modules in Microsoft REL file format. You can use LINK-80 to link the object modules contained in a library to other object files. LINK-80 automatically selects from the library only those modules needed by the program being linked, and then forms an executable file with a filetype of COM. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: OPTIONS MODIFIERS EXAMPLES lib options LIB OPTIONS I The INDEX option creates an indexed library file of type .IRL. LINK-80 searches faster on indexed libraries than on non-indexed libraries. M The MODULE option displays module names. P The PUBLICS option displays module names and the public variables for the new library file. D The DUMP option displays the contents of object modules in ASCII form. lib modifiers LIB MODIFIERS Use modifiers in the command line to instruct LIB to delete, replace, or select modules in a library file. Angle brackets enclose the modules to be deleted or replaced. Parentheses enclose the modules to be selected. LIB Modifiers Delete <module=> Replace <module=filename.REL> If module name and filename are the same this shorthand can be used: <filename> Select (modFIRST-modLAST,mod1,mod2,...,modN) lib examples LIB EXAMPLES A>LIB TEST4[P] Displays all modules and publics in TEST4.REL. A>LIB TEST5[P]=FILE1,FILE2 Creates TEST5.REL from FILE1.REL and FILE2.REL and displays all modules and publics in TEST5.REL. A>LIB TEST=TEST1(MOD1,MOD4),TEST2(C1-C4,C6) Creates a library file TEST.REL from modules in two source files. TEST1.REL contributes MOD1 and MOD4. LIB extracts modules C1, C4, and all the modules located between them, as well as module C6 from TEST2.REL. A>LIB FILE2=FILE3<MODA=> Creates FILE2.REL from FILE3.REL, omitting MODA which is a module in FILE3.REL. A>LIB FILE6=FILE5<MODA=FILEB.REL> Creates FILE6.REL from FILE5.REL, FILEB.REL replaces MODA. A>LIB FILE6=FILE5<THISNAME> Module THISNAME is in FILE5.REL. When LIB creates FILE6.REL from FILE5.REL the file THISNAME.REL replaces the similarly named module THISNAME. A>LIB FILE1[I]=B:FILE2(PLOTS,FIND,SEARCH-DISPLAY) Creates FILE1.IRL on drive A from the selected modules PLOTS, FIND, and modules SEARCH through the module DISPLAY, in FILE2.REL on drive B. rename RENAME Syntax: RENAME {new-filespec=old-filespec} Explanation: RENAME lets you change the name of a file in the directory of a disk. To change several filenames in one command use the * or ? wildcards in the file specifications. The RENAME command can be abbreviated REN. REN prompts you for input. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES rename examples RENAME EXAMPLES A>RENAME NEWFILE.BAS=OLDFILE.BAS The file OLDFILE.BAS changes to NEWFILE.BAS on drive A. A>RENAME The system prompts for the filespecs: Enter New Name:X.PRN Enter Old Name:Y.PRN Y .PRN=X .PRN A> File X.PRN is renamed to Y.PRN on drive A. B>REN A:PRINTS.NEW = PRINCE.NEW The file PRINCE.NEW on drive A changes to PRINTS.NEW on drive A. A>RENAME S*.TEX=A*.TEX The above command renames all the files matching A*.TEX to files with filenames S*.TEX. A>REN B:NEWLIST=B:OLDLIST The file OLDLIST changes to NEWLIST on drive B. Since the second drive specifier, B: is implied by the first one, it is unnecessary in this example. The command line above has the same effect as the following: A>REN B:NEWLIST=OLDLIST or A>REN NEWLIST=B:OLDLIST sid SID Syntax: SID {pgm-filespec} {,sym-filespec} Explanation: The SID symbolic debugger allows you to monitor and test programs developed for the 8080 microprocessor. SID supports real-time breakpoints, fully monitored execution, symbolic disassembly, assembly, and memory display and fill functions. SID can dynamically load SID utility programs to provide traceback and histogram facilities. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: COMMANDS EXAMPLES UTILITIES sid commands SID COMMANDS Command Meaning As (Assemble) Enter assembly language statements s is the start address Cs{b{,d}} (Call) Call to memory location from SID s is the called address b is the value of the BC register pair d is the value of the DE register pair D{W}{s}{,f} (Display) Display memory in hex and ASCII W is a 16-bit word format s is the start address f is the finish address Epgm-filespec (Load) Load program and symbol table {,sym-filespec} for execution E*sym-filespec (Load) Load a symbol table file Fs,f,d (Fill) Fill memory with constant value s is the start address f is the finish address d is an eight-bit data item G{p}{,a{,b}} (Go) Begin Execution p is a start address a is a temporary breakpoint H (Hex) Displays all symbols with addresses in Hex H.a Displays hex, decimal, and ASCII values of a where a is a symbolic expression Ha,b Computes hex sum and difference of a and b where a and b are symbolic expressions Icommand tail (Input) Input CCP command line L{s}{,f} (List) List 8080 mnemonic instructions s is the start address f is the finish address Ms,h,d (Move) Move Memory Block s is the start address h is the high address of the block d is the destination start address P{p{,c}} (Pass) Pass point set, reset, and display p is a permanent breakpoint address c is initial value of pass counter Q (Quit) Exit SID (for compatibility with 80x86 versions of SID) Rfilespec{,d} (Read) Read Code/Symbols d is an offset to each address S{W}s (Set) Set Memory Values s is address where value is sent W is 16 bit word T{n{,c}} (Trace) Trace Program Execution n is the number of program steps c is the utility entry address. T{W}{n{,c}} (Trace) Trace Without Call W instructs SID not to trace subroutines n is the number of program steps c is the utility entry address U{W}{n{,c}} (Untrace) Monitor Execution without Trace n is the number of program steps c is the utility entry address W instructs SID not to trace subroutines V (Value) Display the value of the next available location in memory (NEXT), the next location after the largest file read in (MSZE), the current value of the Program counter (PC), and the address of the end of available memory (END) Wfilespec,s,f (Write) Write the contents of a contiguous block of memory to filespec. f is finish address X{f}{r} (Examine) Examine/alter CPU state. f is flag bit C,Z,M,E or I. r is register A,B,D,H,S or P. sid examples SID EXAMPLES A>SID CP/M 3 loads SID from drive A into memory. SID displays the # prompt when it is ready to accept commands. A>B:SID SAMPLE.HEX CP/M 3 loads SID and the program file SAMPLE.HEX into memory from drive B. sid utilities SID UTILITIES SID utilities, HIST.UTL and TRACE.UTL are special programs that operate with SID to provide additional debugging facilities. The mechanisms for system initialization, data collection, and data display are described in the CP/M SID User's Guide. The HIST utility creates a histogram (bar graph) showing the relative frequency of execution of code within selected program segments of the test program. The HIST utility allows you to monitor those sections of code that execute most frequently. The TRACE utility obtains a backtrace of the instructions that led to a particular breakpoint address in a program under test. You can collect the addresses of up to 256 instructions between pass points in U or T modes. yaze-ag YAZE-AG yaze-ag-2.10.tar.gz (final release of version 2.20 / 2008-06-08) : Yaze-ag is an excellent Z80 Emulator written in ANSI C which runs on many architektures like UNIX, Linux or FreeBSD. New in version 2.xx against 1.10 is the Memory Management Unit (MMU) and the BIOS3 which supports CP/M 3.1 . Yaze-ag-2.20 is a further development of yaze-1.10 ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: WWW SUPPORT OS KNOWN-BUGS UTILITIES DEVELOPMENT yaze-ag www YAZE-AG WWW The WWW home page of yaze-ag is http://yaze-ag.de/ redirect to http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/ (if you want to set a link to YAZE-AG, use the second link please! Google knows only about the second link if you give the search pattern "z80 emulator") The FTP address is ftp://ag-yaze:yaze@xylopia-upload.mathematik.uni-ulm.de/ 08 June 2008 Dipl.-Ing.(FH) Andreas Gerlich email: yaze-ag (at) z80.de yaze-ag support YAZE-AG SUPPORT You can write an email to me if you test yaze-ag-2.20 or if you find an error or you want a new feature !!! The WWW home page and the FTP address of yaze-ag-2.20 is http://yaze-ag.de/ redirect to http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/ (if you want to set a link to YAZE-AG, use the second link please! Google knows only about the second link if you give the search pattern "z80 emulator") ftp://ag-yaze:yaze@xylopia-upload.mathematik.uni-ulm.de/ 08 June 2008 Dipl.-Ing.(FH) Andreas Gerlich email: yaze-ag (at) z80.de yaze-ag os YAZE-AG OS Yaze-ag-2.20 runs on the following operating systems: Solaris (gcc 3.x.x) Linux (gcc 3.3.x) FreeBSD (gcc ?) MacOS-X (gcc ?) cygwin (Windows)(gcc 3.3.1) (since version 2.01) If you install the source package you have only to edit the Makefile to set the processor type. PLEASE read INSTALL-2.20 for informations about install process !!! For Windows there gives a binary versions on the web page or on the ftp login. yaze-ag known-bugs YAZE-AG KNOWN-BUGS There are NO known bugs !!! Now you can use the cdm-utility also under Linux. (That was the last known bug of development version 15.) Now you can connect UNIX directories to a CP/M drive in yaze-ag. Now you can also access IBM SSSD disks (243 KB) under CP/M 3.1 ! IF YOU FIND AN ERROR, FEEL FREE AND SEND AN EMAIL TO ME !!! 08 June 2008 Dipl.-Ing.(FH) Andreas Gerlich email: yaze-ag (at) z80.de yaze-ag utilities YAZE-AG UTILITIES There are some utilities for yaze-ag: E.COM Exits yaze-ag MOUNT.COM Shows the mounted files/directories. (The same as "sys mount") SYS.COM Tool to send commands to the monitor in yaze. If you give no argument you go in an interactiv modus of the monitor. ZEXALL.COM Compares Z80 instructions against real Z80 hardware. ZEXDOC.COM Look also to yaze.doc, yaze-ag.doc and the README's. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: SYS ZEXALL yaze-ag utilities sys YAZE-AG UTILITIES SYS Usage: SYS <monitor command> If you give no argument yaze goes in an interactive modus of the monitor. In the monitor you can give the command "help" for help. If you give "help <command>" you will see detail informations of the command. There are a new and an old version of SYS.COM - but the old version works also unter CP/M 3.1. yaze-ag utilities zexall YAZE-AG UTILITIES ZEXALL Usage: ZEXALL or ZEXDOC ZEXALL/ZEXDOC tests all Z80 instructions against real Z80 hardware. For any instruction ZEXALL/ZEXDOC prints the instruction and say "OK" if the test is sucessfull. See also the documentation file yaze.doc and the README's. ZEXALL and ZEXDOC is written by Frank D. Cringle yaze-ag development YAZE-AG DEVELOPMENT yaze-ag-2.20.tar.gz (final release of version 2.20) : Optimizing simz80.c DONE :-) MMU (Memory Management Unit) DONE :-) (I have made a lot of changes in all modules to embed the MMU in the whole system.) CP/M 3.1 necessary bios functions DONE :-) (including DATE) XMOVE (Interbank move) DONE :-) (This contribute disks with sector size > 128) (Default is 2048 byte sektor size) Multio-I/O (Multi sektor read) DONE :-) ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: SIMZ80 MMU TODO yaze-ag development simz80 YAZE-AG DEVELOPMENT SIMZ80 I made some optimizing in simz80.c. The Z80 interpreter yaze-ag-2.01 is faster than of the version yaze-1.10 Also I made a lot of changes in simz80.c for usage the MMU. ********************************************************************** * BUT I MADE THE CHANGES VERY CAREFULLY AND I DOES NO CHANGES IN THE * * ALGORITHM OF ANY CODE INTERPRETATION. ANY INSTRUCTION WORKS VERY * * WELL - ZEXALL.COM/ZEXDOC.COM SAY OK TO ALL INSTRUCTIONS. :-) * ********************************************************************** yaze-ag development mmu YAZE-AG DEVELOPMENT MMU The MMU have 16 tables with 16 page pointer (4 KB page size). You can execute MMUPRINT if you want to see the status of the MMU. Macros and any things which are in context with memory- and MMU- access are now placed into the module mem_mmu.h / mem_mmu.c . I have made a lot of changes in all modules (*.c, *.h) to embed the MMU in the whole system. On Drive M: (connected to MMU-Utils) you find test files for the MMU. If you want to experiment with the MMU, please do this under CP/M 2.2. You can start yaze with CP/M 2.2 (bootfile yaze.boot) with the options yaze -l -1 -b yaze.boot yaze-ag development todo YAZE-AG DEVELOPMENT TODO - character devices (I mean I will never do this because it is not necessary under UNIX/Linux). device DEVICE Syntax: DEVICE { NAMES | VALUES | physical-dev | logical-dev} DEVICE logical-dev=physical-dev {option} {,physical-dev {option},...} DEVICE logical-dev = NULL DEVICE physical-dev {option} DEVICE CONSOLE [ PAGE | COLUMNS = columns | LINES = lines] Explanation: DEVICE displays current logical device assignments and physical device names. DEVICE assigns logical devices to peripheral devices attached to the computer. DEVICE also sets the communications protocol and speed of a peripheral device, and displays or sets the current console screen size. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: OPTIONS EXAMPLES device options DEVICE OPTIONS [ XON | NOXON | baud-rate ] XON refers to the XON/XOFF communications protocol. NOXON indicates no protocol and the computer sends data to the device whether or not the device is ready to receive it. baud-rate is the speed of the device. The system accepts the following baud rates: 50 75 110 134 150 300 600 1200 1800 2400 3600 4800 7200 9600 19200 device examples DEVICE EXAMPLES A>DEVICE Displays the physical devices and current assignments of the logical devices in the system. A>DEVICE NAMES Lists the physical devices with a summary of the device characteristics. A>DEVICE VALUES Displays the current logical device assignments. A>DEVICE CRT Displays the attributes of the physical device CRT. A>DEVICE CON Displays the assignment of the logical device CON: A>DEVICE CONOUT:=LPT,CRT Assigns the system console output (CONOUT:) to the printer (LPT) and the screen (CRT). A>DEVICE AUXIN:=CRT2 [XON,9600] Assigns the auxiliary logical input device (AUXIN:) to the physical device CRT using protocol XON/XOFF and sets the transmission rate for the device at 9600. A>DEVICE LST:=NULL Disconnects the list output logical device (LST:). A>DEVICE LPT [XON,9600] Sets the XON/XOFF protocol for the physical device LPT and sets the transmission speed at 9600. A>DEVICE CONSOLE [PAGE] Displays the current console page width in columns and length in lines. A>DEVICE CONSOLE [COLUMNS=40 LINES=16] Sets the screen size to 40 columns and 16 lines. gencom GENCOM Syntax: GENCOM {COM-filespec} {RSX-filespec} ... {[LOADER | NULL | SCB=(offset,value)]} Explanation: The GENCOM command creates a special COM file with attached RSX files. The GENCOM command can also restore a previously GENCOMed file to the original COM file without the header and RSX's. GENCOM can also attach header records to COM files. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: OPTIONS EXAMPLES gencom options GENCOM OPTIONS LOADER sets a flag to keep the program loader active. NULL indicates that only RSX files are specified. GENCOM creates a dummy COM file for the RSX files. The output COM filename is taken from the filename of the first RSX-filespec. SCB=(offset,value) sets the System Control Block from the program by using the hex values specified by (offset,value). gencom examples GENCOM EXAMPLES A>GENCOM MYPROG PROG1 PROG2 Generates a new COM file MYPROG.COM with attached RSX's PROG1 and PROG2. A>GENCOM PROG1 PROG2 [NULL] Creates a COM file PROG1.COM with RSX's PROG1 and PROG2. A>GENCOM MYPROG GENCOM takes MYPROG.COM, strips off the header and deletes all attached RSX's to restore it to its original COM format. A>GENCOM MYPROG PROG1 PROG2 GENCOM looks at the already-GENCOMed file MYPROG.COM to see if PROG1.RSX and PROG2.RSX are already attached RSX files in the module. If either one is already attached, GENCOM replaces it with the new RSX module. Otherwise, GENCOM appends the specified RSX files to the COM file. link LINK Syntax: LINK d:{filespec,{[options]}=}filespec{[options]}{,...} Explanation: LINK combines relocatable object modules such as those produced by RMAC and PL/I-80 into a .COM file ready for execution. Relocatable files can contain external references and publics. Relocatable files can reference modules in library files. LINK searches the library files and includes the referenced modules in the output file. See the CP/M 3 Programmer's Utilities Guide for a complete description of LINK- 80. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: OPTIONS EXAMPLES link options LINK OPTIONS Use LINK option switches to control execution parameters. Link options follow the file specifications and are enclosed within square brackets. Multiple switches are separated by commas. LINK-80 Options A Additional memory; reduces buffer space and writes temporary data to disk B BIOS link in banked CP/M 3 system. 1. Aligns data segment on page boundary. 2. Puts length of code segment in header. 3. Defaults to .SPR filetype. Dhhhh Data origin; sets memory origin for common and data area Gn Go; set start address to label n Lhhhh Load; change default load address of module to hhhh. Default 0100H Mhhhh Memory size; Define free memory requirements for MP/M modules. NL No listing of symbol table at console NR No symbol table file OC Output .COM command file. Default OP Output .PRL page relocatable file for execution under MP/M in relocatable segment OR Output .RSP resident system process file for execution under MP/M OS Output .SPR system page relocatable file for execution under MP/M Phhhh Program origin; changes default program origin address to hhhh. Default is 0100H. Q Lists symbols with leading question mark S Search preceding file as a library $Cd Destination of console messages d can be X (console), Y (printer), or Z (zero output). Default is X. $Id Source of intermediate files; d is disk drive A-P. Default is current drive. $Ld Source of library files; d is disk drive A-P. Default is current drive. $Od Destination of of object file; d can be Z or disk drive A-P. Default is to same drive as first file in the LINK-80 command. $Sd Destination of symbol file; d can be Y or Z or disk drive A-P. Default is to same drive as first file in LINK-80 command. link examples LINK EXAMPLES A>LINK b:MYFILE[NR] LINK-80 on drive A uses as input MYFILE.REL on drive B and produces the executable machine code file MYFILE.COM on drive B. The [NR] option specifies no symbol table file. A>LINK m1,m2,m3 LINK-80 combines the separately compiled files m1, m2, and m3, resolves their external references, and produces the executable machine code file m1.COM. A>LINK m=m1,m2,m3 LINK-80 combines the separately compiled files m1, m2, and m3 and produces the executable machine code file m.COM. A>LINK MYFILE,FILE5[s] The [s] option tells LINK-80 to search FILE5 as a library. LINK-80 combines MYFILE.REL with the referenced subroutines contained in FILE5.REL on the default drive A and produces MYFILE.COM on drive A. mac MAC Syntax: MAC filename {$options} Explanation: MAC, the CP/M 3 macro assembler, reads assembly language statements from a file of type .ASM, assembles the statements, and produces three output files with the input filename and filetypes of .HEX, .PRN, and .SYM. Filename.HEX contains INTEL hexadecimal format object code. Filename.PRN contains an annotated source listing that you can print or examine at the console. Filename.SYM contains a sorted list of symbols defined in the program. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES OPTIONS mac examples MAC EXAMPLES A>MAC SAMPLE A>MAC SAMPLE $PB AA HB SX mac options MAC OPTIONS Use options to direct the input and output of MAC. Use a letter with the option to indicate the source and destination drives, and console, printer, or zero output. Valid drive names are A thru O. X, P and Z specify console, printer, and zero output, respectively. Assembly Options That Direct Input/Output A source drive for .ASM file (A-O) H destination drive for .HEX file (A-O, Z) L source drive for macrolibrary .LIB files called by the MACLIB statement. P destination drive for .PRN file (A-O, X, P, Z) S destination drive for .SYM file Assembly Options That Modify Contents Of Output File +L lists input lines read from macrollibrary .LIB files -L suppresses listing (default) +M lists all macro lines as they are processed during assembly -M suppresses all macro lines as they are read during assembly *M lists only hex generated by macro expansions +Q lists all LOCAL symbols in the symbol list -Q suppresses all LOCAL symbols in the symbol list (default) +S appends symbol file to print file -S suppresses creation of symbol file +1 produces a pass 1 listing for macro debugging in .PRN file -1 suppress listing on pass 1 (default) rmac RMAC Syntax: RMAC filespec {$Rd | $Sd | $Pd} Explanation: RMAC, a relocatable macro assembler, assembles .ASM files of into .REL files that you can link to create .COM files. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: OPTIONS EXAMPLE rmac options RMAC OPTIONS RMAC options specify the destination of the output files. Replace d with the destination drive letter for the output files. Option d=output option R- drive for REL file (A-O, Z) S- drive for SYM file (A-O, X, P, Z) P- drive for PRN file (A-O, X, P, Z) A-O specifies drive A-O. X means output to the console. P means output to the printer. Z means zero output. rmac example RMAC EXAMPLE A>RMAC TEST $PX SB RB Assembles the file TEST.ASM from drive A, sends the listing file (TEST.PRN) to the console, puts the symbol file (TEST.SYM) on drive B and puts the relocatable object file (TEST.REL) on drive B. submit SUBMIT Syntax: SUBMIT {filespec} {argument} ... {argument} Explanation: The SUBMIT command lets you execute a group (batch) of commands from a SUBmit file (a file with filetype of SUB). ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: SUBFILE EXECUTE PROFILE.SUB submit subfile SUBMIT SUBFILE The SUB file can contain the following types of lines: Any valid CP/M 3 command Any valid CP/M 3 command with SUBMIT parameters ($0-$9) Any data input line Any program input line with parameters ($0 to $9) The command line cannot exceed 135 characters. The following lines illustrate the variety of lines which may be entered in a SUB file: DIR DIR *.BAK MAC $1 $$$4 PIP LST:=$1.PRN[T$2 $3 $5] DIR *.ASM PIP <B:=*.ASM <CON:=DUMP.ASM < DIR B: submit execute SUBMIT EXECUTE Syntax: SUBMIT SUBMIT filespec SUBMIT filespec argument ... argument Examples: A>SUBMIT A>SUBMIT SUBA A>SUBMIT AA ZZ SZ A>SUBMIT B:START DIR E: submit profile.sub SUBMIT PROFILE.SUB Everytime you power up or reset your computer, CP/M 3 looks for a special SUBmit file named PROFILE.SUB to execute. If it does not exist, CP/M 3 resumes normal operation. If the PROFILE.SUB file exists, the system executes the commands in the file. This file is convenient to use if you regularly execute a set of commands before you do your regular session on the computer. dir DIR The DIR command displays the names of files and the characteristics associated with the files. The DIR command has three distinct references: DIR DIRS DIR with Options DIR and DIRS are built-in utilities. DIR with Options is a transient utility and must be loaded into memory from the disk. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: BUILT-IN WITHOPTIONS dir built-in DIR BUILT-IN Syntax: DIR {d:} DIR {filespec} DIRS {d:} DIRS {filespec} Explanation: The DIR and DIRS Built-in commands display the names of files cataloged in the directory of an on-line disk. DIR lists the names of files in the current user number that have the Directory (DIR) attribute. DIR accepts the * and ? wildcards in the file specification. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES dir built-in examples DIR BUILT-IN EXAMPLES A>DIR Displays all files in user 0 on drive A that have the Directory attribute. A>DIR B: Displays all DIR files in user 0 on drive B. 2A>DIR C:ZIPPY.DAT Displays the name ZIPPY.DAT if the file is in user 2 on drive C. 4A>DIR *.BAS Displays all DIR files with filetype BAS in user 4 on drive A. B3>DIR X*.C?D Displays all DIR files in user 3 on drive B whose filename begins with the letter X, and whose three character filetype contains the first character C and last character D. A>DIRS Displays all files for user 0 on drive A that have the system (SYS) attribute. A>DIRS *.COM Displays all SYS files with filetype COM on drive A in user 0. A command (.COM) file in user 0 with the system attribute can be accessed from any user number on that drive, and from any drive in the search chain (see SETDEF). dir withoptions DIR WITHOPTIONS Syntax: DIR {d:} [options] DIR {filespec} {filespec} ... [options] Explanation: The DIR command with options is an enhanced version of the DIR built-in command and displays your files in a variety of ways. DIR can search for files on any or all drives, for any or all user numbers. One or two letters is sufficient to identify an option. You need not type the right hand square bracket. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: OPTIONS EXAMPLES dir withoptions options DIR WITHOPTIONS OPTIONS Option Function ATT displays the file attributes. DATE displays date and time stamps of files. DIR displays only files that have the DIR attribute. DRIVE=ALL displays files on all on-line drives. DRIVE=(A,B,C,...,P) displays files on the drives specified. DRIVE=d displays files on the drive specified by d. EXCLUDE displays files that DO NOT MATCH the files specified in the command line. FF sends an initial form feed to the printer device if the printer has been activated by CTRL-P. FULL shows the name, size, number of 128-byte records, and attributes of the files. If there is a directory label on the drive, DIR shows the password protection mode and the time stamps. If there is no directory label, DIR displays two file entries on a line, omitting the password and time stamp columns. The display is alphabetically sorted. (See SET for a description of file attributes, directory labels, passwords and protection modes.) LENGTH=n displays n lines of printer output before inserting a table heading. n is a number between 5 and 65536. MESSAGE displays the names of drives and user numbers DIR is searching. NOSORT displays files in the order it finds them on the disk. RO displays only the files that have the Read-Only attribute. RW displays only the files that are set to Read-Write. SIZE displays the filename and size in kilobytes (1024 bytes). SYS displays only the files that have the SYS attribute. USER=ALL displays all files in all user numbers for the default or specified drive. USER=n displays the files in the user number specified by n. USER=(0,1,...,15) displays files under the user numbers specified. dir withoptions examples DIR WITHOPTIONS EXAMPLES A>DIR C: [FULL] Displays full set of characteristics for all files in user 0 on drive C. A>DIR C: [DATE] Lists the files on drive C and their dates. A>DIR D: [RW,SYS] Displays all files in user 0 on drive D with Read-Write and System attributes. 3A>DIR [USER=ALL, DRIVE=ALL] Displays all the files in all user numbers (0-15) in all on- line drives. B6>DIR [exclude] *.DAT Lists all the files on drive B in user 6 that do not have a filetype of .DAT. 3B>DIR [SIZE] *.PLI *.COM *.ASM Displays all the files of type PLI, COM, and ASM in user 3 on drive B in size display format. A>DIR [drive=all user=all] TESTFILE.BOB DIR displays the filename TESTFILE.BOB if it is found on any drive in any user number. A>DIR [size,rw] D: DIR lists each Read-Write file that resides on Drive D, with its size in kilobytes. Note that D: is equivalent to D:*.*. get GET Syntax: GET {CONSOLE INPUT FROM} FILE filespec{[{ECHO|NO ECHO} | SYSTEM]} GET {CONSOLE INPUT FROM} CONSOLE Explanation: GET directs the system to take console input from a file for the next system command or user program entered at the console. Console input is taken from a file until the program terminates. If the file is exhausted before program input is terminated, the program looks for subsequent input from the console. If the program terminates before exhausting all its input, the system reverts back to the console for console input. With the SYSTEM option, the system immediately goes to the specified file for console input. The system reverts to the console for input when it reaches the end of file. Re-direct the system to the console for console input with the GET CONSOLE INPUT FROM CONSOLE command as a command line in the input file. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: OPTIONS EXAMPLES get options GET OPTIONS ECHO specifies that input is echoed to the console. This is the default option. NO ECHO specifies that file input is not echoed to the console. The program output and the system prompts are not affected by this option and are still echoed to the console. SYSTEM specifies that all system input is immediately taken from the disk file specified in the command line. GET takes system and program input from the file until the file is exhausted or until GET reads a GET console command from the file. get examples GET EXAMPLES A>GET FILE XINPUT A>MYPROG Tells the system to activate the GET utility. Since SYSTEM is not specified, the system reads the next input line from the console and executes MYPROG. If MYPROG program requires console input, it is taken from the file XINPUT. When MYPROG terminates, the system reverts back to the console for console input. A>GET FILE XIN2 [SYSTEM] Immediately directs the system to get subsequent console input from file XIN2 because it includes the SYSTEM option. The system reverts back to the console for console input when it reaches the end of file in XIN2. Or XIN2 may redirect the system back to the console if it contains a GET CONSOLE command. A>GET CONSOLE Tells the system to get console input from the console. This command may be used in a file (previously specified in a GET FILE command), which is already being read by the system for console input. It is used to re-direct the console input back to the console before the end-of-file is reached. save SAVE Syntax: SAVE Explanation: SAVE copies the contents of memory to a file. To use SAVE, first issue the SAVE command, then run your program which reads a file into memory. Your program exits to the SAVE utility which prompts you for a filespec to which it copies the contents of memory, and the beginning and ending address of the memory to be SAVEd. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLE save example SAVE EXAMPLE A>SAVE Activates the SAVE utility. Now enter the name of the program which loads a file into memory. A>SID dump.com Next, execute the program. #g0 When the program exits, SAVE intercepts the return to the system and prompts the user for the filespec and the bounds of memory to be SAVEd. SAVE Ver 3.0 Enter file (type RETURN to exit):dump2.com If file DUMP2.COM exists already, the system asks: Delete dump2.com? Y Then the system asks for the bounds of memory to be saved: Beginning hex address: 100 Ending hex address: 400 The contents of memory from 100H (Hexadecimal) to 400H is copied to file DUMP2.COM. type TYPE Syntax: TYPE {filespec {[ PAGE | NOPAGE ]}} Explanation: The TYPE command displays the contents of an ASCII character file on your screen. [PAGE] Causes the console listing to be displayed in paged mode; i.e., stop automatically after listing n lines of text, where n normally defaults to 24 lines per page. [NOPAGE] Turns off Console Page Mode and continuously displays a typed file on the screen. ENTER .subtopic FOR INFORMATION ON THE FOLLOWING SUBTOPICS: EXAMPLES type examples TYPE EXAMPLES A>TYPE MYPROG.PLI Displays the contents of the file MYPROG.PLI on your screen. A>TYPE B:THISFILE [PAGE] Displays the contents of the file THISFILE from drive B on your screen twenty four lines at a time.
that was it.
2013-10-31: I downloaded the latest version (V 2.20.1 - file yaze-ag-2.20.1.tar.gz) and unpacked it on my workstation, which currently runs FReeBSD 8.4-stable:
tingo@kg-core1$ uname -a FreeBSD kg-core1.kg4.no 8.4-STABLE FreeBSD 8.4-STABLE #0 r253646: Thu Jul 25 10:12:31 UTC 2013 root@kg-core1.kg4.no:/usr/obj/usr/src/sys/GENERIC amd64
building:
tingo@kg-core1$ pwd /home/tingo/work/yaze-ag-2.20.1 tingo@kg-core1$ make -f Makefile_freebsd gcc -ansi -pedantic -Wall -Wshadow -Wpointer-arith -Wnested-externs -Winline -O3 -march=pentium3 -DBIOS -D__EXTENSIONS__ -DMMU -DBOOTSYS -DMULTIO -DLIBDIR=\"/usr/local/lib/yaze/\" -c yaze.c yaze.c:1: error: CPU you selected does not support x86-64 instruction set yaze.c:1: error: CPU you selected does not support x86-64 instruction set *** Error code 1 Stop in /zs/tingo/work/yaze-ag-2.20.1.
Ok, that didn't work. After reading the instructions, I changed OPTIMIZE in Makefile_freebsd to:
OPTIMIZE = -O3 -march=athlon64 # 64 Bit AMD
now, see if that works:
tingo@kg-core1$ make -f Makefile_freebsd [...]
it seems to have worked. Try to start it:
tingo@kg-core1$ ./yaze pwd=/zs/tingo/work/yaze-ag-2.20.1 starting ./yaze_bin Yet Another Z80 Emulator by AG, final release 2.20.1 (MMU) Copyright 1995,1998 Frank D. Cringle. Pagetables Copyright by Michael Haardt. MMU and CP/M 3.1 extensions Copyright (c) 2000,2008 by Andreas Gerlich. yaze-ag comes with ABSOLUTELY NO WARRANTY; for details see the file "COPYING" in the distribution directory. RAM: 1024 KByte, 4 KByte PAGESIZE, 256 PAGES MMU: 16 TABLES, 16 PAGEPOINTERS per TABLE, selected MMU-PAGETABLE: 0 Running 'yaze-cpm3.boot' /dev/ttyS0: No such file or directory BOOTSYS - CPM3.SYS, V 1.22 08.06.2008 Copyright (c) 2000,2008 by A.Gerlich No CP/M vektors found, try to boot CP/M 3.1 in cooperation with yaze-ag ... Loading CP/M 3.1 ... 62K TPA DRIVES: A B C/ D . F G H I J K . M N O P CP/M 3.1 BIOS for yaze-ag, V 1.10 12.03.2005, Copyright (c) by A.Gerlich A>pause PAUSE Press any Key ... continue A>; A>3setdef a,b,* [temporary=A:,iso,order=(sub,com)] 1st search drive - A: 2nd search drive - B: 3rd search drive - Default Search order - SUB,COM Temporary file drive - A: Date format - ISO A>; A>type info.txt [Page] The following disks and directory are defined in .yazerc: A: r/w BOOT_UTILS BOOT disk with CCP.COM and some utilies B: r/w CPM3_SYSdsk Disk with all CP/M 3.1 system utilities A section "YAZE-AG" is added in the help file. C: r/o ./disksort/ Connected to the (unix-)directory ./disksort/ (SOURCE) D: r/w DISKSORT.dsk Submit examples of the DISKSORT project (look to F: r/w ZINC System Utilies of the ZINC project from John Elliott G: r/w TEST-UTILS-1.10 Test Utilities of the old version yaze-1.10 H: r/w HI-C-Z280-Compiler A Copy of the C Compiler from HI Tech Soft I: r/w UNIXLIKE UNIX like utilities J: r/w MMU-Utils Testfiles for the Memory Management Unit (MMU). K: r/w Kermit_SZRZ.ydsk Kermit and SZ/RZ (Zmodem) M: r/w Turbo-Modula-2 Modula-2 compiler of Borland N: r/w testdsk Scratch area O: r/w ZPM3N10 ZPM3N10 the BDOS3 replacement from Simeon Cran (Used in yaze-ag instead of the original bdos3) P: r/w BIOS3 Sources of the BIOS3 for YAZE-AG (look 0-README.1ST) On every disk is a file named 0-README.1ST. This file describes the contents of the disk. You can use the a:S.COM (NSWEEP) utility to read it. Press RETURN to Continue continue yaze-ag-2.20 (final release 2.20) NOW in this version you can mount a (unix-)directory to a CP/M drive. The time stamps of the unix files are present in the simulated CP/M directory! To look to the mounted files/directories use MOUNT.COM or SYS MOUNT. To show the contents of a disk use I.COM, II.COM, DIR.COM or 3DIR.COM. To go into the monitor of yaze-ag use SYS.COM. For HELP use HELP.COM. For exiting yaze-ag use E.COM. WWW home page is http://www.mathematik.uni-ulm.de/users/ag/yaze-ag/ FTP address is ftp://ag-yaze:yaze@xylopia-upload.mathematik.uni-ulm.de/ If you have a question or you find an error or you miss a feature feel free and send an email to me. My motto "Have a lot of fun :-)" You will find the whole documentation of yaze-ag in $HOME/cpm/doc or in $HOME/cpm/doc_html. See also "man yaze" and "man cdm" June 08, 2008 Andreas Gerlich (email: give the command "help yaze-ag support") A>; END of profile.sub A>
so there you have it. Check out some drives:
A: A>ii Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 4K ! DISKS TXT 2K ! PIP COM 10K ! TEST SUB 2K CCP COM 4K ! DU-V86 COM 8K ! PROFILE SUB 2K ! TOUCH COM 16K CHN31 COM 2K ! DU-V86 DOC 14K ! RESETDSKCOM 2K ! TOUCH DOC 2K CHN31 DOC 14K ! INFO TXT 4K ! RESETDSKZ80 2K ! UNARC COM 6K CMP COM 2K ! LC COM 6K ! SENDUUE COM 2K ! UNIXMAKEMAN 18K COMP COM 8K ! MAKE DOC 6K ! SUB COM 4K ! UNLOAD COM 2K CPM3 COM 46K ! MMUPRINTCOM 2K ! SYS COM 2K ! Z80ASM DOC 8K CPM3-OK COM 46K ! MOUNT COM 2K ! SYS Z80 2K CRCKLISTCRC 4K ! MOUNT Z80 2K ! TABS6 COM 2K DIFF COM 10K ! PAUSE COM 2K ! TABS6 DOC 4K 37 File(s), occupying 274K of 4064K total capacity 959 directory entries and 0K bytes remain on A: B: A>ii b: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 2K ! ERASE COM 4K ! MERA COM 2K ! SET COM 12K BDOS3 SPR 10K ! GENCOM COM 16K ! MMUPRINTCOM 2K ! SETDEF COM 6K BNKBDOS3SPR 14K ! GENCPM COM 22K ! MODEBAUDLIB 2K ! SHOW COM 10K CCP COM 4K ! GET COM 8K ! MOUNT COM 2K ! SID COM 8K CMP COM 2K ! HELP COM 8K ! MOUNT Z80 2K ! SUB COM 4K COPYSYS COM 2K ! HELP HLP 68K ! PATCH COM 4K ! SUBMIT COM 6K CPM3 LIB 4K ! HEXCOM COM 2K ! PAUSE COM 2K ! SYS COM 2K CRC COM 4K ! HEXCOM CPM 2K ! PIP COM 10K ! SYS Z80 2K CRCKLISTCRC 4K ! HIST UTL 2K ! PROFILE SUB 2K ! TEST SUB 2K DATE COM 4K ! I COM 4K ! PUT COM 8K ! TRACE UTL 2K DED COM 8K ! II COM 4K ! RENAME COM 4K ! TYPE COM 4K DEVICE COM 8K ! INITDIR COM 32K ! RESBDOS3SPR 2K ! XREF COM 16K DIFF COM 10K ! L80 COM 12K ! RMAC COM 14K ! Z80 LIB 6K DIR COM 16K ! LC COM 6K ! S COM 12K ! ZEXALL COM 10K DUMP COM 2K ! LIB COM 8K ! SAVE COM 2K ! ZEXDOC COM 10K E COM 2K ! LINK COM 16K ! SCB ASM 2K ! ZSID COM 10K ED COM 10K ! MAC COM 12K ! SENDUUE COM 2K 67 File(s), occupying 516K of 1008K total capacity 439 directory entries and 0K bytes remain on B: C: A>ii c: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 8K ! DISK1 C 8K ! DISK4 C 8K ! DISKSORTMSG 12K ASCII TAB 4K ! DISK2 C 12K ! DISKSORTC 8K ! LIESMICH1ST 8K DISK H 4K ! DISK3 C 8K ! DISKSORTMD5 4K 11 File(s), occupying 84K of 964K total capacity 2017 directory entries and 0K bytes remain on C: D: A>ii d: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 2K ! CRCKLISTCRC 2K ! DDD SUB 2K ! MYLIB REL 8K 1-README1ST 8K ! D SUB 2K ! DISKSORTMAK 2K ! STDIO H 2K CCZ COM 46K ! DD SUB 2K ! LIESMICH1ST 8K ! XXXMAIN REL 2K 12 File(s), occupying 86K of 224K total capacity 1006 directory entries and 0K bytes remain on D: F: A>ii f: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 2K ! 3DEVICE DOC 4K ! 3ERASE DOC 2K ! 3SHOW DOC 2K 3DATE COM 4K ! 3DIR COM 12K ! 3SETDEF COM 2K ! 3TYPE COM 6K 3DATE DOC 2K ! 3DIR DOC 8K ! 3SETDEF DOC 2K ! COPYING 18K 3DEVICE COM 4K ! 3ERASE COM 4K ! 3SHOW COM 8K ! CRCKLISTCRC 2K 16 File(s), occupying 82K of 224K total capacity 1007 directory entries and 0K bytes remain on F: G: A>ii g: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 2K ! SAVAGE COM 14K ! TIMEX COM 2K ! ZEXDOC Z80 40K CRCKLISTCRC 2K ! SAVAGE PAS 2K ! ZEXALL COM 10K PRELIM COM 2K ! SYS-OLD AZM 2K ! ZEXALL Z80 40K PRELIM Z80 6K ! SYS-OLD COM 2K ! ZEXDOC COM 10K 13 File(s), occupying 134K of 224K total capacity 1009 directory entries and 0K bytes remain on G: H: A>ii h: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes $EXEC COM 2K ! DEBUG COM 14K ! LINK COM 30K ! STDDEF H 2K 0-README1ST 2K ! DEBUGMANTXT 14K ! MATH H 2K ! STDIO H 4K ASSERT H 2K ! DEHUFF C 8K ! OBJTOHEXCOM 24K ! STDLIB H 2K C COM 20K ! DEHUFF COM 12K ! OPTIM COM 28K ! STRING H 2K C280 COM 20K ! EXEC H 2K ! OPTIMH C 18K ! SYS H 2K CC C 14K ! FLOAT H 4K ! OPTIMH COM 16K ! TIME H 2K CGEN COM 44K ! HELLO C 2K ! OPTIONS 2K ! TST C 2K CONIO H 2K ! HITECH H 2K ! P1 COM 40K ! UNIXIO H 2K CPM H 4K ! LIB280C LIB 64K ! READ ME 2K ! Z80DOC TXT 296K CPP COM 26K ! LIB280F LIB 26K ! RRTCPM OBJ 2K ! Z80READ ME 2K CRCKLISTCRC 2K ! LIBC LIB 60K ! SETJMP H 2K ! ZAS COM 38K CREF COM 18K ! LIBF LIB 26K ! SIGNAL H 2K CRTCPM OBJ 2K ! LIBR COM 18K ! STAT H 2K CTYPE H 2K ! LIMITS H 2K ! STDARG H 2K 53 File(s), occupying 940K of 2016K total capacity 930 directory entries and 0K bytes remain on H: I: A>ii i: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 2K ! DIF22 DOC 2K ! MORE COM 18K ! UNIQ COM 10K BOOZ COM 16K ! DIFDOC DOC 6K ! MORE12 DOC 8K ! UNIXLIKEFOR 2K CCT COM 2K ! FIELD COM 10K ! PG COM 10K ! UTOOL MAN 16K CH COM 14K ! FIND COM 14K ! PREP COM 10K ! UTOOL2 MAN 8K CMP COM 4K ! GREP COM 18K ! RZ COM 6K ! UUDECODECOM 12K COMMON COM 10K ! HCAT COM 10K ! SORT COM 14K ! UUENCODECOM 10K CRCKLISTCRC 2K ! LPR COM 10K ! SORT DOC 2K ! VSPLIT COM 10K CTYPE COM 2K ! LS COM 8K ! SORT2 COM 10K ! WC COM 6K CTYPE DOC 2K ! LS DOC 2K ! SSED2 COM 12K ! ZCAL COM 2K DIF22 C 18K ! MERGE COM 8K ! SZ COM 8K DIF22 COM 10K ! MERGE DOC 2K ! TR COM 10K 42 File(s), occupying 356K of 480K total capacity 982 directory entries and 0K bytes remain on I: J: A>ii j: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 2K ! MMUCPM3 COM 2K ! MMUSET Z80 4K ! UNLOAD COM 2K CRCCPM COM 20K ! MMUCPM3 Z80 6K ! MMUTEST COM 2K ! YAZEBIOSLIB 4K CRCCPM MOD 4K ! MMUPRINTCOM 2K ! MMUTEST Z80 2K CRCKLISTCRC 2K ! MMUPRINTZ80 2K ! MMUTSEL COM 2K MISC PMA 46K ! MMUSET COM 2K ! MMUTSEL Z80 2K 17 File(s), occupying 106K of 224K total capacity 1006 directory entries and 0K bytes remain on J: K: A>ii k: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes CRCKLISTCRC 2K ! MLOAD COM 4K ! RZSZ FOR 2K ! SZRZ PMA 12K KERMIT COM 30K ! RZ COM 6K ! SZ COM 8K ! WADDR TXT 2K 8 File(s), occupying 66K of 992K total capacity 1015 directory entries and 0K bytes remain on K: M: A>ii m: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 2K ! CRC32 Z80 14K ! HELLO MOD 2K ! SYSLIB LIB 34K AGL LIB 18K ! CRC3216 DEF 4K ! INSTM2 COM 26K ! TAGE DEF 2K BENCH MOD 2K ! CRC3216 Z80 14K ! INSTM2 DTA 6K ! TAGE MOD 2K BIRTHDAYCOM 20K ! CRCKLISTCRC 4K ! INSTM2 MSG 6K ! TERMATT DEF 2K BIRTHDAYMOD 4K ! CRCX MOD 2K ! LIBRARY MCD 4K ! TERMATT MOD 8K BOXLIB DEF 2K ! CROSS1 MOD 4K ! LINK MCD 6K ! TESTC321MOD 4K BOXLIB MOD 4K ! CROSS2 MOD 16K ! M2 COM 24K ! TESTCRC MOD 2K BOXTEST MOD 2K ! DATUM DEF 2K ! M2 OVR 28K ! TOPSORT MOD 4K BTREE MOD 8K ! DATUM REL 2K ! MODULA-2RAS 8K ! WDEMO MOD 6K CASE MOD 10K ! DAYS DEF 2K ! MODULA2 KWD 2K ! WINDOWS DEF 10K COMPILE MCD 14K ! DAYS MOD 4K ! PRIME MOD 2K ! WINDOWS MOD 20K CPM DEF 2K ! DT MOD 2K ! PROFILE MCD 2K ! Z80DEMO MOD 2K CPM MOD 2K ! ERRMSGS OVR 4K ! READ ME 2K ! Z80STUFFDEF 2K CRC3 COM 20K ! FORWARD MOD 2K ! REL MCD 6K ! Z80STUFFZ80 2K CRC3 MOD 4K ! GEBURTS MOD 2K ! SHELL MCD 8K CRC32 DEF 4K ! GENZ80 MCD 16K ! STRTEXTSMOD 2K 62 File(s), occupying 446K of 480K total capacity 961 directory entries and 0K bytes remain on M: N: A>ii n: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes CRC SRT 2K ! DISKSORTCOM 14K ! DISKSORTMSG 12K ! OLDDIR SRT 32K 4 File(s), occupying 60K of 224K total capacity 1020 directory entries and 0K bytes remain on N: O: A>ii o: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 2K ! CLRHIST COM 2K ! MAKEDOS TXT 6K ! VERSION NOT 2K AUTOTOG COM 2K ! CLRHIST Z80 2K ! RESBDOS3SPR 2K ! ZPM3 TXT 22K AUTOTOG Z80 4K ! CRC COM 4K ! SCB TXT 16K ! ZPM3LDR REL 4K BIOS TXT 12K ! CRCKLISTCRC 2K ! SETZ3 COM 2K ! ZPM3LDR TXT 4K BNKBDOS3SPR 14K ! MAKEDOS COM 4K ! SETZ3 Z80 4K ! ZPM3N10 PMA 42K 20 File(s), occupying 152K of 480K total capacity 1003 directory entries and 0K bytes remain on O: P: A>ii p: Name Ext Bytes Name Ext Bytes Name Ext Bytes Name Ext Bytes 0-README1ST 6K ! COPYING 18K ! GENCPM OK 4K ! RF4 SUB 2K 3ERASE COM 4K ! CPM3 SYS 44K ! H SUB 2K ! SCB Z80 4K B SUB 2K ! CPM3-SLRLIB 6K ! IFNEW COM 2K ! SYS Z80 2K BDOS3 SPR 10K ! CPMLDR SUB 2K ! LINKDR COM 16K ! SYSDEF LIB 2K BIOSKRNLZ80 20K ! CRC COM 4K ! MAKESYM COM 2K ! Y SUB 2K BNKBDOS3SPR 14K ! CRCKLISTCRC 2K ! MAKESYM DOC 2K ! YAZEBIOSLIB 4K BNKBIOS3SPR 30K ! D SUB 2K ! MERA COM 2K ! YCT Z80 4K BOOTSYS COM 2K ! G SUB 2K ! MMU Z80 8K ! YDRVTBL Z80 8K BOOTSYS Z80 22K ! GENCPM COM 22K ! P SUB 2K ! Z80ASM COM 26K CLEAN SUB 2K ! GENCPM DAT 4K ! RESBDOS3SPR 2K 39 File(s), occupying 314K of 480K total capacity 984 directory entries and 0K bytes remain on P:
Thats all disks.