Dies ist eine alte Version des Dokuments!


Cpmtools

http://www.moria.de/~michael/cpmtools/

Format description

diskdef name				format definition
  seclen n				128,256,512,1024,.. Sector length
  tracks n				1.. Number of tracks
  sectrk n				1.. Sectors per track
  blocksize n				1024,2048,4096,8192,16384 Block size
  maxdir n				1.. Number of directory entries
  skew n				0.. Logical sector skew
  skewtab r1,r2,r3,...			skew table
  boottrk n				Number of system tracks
  offset n | nK | nM | nT		n Byte|n Kilobyte|n Megabyte|n Tracks
  logicalextents			Logical extents per physical extent
  os 2.2 | 3 | isx | p2dos | zsys	
  libdsk:format name			pcw720, cpcsys
end
 

Berechnungen:

size := (secLength*sectrk*(tracks-boottrk))/blksiz;
if (extents==0) extents := ((size>=256 ? 8 : 16)*blksiz)/16384; if (extents==0) extents := 1;
Allocatabledatablocks := size-(maxdir*32+blksiz-1)/blksiz);

posix:
physical pos := (sector+track*sectrk)*secLength)+offset;
  
libdisk:
physical sector := track*sectrk + sector + offset/secLength;

win32c:
SetFilePointer ((sector+track*sectrk)*secLength)+offset; 

Viele Hinweise zu libsk, cpmtools, … und zur Analyse unbekannter Disketten gibt's von Larry Kraemer auf http://forums.debian.net/viewtopic.php?f=16&t=112244

  • cpm/cpmtools.1421319699.txt.gz
  • Zuletzt geändert: 2015/01/15 11:01
  • von volkerp