|
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
|
|
The binary file
produced by reading the PAL |
|
The equation file
based on generic signal names, e.g., "PIN1" etc. |
Edited version of filename.txt |
|
Raw signal names
translated to use pin names from the relevant
schematic |
Created by
Logic Friday |
|
The .CSV file created by
Logic Friday |
Created by
PALRD.BAS |
|
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 |
|