Emulators for several Z80 systems
( for DOS & Win; both written by Michael Franzen / Germany )
New version available - What's new? (January 10th, 2010)
Please take a kindly note of the new documentation which is in progress but unfinished this time (in work). The new documentation will be completed step by step.
It emulates the SHARP-systems MZ-80K, MZ-80A, MZ-80B, MZ-700, MZ-800, MZ-1500 an MZ-2500 (test), but additional also some old arcade games, the Spectrum, Coleco, ZX81, TRS80, Coleco, Invaders, Jupiter ACE, Galaxian, Scramble, Pacman, and Ladybug (complete list: see below).
In detail, the emulators are able to emulate the following Z80 systems:
The necessary files, e.g. ROMs, fonts, help, example and test files are all included for download.
The Windows emulator has full tape support for LOAD / SAVE without
patch ( BIN / BSD / BAS / OBJ ).
The RAM file MZ-1R12 / MZ-1R18 and the QuickDisk MZ-1F11 with its interface MZ-1E14 is supported too.
The floppy disk drive and its interface MZ-1E05 is supported ( 2 drives
The emulators support the printer and the plotter.
The I/O-mapping and the PSG of the MZ-800 are supported. This enables you to run programs like WOOKY by this emulator. Normally those programs cannot run on a MZ-700.
The emulators are able to display European or Japanese fonts by the buttons EU and JP. Some MZ-800 games ( which run in the 700-mode ) use an own font. You can save such fonts by using the emulator's button SF. When next playing the game again, you have to load the game only ( not again such font ).
The emulator supports the Soundcard ( The PSG emulation for the MZ-800 / MZ-1500 / Coleco is in beta test ).
The emulator supports print / plotter outputs. Each output will be saved into a file called WINMZPRNx.txt by using the "New file"-button in the printer window. You can append the output or create a new output fiel by using the "New file"-button in the printer window. The 1st output gets the name WINMZPRN.txt, the 2nd is WINMZPRN1,txt, the 3d is WINMZPRN2.txt and so on. You can print from Basic, machine code, CP/M, etc.
The emulator supports the K&P 80-column interface ( MZ-700 ). To use it you need the K&P 80-column Disk BASIC.
The emulator supports the SUC CP/M versions for the MZ-700 (40 / 80 column versions):
MZ-800 / MZ-1500 emulation: full graphics and 80-column support. To use it you need the P-CPM-80.
The emulator supports the PCG700 and MZ-800 PCG ( Programmable Character Generator ). The MZ-800 / MZ-1500 PSG is in beta test.
For the PSG sound try to find out the best option:
These are screenshots of the PCG700-game MOLE-ATTACK:
The emulator supports the MZ80K PCG.
The emulator synchronizes its internal processing speed for high speed CPU's automatically ( more than 500MHz, e.g. 2GHz ). If you want to turn off this use the "sync"-button.
You can drag and drop a program file from the explorer window into the emulator window to start the program.
This is a screen shot of the MZ-800 emulation using the 80-columns display for P-CPM-80:
CP/M LEC+ can also be executed:
|Tape Load/Save emulation|
Files without a file header can also be loaded. This enables the emulator to load programs/data which are controlled by a loader program. E.g. some programs use a preloader which use a special load routine to load programs/data. In this case the program/data does not have a header. These files must have the suffix ".nhd" in the filename.
|More screenshots from the MZ-700-emulation|
|Screenshots from all other available Z80 systems|
|Select your programs to be executed by a user-defined
( shown here for the MZ-700 only )
Generate an .INI-file for each entry in the selection list. Choose a name for the .INI-file you want ( e.g. CHESS.INI, MYPROG1.INI, STARTREK.INI, etc. ).
All INI-files (except the MZEMU.ini) must be in the folder /init !
There are some parameters you have to define within the INI-file. The
predefined INI-file for the S-BASIC MZ-5Z008 ( which you'll find in
the downloadable emulator's ZIP-file ) looks like this:
Use #DRIVER to select MZ700, MZ80K, Spectrum, or COLECO. This parameter is required and the possible keywords are MZ700, MZ80K, Spectrum, and COLECO. This will activate the system ( Maschine ) which is to emulate.
Use #TITLE for the text you want to get shown in the selection list.
Use #FILE for the filename of the program which is to execute by the emulator when you select it by the selection list. If the file exists in a subdirectory of the emulator's directory, enter: subdirectory-name\filename ( e.g. games\chess.mzf for the game "chess.mzf" which resides in your emulator's subdirectory "games" ).
Use #Font to preload a font. Some games use own fonts, but you can generally preload a Japanese or the European font. Use a subdirectory-name as shown above in the description of the parameter #FILE if your font is in a subdirectory of the emulator's directory.
Use #ROM if preloading of a special ROM is necessary for the execution of your program ( e.g. 1Z009, NEWMON ). Use a subdirectory-name as shown above in the description of the parameter #FILE if your ROM is stored in a subdirectory of the emulator's directory. Separate the load address of the ROM by a semicolon ";" and add the address ( e.g. $0000, $E000 ).
Use #NOHIROM to suppress the execution of a ROM at $F000 and / or at $E800. This will leave the emulator in the ROM at $0000.
Use #QDNAME to preload a QuickDisk. The first file on this disk will automatically start when the MZ-700 is selected. Use a subdirectory-name as shown above in the description of the parameter #FILE if your QD is stored in a subdirectory of the emulator's directory.
Use #QDOPEN to allocate the QD-file but to prevent the autostart as described above at #QDNAME.
Use #QDCLOSE to activate the QD.
Use #FDNAME to preload a Floppy Disk image. The first file on this disk will automatically start when the MZ-700 is selected. Use a subdirectory-name as shown above in the description of the parameter #FILE if your FD is stored in a subdirectory of the emulator's directory.
Use #FDOPEN to allocate the Floppy Disk image but to prevent the autostart as described above at #FDNAME.
Use #FDCLOSE to activate the Floppy Disk image.
Use #Reset ( not shown in the example above ) when loading a ROM only. This must be the last parameter in the INI-file.
Use #SCREEN for the screen size. The possible values are 0 for a normal size and 1 for a double size.
Use #TICK for the interrupt rate of the CPU ( e.g. #TICK=$A00C
Download the emulator ( 204 kb, September
15, 2001 )
Download the source code to this
DOS version ( 157 kb, September 15, 2001 )
Unzip all downloaded files and use the path information to extract the files!
To get the Character-ROM(s) MZ7xxx.FON ( xxx = int or jap ) execute Gen_fnt.exe now. The input files for Gen_fnt.exe are MZINTCH.txt and / or MZJAPCH.txt. If both input files are available while executing Gen_fnt.exe both fonts will be generated.
Execute Gen_roma.exe. The generated outputfile will be the monitor
ROM named MZ700a.rom ( 4KB ).
|Actual and complete version for all Windows|
All files needed (ROMs, INIs and so on) are included, additional a Z80 disassembler program, the MZ-700 S-Basic 1Z013B, and some examples.
A QuickDisk ( two files - one for each side ) containing the QuickDisk-files of the interface MZ-1E14 is added ( S-BASIC MZ-5Z008, the QD-utilities QDCOPY, DELETE, and TRANS ). An empty QD-file empty.qd is added. A floppy disk editor is included.
Unzip all files of the downloaded file. Use the path information.
If you use Willi's Monitor and you get an invalid screen, then use the emulator's Reset-Key.
The documentation of this new version is in progress.