Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair Spectrum
Memotech MTX
          80 Column
      Hardware Hacks
      Legacy (1980s)
      PAL Reader
    User Groups
    Video Wall
Memotech CP/M
Atari ST
DEC 3000 AXP
Raspberry Pi



The Memotech MTX Series

Memotech Compact Flash System - Version 2


(Under Construction !)

MTX CFX Boot Screen

CF Card Directory

 one ?)


CFX-II is a development of CFX, which itself was spin-off of the Compact Flash storage system developed for MTXPlus+, our modern day, fully compatible, MTX "super computer". For full details of the development and features of CFX, see the CFX project page.

CFX-II started life as SFX, see the now redundant SFX page for the background. As the design progressed, it became clear that we were really working on an enhanced CFX, rather than a completely new idea, so the SFX name was dropped and we decided to rebadge the new design as CFX-II.


Changes from CFX Version 1

The Compact Flash interface in MTXPlus+ and CFX uses two of the 8-bit ports of an 82C55 PPI to facilitate 16 bit access to the IDE interface. As well as supporting Compact Flash cards, this interface would theoretically also allow hard drives or optical drives to be used, however, the use of those types of devices is unlikely to have any practical use on a 4MHz MTX.

It is possible to use the Compact Flash in 8 bit mode which does not require the 82C55, Martin did some testing in 8-bit mode and found that the data transfer rate was actually about twice as fast as 16 bit mode. We decided to use 8-bit mode for CFX-II which would be faster than CFX and reduce the component footprint, at the expense of 16 bit compatibility.

While SFX was still at the concept stage, a couple of other enhancements were added. Martin and I had been discussing the non-Memotech Silicon Disk that was present in one of my FDXs and decided that adding a Silicon Disk to SFX was feasible. In addition, during Memofest 2016, Bill Brendling had demonstrated an 80 Column card add on for CFX based on the Parallax Propeller. Bill's 80 column modification has been added to CFX-II.

One of the limitations of using CFX on a 32k MTX500 was the inability to run CP/M, as the operating system needs 64k of RAM. This was also the case with Memotech's SDX and FDX disk systems which only ran on MTX512 and above computers. Since it was relatively straightforward to add a 32k "skinny" DIP RAM to the CFX-II board, this change was also included.

As with CFX, CFX-II is self contained - it does not require any modifications to the MTX motherboard ROMs. 



CFX-II comprises of :

  • An SSTSF010 128 kB x 8 CMOS Flash holding the CP/M, SDX and support ROM images

  • A 512 kB CMOS SRAM for the Silicon Disc (optional)

  • A 32kb RAM in a narrow DIP package for the 32k to 64k MTX memory expansion (optional)

  • A Parallax Propeller Microcontroller Unit (MCU) for the 80 Column board hardware

  • A serial EPROM storing the executable code for the Propeller chip

  • A Programmable Logic Device (CPLD) incorporating all of the glue logic previously done in 74LS logic

  • JTAG Programming port for the CPLD

  • Programming interface for the serial EPROM

  • VGA Connector (external version) or Pin header (internal version)


I/O Port Range

In Memotech's original design, I/O ports below 20h can be provided by the motherboard and internal/external add-ons. Ports 20 and above were to be provided from within the FDX, the SDX ROM used ports 10h to 14h.

As with MAGROM, I wanted the flexibility to be able to mount CFX internally, thus board space is at a premium. In Version 1 of CFX, the glue logic was done using 74 series components and with the small number of logic gates that it was possible to fit into the footprint, the range of I/O decode lines was very limited, so Version 1 used Z80 I/O ports 6Ch to 6Fh. This port range was not used by Memotech and is shown as available on Andy Key's list of I/O ports used by Memotech and for modern day add-ons1.

In Version 2 of CFX, the glue logic is done in an Altera MAX7000 CPLD, although all of the address lines are connected to the CPLD and the full range of Z80 I/O ports could be decoded, the I/O port range has been maintained for compatibility reasons.

Since the emulation of the 80 column card is done using different display hardware than Memotech used in the FDX/SDX display controllers (Motorola 6845) and the ROM needed to be changed to support the new hardware, there was no advantage in retaining the original 80 column card I/O port assignments () so ports 60h and 61h are used to interface with the Parallax Propeller.

PCB Dimensions

As well as the depth constraint, there is also a limit to the width of an internal board if it is to be compatible with the existing range of MTX expansion boards, RAM, ROM, and the RS-232/FDX interface board (using only the RS232 ports).

Each of these boards was half the width of the expansion card area, i.e., up to two expansion cards could be installed internally. (A combined 80-column/RS-232 board, taking up the full width of the expansion card area was released later but is not relevant to this discussion, since it was meant to support Memotech's own disk based CP/M add-on using a disk interface connected the the cartridge port on the left hand side of the case. If you have one of those, you probably don't need CFX-II.

The Version 1 CFX PCB was narrow enough that edge connectors could be installed on both sides of the board and it could be switched between internal and external mounting at will - even if a Memotech memory board was installed. With the increased component footprint of CFX-II, this would no longer have been possible. If a Memotech memory board is installed, the CFX-II PCB could not have had the right hand side edge connector fitted without removing the MTX computer side plate. In most cases, this is not likely to be a problem as the Memotech memory board could be removed. It would only be a problem if the Memotech memory board could not be removed if it were soldered in.

The other space constraint on the CFX PCB was driven by the price points set by the PCB manufacturers that I use in China. There is a price break at 100mm x 100mm and the cost of CFX is minimised if I keep the PCB size below this limit. Meeting this target with the increased complexity of CFX-II proved to be a real challenge, both to my component layout "skills" and the track auto-router that I use. The only way that I could keep to this PCB size limit was to remove the second edge connector, meaning that the standard fit for CFX-II will be external only.

However, based on the problem that I accidentally introduced with Version 1.1 of the MAGROM PCB and the convenient solution suggested by Martin, this isn't actually a barrier to installing the PCB internally. Although the board would not be reversible, depending on how the edge connector is fitted to the PCB, the board can be installed either externally or internally.


The CFX-II ROM provides versions of both the MTX SDX BASIC ROM and a CP/M ROM based on the original Memotech CP/M ROM with 80 Column Card support. See the CFX-II firmware page for full details.


Version 0.3 of the provisional SFX design, incorporating a 32kB RAM, RTC, 82C55, 2 x GALs for I/O and Memory decode logic and 512kB Flash memory.

The Flash was intended to hold the SFX System, CP/M and SDX ROMs, with the remaining 480kB originally intended to be used to store MAGROM game files.
Martin's V0.3 prototype board
Solder side of the V0.3 prototype board
The prototype board running an early version of the SFX ROM.

The screen shows the RTC working and the system seeing the additional 32K of RAM - in this case, the board in plugged into a 64K MTX, giving 96K total RAM.

This was as far as the proposed SFX got before Bill showed off his 80 Column card board at Memofest 2016.
With Bill's input, the functionality of the board has now been expanded to include VGA output from an emulated 80 Column board. In addition, Silicon Disc functionality has been added.

As you can see from Martin's draft V0.6 layout, the component footprint has increased, which led us to drop the RTC from the scope of SFX to save board space.
Martin's partially completed prototype V0.6 board, now taking up around 70% of a Eurocard size prototype board and does not include the 32kb RAM addition.
Fully assembled prototype, powered on and working !

As you can see, there are significantly more components on the board than CFX, but I am still hopeful that the final PCB will be suitable for both internal and external mounting.

This will probably mean mounting some components on the underside of the board so that the portion of the board in the shallowest part of the MTX case can be used too.
Solder side of the prototype board
The output from the prototype board, showing the boot screen output from the MTX monitor output and test output from the 80 column screen on a VGA monitor.
Close up of the 80 column output with the screen filled with 80 column text, displayed on the VGA monitor.
Initial test of the 80 Column output under CP/M using the SFX CP/M BIOS and a very basic driver for the Propeller hardware.
More development of the CP/M driver - now with colour!

Mimicking the colour boot screen that would be seen on an FDX with colour monitor.
Screenshot showing colour NewWord running from CP/M.

At this point, the 80 Column Escape codes have not been implemented, so scrolling does not work, but the screen display looks good.
When, thanks to the hard work of Martin and Bill, CFX-II got to this stage, I started to think about building my own prototype, with the addition of the 32kb RAM expansion and using a CPLD, rather than 74 series components for the glue logic.

Despite having had lots more practice, my soldering "skills" are still not great and the thought of wiring up another complex prototype board did not really appeal to me though. When I saw that my PCB manufacturer had a bit of a sale on and that I could get a small run of boards made pretty cheaply, I decided to take a chance and get a few boards made based on Martin's prototype with a few, hopefully, low risk modifications added.
I took Martin's design and replaced the 74 series logic components with an Altera MAX 7000 CPLD and added a 32kb CMOS RAM in a skinny DIP package to enable the board to provide the necessary RAM upgrade to allow a MTX 500 to run CP/M.
The second edge connector included in CFX Version 1 was removed to meet the size constraints described earlier.

CFX Version 1 had all of the components squeezed into the top 2/3 of the board to allow the PCB to fit underneath the MTX keyboard when it was mounted internally.

The increased component count for Version 2 means that this is no longer possible but the PCB should fit internally if mounted upside down as has been done with the MAGROM Version 1.1 PCB.
The KiCad 3D view of the PCB showing how the board would look when configured for connection to J10, the MTX expansion connector on the left side of the case.

In this configuration, the edge connector would be mounted below the PCB and a standard 15-pin "D" type VGA socket installed to connect to the monitor.

Pin headers are included for cabled connections for the VGA monitor, CPLD JTAG connector and a programming connector for the serial EPROM.

Not shown are the 18 through hole resistors mounted inside the 40 pin propeller socket.
The size of the Memotech option ROMs was 8kBytes, for CFX we need space for the SDX and CP/M ROMs, i.e., 16kBytes in two 8kByte "pages". Address lines A0 to A12 can address 0 to 8191d locations, and A13 allows a second block of 8kB to be addressed. In CFX, the Page Port R0 line is used to select the appropriate ROM page.

CFX was designed to use Flash storage, although only 16kB is used, larger devices can be used if available.
CFX can also use EPROMs provided that it is acceptable for the programming voltage on Pin 1 to be 0v in normal operation.

A selection of compatible Flash and EPROM devices are shown in the table - the component datasheets are available by clicking on the hyperlinks.
Device Type
SST39SF0?0 ???k x 8 Flash
W29C020C 256k x 8 Flash
W27C010 128k x 8 EPROM
W27E010 128k x 8 EPROM






I shall shortly be taking orders for CFX-II, please send me an e-mail if you are interested in buying one. The price is £tbc, including Postage & Packing to the UK, plus any applicable payment fees, e.g., Paypal (unless you pay the fee).


The standard build of CFX-II is for external mounting, if you want to mount CFX internally, please check that you have adequate space inside the MTX, please contact me for advice if you are unsure. The internal option requires that the edge connector is mounted the other way up from the external version, this decision must be made at build time. You will also need a short IDE extension cable, there will be an extra charge of £4.00 for an internally mountable CFX (to cover the cost of the cable), depending on the configuration of your MTX, the CF card reader may be inside or outside the MTX case.




Note : For your convenience, I will include a selection of MTX software on the CF card, for the avoidance of doubt - you are not paying for this software. Although the majority of the included software is still under copyright, it is freely available in various places on the Web, including my software download pages.


Although it is extremely unlikely that the copyright holders, even if they are still around, would want to assert their rights to the software, it should not be distributed for profit. The price of CFX covers the cost of design, manufacturing and assembly of the hardware only.


Please also note that, although the CF card contains a large number of programs, although the majority will, not all programs will run on the system, there are no guarantees with the software ! Although I have tried much of the software, there are many items that have not been tested, I have put together a "rough 'n' ready" list of what is on the first partition, if you can share your experiences, I will update the spreadsheet.


Although CF Cards are relatively cheap, they are not as common as SD cards and usually require an external reader to be used with a PC. Many PCs have built-in SD card readers, so for more convenient file transfer, I can supply a CF to SD card adapter and an SD card instead of a CF Flash card for an additional £8.50.


First Production Run (tba)
Board Rev Firmware+ Serial Connector Configuration, Feedback


Shipping address UK unless otherwise noted (by Country Code)
For firmware upgrades, see here





1 Andy Key's Memotech Hardware page

2 Que Publishing, Upgrading and Repairing PCs, 21st Edition, ISBN-13: 978-0-7897-5000-6. Sample Chapter : The ATA/IDE Interface

mailto: Webmaster

 Terms & Conditions