|
The Memotech MTX Series |
|
Memotech Multi-Function Expansion System
MFX Firmware
one ?)
Introduction
This page is the repository for the
firmware and custom software programs used by the Memotech Multi
Function Expansion board, MFX. The PCB includes
-
A GAL22V10 that performs ROM and RAM
decoding
-
A 128kB Flash ROM that contains the
Z80 compatible system ROM functions
-
An Altera Cyclone II EP2C5T144C8N
FPGA that contains the VGA drivers and other custom
functions
(Some) source files are provided for
reference, only the object files are actually required to
perform the upgrades.
Firmware
The GAL code is unlikely to change during
the life of the product. The code references the hardwired
connections to the MTX page port, some Z80 control signals (/RD
and /MREQ), the configuration jumpers and the high order bits of
the address bus. Unless an error in the paging logic comes to
light, there should be no requirement to update the GAL. The GAL
object files are JED files produced in
MicroChip's
PLD programming application,
WINCUPL.
Version 2.0 is the default version and is
applicable to the vast majority of MFX users, Versions 2.1 and
2.2 were created for specific usage cases.
Download |
GAL Program |
Version |
Source |
Object |
Build |
Date |
|
|
Initial
release |
1.0 |
26/03/22 |
|
|
Corrects
a problem with the RAM paging logic |
2.0 (F) |
29/07/22 |
|
|
MAGROM v1.1 compatibility - reduces available RAM to
384k |
2.1 (F) |
17/02/24 |
|
|
For computers with failed or missing on board RAM - see readme.txt
in the Zip file for details (Optional GAL16V8 code to
replace the on board MTX PAL for 0k. Currently
only supports 4000-05/06 3 ROM MTX computer boards) |
2.2 (H) |
14/10/24 |
|
|
The Flash ROM contains some enhancements to the SDX ROM.
It is possible that some minor additional features could be
added or errors discovered in the current ROM code. Should
either of these occur, the ROM will likely be updated and made
available for download on this page. Provided that the user has
a suitable EPROM programmer, updating the ROM should be a
trivial task, however, updated ROMs will be available for
upgrade or purchase through the link at the bottom of the page.
Download |
ROM Image |
Version |
Source |
Object |
Build |
Date |
n/a |
|
Development |
117 |
16/06/22 |
n/a |
|
Initial
release - for use with SD cards 1GB or smaller |
134 |
11/07/22 |
n/a |
|
Beta
version - adds limited support for SDHC cards
[Larger
capacity SD/SDHC cards are now supported, but the
maximum useable space (~270MB) is unchanged.]
Note: In this release, Hextrain can
only be run from SD (not SDHC) card(Do not use :
Replaced by Build 167) |
166 |
25/09/22 |
n/a |
|
Updated
beta version - corrects bug in USER VGA introduced in
Build 166 (Now considered stable) Bill has now modified Hextrain to be able
to use both SD and SD/HC cards. Bill's version,
including sources and executables are
available in this
archive, or the SD executable is available below. |
167 |
29/09/22 |
After Build
167, the version numbering was changed to make it easier
to keep track of changes when multiple developers (i.e.,
Martin and Bill) were working on the code. The version
number is now shown as the build time and date, e.g.,
21:30 29 Sep 2023 on the MFX startup screen. |
n/a |
|
Adds support for SD cards partitioned in the
PC sense, i.e., the CP/M "partitions" (disk images) and
HEXTRAIN data file are saved to an area of the card with
a
Partition ID of 52 (CP/M). The remainder of the card
can now he configured as a FAT32 partition for use with
a PC. Bill added this functionality and wrote a CP/M
utility (fatcopy.com) that
allows MFX to transfer files between the CP/M "disks"
and the FAT partition. This enhancement does NOT
require an update to the FPGA. However, the ROM also
supports commands to enable additional video modes that
Bill added to the FPGA. Usage of these commands does
need the updated FPGA version described below. These
functions are described in versions of the
Operator's Manual 1.2 and greater. |
13:15 |
14/01/24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The FGPA is mounted on a small development board
piggy-backed on top of the MFX PCB. The FPGA contains the VGA
and SD card drivers and other custom functions. It is possible
that some minor additional features could be added or errors
discovered in the current FPGA code. Should either of these
occur, the FPGA code will likely be updated and made available
for download on this page.
Upgrading of the FPGA code is
a slightly more complex task than upgrading the ROM, it requires
that the user has a copy of the Altera Quartus II design suite
(a free version is available) and a suitable device programmer
(under £10 from eBay, even cheaper from Aliexpress). Due to the
orientation of the FPGA development board, it would need to be
removed from the MFX PCB in order to perform the upgrade. It may
be that the best way for the user to access an updated FPGA code
version is to return the FPGA module to me to upgrade. There
would be no charge for this, other than for the cost of return
postage.
The FPGA binary includes a serial number
generated at compile time which includes the owner's initials
and a unique serial number. To keep these serial numbers
accurate, generic downloads of the FPGA code are not available
but I will generate an updated file for you on request.
Alternatively, you can return the FPGA board for upgrade as
described above.
For MFXs shipped with ROM version
14/01/24 or later, the accompanying SD card includes a FAT32
partition which holds copies of the FPGA object file and the MFX
CP/M image.
Download |
FPGA Code |
Version |
Source |
Object |
Build |
Date |
n/a |
|
Initial release (ASP .pof file) |
01-00 |
17/07/22 |
n/a |
|
Corrects
an error in the shadow Page Port logic. Only affects
boards with serial numbers below xx-10, and even then,
most users will be unaffected by this issue. |
01-01 |
27/10/22 |
n/a |
|
Adds
additional video modes and functions contributed by Bill
These functions are all described in versions of the
Operator's Manual 1.2 and greater. (See the notes
above on how existing users can get their MFX upgraded
to this firmware revision.) |
02-05 |
11/01/24 |
n/a |
|
Unreleased beta version for
aborted Cyclone IV EP4CE6 board
(further details available shortly) |
03-10 |
21/02/24 |
|
|
|
|
|
|
|
|
|
|
Software
The programs below provide support for the non-standard
features of MFX, including the WIZnet Ethernet module and
various other support programs. These programs were kindly
developed by Bill Brendling and are described in more detail in
the MFX Operator's Guide..
Download |
Description |
Version |
Source |
Object |
Build |
Date |
in zip |
|
cpmvdp.com
- Start .com games from CP/M
Puts the VGA screen into VDP mode before starting the
game. Usage "cpmvdp filename.com" |
1.0 |
18/06/22 |
in zip |
|
ftpd.com -
File Transfer Protocol Daemon (MFX ftp host)
httpd.com - Http Daemon (MFX
web server) (Do not use :
Replaced by Build 230307) |
220530 |
30/05/22 |
in zip |
|
Updated
ftpd and httpd to accept command line options to specify
the default web server index filename (httpd only) and
log file name
switch |
meaning |
example |
default |
-h |
index
file name |
-h index.htm |
index.htm |
-l |
log
file name |
-l ftpd.log |
(none) |
|
230307 |
07/03/23 |
|
|
htsd.com
- Hextrain for MFX with SD and SDHC Cards |
211001 |
01/10/22 |
n/a |
|
htes.com - Run HEXTRAIN using Bill's
Enhanced Storage ABI. A ROM version of January 2024
or later is required to implement these functions. |
231210 |
10/12/23 |
|
|
fatcopy.com - Transfer files between
the CP/M and FAT partitions. A ROM version of
January 2024 or later is required to implement these functions. |
240114 |
14/01/24 |
|
|
|
|
|
Other
The MTX language ROMs do not
provide support for country specific keyboard layouts such as
AZERTY (France) and QWERTZ (Germany), meaning that the keys
typed are interpreted by the CP/M keyboard drivers as their UK
equivalents. Martin has taken the key mapping from the German
language ROM and created a small program to patch CP/M for the
German language keyboard layout.
It should be possible
to do the same for other language variants, please email if you
need this functionality to be added for your keyboard language.
Download |
Description |
Version |
Source |
Object |
Build |
Date |
n/a |
|
german.com
- patches CP/M for the German keyboard layout (QWERTZ).
Run at startup, or add to the startup
command string. |
1.0 |
20/10/23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Download |
|
Version |
Source |
Object |
Build |
Date |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|