Computers Overview
Commodore PET
Sinclair ZX80
Sinclair ZX81
BBC Micro
Sinclair Spectrum
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

 

Transferring Files Between Memotech Disks and PC

A
or

B

?

Background

I am in the process of going through my old Memotech CP/M disks and as I am doing so, I am finding files that I would like to copy to my PC, as there are no Windows applications that can read Memotech formatted disks or images at file level, this is not straightforward. I have made a few notes here on how I am doing it - it may be useful too others. Alternatively, if you know of a better way - please share it. All of this information is already available elsewhere, I have just pulled some bits together on one page.

Intuitively, you would think that option "B" above would be easier than option "A" - surely, it is easier to transfer files to a modern, all-singing-all-dancing-PC than a vintage IBM? Actually, the reverse is true, modern PCs are no longer supplied with floppy disk drives, and those that were, did not support reading and writing CP/M formatted disks under Windows. In the "old" days, when DOS was king!, things were actually a little easier than they are now. Some DOS based tools, such as Teledisk, could do direct I/O with the PC floppy disk controller, unfortunately, replacement of traditional floppy disk controllers in PCs with USB devices has put and end to that.

 

.Getting the file onto the PC

There are a few options for doing this, you can even use RS232 - if your MTX and PC both have RS232 ports, but I bought an HxC SD Card Floppy Disk Emulator for use with my FDX and SDX, the emulator behaves like another 1 or 2 floppy disk drives, with floppy disk images stored on an SD Card. As well as being faster and more reliable "disk drives", the HxC makes it easy to copy the contents of my old Memotech Type 03 and 07 (and others if I had any) disks to PC. Using the FDX is slightly more convenient, as it supports up to four floppy drives, whereas the SDX only supports two, particularly if the original disks are on a mixture of formats.

 

HxC Image Portability

The HxC uses a FAT32 formatted SD Card, so the emulated floppy image(s) (".hfe" files) can easily be copied off the SD card onto the PC. The default file format used by the HxC is ".hfe", a custom file format written by Jeff (Jean-François Del Nero) for the emulator, it is openly available and details can be found in the HxC file format document. This format is only used by the HxC floppy disk drive emulator so the image files are only directly useable by people with HxC hardware. However, the HxC PC software can be used to convert images between various other formats, including Teledisk and ImageDisk. Teledisk was widely used to create floppy disk images and some Memotech disk images are already available in Teledisk (.td0) format, but Teledisk is not free software and its current status is a bit of a grey area, in any event, the HxC software can import, but not export disk images in Teledisk format. It can though, import and export images in ImageDisk (.imd) format, written by Dave Dunfield, ImageDisk is Freeware.

There are also advantages in using ImageDisk (or Teledisk) format for archiving or exchanging files, the HxC format does not use any form of compression, and even a Memotech Type 07 (620kb) system disk image is almost 2 megabytes in size. The ImageDisk file format compresses the same image down to 213kb - around 10% of the size of the .hfe file. Of course, the .hfe image can also be compressed with WinZip etc., which brings the image size down to around 183kb.

The HxC Floppy Disk Emulator software can also read/write files in RAW data format, i.e., the data bytes as they are written on the disk, this means that it is also compatible with Andy Key's MFLOPPY format which other Memotech owners may already be using. A RAW image is required for use with cpmtools (described below).

 

Disk image file level access

The HxC is a great add-on for my FDX (and SDX) disk systems, but the obvious restriction is that the PC software can only create, read and write complete disk images. For more common formats, such as for the PC, the PC software can work with the "disk" at file level - creating, browsing and exporting new "disks" as required.

Similar functionality for the Memotech disk format is not available in the HxC software, and as there is nothing like that available for Memotech users under Windows so we need to use low level disk manipulation tools like "dd" and "cpmtools", you can obtain these tools from the links shown, or from my MTX Tools page. The "cpmtools" web page provides full instructions on the use of the tools.

 

Cpmtools

"Cpmtools is a suite of command line utilities which allow access to CP/M file systems. It is available on many platforms. This document is targeted at the use of the cpmtools Win32 executables at the Windows command prompt by Windows users who know how to use command line utilities and disk images and who may not wish to create cpmtools executables from source code... just to use them." (from http://www.cpm8680.com/cpmtools/index.htm).

Cpmtools can work with images in a variety of different CP/M disk formats, with the different formats being described in a .def(inition) file. Andy has created a disk definition file for various Memotech formats, including Type 03 and Type 07, originally, for use with his MFLOPPY program, you can find a copy in his MFLOPPY archive, or on my Tools page. The contents of this file should be appended to the default diskdefs file in the cpmtools distribution, or you can just replace the original file if you are only going to use Memotech format disks.

The most often used components of cpmtools are :-

cpmchattr change file attributes on CP/M files
cpmchmod change file mode on CP/M files
cpmcp copy files from and to CP/M disks
cpmls list sorted contents of directory
cpmrm remove files on CP/M disks
For help with usage of these command, follow the links cpmtools

For copying individual files to and from Memotech disk images, cpmcp is the tool to use, assuming all the file are in the current directory, at its simplest, cpmcp is executed as shown :-

cpmcp

cpmcp -f [format] image user:file file Copy file from the CP/M image
cpmcp -f [format] image file user:file Copy file to the CP/M image
where -f specifies the format of the disk image, e.g., memotech-type07 (defined in diskdefs)
  image specifies the image file to target, e.g., sys.raw
  user:file specifies the CP/M user area and file, e.g., 0:source.txt (default user is 0)
  file specifies the PC file, e.g., dest.txt

e.g., cpmcp -f memotech-type07 system.raw 0:contact.doc contact.doc

will copy the file "contact.doc" from User area 0 of the system.raw image to contact.doc on the PC

e.g., cpmcp -f memotech-type07 system.raw contact.doc 0:contact.doc

will copy the file "contact.doc" from the PC to contact.doc to User area 0 of the system.raw image

For a complete description, follow the link to cpmcp on the cpmtools web site

That's it - single files can be copied too and from Memotech formatted disks, it's obviously not as convenient as a "drag & drop" user interface under Windows - but it works.

 

Cpmcbfs

To make it simpler to exchange files between a PC running Microsoft Windows and a CP/M formatted removable media card, Andy developed his CP/M Callback File System (cpmcbfs). Like its Linux counterpart (cpmfuse), cpmcbfs is combined with cpmtools and allows a CP/M file system to be mounted by the Operating System and used to easily transfer files between them using GUI tools such as Drag and Drop.

For detailed descriptions of cpmcbfs and cpmfuse, refer to Andy's Memotech site, some brief usage notes for cpmcbfs are included below :

Installation

The program requires the installation of a driver into Windows with Administrator rights on the PC. Assuming that cpmcbfs is installed in c:\cpmcbfs, open an elevated privilege command prompt by "right clicking" on the "Command Prompt" Start menu item and select "Run as Administrator"
Log on to the cpmcbfs installation directory cd c:\cpmcbfs
Install the Driver cpmcbfs --install
Reboot the PC  
   
Usage :    cpmcbfs [flags] flags
   
format (default %CPMTOOLSFMT% or memotech-type18)  -f,--format format
 image (must be specified) -i,--image image
 CP/M user (default 0) -u,--user user
 toggle case to match what CP/M uses -v,--invert-case
 mount as drive d: (default Z:) -d,--drive d:
 read only access -r,--read-only
 install the cbfs driver (requires Administrator rights) --install
 uninstall the cbfs driver (requires Administrator rights) --uninstall
is the driver installed and running ? --status
   
Examples  
cpmcbfs -f memotech-type18 -i sddisc.bin -v
cpmcbfs -f memotech-type18 -i sddisc.bin -v -d m:  


Using Removable Media with cpmcbfs

There are a number modern disk drive replacements for MTX computers, including Andy's REMEMOrizer and Martin and I's CFX, which use SD Card or Compact Flash memory cards. In most cases, the media must be formatted in one of the Memotech or Andy's enhanced Memotech formats, rather than FAT or FAT32 etc.

cpmcbfs allows you to read and write the removable media installed in a card reader attached to the PC

NB: The following procedures perform low level writes to the target, be sure that you know that you are writing to the correct device before you execute any of these commands !!!

To identify the removable drive that you are going to use, you can use the cpmcbfs -i switch, specifying "?" as the image name. If you do this before and after you connect your removable media device, you will be able to tell which device that you should target.


In this example, one physical drive has been identified, along with the three logical drives (C:, E: and Q:) present on it.


After the removable media drive has been connected, a new physical and logical device are reported, you can use the physical drive identifier when specifying the "image" name in cpmcbfs.

e.g. c:pmcbfs -i \\.\PhysicalDrive1 [-f memotech-type18] -v -d m:  to access the first partition
e.g. c:pmcbfs -i \\.\PhysicalDrive1  -f memotech-type19 -v -d m:   to access the second partition, etc.

You can now read & write the removable media using Windows Explorer etc.

mailto: Webmaster

 Terms & Conditions