"MTX Plus+" ROM
: Offline Storage
Background
Like the majority of home computers of the
day, the original MTX used
compact cassette tape for offline storage, however, it
was not a viable, nor indeed desirable, option for MTXPlus+.
There are a number of formats that could
have been considered for use as the removable media system,
including
SD
card as used in
Andy's REMEMORizer, but, given that Lez had included
Compact
Flash readers in the
parts kits that he donated, this was the logical choice.
In addition, Lez had also included a number of
8255 PPI
(Programmable Peripheral Interface) chips in the kit and
there were proven instances of using the PPI with CF
available on the internet.
Media Format
Ideally, to facilitate the
easy exchange of data between MTXPlus+ and other
systems such as a PC, the media used in the CF reader would have
used a modern standard file system. A common
file system used for removable media is
FAT32, initially, we planned on using
FAT32 for MTXPlus+.
The most convenient way to have MTX BASIC
use the CF interface for file loading and saving was to
modify the existing BASIC tape commands, "LOAD", "SAVE" and
"VERIFY". Martin patched the
existing ROM and added new code in the MTXPlus+
support ROM to control the CF interface from MTX BASIC.
Feature |
FAT 32 (Microsoft) |
Memotech CP/M |
Disk /
Partition maximum size |
32GB |
8MB |
Maximum files in root directory |
No practical limit |
512 |
Sub-directory support |
Yes |
No |
Maximum file size |
4GB |
|
Maximum filename size |
255 |
8.3 |
File Date & Time stamp support |
Yes |
No |
The table compares
features of FAT32 formatted system with the CP/M format used by
Andy's REMEMORIZER, based on the numbers in the table, you
would think that FAT32 was the clear winner. However, the FAT32
implementation on MTXPlus+ was found to be
considerably slower than using the Memotech CP/M format and the
final implementation on MTXPlus+ uses the
latter.
Both the CP/M and SDX
BASIC versions of the original Memotech disk hardware used the
CP/M filing system. As with the original SDX, MTXPlus+,
disk access from BASIC is achieved using USER commands, such as
USER LOAD and USER SAVE.
Memotech Data File Formats
The majority of Memotech MTX software was already available in a
number of different formats, including tape files (".mtx"), sound files (".wav",
".mp3) etc. Andy has a good
explanation of the various file formats on his site, but in
brief, the files are predominantly available in the following types :-
Type |
Description |
.mtx |
a binary copy of an MTX tape file |
.run |
games for the SDX disk system to be
run from MTX Disc BASIC |
.bas |
games for the FDX or SDX disk systems, to
be run from the associated BASIC program |
.com |
games for the FDX or SDX disk CP/M systems to
be run from CP/M |
MTX ROM Modification
(CP/M File Format)
File Naming Convention
The default filename format used by CP/M is
8.3. MTX BASIC allocated
up to 16 characters for tape filenames, we decided that MTXPlus+ would use the 8.3 naming convention and
throw away the additional 4 characters available to MTX
BASIC.
Subdirectories
Subdirectories were not supported by CP/M
2.2 and are therefore not supported on MTXPlus+.
SDX BASIC CF Commands
The additional commands added to SDX BASIC
to support the CF card are shown below
SDX
BASIC File Commands |
Type |
LOAD |
SAVE |
.mtx |
USER MTX "FILENAME.MTX" |
n/a |
.run |
USER RUN "FILENAME.RUN" |
n/a |
.bas |
USER LOAD
"FILENAME[.BAS]" |
USER SAVE
"FILENAME[.BAS]" |
SDX
BASIC Additional Commands |
Directory Listing |
USER DIR ["filespec"] |
Disk
status (Free Space) |
USER STAT |
Display
all SDX CF Commands |
USER HELP |
|