|
The Memotech MTX Series |
|
MEMU Launcher
by Bill Brendling
|
MEMU running CP/M started by
one click from Launcher |
Windows Usage Notes
Windows Test Environment : Windows 7, 64 Bit. Python for
Windows Version 3.3.3
Prerequisites :
Python
Python is an open source, high level programming
language, maintained by
The Python Software Foundation (PSF). Available for
a number of platforms, including Linux and Windows, it
can be downloaded from the PSF website
here.
As part of the installation, a Windows file association is
created between .py and .pyw file
extensions and the Python executable, python.exe.
With the installation directory present in the PATH variable,
the easiest way to use the launcher application is to place it
in the same location as the MEMU executable and double click on
Launch.pyw.
Note: When running Python under windows, a ".pyw"
file extension runs the script without a command window and a ".py"
file extension runs with a command window. To see the -debug
output,
Launch.pyw should be renamed to
Launch.py.
Default Configuration File
The first time that the launcher is run, if you have not
renamed Launch.py to something else, it will create a file
called Launch.cfg which will be used to save the
launcher settings for reloading the next time that the script
is run.
The default configuration file takes its name from the
program name, so if you rename Launch.pyw to
newname.pyw, then the default configuration file
becomes newname.cfg.
Launch first looks in the current working directory for the
configuration file, and if a file of the correct name is found
then it uses that one both for loading and saving. Only if that
does not exist does it look in the folder containing the Launch
program.
Example Windows config files
NB : You will need to edit the pathnames as
required to suit your MEMU file locations.
Check the ROMs and Disks
paths!
Place the config file(s) in the same location as
the Python file |
|
Run a game (.mtx) file Just
specify the "Run File", e.g.,
"ca.mtx" |
|
Run CP/M interactively Loads
Andy's System disk as "A" and
his Games disk as "C" |
Command Line Options
launch.py
[-debug] [filename.cfg] [runfile.ext] [. .
. "menu" . . .] |
Option |
Description |
-debug
|
The
-debug switch does not launch MEMU, instead, it
creates a launch.cfg file and outputs
the MEMU command string to the console for
diagnostic purposes. |
filename.cfg |
Anything ending with ".cfg" is taken
to be a configuration file and is loaded instead of
the default config file |
runfile.ext |
This one may not be useful to
others, but Bill added it at my request. It allows
me to have a config file setup to run games, then
pass the name of the program to run on the command
line. There are other ways to do the same thing, but
this works for me. Usage: launch.py
[games.cfg] bakety.mtx will populate
the Run File box with "bakery.mtx" |
. . . "menu" . . . |
Anything else containing the string
memu is taken to be the path to the
memu executable. Just in case you have multiple
copies of memu around, or memu is not on the default
path and not in the same folder as Launch. |
Currently supported MEMU options
Launch Config Option |
Values |
MEMU Configuration Option |
Values |
Emulation |
|
|
MTX |
Default : MTX |
- |
SDX |
Include SDX support |
-sdx |
CPM |
Emulate CP/M BIOS |
-cpm |
FDXB |
FDXB CP/M support |
-fdxb |
|
|
Set CPU
speed in MHz
Don't
limit speed, run as fast as possible |
|
Memory (KB) |
32k blocks |
Number of 16k memory blocks |
-mem-blocks n |
Video Size (multiplier) |
0 to 5 |
VDP window size |
-vid-win[-big] |
Hardware Palette |
On / Off |
Use an alternate palette |
-vid-win-hw-palette |
Monitor Size (multiplier) |
0 to 5 |
80 Column card window size |
-mon-win[-big] |
Mono Monitor |
On / Off |
Green screen monochrome |
-mon-win-mono |
Ignore Init |
On / Off |
Ignore writes to non-emulated
registers |
-mon-ignore-init |
Text Monitor |
TH |
80 Column card - full screen text mode |
-mon-th |
Console |
80 Column card - using console only |
-mon-console |
None |
80 Column Card - no output |
(neither switch set) |
No-key |
On / Off |
Keyboard status shows no keys
pressed |
-mon-console-nokey |
Sound |
On / Off |
Emulate the sound chip using portaudio |
-snd-portaudio |
Latency |
< value > |
Instruct portaudio to use a given
latency |
-snd-latency value |
Keyboard Remap |
On / Off |
Remaps MTX keyboard |
-kbd-remap |
Country |
0 to 3 |
Sets country code switches to n
(default 0) |
-kbd-country n |
|
On / Off |
Enable joystick support |
-joy,-j |
< value > |
Percentage off-centre to press
direction |
-joy-central n |
Tape Directory |
< path > |
Location of .mtx files |
-tape-dir |
Tape Overwrite |
On / Off |
SAVE can overwrite an existing file |
-tape-overwrite |
Tape Disable |
On / Off |
Don't patch INOUT
to LOAD/SAVE/VERIFY .mtx files |
-tape-disable |
ZX Spectrum Tape |
< path > |
Specify ZX tape file (default
memu.tap) |
-tap-file fn |
ZX Spectrum Snapshot |
< path > |
Specify ZX snapshot file (default
memu.sna) |
-sna-file fn |
Drive A Directory |
< path > |
Where CP/M DBOS finds A: |
-cpm-drive-a |
Drive A Invert Case |
On / Off |
Invert between CP/M and host filenames |
-cpm-invert-case |
Open Hack |
On / Off |
Don't insist on EX,S1,S2,RC being 0 |
-cpm-open-hack |
|
Advanced Options
For a complete description of the "advanced"
options, see the
MEMU Emulation page on Andy's site.
Andy's page describes how the ROM selection
and paging options work in a real MTX and as
emulated in MEMU. |
|
|
|
MEMU : Load ROM x from
file (-ROMx file) |
MEMU : Set ROM subpage (-subpage subpage
) |
|
|
|
|
|
|
MEMU
Values |
|
-iobyte iobyte |
specify IOBYTE |
|
(initially
0x00) |
|
|
-subpage subpage |
set ROM subpage |
|
(initially
0) |
|
|
-addr addr |
set the address |
|
(initially
0x0000) |
|
|
-mem file |
load file at address
|
|
|
|
|
|
MEMU
Values |
|
Use
MTX Emulation Mode |
|
-sdx-tracks n |
-sdx-mfloppy file |
-sdx-tracks2 n |
-sdx-mfloppy2 file |
-sidisc-file
n file |
|
|
|
|
|
|
|
MEMU
Values |
|
-joy-buttons string |
define left, right, up, down
& fire buttons |
-kbd-type-file fn |
auto type keys in this
file |
-prn-file file |
specify file to receive
printer output |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Run File |
< filename > |
LOAD/SAVE/VERIFY "" will
use this file |
file(.mtx/.com/.run) |
Command Tail |
< path > |
Construct CP/M command tail |
-cpm-tail tail |
Configuration |
|
Load / Save / Reset MEMU Options |
n/a |
Launch Revision History MEMU
Launcher GUI : launch.py,
launch.pyw |
Date |
Ver. |
Comments |
WJB 30/01/14 |
- |
First draft. |
WJB 08/02/14 |
- |
Added configuration save/load
to/from launch.cfg |
WJB 15/02/14 |
0.03 |
More
MEMU options included, (fdxb, tape
disable, cpm tail...)
-debug
switch added.
The
-debug switch does not launch MEMU, instead, it creates
the launch.cfg file and outputs
the MEMU command string to the console. |
WJB 16/02/14 |
0.04 |
Bug fix on FDXB option. |
WJB 23/02/14 |
0.05 |
Some consistency checks. |
WJB 23/02/14 |
0.06 |
Correct stupid typo. |
WJB 28/02/14 |
0.07 |
Trap
insufficient memory for CP/M.
Added
support for ROM loading and mfloppies |
WJB 02/03/14 |
0.08 |
Added -mon-ignore-init and -cpm-open-hack |
WJB 08/03/14 |
0.09 |
Added
general memory initialisation (-iobyte, -subpage,
-addr, -mem).
Tidied up window management and resizing.
Added
-snd-latency and -kbd-country. |
WJB 09/03/14 |
0.10 |
Added further options. |
WJB 15/03/14 |
- |
Bug fix on memory initialisation. Added
configuration load, save and reset. |
WJB 22/03/14 |
0.11 |
Revised command line options |
WJB 23/03/14 |
0.12 |
Added Dave's run command option |
Back to the Emulation Page
|