Page 1 of 2

Memotech CP/M System Sizes

Posted: 17 Apr 2018 19:04
by Dave
Does anyone know the difference between the 54K CP/M system used in FDX and the 59K system used in SDX?
(Yes, I know, the difference is 5K!)

What is "missing" from the 59K system that frees up the extra RAM?

I though that it may have been to do with the disk buffers (SDX only had to disks) but both systems appear to work without problem on my FDX, allowing access to 4 drives,


Re: Memotech CP/M System Sizes

Posted: 18 Apr 2018 13:38
by Bill B

I believe that the 54K system was to allow room for FDXB to place its system variables in high memory in the same place as MTX and SDX.


Re: Memotech CP/M System Sizes

Posted: 18 Apr 2018 14:14
by Dave
Hi Bill,

thanks for the info. That seems a bit odd, I belive that the 54K system came first, before the "new" SDX was on the cards.

I thought that the 59K system only came with the SDX badged systems - the one with the 80 column card in the MTX and the add on adapter. However, Martin tells me that his first single disk FDX (sometime referred to by Memotech as SDX) had a 59K system, so it appears that both sizes existed at the same time, but before the SDX ROM came out


Re: Memotech CP/M System Sizes

Posted: 18 Apr 2018 19:44
by Martin A
I doubt the 54k image was specifically for FDXB, I did some work a while back disassembling that. I'd put my money on it being for extra loadable drivers. Sidisc, Hard drive, HRX even ?

FDXB occupies 32k once in ram, 24k is more or less the original 3 roms re-assembled with no paging required.The extra 8k*** has the disc and 80 column board drivers and buffers, and a complete copy of CPM's BDOS. That means the top 32k of ram is exactly as it would be in the MTX500. CPM's high memory usage getting over-written in the process.

As Dave mentioned, I brought my FDX in 2 stages at around £400 each if I remember correctly. The RS232 board, full size expansion box and one drive, which although labelled as an FDX, worked in exactly the same way as the later, and much cheaper, SDX. Type in ROM 5 (I think it was 5!) to enable the disc basic extensions etc. I didn't have the skills at the time to copy that rom, a pity,as I know Andy would like a copy of one if it ever surfaces elsewhere.

The single drive got upgraded, once I got the extra cash together, to a twin drive CPM FDX. The CPM system came with a 54k system, but since all my discs from the single drive system still worked, I used those with CPM. 59k seemed "better" somehow, but pretty much irrelevant as it turns out, I spent at least 90% of my time using FDXB which bypassed the CPM size.

5k of extra RAM with Newword probably save a little bit of shuffling to disc.

*** one day I may finish working out exactly what the extra 8k is doing. I figured out an easier way to do 80 columns on the MTXplus so the FDXB decoding got put to one side.

Re: Memotech CP/M System Sizes

Posted: 21 Apr 2018 16:57
by Bill B
See second page of attached letter from Memotech indicating that FDXB requires 54K CP/M. (This scan is only the first and last page. I did scan all five pages, but the result was too large to post.)

Dave, feel free to add this to your website if you wish.


Re: Memotech CP/M System Sizes

Posted: 21 Apr 2018 18:00
by Dave
Hi Bill,

thanks a lot for that interesting info, I will certainly add it to the web site in due course.

The letter is very interesting, but, Memotech being Memotech, things are not quite as simple as that letter would suggest.

As you will likely be aware, I have made a number of modifications to my FDXs, including adding repalcement drives. One of the first issues that I had was that my original copy of FDXB was particularly brain dead. It would only run on a system with an FDX disk controller (not too much of an issue) and would only run from Drive "B" and a Type 03 disk. It was originally supplied with my dual drive FDX with 54k system disk.

That was a real pain when trying to use larger capacity (Type 07) drives as FDXB would not run, so I had to revert to Type 03 disks to run FDXB.

I have lots of different MTX/FDX/SDX disks now, from a variety of sources. On one of my disks I found another copy of an FDXB that will run from Type 07 disks and with a 59K system. I have not tried writing any programs to disk (yet) but it will happily read old 54K system FDXB programs (pretty much in line with Memotech's comments about file compatibility).

The second FDXB program is exactly the same size as the original (different CRC obviously). I did wonder if it was originally from an SDX (either the old or new type) but it is definitely different to the SDXB program.


Re: Memotech CP/M System Sizes

Posted: 22 Apr 2018 10:39
by AndyKey
I believe 54K came first.
It was 54K on the SM1 which preceded the FDX.
The extra space alnost certainly was for the hard disk drivers.
Around the time of the introduction of the SDX, someone decided to make a 59K version.
I don’t know why.
Perhaps it made it easier for SDX BASIC to work with it (although I don’t see how).
Perhaps they just realised the odds of selling HDXs were so low, that the 5K was just wasted.

Re: Memotech CP/M System Sizes

Posted: 22 Apr 2018 11:02
by Martin A
I think I've worked out why my FDX single came with the 59k "SDX" boot disc:

The SDX boot rom loads CPM into RAM at D400, so I guess, if it used the 54k disc that would have to load 5k lower.

And that would put the CPM right on the BASIC variables space that usually grows up from C000.

The 59k disc seems to create a good compromise between allowing BASIC variable space and leaving space above the CPM code for drivers and buffers.

Re: Memotech CP/M System Sizes

Posted: 22 Apr 2018 11:24
by Dave
The free space pointer (FSP) reported by is D588 for the 54k system and E988 for the 59K system, 1400h (~5k dec) difference, but I am not sure what the FSP actually means? Is all of the memory between 100h and the FSP available for CP/M, but BIOS, BDOS, system variables, etc., above the FSP?

Martin, is D400 definitely the SDX (59k) value?

Re: Memotech CP/M System Sizes

Posted: 23 Apr 2018 20:05
by Martin A
Here's the start of the include file from Andy's re-constructed source:

Code: Select all

JP59K   EQU     0D706H
CPMLOC  EQU     0D708H
PRINT0  EQU     0D804H
CRLF0   EQU     0D80EH
CHNL1   EQU     0D840H
CHNL2   EQU     0D86AH
CHNL3   EQU     0D894H
CHNL4   EQU     0D8BEH
CHNL5   EQU     0D8E8H
STORE   EQU     0D8F8H
That certainly suggests D3FF is the last safe byte.

Looking at memory in panel D700 is definitely occupied by code, D706 is where the bootrom check for the 59k CPM "signature"