Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
cpm:cpmtools [2015/01/15 11:01] volkerpcpm:cpmtools [2024/04/10 06:27] (aktuell) – [Format description] volkerp
Zeile 3: Zeile 3:
 http://www.moria.de/~michael/cpmtools/ http://www.moria.de/~michael/cpmtools/
  
-Format description+GUI -> http://star.gmobb.jp/koji/cgi/wiki.cgi?page=CpmtoolsGUI 
 + 
 +https://www.seasip.info/Unix/LibDsk/ 
 + 
 +===== Format description ===== 
  
 <code> <code>
  
 diskdef name format definition diskdef name format definition
-  seclen n 128,256,512,1024,.. Sector length +  seclen n 128,256,512,1024,.. physical Sector length 
-  tracks n 1.. Number of tracks +  tracks n 1.. Number of tracks                 = (Cylinders * Sides) 
-  sectrk n 1.. Sectors per track +  sectrk n 1.. phys. Sectors per track 
-  blocksize n 1024,2048,4096,8192,16384 Block size +  blocksize n 1024,2048,4096,8192,16384 Block size = (128*(BLM+1)) 
-  maxdir n 1.. Number of directory entries+  maxdir n 1.. Number of directory entries      = (DRM+1) 
 +  boottrk n Number of system tracks              = OFS 
 +rest is optional 
 +  dirblks n                             to allow reserving blocks after the directory using an inflated DPB ALV0 (since 2.21) 
 +  bootsec n                             total numbers of sectors used by the boot area
   skew n 0.. Logical sector skew   skew n 0.. Logical sector skew
   skewtab r1,r2,r3,... skew table   skewtab r1,r2,r3,... skew table
-  boottrk n Number of system tracks +  offset n | nK | nM | nT | nS n Byte|n Kilobyte|n Megabyte|n Tracks|n Sectors 
-  offset n | nK | nM | nT n Byte|n Kilobyte|n Megabyte|n Tracks +  logicalextents n Logical extents per physical extent
-  logicalextents Logical extents per physical extent+
   os 2.2 | 3 | isx | p2dos | zsys    os 2.2 | 3 | isx | p2dos | zsys
-  libdsk:format name pcw720, cpcsys+  libdsk:format name pcw720,cpcsys, etc.   (Optional kann der Typ mit übergeben werden: format[,type])
 end end
    
Zeile 25: Zeile 33:
 Berechnungen: Berechnungen:
  
-size := (secLength*sectrk*(tracks-boottrk))/blksiz;+size := (secLength*sectrk*(tracks-boottrk))/blksiz;  
 if (extents==0) extents := ((size>=256 ? 8 : 16)*blksiz)/16384; if (extents==0) extents := 1; if (extents==0) extents := ((size>=256 ? 8 : 16)*blksiz)/16384; if (extents==0) extents := 1;
 Allocatabledatablocks := size-(maxdir*32+blksiz-1)/blksiz); Allocatabledatablocks := size-(maxdir*32+blksiz-1)/blksiz);
  
 posix: posix:
-physical pos := (sector+track*sectrk)*secLength)+offset;+physical pos := ((sector+track*sectrk)*secLength)+offset;
      
 +win32c:
 +SetFilePointer := ((sector+track*sectrk)*secLength)+offset; 
 +
 libdisk: libdisk:
-physical sector := track*sectrk + sector + offset/secLength;+physical sector := (track*sectrk + sector+ offset/secLength;
  
-win32c: 
-SetFilePointer ((sector+track*sectrk)*secLength)+offset;  
 </code> </code>
  
Zeile 42: Zeile 51:
 http://forums.debian.net/viewtopic.php?f=16&t=112244 http://forums.debian.net/viewtopic.php?f=16&t=112244
  
 +
 +
 +
 +===== Build =====
 +
 +Erzeugen mit MINGW/MSYS
 +
 +<code>
 +#------------------------------------------------------------------------------
 +# libdsk
 +#------------------------------------------------------------------------------
 +
 +tar zxvf libdsk-1.3.3.tar.gz
 +cd libdsk-1.3.3
 +./configure
 +make
 +strip *.exe
 +make install
 +cd ..
 +
 +#------------------------------------------------------------------------------
 +# cpmtools
 +#------------------------------------------------------------------------------
 +
 +PDCurses installieren, d:\devtools\MinGW\include\curses.h heißt schon richtig?
 +
 +cd d:\devtools\MinGW\lib\
 +copy libpdcurses.a libcurses.a
 +
 +#------------------------------------------------------------------------------
 +
 +tar zxvf cpmtools-2.13.tar.gz
 +cd cpmtools-2.13
 +./configure --with-diskdefs="" --with-defformat="default" --with-libdsk=/local/
 +make
 +make -i install
 +strip /local/bin/*.exe
 +
 +#------------------------------------------------------------------------------
 +
 +tar zxvf cpmtools-2.18.tar.gz
 +cd cpmtools-2.18
 +
 +es gibt Compiler-Probleme mit den mitgelieferten getopt-Daten, deshalb
 + - in Makefile.in "getopt$(OBJEXT) getopt1$(OBJEXT) " überall löschen
 + - leere Datei getopt_.h anlegen (oder vorhandene leeren)
 +
 +./configure --with-diskdefs="" --with-defformat="default" --with-libdsk=/local/
 +make
 +strip *.exe
 +make -i install
 +
 +</code>
 +
 +===== Changes =====
 +
 +<code>
 +Changes since 2.22:
 +
 +o  Use 16 bit block pointers for file systems > 256 blocks, not >= 256
 +o  Translate CP/M file name character '/' to ',' for the host and back
 +o  dirblks in Kaypro format fixed
 +o  Misc fixes for directory listing
 +o  Added bootsec diskdefs option
 +o  Check Device_close return value
 +o  Check for too small block number when reading file data
 +o  Replaced obsolete macros in configure.in
 +o  Cygwin/Windows support did not build any more and likely not for quite
 +   some time, so it was removed.
 +
 +
 +Changes since 2.21:
 +
 +o  Refactored curses terminal calls into own module
 +o  Many autoconf changes with the hope to improve portability and
 +   likely just breaking things
 +o  New diskdef for HP200
 +o  Added dirblks to allow reserving blocks after the directory
 +   as used by Kaypro
 +o  Fixed user number output for cpmls -d
 +o  Added option -u to show all CP/M file names in uppercase
 +
 +
 +Changes since 2.20:
 +
 +o  rc759 diskdef renamed to rc75x, as it works for the series
 +o  diskdefs.5 added
 +o  Many disk formats from Larry Kraemer added
 +o  Renamed ampdsdd to ampro400d for consistency with libdsk and because
 +   ampdsdd very likely was wrong
 +o  Check for invalid block size
 +o  Output line number for diskdefs errors
 +o  Correctly output create or access time for CP/M 3 in cpmls
 +o  Spectravideo SVI-728 diskdef added
 +o  $DESTDIR support
 +o  Correctly handle empty files
 +o  Fix block allocation for large directories.
 +o  Fix time stamp conversion
 +o  Allow user number 16-31 for CP/M 2.2
 +o  Intel MDS/22 formats added
 +o  Crash when using blocksize 16384 fixed
 +
 +Changes since 2.19:
 +
 +o  Fixed bug in cpmfs leading to wrongly allocated blocks 
 +
 +
 +Changes since 2.18:
 +
 +o  More diskdefs entries
 +o  New diskdefs option to set the libdsk format
 +o  Fixed various warnings
 +o  Fixed Makefile if building without curses 
 +
 +Changes since 2.17:
 +
 +o  Make timestamps in mkfs.com optional and add date stamper creation
 +o  Better cpm.5 documentation
 +o  Updated config.guess
 +o  Fixed error handling for corrupt images or diskdefs
 +o  Fixed off by one bug in fsck not detecting a wrong block number
 +o  Fixed too short directory buffer for directory sizes not matching
 +   whole blocks 
 +
 +Changes since 2.16:
 +
 +o  Improved filesystem documentation
 +o  Many new diskdefs
 +o  device_win32.c fixed by Bill Buckels 
 +
 +Changes since 2.15:
 +
 +*  Various small fixes
 +*  Datestamper support
 +*  Image offset to access disk slices 
 +  
 +</code>
 +
 +
 +===== libdisk-Formate und Typen =====
 +
 +<code>
 +d:>dskdump.exe -formats
 +Disk formats supported:
 +
 +   pcw180     : PCW / IBM 180k
 +   cpcsys     : CPC System
 +   cpcdata    : CPC Data
 +   pcw720     : PCW / IBM 720k
 +   pcw1440    : PcW16 / IBM 1440k
 +   ibm160     : IBM 160k (CP/M-86 / DOSPLUS)
 +   ibm320     : IBM 320k (CP/M-86 / DOSPLUS)
 +   ibm360     : IBM 360k (CP/M-86 / DOSPLUS)
 +   ibm720     : IBM 720k (144FEAT)
 +   ibm1200    : IBM 1.2M (144FEAT)
 +   ibm1440    : IBM 1.4M (144FEAT)
 +   acorn160   : Acorn 160k
 +   acorn320   : Acorn 320k
 +   acorn640   : Acorn 640k
 +   acorn800   : Acorn 800k
 +   acorn1600  : Acorn 1600k
 +   pcw800     : PCW 800k
 +   pcw200     : PCW 200k
 +   bbc100     : BBC 100k
 +   bbc200     : BBC 200k
 +   mbee400    : Microbee 400k
 +   mgt800     : MGT 800k
 +   trdos640   : TR-DOS 640k
 +   ampro200   : Ampro 40 track single-sided
 +   ampro400d  : Ampro 40 track double-sided
 +   ampro400s  : Ampro 80 track single-sided
 +   ampro800   : Ampro 80 track double-sided
 +   pcw1200    : PcW16 / IBM 1200k
 +   mac400     : Macintosh GCR 400k
 +   mac800     : Macintosh GCR 800k
 +   myz80      : MYZ80 8Mb
 +   pcpm320    : IBM 320k (CP/M-86 / DOSPLUS)
 +   
 +d:>dskdump.exe -types
 +Disk image types supported:
 +
 +   ntwdm      : NT WDM floppy driver
 +   floppy     : Win32 floppy driver
 +   gotek      : Gotek 1440k disc image collection
 +   gotek72    : Gotek 720k disc image collection
 +   remote     : Remote LibDsk instance
 +   rcpmfs     : Reverse CP/MFS driver
 +   dsk        : CPCEMU .DSK driver
 +   edsk       : Extended .DSK driver
 +   apridisk   : APRIDISK file driver
 +   copyqm     : CopyQM file driver
 +   tele       : TeleDisk file driver
 +   ldbs       : LibDsk block store
 +   sap        : SAP file driver
 +   qrst       : Quick Release Sector Transfer
 +   imd        : IMD file driver
 +   ydsk       : YAZE YDSK driver
 +   raw        : Raw file driver (alternate sides)
 +   rawoo      : Raw file driver (out and out)
 +   rawob      : Raw file driver (out and back)
 +   myz80      : MYZ80 hard drive driver
 +   simh       : SIMH disc image driver
 +   nanowasp   : NanoWasp image file driver
 +   logical    : Raw file logical sector order
 +   jv3        : JV3 file driver
 +   dc42       : Disk Copy 4.2
 +   cfi        : CFI file driver
 +</code>  
 +   
  • cpm/cpmtools.1421319699.txt.gz
  • Zuletzt geändert: 2015/01/15 11:01
  • von volkerp