Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Commodore 64
Sinclair ZXSpectrum
Memotech MTX
    About
    Library
        Adverts
        Memotech
        Miscellaneous
        Program Code
        Reviews
        Technical

            Component Data

            Data Books
            Data Sheets
            Design Guides
            Tutorials

            MTX Specific

            Firmware
            Tech Notes
    Manuals
    Options
    Photos
    Projects
    Repairs
    Software
    Tools
    User Groups
    Video Wall
Memotech CP/M
Atari ST
Commodore Amiga
PDAs
DEC 3000 AXP
OpenVMS
Raspberry Pi
 

 

 
 
 

The Memotech MTX Series

 

Memotech Firmware

This page was originally intended to be a repository for Memotech System and Application ROMs, but now, thanks to Tony Brewer, that I have the tools to read and decode Memotech PALs, it is more appropriate to call this a Firmware, rather than just a ROMs page.

Most, of the Memotech PAL logic is already available on the Memory Investigation section of Andy's Memotech Hardware web page, the logic equations for the PALs that I have actually read are posted below the ROMs section on this page. If you need the equations for a PAL that I have not listed, and I have the hardware, I can scan the PAL on request, for PALs that I don't have - if you want to send the PAL to me, I can read it for you and send it back.

ROMs

The ROM images on this page are copies of the originals produced by Memotech, Andy Key has made a number of improvements to the SDX and FDX ROMs, you might want to take advantage of Andy's improvements, rather than a like-for-like replacement of the existing ROM. The link to Andy's site shows the modified ROM versions that he has made available.

System / Hardware

The first three files are dumps of the ROMs from a MTX512, these have been floating around the internet for a long time but I have recently discovered that they were first provided by Martin Allcorn.

Martin has recently (July 2014) done a lot of analysis of the ROMs and has concluded that his original naming of them as ASSEM, BASIC and OS was not really accurate - the code is not partitioned as cleanly as that between the ROMs.

The original names are preserved here though, as that is what they are called everywhere else.

MTX Computer - Web files
File Description
MTX Computer "ASSEM" (MTX Assembly Language ROM) (Checksum 0x000D D81F)
MTX Computer "BASIC" (MTX BASIC Language ROM) (Checksum 0x000F 4F53)
MTX Computer "OS" (MTX Operating System ROM) (Checksum 0x000F 988C)

As I mentioned above, Martin has analysed the MTX ROMs in more detail, taking the assembly language listings from Andy's site, tidied up the labels, commented out redundant code etc. The following comments are from Martin's post on Memorum.

"The labels are 99% the same as the listing available from Andy's site, the only changes made were to alter some duplicate names, as this listing is in a single file and remove the "$" that appeared in some labels. The commented out code isn't included.

The source can be compiled with the Zilog ZDS assembler, the Zip file contains the source code, output listing, and linker settings that I used.

The target had to be set to Z180, as the currently available version of ZDS wont target the Z80 any more.

ZDS is available free from the Zilog Download area

The output "ROM" is a single file 24k in length. The first 8k is the "OS ROM", then the "ASSEM ROM" from page 1, and the last 8k is the "BASIC ROM" that sits in ROM Page 0."

Tony Brewer wrote a short program to convert Martin's single source file to M80 format, as used at Memotech. The result assembles and links perfectly using M80 and L80 in CP/M.

Contains source file MTXROM.MAC and listing file MTXROM.PRN (with page breaks and form-feeds removed)

MTX Reverse Engineering
Depending on the system board configuration, MTX computers have a number of different ROM sets fitted, see my MTX Series ROM configuration page for more details.

The most common configuration is probably an MTX 4000-04 computer board fitted with a 16k combined "OS" and "BASIC" ROMs along with an 8k "ASSEM" ROM.

MTX 4000-05/06 computer boards have three ROMs fitted which are typically either TMS 4764 Mask ROMs or ????. There are no compatible EPROMs for 4764 ROMs,  the 4764 footprint does not have a programming pin allocated - the only way to program them was to use a custom mask during fabrication and direct replacement with an EPROM is not possible.

One of my MTX500s has a Series 05 computer board with 4764 ROMs fitted, labeled as "MTX 1A", "MTX1B" and "MTX1C". One of my MTX500s with a German keyboard has 4764 ROMs fitted, labeled as "MTX2A", "MTX2B" and "MTX1C". This MTX500 was faulty when I received it, the fault turned out to be a faulty "B" ROM. During the fault finding and repair process, I built an adapter to allow me to read the 4764 ROMs in my TL866A as an AM2764 EPROM. Using this adapter, I have captured a few of the mask ROMs and included them here.
MTX Computer ROM "MTX1A" from UK MTX500 (Checksum 0x000F 988C)
MTX Computer ROM "MTX1B" from UK MTX500 (Checksum 0x000F 4F53)
MTX Computer ROM "MTX1C" from UK MTX500 (Checksum 0x000D D81F)
MTX Computer ROM "MTX2A" from German MTX500 (Checksum 0x000F 93A5)
MTX Computer ROM "MTX2B" from German MTX500 (Checksum 0x000F 51E6)

MTX Peripherals

MTX Computer "Node" ROM (MTX Node Ring ROM)
#@FDX01-V03 CP/M ROM from FDX, dated 6/4/84 (Checksum C91E) [Boot B03]
#§FDX02-V03 CP/M ROM from FDX, (no date), (Checksum E435) [Boot B03]

CP/M ROM from SDX with FDC05 Disk Controller (Checksum 98E7) [Boot B07]
Non-CP/M ROM from Single Disk FDX (Checksum 7E63) [Disk Type 03]
Non-CP/M ROM from SDX with FDC05 Disk Controller (Checksum 1F97) [Disk Type 07]
MTX 80 Column Board combined ASCII & Graphics ROM (Checksum 0743)
   

Videowall

Video Wall DDFS - The 6 ROMs on the Frame Store Memory Board

This file is password protected

Video Wall  Reflex Controller - The 2 ROMs on the add-on board

This file is password protected

 

Application "Software"

File Description

NewWord ROMs - Courtesy of Peter Kretzschmar (Checksum 32C7, E2EF, BDD4 & 2B46)

HiSoft Pascal ROMs v1.1 (Hex files) - Courtesy of Dick Janssen (Checksum 7ADF & 8D07)

Hi Soft Pascal ROMs v1.1 (Bin files) - Courtesy of Paul Daniels (Checksum 7ADF & 8D07)
  Hi Soft Pascal ROMs v1.2 (Bin files) - On my ROM board (not dumped yet)
  Hi Soft Pascal ROMs v1.3 (Bin files) - Not seen in the wild
Hi Soft Pascal ROMs v1.4 (Bin files) - Courtesy of Paul Smith (Checksum D04A &  DEEC)
   

PALs

Since it is not possible for the PAL Reader / Decoder to automatically determine the names or functions of the individual PAL I/O pins, by default, the program will produce generic equations of the form :

/Output 1 = Input 1   *   /Input 2   *   Input n  . . . .

e.g., /PIN17 = PIN2 * /PIN3 * /PIN4 * /PIN5 * PIN6 * PIN8 * /PIN9 * /PIN12

In this example, the output is a function of a single "AND" term

Using the relevant board circuit diagram to determine the function of the PAL input pins, you can manually translate the equations into the more usual form, such as :

/CE = A13 * /A14 * /A15 * /MREQ * R0 * R1 * /R2 * /RELCPMH

or /READY = /INDISK + /MOTOR

In the second example, the output is a function of the simple "OR" of two inputs

I am in the process of re-reading and analysing the PALs that I have done with a previous version of the software and will update the table below in due course. When completed, each PAL will have a .zip file containing :-

Created by PALRD.COM
  • filename.bin

The binary file produced by reading the PAL
  • filename.txt
The equation file based on generic signal names, e.g., "PIN1" etc.
Edited version of filename.txt
  • filenamex.txt
Raw signal names translated to use pin names from the relevant schematic
Created by Logic Friday
  • filename.CSV
The .CSV file created by Logic Friday
Created by PALRD.BAS
  • filename.EQN
The formatted Logic Friday equation file

For a description of how these file are created see the PAL Reader Software page

 

File

Description

Hyperlinks in this column will display the translated equation file in a new window

  MTX RS232 Card - Memotech original
  MTX RS232 Card  - with REMEMOrizer modifications (Andy Key)
Disables FDX Interface when RS-232 board is used with REMEMORizer
MTX RS232 Card - with CFX modifications (Martin Allcorn)
Disables FDX Interface when RS-232 board is used with CFX
SDX FDC-05 Disk Controller - IC10
SDX FDC-05 Disk Controller - IC11
  MTX500: 4000-04 Board, 16kb+8kb ROMs & 32kb of RAM
  MTX512S2: 4000-04 Board, 16kb+8kb ROMs & 256kb of RAM
  MTX512S2: 4000-04 Board, 16kb+8kb ROMs & 256kb of RAM (From a Video Wall)
   
   
   
 

Planned for reading / analysis

  MTX 32kb Memory Card -
  MTX RS232 Card - FDX Interface Only (no RS232)
  MTX RS232 Card - RS232 Interface Only (no FDX)
  MTX 80 Column / RS232 Card - With RS232 fitted
  MTX 80 Column / RS232 Card - Without RS232 fitted
   
 

Supplied by others

Source

Memotech Speculator - PAL 1 (IC3) - equation file only Tony Brewer
Memotech Speculator - PAL 2 (IC4) - equation file only Tony Brewer
     

Initial version of the equations ( currently being updated )

REMEMOrizer Serial PAL - "Raw" PAL Equations (used for testing)

REMEMOrizer Serial PAL - Verification of "Translated" PAL Equations+

MTX500: 4000-04 Board, 16k+8k ROMs, 32k RAM  "Raw" PAL Equations

MTX500: 4000-04 Board, 16k+8k ROMs, 32k RAM  "Translated" PAL Equations+
  MTX500: 4000-05 Board, 3 x 16k ROMs, 256k RAM "Raw" PAL Equations
  MTX500: 4000-05 Board, 3 x 16k ROMs, 256k RAM Translated "PAL" Equations+
 +Equations translated to correspond to the pin names in the circuit schematic

 

 

 

 

mailto: Webmaster

 Terms & Conditions