Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair Spectrum
Memotech MTX
    About
    Library
    Manuals
    Options
    Photos
    Projects
      CFX
          80 Column
          CFX-II
              Firmware
          CFX-III
          Special Fit
      Hardware Hacks
      Legacy (1980s)
      MAGROM
      MTXPlus+
      PAL Reader
      PC Keyboard I/F
      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 Compact Flash System - Version 2

CFX - II Firmware





 
MTX CFX Boot Screen





 
CF Card Directory

 one ?)

Firmware

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.

The video display from the SDX BASIC ROM is generated by the MTX VDP, with output through the MTX TV and Video connectors.

The video display from the CP/M ROM is generated by the Parallax Propeller on the CFX-II board, with output through the VGA connector on the CFX-II PCB. Bill has documented Version 2 of his Parallax Propeller firmware in this file.

 

MTX SDX BASIC ROM

The Memotech SDX BASIC ROM added disk functions to MTX BASIC through USER commands, such as USER LOAD, USER SAVE, etc. These commands loaded and saved files in Memotech's .BAS format. Andy describes the structure of .BAS files on the formats page in the MEMU section of his Memotech site.

The same page also describes the structure of .RUN files, Memotech supplied some games in this format for systems with the SDX ROM. They were executed by the USER RUN command from BASIC.

These days, the majority of Memotech software is available in .mtx files, described by Andy as "disk files containing the same bytes, in the same order, as would be found on an MTX cassette tape." These files are used by most emulators, including MEMU and hardware enhancements such as REMEMOrizer but were not supported by the original SDX. Given the prevalence of .mtx files in the Memotech software library, Martin has added a USER MTX command to the SDX ROM in CFX to support loading of .mtx files from SDX BASIC.

 

CP/M ROM

CFX Version 1 used a copy of Andy's SCPM ROM that was written to enable CP/M to run on a Memotech computer without the need for an 80-Column card, the MTX VDP was used to generate a low quality 56 column text mode. Andy also patched NewWord to run in this 56 column mode. The SCPM ROM was eventually used in Memotech's Video Wall product.

CFX-II  includes an emulation of the Memotech 80 column card and generates full colour 80 Column output to a VGA monitor. MTX BASIC and games output is still through the original Memotech video output port.

As with CFX Version 1, CFX-II CP/M mode does has a significant speed advantage over SDX mode in certain cases. Due to the way that the CFX "disk" code works, program loading from SDX BASIC takes considerably longer than loading a comparable program from CP/M, for example, TURBO.RUN takes 4.6 seconds to load in CFX SDX mode, while TURBO.COM is near instantaneous from CFX CP/M mode.

 

CFX ROM Selection

Since CFX can co-exist with MAGROM and also has two different ROM images available, there has to be a mechanism for selecting the appropriate ROM to call when the MTX is powered on or reset. The MTX OS ROM checks for the presence of option ROMs in sequence, e.g., ROM 4, ROM 5, ROM 7, the CFX CP/M ROM is implemented as ROM 4.

After power on or reset, the MTX will boot from the CFX ROM, display the CFX splash screen and check for the presence of a "disk" (CF Card) in the card slot.

If a card can be read, the other boot time options are displayed for information and the user prompted to "Press <RET> to enter SDX BASIC".
If the "drive" cannot be read within the configured time-out period (currently ~15 seconds), a warning message is displayed and the remainder of the splash screen is displayed.

Pressing the <RET> key will enter SDX BASIC, albeit that there will be no "disk" available unless the CF card hardware is present and a card is inserted.
Selecting "I" from the boot screen brings up a helpful crib sheet showing the additional commands available from SDX BASIC.

Pressing <RET> continues to SDX BASIC
The boot time options are :-
Key combination (Reset + < key >) Mode
<C> CFX - SDX CP/M
<M> MTX - no CFX or MAGROM support
<space> MAGROM
(none) CFX Boot ROM - displays Splash screen
  [   <RET> enters CFX - SDX BASIC   ]
  [   < I >   Displays SDX USER crib sheet ]
   
As a result of the ROM processing order noted earlier, there are a couple of incidental effects that can be used when hitting <RET> to exit the boot screen :-
   
<space> + <RET> boots MAGROM
<space> + <alpha key> boots MAGROM and loads the game found in the slot matching the key pressed, e.g., "0" would load Agrovator

CP/M 
Output from the emulated 80 column board displayed on a VGA monitor.

Propeller Firmware

The Propeller starts up in a colour mode, compatible with the MTX 80 column card using colour output, but can be switched to two alternative modes :

  • Compatible with the MTX 80 column card using monochrome output, or

  • An enhanced colour mode, providing the full capabilities of the Propeller card

The following character sequences (escape codes) are used to switch between modes:
Character Sequence Mode Selected
0x1B, 0x9C MTX 80 Column Card Colour compatible mode
0x1B, 0x9D MTX 80 Column Card Monochrome compatible mode 
0x1B, 0x9E Enhanced mode

Bill has fully documented the features of his Propeller firmware in this file.


Source Code
The CFX-II Boot PROM source code.

The Z80 assembly is for Martin's home-brew assembler that uses BBC style labeling. The Assembler is in the form of a zipped ARCFS archive. Read the "instructions" file for more details and restrictions on its use.

02/04/2018 : Build 278

Instructions
The code
Assembler 
Assembler
output
01/07/2019 - Alternative Assembler Available

Until recently, the source code for the firmware in our Memotech hardware projects could only be assembled without modification if Martin's assembler was used. The assembler was written under BBC BASIC for RISCOS which meant that very few people were in a position to assemble the code themselves. Bill Brendling has released a new Z80 assembler written in Python that supports a number of formats, including Martin's assembler format. Bill's program is available for download here.

 

Change Log - Firmware
NB: For CFX Version 2.0 Only !

For upgrades to CFX Version 1, see this page
CFX-II Boot PROM

binary

source Version Comment
  Build 278
       
Parallax Propeller Source Code
n/a 171112 Includes source and EPROM Object files
       
Parallax Propeller Boot Serial EPROM
n/a (10) EPROM Object file
       
 
Upgrades
If the firmware in your CFX is not at the latest version shown above and you have an EPROM programmer, you can download the latest firmware and upgrade CFX yourself. If you would like an upgrade to the latest firmware but do not have the means to do the upgrade yourself, I will do it for you for no charge, other than the cost of postage. Drop me an e-mail if you need this done.

 

 

Change Log - Hardware

1.0

First production board, committed to manufacturing, 21/02/2017

   

 

 

 

 

 

 

 

 

References:

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