9

I've written various programs that may help, if the DSK files don't make use of copy protection. If you can get files onto the +3 via the ZXMMC, you can use DU54 at http://www.seasip.info/Cpm/software/amstrad.html to write unprotected disk images to disk (or vice versa). It may be easier to unpack DU54.PMA within a CP/M emulator and just transfer the +3 ...


9

The first question is answered in the +3 CP/M manual (search for 'Memory Map'): 4-5-6-3 for CP/M bank 0, 0-1-2-3 for CP/M bank 1, and 4-7-6-3 for CP/M bank 2. The arrangement (doubtless by design) is very similar to that used for PCW CP/M, where CP/M banks 2,3,4 etc. are the same as bank 0, except for the 4000-7FFF range. The design of CP/M is that programs ...


8

I used the dsk2cdt tool to convert a .dsk image to a .cdt tape file. I can then play this tape file via an app (or convert it to audio data) and use a standard Amstrad tape cable to play the audio out to the 6128. I place a blank or erasable disk in the 6128, and then type |tape and run" Then I start the tape audio playing, which will load a boot program ...


6

I once wrote a program for this sort of situation: DSKREAD. It runs on a +3 and archives entire disks to tape. You could record the audio, convert to a .TAP file, and then load the .TAP in a +3 emulator to recreate .DSK images containing the original files. As far as I know, no-one's tested DSKREAD on a real +3, so I've no idea whether it would actually ...


5

I can't add much to the above answer, except that the additional modes would have been there either because they were a harmless side effect of the primary 64k CP/M mode that would have cost more to mask out than to leave, or they were there to mirror modes in other Amstrad Z80 boxes and help porting. Richard Altwasser may know for sure, but he's run away.


4

The Paul Farrow disassembly listings collection is the best I know. http://www.fruitcake.plus.com/Sinclair/Spectrum128/ROMDisassembly/Spectrum128ROMDisassembly4.htm It doesn't include the address of each instruction, BUT it includes the address of many entry points and loops as labels with the format L + hexadecimal address so it's rather easy to match any ...


4

From my answer to How do I know where the file directory is stored on a Spectrum +3 disk layout? Part 26 of the +3 manual is what you need to read. There is even a complete example of how to write boot code and how to store it into the disk. This part is the relevant one regarding which values the disk specification block must have: bootstart: ; ;The ...


4

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 ...


3

(sorry, this is not really an answer, but I cannot post comments yet) Given the constraints you have, it seems difficult. I do not know about the Spectrum side of it, but I did use a homemade parallel cable back in the days: http://cpctech.cpc-live.com/docs/mods/parallel.html This being said, you would still need a parallel port on your PC, a DOS/FreeDOS ...


3

One solution is to plug an HxC floppy emulator into the external floppy port and do a simple disk copy to an image on the SD card.


3

I don't remember them having a “name”. Disk interchangeability was less of a thing than it became between 16-bit computers. Amstrads were very much not interchangeable, since they had the Hitachi 3" drives, used by Tatung (UK) and very few others. Even the PCW9512+ with its 720 K 3½" drive used a format derived from the earlier CPC disks. The format is CP/M*...


3

There is no 'end marker' for a CP/M directory in the same way that there is for MS-DOS. When searching the directory, you need to look at all entries. To get the size of the directory for a PCW / +3 disc, start with the number of directory blocks in the disc specification. Multiply that by block size and divide by 32 to get the number of directory entries. ...


3

I think some of the answers here are combining determining the disk format with detecting if it's bootable. I've answered how the format is detected on its own question, so here I'll concentrate on the boot process. The +3 tries to boot from a disc by using the DOS_BOOT function. This selects drive A:, closes any open files on it, and then tries to read ...


2

On a CPC system, you can determine if the disc is in System format (i.e. bootable) by the number of the first physical sector. If the sector is 41h, the disc is in System format, with 2 reserved boot sectors, whereas C1h means Data format, no reserved sectors. The PCW and Spectrum +3 can also determine the bootability of a disc from a 16-byte record on ...


2

It's probably best to take a look at the +3DOS DD_LOGIN function, since that's the ultimate source for how a +3 identifies a disc. What this does is: Call DD_SEL_FORMAT with A=0 to select the standard +3 format (180k, single sided, with one system track). Call DD_READ_ID with D=0 to read the identity of a sector (any sector) on track 0 of the disc. Look at ...


2

+3 disks are actually CP/M disks. Disk organization details are stored in the XDPB table, which is generated by the firmware from the data found at the beginning of the disk. This can be read on part 27 of the +3 manual: The PCW range disk format (used by the +3) is, in fact, a family of formats the precise member of which is defined in the 'disk ...


2

It’s just nomenclature for 40-track (‘single’) versus 80-track (‘double’) drives. It’s not 3”-specific, e.g. here is a reference using the same terminology for 5.25” drives; 3” drives don’t do anything differently from 3.5” or 5.25” drives, and use regular Shugart signalling. The original PCWs, the CPC and the Spectrum all used 40-track drives; later PCWs ...


1

The Amstrad CPC manual (chapter 7 part 12) listed three "disk formats" supported by AMSDOS, which it named "System", "Data only" and "IBM" (CP/M 2.2 only). All three of these formats had: 40 tracks 64 directory entries 512 bytes per sector, no matter the track. And the format-specific characteristics: System had 9 sectors per track, two reserved tracks ...


1

It seems there is. There is an open source C library by John Elliot for working with a selection of disks and disk image formats called LibDsk, active as of August 2019. Among the supported formats it includes .DSK files, as used in CPCEMU, JOYCE and other Sinclair/Amstrad emulators. The JOYCE emulator mentioned is by the same author. The author added ...


1

But since this [boot] block is optional, there must be a way for the system to detect whether it's present or not. There isn't. The +3 (like the Amstrad CPC) doesn't autoboot. Using the Loader on a +3 (or |CPM on an Amstrad CPC) on a disk that's in Data or Vendor format (that is, does not have CP/M or custom boot code in the reserved tracks already ...


Only top voted, non community-wiki answers of a minimum length are eligible