Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair Spectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
      CFX
      Hardware Hacks
      Legacy (1980s)
      MAGROM
      MFX
          Intro
          Design
          Engineering
              Changes
          Firmware
          Orders
          Support
      MTXPlus+
      PAL Reader
      Programmers
      ReMemotech
      ReMemorizer
      SDX
      SFX
    Repairs
    Software
    Tools
    User Groups
    Video Wall
Memotech CP/M
Atari ST
PDAs
DEC 3000 AXP
OpenVMS
Raspberry Pi

 

 
 
 

The Memotech MTX Series

Memotech Multi-Function Expansion System

MFX Firmware



 
MTX CFX Boot Screen



 
CF Card Directory

 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
         
         
         
         
         
         











 

mailto: Webmaster

 Terms & Conditions