Why isn't there a CP/M for 128K Spectrums?

The place for codemasters or beginners to talk about programming any language for the Spectrum.
User avatar
PeterJ
Site Admin
Posts: 6878
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: Why isn't there a CP/M for 128K Spectrums?

Post by PeterJ »

2 Colour
User avatar
8BitAG
Dynamite Dan
Posts: 1498
Joined: Sun Dec 17, 2017 9:25 pm
Contact:

Re: Why isn't there a CP/M for 128K Spectrums?

Post by 8BitAG »

There are some great CP/M homegrown text adventures out there and some people have done some interesting things specifically for the Amstrad CPC... For example, Doomsday: Lost Echoes, which trades the 80 column text mode for a 40 column mode and incorporates graphics using a little-utilised patch for Gilsoft's PAWs CP/M. (Little used because, back in the day, not many images would fit on a 3" disk)

Image
See: https://doomsdayproductions.org/
8-bit Text Adventure Gamer - games - research.
Sparky
Manic Miner
Posts: 611
Joined: Tue Dec 15, 2020 9:42 pm

Can you run CP/M on a Speccy?

Post by Sparky »

Is it possible with a microdrive? I have a 48K and a Plus 2B and I have a working microdrive. It should be possible on a +3, but I don't have one.
I would love to try CP/M.
Alex
User avatar
Guesser
Manic Miner
Posts: 641
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Can you run CP/M on a Speccy?

Post by Guesser »

Only possible on the Black +2 and +3 because CP/M needs RAM at the bottom of the address space.

But those models can't use the IF1+Microdrive.
User avatar
1024MAK
Bugaboo
Posts: 3123
Joined: Wed Nov 15, 2017 2:52 pm
Location: Sunny Somerset in the U.K. in Europe

Re: Why isn't there a CP/M for 128K Spectrums?

Post by 1024MAK »

Plus the Interface 1 hooks into the original ROM, so both need to be in the 0 to 0x3FFFF area, which is incompatible with CP/M.

So you would have to write your own machine code to control the microdrives.

Mark
:!: Standby alert :!:
“There are four lights!”
Step up to red alert. Sir, are you absolutely sure? It does mean changing the bulb :dance
Looking forward to summer later in the year.
zx81
Microbot
Posts: 138
Joined: Sat Feb 17, 2018 9:33 pm

Re: Can you run CP/M on a Speccy?

Post by zx81 »

Sparky wrote: Thu Jul 15, 2021 1:58 pm Is it possible with a microdrive? I have a 48K and a Plus 2B and I have a working microdrive. It should be possible on a +3, but I don't have one.
I would love to try CP/M.
On a 48k with the LEC Memory Extension is possible to run his own CP/M v2.2 version using up to 8 microdrives in a 48k model. The problem is that his CP/M uses a non-Sinclair format for the tapes, and needs a complete microdrive emulation and not a simulation.

My old emulator, JSpeccy, emulates the LEC expansion and the microdrives if you want try it.
FFoulkes
Microbot
Posts: 161
Joined: Thu Feb 07, 2019 2:42 pm

Re: Why isn't there a CP/M for 128K Spectrums?

Post by FFoulkes »

1024MAK wrote: Thu Jul 15, 2021 3:21 pm Plus the Interface 1 hooks into the original ROM, so both need to be in the 0 to 0x3FFFF area, which is incompatible with CP/M.
So you would have to write your own machine code to control the microdrives.
That sounds like it could be an interesting modern open source project for you Spectrum assembler experts out there.
FFoulkes
Microbot
Posts: 161
Joined: Thu Feb 07, 2019 2:42 pm

Re: Can you run CP/M on a Speccy?

Post by FFoulkes »

Sparky wrote: Thu Jul 15, 2021 1:58 pmI would love to try CP/M.
I once tried CP/M with "Vice" (Commodore 128 emulation). The C128 (interestingly) had a Z80 CPU (besides the 6502 type one (called 8502)). According to Wikipedia, the Z80 in the C128 only ran at 2 MHz though (dude, that's slow). The C128 also had a (Commodore) floppy drive and 80 characters display mode. Pretty good home computer setup to try CP/M (if the Z80 had been faster, at least Spectrum speed).

Back in the day they also mentioned it as a selling argument for the C128. But customers didn't seem to be interested in that. After all, the CP/M days had already been over basically, when the C128 entered the market.
AndyC
Dynamite Dan
Posts: 1408
Joined: Mon Nov 13, 2017 5:12 am

Re: Why isn't there a CP/M for 128K Spectrums?

Post by AndyC »

The C128 was also considerably more expensive than the Amstrad CPC 6128 (about £70 more even after Commodore revised their launch pricing to be more competitive and the CPC had a monitor bundled with it too). If you wanted to run CP/M on a home machine, the Amstrad machines were pretty clearly the way to go.

The Speccy +3 could have been an interesting competitor, coming in at an even more budget price, but the lack of an 80 column display would've really hurt.
User avatar
Ast A. Moore
Rick Dangerous
Posts: 2641
Joined: Mon Nov 13, 2017 3:16 pm

Re: Why isn't there a CP/M for 128K Spectrums?

Post by Ast A. Moore »

AndyC wrote: Thu Jul 15, 2021 8:02 pm The Speccy +3 could have been an interesting competitor, coming in at an even more budget price, but the lack of an 80 column display would've really hurt.
Well, it’s been a while, but I don’t think I saw Locomotive Software’s CP/M Plus’s 50 (-ish)-column display as particularly lacking. Sure, an 80-column one would have been great, but I was excited just to be able to run CP/M on a Speccy.
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.
Alcoholics Anonymous
Microbot
Posts: 194
Joined: Mon Oct 08, 2018 3:36 am

Re: Can you run CP/M on a Speccy?

Post by Alcoholics Anonymous »

zx81 wrote: Thu Jul 15, 2021 4:42 pm On a 48k with the LEC Memory Extension is possible to run his own CP/M v2.2 version using up to 8 microdrives in a 48k model. The problem is that his CP/M uses a non-Sinclair format for the tapes, and needs a complete microdrive emulation and not a simulation.
That's interesting -- I didn't know about this. This kind of thing is also possible on the spectrum next but it would be a bit masochistic when the sd card is there with instant disk access. If I had a million years to do silly stuff like this I might even try to do it :)

Russians doing cp/m with a tape recorder is insane in a cool way.

Is the 48K LEC thing a normal version of cp/m ? How did the add-on manage to hide the screen?
User avatar
druellan
Dynamite Dan
Posts: 1473
Joined: Tue Apr 03, 2018 7:19 pm

Re: Why isn't there a CP/M for 128K Spectrums?

Post by druellan »

Timex was also planning on releasing a fully CP/M compatible floppy drive system for the Timex 2068, kind of similar to an Opus disk drive, that also extends the memory to 64k.

Image
https://www.timexsinclair.com/product/f ... ve-system/

The smaller version, FDD-3 seems to be targeted to work also on a ZX Spectrum https://www.timexsinclair.com/product/f ... ve-system/
Sparky
Manic Miner
Posts: 611
Joined: Tue Dec 15, 2020 9:42 pm

Re: Why isn't there a CP/M for 128K Spectrums?

Post by Sparky »

WOW! Never seen that before, it looks cool!
Alex
Alcoholics Anonymous
Microbot
Posts: 194
Joined: Mon Oct 08, 2018 3:36 am

Re: Why isn't there a CP/M for 128K Spectrums?

Post by Alcoholics Anonymous »

There were several CP/M systems available for the ts2068 that normally came bundled with a floppy interface. The TS2068 had a /BE signal on the bus instead of a /ROMCS signal. The /BE signal could disable all internal memory so it was very easy not only to replace the bottom 16K rom with ram but also to replace the display area with ram as required by CP/M.

Timex's offering, the FDD3000 you show from Timex Portugal, and the earlier discrete version with separate boxes for interface and disk drives are something else. These are independent 64K z80 computers with the TS2068 either acting as terminal (if running CP/M in the disk interface) or as master if using the device as disk interface. So these disk interfaces could also be used to run CP/M on standard spectrums. The difference being the TS2068 has a 512x192 mode that makes 64 columns standard and 80 columns legible whereas standard spectrums would be stuck in 256x192 which I don't think is passable for a standard CP/M system.
+3code

Re: Why isn't there a CP/M for 128K Spectrums?

Post by +3code »

druellan wrote: Wed Sep 01, 2021 10:44 am The smaller version, FDD-3 seems to be targeted to work also on a ZX Spectrum https://www.timexsinclair.com/product/f ... ve-system/
It was released in Spain as "InvesDisk 200":

Image
cj7hawk
Manic Miner
Posts: 361
Joined: Sat Sep 25, 2021 9:11 am

Re: Why isn't there a CP/M for 128K Spectrums?

Post by cj7hawk »

Just to update this with what I found after looking around, there are three CP/M implementations for the ZX Spectrum that I encountered. There's a freeware CP/M 2.2 and Locomotive CP/M+ ( Partial CP/M 3.0 ) version for the +3, however there's also the LEC Memory Expansion version for the 48K, that comes on a .TAP loader, and supposedly works if you use the LEC memory expansion which can map ram over the system ROM. The biggest differest is Locomotive is 51 characters and the 2.2 version is 64 characters.

The LEC version is CP/M 2.2 that I could tell ( I haven't tried it ) and uses the microdrive and Interface 1 to run CP/M, and the installer sets it up. It uses it's own format, and own routines to control the microdrive. I can't say much more than that as I haven't tried it out yet ( requires hardware support ).

I tracked down the first two and both work OK with the ZX Spectrum. There are files for the LEC expansion module and the CPM are available online. The LEC ROM enhancement is also available from another site, so it's still possible to locate all three. I found the Locomotive version on ebay as they still seem to sell them from time to time. I'm waiting on an Amstrad PCW at the moment which I hope to repair and later test for compatibility with the CPM+ version for the Spectrum.

Many of the files from that era are all available as .DSK files, so I've been writing my own DSK editor that works with all four Amstrad formats and a few others, and will later let me transfer files between microdrive images and disk images, as there are a number of +3 support applications around, but no simple way to move them onto a +3 without Internet access, so I'm planning on using a gotek to facilitate sneakernet there, and then let me shift files and create new formats on the PC, as the +3 should theoretically support virtual disks of up to around 5 Mb, but I have still to test that theory out. The CP/M disks for the +3 are limited to around 358 allocations, and if the CP/M is written correctly, should support 5Mb, but the biggest disks I've tried with a real +3 at the moment are the 720K Amstrad format disks.

Regards
David
User avatar
Guesser
Manic Miner
Posts: 641
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Why isn't there a CP/M for 128K Spectrums?

Post by Guesser »

If you add a hard disk interface (i.e. assemble a +3e) you can run CP/M from hard disk. I haven't tried to see what the maximum partition size the installable driver supports is, but +3e goes up to (just under) 16 megs.

https://www.va-de-retro.com/foros/viewt ... =62&t=5605

I've mirrored the files here as they seem to have disappeared https://zxnet.co.uk/spectrum/cpm/

I don't think you need +3e ROMs to use it, you can run the boot loader from a floppy disk, but it makes it much more convenient if you do as you can just make a boot menu that runs straight off the +3's LOADER menu :)
User avatar
spider
Dynamite Dan
Posts: 1099
Joined: Wed May 01, 2019 10:59 am
Location: Derby, UK
Contact:

Re: Why isn't there a CP/M for 128K Spectrums?

Post by spider »

I had no idea there was a Microdrive version of CPM in existence. I'd had assumed it was a +3 only thing.

Does open the door a little bit to porting some adventure games across I guess. Then again was that not done with the Amstrad PCW256/512 'greenscreen' vs CPC6128 , so same principle may apply if its text only...
cj7hawk
Manic Miner
Posts: 361
Joined: Sat Sep 25, 2021 9:11 am

Re: Why isn't there a CP/M for 128K Spectrums?

Post by cj7hawk »

I spent a fair bit of time examining how the +3 works under CP/M and have been writing a CP/M disk manager that runs under Windows 10 so that files can be copied between virtual +3 and Amstrad disks, the format can be changed and hopefully, can support copying between microdrive and disk images, and later might work on an interface to connect 3" drives and Microdrives directly to the PC for creation of disk images and copying files between real and virtual disks.

Many disk images I found were corrupt, and don't represent real Amstrad disks, and only work on Emulators. So this provides a way to move the files to a new disk, or to copy CP/M files to a larger disk, such as a virtual 720 for use with a gotek.

So far I've only got it reading disks, giving some sector tools, deleting files and copying files on the same disk, but hopefully in a few weeks it will have basic functionality, as I often find .COM files that will work on a Spectrum, but no easy way to get them onto a Spectrum disk.

It was good to find a Microdrive version of CP/M too. I didn't know it existed either until recently. I've been doing a bit of research into "What If's" that could have happened during the 80's, and there's a missed historical line that might well have taken Spectrums into the present era.

Regards
David
User avatar
8BitAG
Dynamite Dan
Posts: 1498
Joined: Sun Dec 17, 2017 9:25 pm
Contact:

Re: Why isn't there a CP/M for 128K Spectrums?

Post by 8BitAG »

When working on Amstrad/Spectrum +3 disk images, I tend to use the Amstrad emulator WinApe to move CP/M stuff around. There are standalone programs that do the same sort of thing. Rarely use CP/M stuff on a real machine these days, though I have used an old Windows machine to get COM files onto a floppy for use with ProDOS on my real SAM and/or Sim Coupe.
8-bit Text Adventure Gamer - games - research.
User avatar
Guesser
Manic Miner
Posts: 641
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Why isn't there a CP/M for 128K Spectrums?

Post by Guesser »

I use cpcxfs for getting stuff on and off dsk images.

(Then write them out to a 3.5" disk with dsktool)
Post Reply