diff --git a/docs/MEMU_CPM_Configuration.png b/docs/MEMU_CPM_Configuration.png
index fc62a0b..a46abeb 100644
Binary files a/docs/MEMU_CPM_Configuration.png and b/docs/MEMU_CPM_Configuration.png differ
diff --git a/docs/MEMU_Configuration_Dialog.png b/docs/MEMU_Configuration_Dialog.png
index 428c27a..ec39352 100644
Binary files a/docs/MEMU_Configuration_Dialog.png and b/docs/MEMU_Configuration_Dialog.png differ
diff --git a/docs/MEMU_SDX_Configuration.png b/docs/MEMU_SDX_Configuration.png
index 7d88957..b4b5197 100644
Binary files a/docs/MEMU_SDX_Configuration.png and b/docs/MEMU_SDX_Configuration.png differ
diff --git a/docs/index.html b/docs/index.html
index eb6aa71..26b47b7 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -54,14 +54,17 @@
Introduction
Raspberry Pi Pico: This has the main features of MEMU, but size constraints
require omitting some features. Each display is shown full screen.
Linux X-Window: This uses multiple GUI windows to display Memotech screens and
- dialogs.
+ dialogs. (TODO: Produce a version that supports Wayland.)
Linux Framebuffer: This does not require a GUI. Instead each display is shown
full-screen and it is necessary to toggle between screens.
Raspberry Pi: Although the Linux versions run perfectly well on Raspberry Pi,
this version uses the GPU for display updating, and can use the GPIOs to interface
- to real hardware.
+ to real hardware. (TODO: The GPU access used is not supported by
+ recent versions of Raspberry Pi OS. Produce an X-Window version with GPIO support.)
Bare Metal Pi: Uses the Circle
- library to produce versions of MEMU that run bare-metal on a Raspberry Pi.
+ library to produce versions of MEMU that run bare-metal on a Raspberry Pi.
+ (TODO: This is using an old version of Circle that does not support
+ all Raspberry Pi versions. Update or abandon?)
Microsoft Windows: Does not have DART or Network emulation.
The full (Linux) version of MEMU provides just about complete emulation of the
@@ -79,11 +82,12 @@
Introduction
It provides emulation of some modern hardware add-ons:
- -
- Enhanced 80-column display using Parallax Propeller chip
+ -
+ MFX - Multi-Function eXpansion providing SD card storage, VGA 80-column and
+ VDP display (using an FPGA), ROM BASIC enhancements.
-
- CFX-II providing Compact Flash storage, Propeller 80-column display,
- ROM BASIC enhancements
+ CFX-II providing Compact Flash storage, Propeller VGA 80-column and VDP display
+ (using Parallax Propeller chip), ROM BASIC enhancements
-
NFX network interface based upon a Wiznet W5100 chip
@@ -220,7 +224,7 @@ Raspberry Pi Build
If the line "dtoverlay=vc4-kms-v3d" is present, comment it out.
Insert the line "dtoverlay=vc4-fkms-v3d"
- TODO - Produce a version which works with the KMS driver.
+ TODO: Produce a version which works with the KMS driver.
The display must be connected to one of the outputs controlled by the VideoCore
(e.g. HDMI), and the keyboard attached to a USB port. This version will not work
@@ -310,7 +314,7 @@
Basic Usage
The "Applications" or "Menu" key.
The <F11> key.
-
+
Use the arrow keys to navigate the options and either <space> or <Enter> to
select an option. The <Esc> key can be used to exit sub-menus.
The top row of the screen is used to select the basic emulation mode:
@@ -327,9 +331,15 @@ Basic Usage
CPM COLR
576K RAM, CP/M & ROM BASIC, 40 column VDP display, 80 column colour display,
Two type07 disk drives, Four Silicon Drives (optional)
- CFX-II (Not Pico)
+ MFX
576K RAM, CP/M & ROM BASIC, 40 column VDP display, 80 column VGA display,
- Two Compact Flash drives (up to 8 partitions each), Four Silicon Drives (optional)
+ SD Card emulation (up to 8 CPM drive images), Four Silicon Drives (optional).
+
Note: This does not include emulation of the WizNet network interface on the
+ real MFX card. The windows version of MEMU cannot currently emulate this. While
+ the Linux version can emulate the WizNet, either the program would need to be
+ run as root to be able to open the ports for FTP or HTTP, or the port numbers
+ would need to be re-mapped to high (unprivilaged) values. Command line switches
+ may be ussed to enable this emulation for the Linux version.
The body of the screen is used to provide details:
@@ -389,6 +399,8 @@ Basic Usage
@@ -405,8 +417,8 @@ Typical configuration for CP/M emulation
alt="CP/M Colour Selected, Keyboard: Remapped, Sound: Yes, Files for floppy drives B and C selected">
Disk Images
- MEMU is not able to directly access files stored on the SD card. Instead the files on
- the SD card are binary copies of the contents of CP/M disks. To access the CP/M files on
+
MEMU is not able to directly access files stored by the operating system. Instead the program reads files
+ that are are binary copies of the contents of CP/M disks. To access the CP/M files on
a modern PC you need to use a program which understands the CP/M disk format.
The traditional set of programs for that is cpmtools.
For most Linux distributions they can be installed using the distribution's package manager.
@@ -420,9 +432,9 @@
Disk Images
memotech-type18 - The 8MB format used for silicon disks and modern CF or SD
storage expansions for the Memotech.
- Cpmtools are traditional command line utilities. To make the CP/M images more accessible on modern
- machines, Andy has also developed software whicch enables the CP/M image to be mounted and accessed
- using standard GUI file managers. These are:
+ Cpmtools are traditional command line utilities. To make the CP/M images more accessible
+ on modern machines, Andy has also developed software whicch enables the CP/M image to be
+ mounted and accessed using standard GUI file managers. These are:
- For Microsoft Windows - CP/M Callback Filesystem.
- For Linux - CP/M Filesystem in userspace.
@@ -430,7 +442,13 @@ Disk Images
An empty disk image can be preduced by creating an empty file, mounting it as a disk
in MEMU, then using one of the Memotech utilities to format the drive. Once formatted,
close MEMU and use one of the above tools to copy files into the image.
-
+ For the real CFX-II or MFX interfaces, the CF or SD media can store up to eight
+ images of 8MB CP/M disks. With MEMU, eight separate image files may be specified, one
+ for each of the 8MB CP/M disks. Alternately, a single large file containing a complete
+ image of the storage media may be given as the first file name. The media image may
+ optionally include data for HexTrain beyond the CP/M disk images, and / or include an
+ MBR partition table. With Linux it is even possible to specify a media device containing
+ physical media from a Memotech
Advanced Usage
MEMU configuration is controlled by a large number of option flags or switches. These
may be either in configuration files or specified on the command line.
@@ -522,38 +540,23 @@ Advanced Usage
- specify tracks of second drive (default 80)
- -prn-file file
- specify file to receive printer output
- - file.mtx
- - subsequent LOAD/SAVE/VERIFY "" will use this file
-
- The following options only have any effect for resizeable windows (X-Window or
- Microsoft Windows):
-
- - -vid-win-big,-v
- - Increase the size of the VDP window. Repeat to further enlarge.
- - -vid-win-max
- - VDP window the largest size that will fit on the screen.
- - -mon-win-big,-mw
- - Increase the size of the 80-column display. Repeat to further enlarge.
- - -mon-size
- - Sets the size of the 80-column display (but does not enable it).
- - -mon-win-max
- - Maximises the size of the 80-column display (but does not enable it).
- - -vid-win-title
- - set title for VDP window
- - -vid-win-display
- - set display to use for VDP window
- - -mon-win-title
- - set title for 80 column window
- - -mon-win-display
- - set display to use for 80 column window
- -speed hz
- set CPU speed (default is 4000000, ie: 4MHz. Pico default: 4.8MHz)
+ - file.mtx
+ - subsequent LOAD/SAVE/VERIFY "" will use this file
The following options are supported on the Linux and Microsoft Windows versions:
- -romX file
- - Load banked ROM X image from file
+ - Load banked ROM X image from an 8MB file
+ - -rompairX file
+ - Load banked ROM X and ROM X+1 a 16MB file
+ - -largerom selector file
+ - Optionally load the system ROM (0-8K) and / or any of the banked ROMS (8-16K)
+ specified by the characters (S,0-7) in the selector string from a single 32KB file.
- -vid-win-hw-palette
+ - -mfx
+ - Show the emulated MFX display.
- Use an alternate palette for the emulation of the VDP display.
- -sidisc-huge
- enable Silicon Disk huge mode
@@ -567,6 +570,10 @@ Advanced Usage
- emulate Propeller VGA display (enabled by default for CFX-II)
- -cf-image c:p file
- specify data image for partition (p) on card (c)
+ - -sd-type type
+ - set the type of SD card to emulate (SDv1, SDv2, SDHC)
+ - -sd-image p file
+ - specify image for CP/M drive (p) on SD card
- -no-cfx2 rom_file
- Disable CFX-II emulation but remember the ROM image file name.
- -iobyte iobyte
@@ -629,6 +636,33 @@ Advanced Usage
- file.run
- -iobyte 0x00 -addr 0xAAAA (from header)
+ The following options only have any effect for resizeable windows (X-Window or
+ Microsoft Windows):
+
+ - -vid-win-big,-v
+ - Increase the size of the VDP window. Repeat to further enlarge.
+ - -vid-win-max
+ - VDP window the largest size that will fit on the screen.
+ - -mon-win-big,-mw
+ - Increase the size of the 80-column display. Repeat to further enlarge.
+ - -mon-size N
+ - Sets the size of the 80-column display (but does not enable it).
+ - -mon-win-max
+ - Maximises the size of the 80-column display (but does not enable it).
+ - -mfx-size
+ - Sets the size of the MFX display. Negative values remember the size
+ without enabling the display.
+ - -mfx-max
+ - Show the emulated MFX display using a maximum size window.
+ - -vid-win-title
+ - set title for VDP window
+ - -vid-win-display
+ - set display to use for VDP window
+ - -mon-win-title
+ - set title for 80 column window
+ - -mon-win-display
+ - set display to use for 80 column window
+
The following options are currently for the Linux versions only:
- -serial1-dev dev
diff --git a/docs/memu.css b/docs/memu.css
index fc35559..2bcee5e 100644
--- a/docs/memu.css
+++ b/docs/memu.css
@@ -34,4 +34,5 @@ dt {
margin-left:50px;
margin-top:16px;
}
-dd { margin-left:75px; }
\ No newline at end of file
+dd { margin-left:75px; }
+.todo { color:red; }