


                            ! F R E E W A R E !



                           MZ-700 Emulator V 0.37

                             (c) 1998-2009 BKK

                                 powered by

        RAZE Z80 core, by Richard Mitton (richard.mitton@bigfoot.com)        




Welcome to another MZ700-Emulator!



What files do you own now?

 MZ-700.EXE     the emulator
 CWSDPMI.EXE    a DOS Protected Mode Interface
 README.TXT     this file
 MZFToMZT.EXE   a tool to convert MZF files into MZT files
 MZTToMZF.EXE   a tool to convert MZT files into MZF files
 MZFInfo.EXE    a tool to show the contents of a MZF file
 MZTInfo.EXE    a tool to show the contents of a MZT file
 MZQDTool.EXE   a tool to handle the QD image
 MZFDTool.EXE   a tool for MZ700 discs
 MZ-700.QD      an QD image example (you must copy it to your drive A:)
 ZSP.MZF        a little speech program for digizs (0...9) in MZF
 ZSP.MZT        same in MZT format
 MZPLOT.BAT     a batch job for printing the plot file. It uses the
                shareware programm PrintGL from Ravitz Software Inc.
                (http://www.concentric.net/~ravitz/)
 MZ-700.conf    the configurationfile for DOSBox 0.73
 (changes are required on line 233 if you do not install the emulator
 in "c:\mz-700". See the config file at line 233 for further details)
 ScanRes.com    a bugfix for DOSBox 0.73 ((c) ripsaw8080)

 Experimental:

 PCL5PLOT.BAT   to send the plot files directly to a PCL5 printer
 PCL5STA        the PCL5 header which is needed
 PCL5END        the PCL5 terminator which is needed



What do you need to make it run?

 Hardware:

        min. 386SX or better
        VGA card

 Software:

        DOS or Win95/98 in a full-screen DOS-Box

 Additional:

        MZ-700.ROM      (4096 bytes monitor ROM)
        MZ7CGInt.ROM    (4096 bytes international character ROM)

 Optional:

        MZ7CGJp.ROM     (4096 bytes japanese character ROM)
        MZ-1R12.ROM     (4096 bytes extension ROM, RAM-Disk)
        MZ-1E14.ROM     (4096 bytes extension ROM, Quick-Disk)
        MZ-1E05.ROM     (4096 bytes extension ROM, Floppy-Disk)
        KuP_80Z.ROM     (2048 bytes character ROM, 80 character card)


How to get MZ-700.ROM and MZ7CGInt.ROM?

If you have an EPROM-Reader/Writer, simply read out the original MZ700-EPROM
in a binary file and rename it to MZ700.ROM.

If you don't have access to an EPROM-Reader/Writer look at

        http://www.sharpmz.org

for further instructions.



What makes CWSDPMI.EXE?

The Emulator is written as 32bit-application under DJGPP, the DOS port of
GNU-C compiler. It runs in the protected mode of the processor. If you have
plain DOS, you need a DOS Protected Mode Interface (short DPMI). This part
is done by CWSDPMI.EXE. You must never call it, it will be started
automatically if needed.



How is it started?

If the files MZ700.EXE, MZ700.ROM, MZ7CGINT.ROM and CWSDPMI.EXE are in the same
directory, simply type MZ700 and press return.




The keyboard mapping:

        MZ-700                  Emulator

        GRAPH                   CAPSLOCK
        BREAK                   ESC
        ALPHA                   ALT


Special emulator keys:

        F8      loads an other character font (MZ7CG*.ROM)
        F9      loads a MZF file and run it
        F10     loads a MZF file only
        F11     slow down the emulation speed
        F12     speed it up again
        SCROLL  the "play" and "record" key of the tape
        PAUSE   the "stop" key of the tape

        HOME    to reset the emulator

        END     to leave the emulator

        NUMLOCK to toggle the screens if -80z is used


The meaning of the LED's:

        CAPSLOCK LED    the motor is running
        SCROLL LED      the "play" key of the tape is pressed



The optional commandline arguments:

        -h             show helptext
        -soff          sound off, default is on
        -ioff          intro off, default is on
        -bx            set brakevalue, default is 0
        -fxyz.rom      the fontfile xyz.rom will be used, default MZ7CGInt.ROM
        -j             the joystick will be recalibrated
        -pmprinter     printermode is set to printer, default is plotter
        -ppx           printerport is set to x [1..3], default is print to file
        -1R12          enables MZ-1R12 32k RAM extension, default is off
        -1E14          enables MZ-1E14 QuickDisk extension, default is off
        -1E05          enables MZ-1E05 FloppyDisk extension, default is off
        -1E24          enables MZ-1E24 RS232 extension, default is off
        -80z           enable the K&P 80 character card, default is off

This arguments make it possible to build a batchfile which fit's your needs
best.

Example:

        MyMZ700.bat:

        MZ-700 -ioff -b25 -fMZ7CGJp.rom

If you call this batchfile, the emulator starts directly to the prompt (intro
is off) with the speed that fits your PC (brakevalue is 25) and with the
japanese character font.



What is the goal of this emulator?

Well, I want to make an emulator which is fast enough to run on a 486/66.
Because I own only such a PC. And the next thing is, that I want to emulate
really good, what means: no patches to the original ROM or any program.



What can I do with MZFTOMZT.EXE?

You can convert any *.MZF file to the *.MZT format, which is loadable with
the "L" command of the monitor. If files are saved with the "S" command, they
are also in MZT format. (MZT means MZ Tape).
A hint: if you have a program with a loader program (like advoka), you can
        convert both parts and load it separatly, or you can copy them together
        with the DOS copy command and the emulator loads it directly.

        Example: MZFTOMZT advoka.MZF
                 MZFTOMZT advoka1p.MZF
                 copy /b advoka.mzt + advoka1p.mzt advok.mzt

Since version V 1.1 it supports widcards like the followings:

        MZFTOMZT a*.MZF (converts all MZF-files beginning with an 'a')
     or MZFTOMZT *.MZF  (converts all MZF-files)

If you call it without an argument, a helptext will be shown.



What can I do with MZF- and MZTInfo.exe?

This two utilities shows you informations above a MZ file, like start-
, end- and execution-address. They show you also the complete header
of the file. Try it.



What can I do with MZQDTool.EXE?

This utility can you show the directory of the QD image (MZ700.QD), and
can add MZF files to the image. So it is possible that you can build an
QD image. The following commands are available:

format:         to build a clean QD image
dir:            to show the directory of the QD image
add xyz.mzf:    to add the file xyz.mzf to the QD image

Please remember you have to copy the MZ700.QD file to your drive A:



What can I do with MZFDTool.EXE?

This utility can analyze MZ700 discs and can copy the files on it.
At the moment the following commands are available:

dir [drive:]                    shows the directory of the disc
map [drive:]                    shows the sector map of the disc
copy [drive:] filename          copy the file from disc to your actual drive
drive: C H S                    shows you the given sector in hex

Hint: If you use the map command, redirect the output to a file and use an
      editor to show it. Example:

                mzfdtool map b: > map.txt



How can I run the emulator on windows > 98 or on Linux?

That's now possible with the help of the DOSBox emulator.
Download the latest version from:

http://www.dosbox.com/

Install it. On Windows copy the desktop symbol from DOSBox and rename it to
MZ-700. Than open the properties and change the following:

Target: C:\Programme\DOSBox-0.73\dosbox.exe -noconsole -conf "C:\mz-700\MZ-700.conf"
Execute in: "C:\MZ-700"

That's all.
If you have copied the MZ-700 files to an other directory, you have to change
this entries accordingly. Than you have also to change the file MZ-700.conf.
Go to the end of the file and change also the directory path.



History:

        V 0.14          First public release!
                        Only able to load M12 binary files.

        V 0.15          New filetype included. Now it can load and save
                        binary files.
                        LED's under Win95 now works!
                        Speed it up! Now ZSP is understandable.
                        Saves Basic files :-)
                        But can not load them :-(

        V 0.16          Loads Basic files :-)
                        But you have to press the PAUSE key after each File
                        (to detect the end of the process)
                        Parameters at the commandline are now available,
                        simply type "mz700 -h" to see the helpscreen.
                        Info about the current brakevalue,
                        press F11 or F12 short for info, long for decrement
                        or increment.

        V 0.17          Now you need 2 ROM files. This allows to change the
                        character font.
                        It is possible to make a LOAD "XYZ" in BASIC, but be
                        careful! The name of the *.MZT file must be the same
                        as the name in the programheader!
                        Speed improvement while displaying characters. If you
                        make a D00001000 it is now min. 50% faster.

        V 0.18          A new parameter for the commandline was added:
                        -f. -f allows to use an other fontfile at start.
                        With F8 the character font can be changed. The
                        fontfile must be in the same directory as mz700.exe
                        and the suffix must be .fon (example: mz7jap.fon).
                        M12ToMZT is now V 1.1, it supports wildcards and
                        without an argument, a helptext will be shown.

        V 0.19          A new version of Neil's MZ80 was included.
                        M12Info and MZTInfo was added.

        V 0.20          Only a bugfix: since V 0.15 the result of
                        IN A,(E1) was wrong. The CGROM was mirrored :-(
                        But now it works correct again!

        V 0.21          Now it happens, the programm use a ini-file.
                        Joystick function was added.
                        The real standard PC-Joystick is translated to
                        MZ-Joystick. It works, but it is not possible
                        to do this job to 100%. It depends on the PC-
                        Joystick.
                        If a Joystick is detected the first time, it will be
                        callibrated. The data is stored in the ini-file.
                        If you connect another one or a second one, you can
                        use -j as parameter to force a new callibration.

        V 0.22          First try of printing. With -px as parameter (x = 1..3)
                        the parallel printerport x will be used for printing.
                        If not used, the file MZ700.PRN will be used as output.

        V 0.23          Better joystick emulation.
                        But the best of all: the plotter emulation is
                        implemented!!!
                        Files MZ700-x.PLT will be generated, where x is the
                        pagenumber. The file are in HP-GL format. At the moment
                        you can use the shareware programm PrintGL to view it.
                        A batch file for this programm is included (MZPLOT.BAT).
                        But I try to find or extend an existing freeware
                        program, which is able to view the file correct.

                        P.S.:
                        Do you know, that PCL5 includes HP-GL?
                        Yes, with a little offset, you can send the plt files
                        directly to a PCL5 printer. Try PCL5PLOT.BAT!
                        The disadvantage:
                        Not every PCL5 printer has a full PCL5 implementation.
                        HP printers works and also printers from Lexmark.
                        Try it :-)

        V 0.24          Improved plotter emulation. The size is now nearly
                        correct. The linetypes are now more accurate.
                        Best tool to view the results:

        http://cern.web.cern.ch/CERN/Divisions/EST/CAD/hpglviewer.html

                        It is time limited, but they update it each month.

        V 0.25          MZ-1R12 emulation (32k RAM extension)
                        (thanks to Franzen's source code and Karl Heinz Mau
                        for the ROM)
                        Bankswitching E5 and E6 was wrong coded.
                        HOME key generates a reset (like the reset button)
                        BASIC is now a little bit slower :-(, because it
                        makes extensive use of bankswitching, and now I have
                        always to copy the extension ROM (but only if it is
                        enabled :-))
                        New commandline parameter -1R12 to enable the use of
                        the MZ-1R12 32k RAM extension.
                        Changed the names of the font ROM's from *.fon to
                        MZ7CG*.ROM like the names from Karl Heinz Mau's
                        homepage.

        V 0.26          New commandline parameter -1E14 to enable the use of
                        the MZ-1E14 QD extension ROM. But the real emulation
                        is not implemented yet :-(
                        Changed M12 to MZF in all programms. Now you can use
                        directly the files from www.sharpmz.org
                        (You can do a ren *.m12 *.mzf to change your m12 files)

        V 0.27          I hope the final fix for the CGROM and CGRAM mirror
                        problem (if you use the correct ROM's :-))
                        New entries in the MZ700.INI file:

                                MZFPath=
                                MZTPath=

                        So you can specify other directorys for the MZ data
                        files, for example:

                                MZFPath=c:\sharp\software\mzf
                                MZTPath=c:\sharp\software\mzt

        V 0.28          Now you can not only choose a file with pathname,
                        now it is also executed. (sorry V 0.27 was a quick
                        hack)
                        Speed up the bank-switching (copy only the neccessary
                        bytes, and not the whole EXTROM area)
                        Some other minor optimizations.

        V 0.29          The entry 1E14=ON in the MZ700.INI file was not
                        recognized, this bug is fixed now.
                        New commandline parameter -1E05 to enable the use of
                        the MZ-1E05 FD extension ROM.

        V 0.30          Now the switch -1E14 make sense. The QD emulation is
                        working!
                        To test it copy the file MZ700.QD to a floppy in your
                        drive A: and start the emulator with "mz700 -1E14".
                        The use of a real floppy was a wish of Mr. MZ also
                        known as K.-H. Mau. At this point a big thank you to
                        him, for his support for me and all other MZ freaks.
                        A few hints for the QD-BASIC (MZ-5Z008):
                        INIT            format the QD
                        DIR             show the directory of the QD
                        LOAD "XYZ"      load the file XYZ from the QD
                        RUN "XYZ"       load and start the file XYZ from the QD
                        SAVE "XYZ"      save the file XYZ on the QD

                        And now the commands which access the tape

                        LOAD "CMT:"     load a file from tape
                        RUN "CMT:"
                        SAVE "CMT:XYZ"  save file XYZ on tape

        V 0.31          A small bugfix, in V 0.30 the INIT command results
                        in a "no file space" error. The QD image was one byte
                        to small.
                        The bank-switching slows down the emulator, but the
                        Z80 engine can only execute code in a linear address
                        room, so I must make many mem copies per bank switching
                        command. :-(

        V 0.32          The disc emulation is done. Now it is possible to
                        boot or read original MZ700 discs.
                        Writing is disabled in the moment, because I can
                        not check if it is working correct.
                        You need a 5.25" drive, with 3.5" it is not tested.
                        To tell the emulator which drive is FD1 and FD2
                        there are new entries in the MZ700.INI file:
                        FD1=B and FD2=A.
                        This tells the emulator that the DOS drive B: is the
                        FD1 drive for the MZ700.
                        Also there is a new utility available: MZFDTool
                        With this utility you can analyze a MZ700 disc or
                        you can copy files from disc to your PC. Try it.
                        
        V 0.33          The slowdown under BASIC is now fixed. Inside the
                        BASIC, extensive use of bankswitching slows down the
                        emulation by factor 4 (depends on your PC). The reason
                        was the Z80 core from Neil Bradley. His core is very
                        fast, but has no support for bankswitching. So a lot
                        of memory copy had to be done.
                        Now R.A.Z.E. from Richard Mitton is used.
                        R.A.Z.E. supports bankswitching. This results in a very
                        good performance even under BASIC. Also the I/O looks
                        faster, because the output of the ZSP programm
                        (speaks digits) is understandable on a 90MHz Pentium.
                        The speed of floppy read access is increased.
                        Now always a hole track is read instead of single
                        sectors, and the drive parameters are changed a little
                        bit. The BASIC needs now only 6 seconds to load instead
                        of 14.

        V 0.34          Saving on tape now has a filename again, but now
                        without the real name. Because this feature was only
                        a trick by sniffing arround in the memory.
                        The ZSP programm has now a little text for explanation.
                        The MZFToMZT tool now generates an accurate tapefile,
                        including 2 headers and 2 data blocks.
                        A new tool was born: MZTToMZF
                        A bug was ixed if the ini file has no new line at the
                        end.
                        A new item in the ini file: QDDrive=
                        Now you can change the default drive (A:) to one you
                        like.

        V 0.35          !!! THE NAME IS CHANGED FROM MZ700 TO MZ-700 !!!
                        This also belongs the default QD name wich is now
                        MZ-700.QD
                        The sourcecode is now modular.
                        K&P 80Z card is now implemented (-80z). To toggle
                        between the screens, use the NUMLOCK key.
                        !!! YOU NEED THE ROM AND RENAME IT TO KuP_80Z.ROM !!!
                        MZ-1E24 implementation is started.

				V 0.36          Sorry, forgotten
				
				V 0.37          Improved K&P 80Z card functions.
												Small bugfixes.
												Managed DOSBox 0.73 to run the emulator :).
												Now You can use the Emu in Windows > 98.

What can you expect in the next versions?

        Improvements, bug fixes, the usual stuff.


Future ideas:

        Emulating the disc (writing).

        Complete the emulating the SIO.
