6

Heading says it all. I have a Spectrum +3 (with +3e ROMs if that makes any difference) with a DivMMC SD card interface.

This works fine in +3e mode, but as I like to use the +3 with CP/M plus (Original Amstrad/Locomotive) are there any CP/M drivers available to use the DivMMC as a drive C:?

Or are there any technical reasons why this wouldn't be possible?

This video seems to imply it's possible with a DivIDE, at least. Unfortunately, there is no further explanation on that.

2
  • 1
    I'm not 100% sure about this, but my recollection is that the CP/M version Amstrad used had its drivers integrated with the build, so there wasn't any opportunity to add them later. Undoubtedly a hacked version could be produced, but honestly you'd probably find it easier starting with one of the various commented CP/M source versions. Adding drivers for the standard Spectrum hardware would probably be easier than identifying extension points in a binary build.
    – Jules
    Dec 31 '17 at 0:14
  • 7
    ZX Spectrum CP/M Plus supports FIDs (Field istallable device drivers) that can plug into the system at run time. There's no need to start from scratch.
    – tofro
    Dec 31 '17 at 11:28
6
+400

I think this page (in Spanish) has what you're looking for. It describes how to install and use CP/M with divMMC (a full translation of the installation steps and CP/M section is at the bottom of this answer). There are two files that need to be downloaded: an SD card image and possibly some ROMs (see below). The CP/M hack from Otivax (mentioned in @mcleod_ideafix's answer) is included:

Cuando veais el 1 MMC1 es momento de pulsar ENTER y aparecerá el menú de la distribución:

[ Image of distribution menu]

Las opciones que se presentan2 son:

...

  • CP/M 3.0: Arrancamos una versión del CP/M plus del Spectrum +3 hackeada por otivax para ser usada con unidades de almacenamiento masivo.

...

Translated to English:

When you see 1 MMC 1 press ENTER and the distribution menu will appear:

[ Image of distribution menu ]

The available options2 are:

...

  • CP/M 3.0: Starts a Spectrum +3 version of CP/M hacked by otivax to support mass storage devices.

...

The instructions are for use with a ZX-Uno hardware emulator but I strongly suspect they'd work fine on original hardware. It's not clear if a special ROM is required but if one is one can probably just burn the ROM image to a physical ROM chip and install it in the Speccy3.

1 Listed on the "Physical drives" line on the boot screen.

2 I've only shown CP/M but there are other applications that can be booted off of the SD card.

3 Spectrum cores, below, refer to code for programming the ZX-Uno's FPGA; just ignore them if you're using original hardware.


Partial translation from the original Spanish:

...

Installation

First download the disk image of the distribution that I've created and save it to an SD card. The image is designed for 1GB cards and larger. For use with CP/M only 1GB and 2GB cards are supported (larger sizes won't work).

2020-10-15_ZX-Uno_Spectrum+3e.7z

As mentioned above, this disk image needs to be used along with Garry Lancaster's +3e ROMs. If you haven't yet installed them in your ZX-Uno ROM set, do so now. The easiest way to install my most recent ROM set (as of 2020-10-15) is by downloading it from here:

2020.09.09-ROMS.ZX1.zip

ZX-Uno screenshot

The simplest way to install these ROMs in your ZX-Uno is to place the ROMS.ZX1 file in the root directory of your regular SD card (the one you use for esxDOS). Insert the card into the ZX-Uno and start it in "rooted" mode by pressing / on the numeric keypad. When the screen turns red, press ESC then choose, e.g., the Spectrum 48k ROM. Once you've booted into rooted mode type .ROMSUPGR (make sure you include the leading period). The ROMs will now be burned and you can start using your ZX-Uno with the new ROMs.

Lastly, the image only works with mcleod_ideafix's Spectrum core which allows one to select a +3e ROM from a list. Note, however, that with the EXP27-160820 version CP/M won't boot. Therefore I usually use the EXP27-230420 version (modified by azesmbog to include support for the SAA1099 sound chip) which works perfectly with CP/M. If you don't plan to use CP/M then mcleod_ideafix's latest Spectrum core will work fine.

The various Spectrum core versions can be downloaded from here.

Usage

Place the SD card you prepared into the ZX-Uno. When it starts, press ESC, select one of the +3 ROMs, then let it finish booting. You should see something like this:

Bootloader menu

Depending on which ROM you chose, the menu will appear in either Spanish or English. The menu may be titled +3e or +2e but this won't cause problems. What is important, though, is that 1 MMC appears; this indicates that the SD card is available. If you see 0 MMC then do a Soft Reset (CTRL + ALT + SUPR) until 1 MMC is displayed. If that doesn't work then try removing and reinserting the SD card (without powering off) followed by a Soft Reset.

Once you see 1 MMC press ENTER and the distribution menu will come up:

Distribution menu

The available options are:

  • Workbench +3e: Start Octocom's Workbench +3e. This is version 2.01 that I've modified a bit.

  • CP/M 3.0: Starts a Spectrum +3 version of CP/M hacked by otivax to support mass storage devices.

  • +3e Explorer: A file browser and application launcher written by SINCLAIR for use with +3e ROMs.

  • uGophy (WiFi): A Gopher protocol client written by Nihirash for use with the WiFi add-on and the +3DOS filesystem.

  • NetMan (WiFi): Configurator to connect to a WiFi network written by Nihirash for use with the WiFi add-on and the +3DOS filesystem.

  • WB +3e Setup: Configurator for Workbench +3e. You can choose the pointer device (Kempston mouse or Sinclair joystick), the number of mass storage devices (1 or 2), and the language (Spanish or English).

  • Exit: Return to the Spectrum +3e home menu.

...

CP/M 3.0

To use this, the image must have been written to an SD card no larger than 2GB in size and the Spectrum core must be a supported version (such as EXP27-230420) since the one published on August 16, 2020 won't work. Before starting up I usually set the CPU speed to 28 MHz since this makes CP/M a bit more response than at the Z80's original 3.5 MHz.

Once booted, we can use the same Locomotive CP/M 3.0 that was released for the Spectrum +3 but modified to support mass storage devices such as the divMMC.

CP/M booting

This CP/M installation has been updated with the utilities and patches found on this page.

The C: and D: drives are full of all sorts of programs:

List of available programs

Most of these are from the "Multicomp FPGA - CP/M Demo Disk" with programs for CP/M 2.2 but there are also ones for CP/M +3 such as HiSoft's DevPac80 assembler development package and the WordStar 3.0 word processor.

...

Documentation

In addition to the distribution image, you can download this file which has a whole bunch of manuals and other instructions, in both Spanish and English, sorted by the program folder that they refer to. This is an essential reference if you want to get the most out of this distribution.

2020-10-15_ZX-Uno_Spectrum+3e-Documentacion.7z (501,1 MiB)

Documentation directory listing

Video about the distribution

I saved this 'til now since I knew if I mentioned it earlier you'd go watch it and not bother reading any of the stuff that I put so much effort into writing! ☺

[ Youtube video ]

Modifying the contents of the distribution

A description of how to modify, extract, and add to the distribution will have wait for a later article, hopefully I can post something soon.
[ I think this is the article they're refering to (in Spanish). ]

...

Last modified by desUBIKado on Oct 18, 2020 ...

5

Yes, there is an experimental FID driver written by the same guy (Otivax) that made the DivIDE version. This thread tells all the story about it. He uses a loader that is fired from a +3E environment. The loader loads some CP/M system files in memory, initializes the memory arrangement suitable for CP/M, patches those system files, and finally, it inits CP/M which in turn loads the FID driver, but from the SD card, not the floppy.

5
  • Hey, that's great, thanks! Are there any other sources than this forum link? The attached files seem to lead into nowhere, or rather "That attachment doesn't exist any more"
    – tofro
    Apr 18 '18 at 16:02
  • 3
    I will try to gather more information about this solution and will copy here Apr 18 '18 at 16:12
  • 1
    @mcleod_ideafix You could try asking the person who posted it whether they still have a copy, using the PM feature of the forum? Or perhaps contact the forum owners and see if they have a copy still? There's a sizeable bounty up for grabs!
    – wizzwizz4
    Dec 19 '18 at 21:26
  • This link appears entirely dead, now.
    – wizzwizz4
    Apr 21 at 21:49
  • 1
    @wizzwizz4 I've updated the link. Apr 22 at 18:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.