Amstrad CP/M formats

Amstrad CPC and NC systems
Post Reply
stefano
Well known member
Posts: 2328
Joined: Mon Jul 16, 2007 7:39 pm

Amstrad CP/M formats

Post by stefano »

I'll be editing this list to try tracking down the known CP/M formats for the Amstrad machines.

The resulting configurations allow the file extraction from the RAW dumps of the disk images but are not enough to recreate the correct skew factor and sector numbering.


Vortex CP/M .
IMDU shows non-linear sector sequence, [1 6 2 7 3 8 4 9 5]

Code: Select all


diskdef cpc_vortex
  seclen 512
  tracks 80
  heads 2
  sectrk 9
  blocksize 4096
  maxdir 256
  boottrk 2
  os 2.2
end


Dk'Tronics 61K CP/M and Amstrad's 41K CPM 2.2 (eg 464 DDI disk interface)
Already supported by appmake as "CPC SYSTEM"
IMD shows the sector sequence of [65 70 66 71 67 72 68 73 69] (skew=2?)

Code: Select all


diskdef cpc_cpm22
  seclen 512
  tracks 40
  heads 1
  sectrk 9
  blocksize 1024
  maxdir 64
  boottrk 2
  os 2.2
end


Amstrad PCW models
The Pro-DOS for the SAM Coupè has the same disk format of the Amstrad PCW-8256 (80 tracks).

Code: Select all


diskdef pcw
  seclen 512
  tracks 40
  sectrk 9
  blocksize 1024
  maxdir 64
  skew 1
  boottrk 1
  os 3
end

# SAM Coupe ProDOS (= PCW 80T)
diskdef sam
  seclen 512
  tracks 80
  heads 2
  sectrk 9
  blocksize 2048
  maxdir 256
  boottrk 1
  os 3
end

stefano
Well known member
Posts: 2328
Joined: Mon Jul 16, 2007 7:39 pm

Re: Amstrad CP/M formats

Post by stefano »

In short, apparently the only missing disk format was the German "Vortex" one.
I tested it on WinApe, putting the Vortex20 ROM on the upper slot #6, mounting the proper system disk and booting it with "|cpm".

We now have a lot of target formats for the CPC, the ZX Spectrum and the SAM Coupè not working totally right, only part of the sound library and few marginal functions can be used at the moment.

I know this could cause some trouble but the disk formats alone required all my brain cells :D

cpc_vortex.png
cpc_vortex_2.png


With ParaDOS installed on the upper slot #7 and removing the Vortex ROM the alternative trap for the "|cpm" command will slide in and the normal disk format will be searched in the boot process. Surprisingly all the other existing CP/M implementation will boot properly.
You do not have the required permissions to view the files attached to this post.
stefano
Well known member
Posts: 2328
Joined: Mon Jul 16, 2007 7:39 pm

Re: Amstrad CP/M formats

Post by stefano »

..and after getting most of this sorted out (especially the past work on the PCW format) I found this document:

https://www.seasip.info/Cpm/amsform.html


CPC system
This simple system is used by CPC computers:

Code: Select all

If the first physical sector is 41h, the disc is in System format, ie:

single sided, single track, 40 tracks, 9 sectors/track, 512-byte sectors, 2 reserved tracks, 1k blocks, 2 directory blocks, gap lengths 2Ah and 52h, bootable.

If the first physical sector is C1h, the disc is in Data format, ie:

single sided, single track, 40 tracks, 9 sectors/track, 512-byte sectors, no reserved tracks, 1k blocks, 2 directory blocks, gap lengths 2Ah and 52h, not bootable.

PCW/Spectrum system
In addition to the above system, the PCW and Spectrum +3 can determine the format of a disc from a 16-byte record on track 0, head 0, physical sector 1:

Code: Select all

	DEFB	format number	;0 => SS SD, 3 => DS DD. Other values: 
				;bad format.
				;1 and 2 are for the CPC formats, but those 
				;formats don't have boot records anyway.
	DEFB	sidedness	;As in XDPB
	DEFB	tracks/side
	DEFB	sectors/track
	DEFB	physical sector shift	;psh in XDPB
	DEFB	no. reserved tracks	;off in XDPB
	DEFB	block shift		;bsh in XDPB
	DEFB	no. directory blocks
	DEFB	read/write gap length
	DEFB	format gap length
	DEFB	0,0,0,0,0		;Unused
	DEFB	checksum fiddle byte	;Used to indicate bootable
			;discs. Change this byte so that the 8-bit 
			;checksum of the sector is:
                 	;  1 - sector contains a PCW9512 bootstrap  
                 	;  3 - sector contains a Spectrum +3 bootstrap
               		;255 - sector contains a PCW8256 bootstrap
            		;(the bootstrap code is in the remainder of the sector) 

If all bytes of the spec are 0E5h, it should be assumed that the disc is a 173k PCW/Spectrum +3 disc, ie:

single sided, single track, 40 tracks, 9 sectors/track, 512-byte sectors, 1 reserved track, 1k blocks, 2 directory blocks, gap lengths 2Ah and 52h, not bootable.
Post Reply