Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
cpm:cpmtools [2015/01/15 10:49] – angelegt volkerp | cpm:cpmtools [2024/04/10 06:27] (aktuell) – [Format description] volkerp | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
http:// | http:// | ||
- | Format description | + | GUI -> http:// |
+ | |||
+ | https:// | ||
+ | |||
+ | ===== Format description | ||
< | < | ||
diskdef name format definition | diskdef name format definition | ||
- | seclen n 128, | + | seclen n 128, |
- | tracks n 1.. Number of tracks | + | tracks n 1.. Number of tracks |
- | sectrk n 1.. Sectors per track | + | sectrk n 1.. phys. Sectors per track |
- | blocksize n 1024, | + | blocksize n 1024, |
- | maxdir n 1.. Number of directory entries | + | maxdir n 1.. Number of directory entries |
+ | boottrk n Number of system tracks | ||
+ | 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, | skewtab r1, | ||
- | | + | offset n | nK | nM | nT | nS n Byte|n Kilobyte|n Megabyte|n Tracks|n Sectors |
- | | + | logicalextents |
- | logicalextents Logical extents per physical extent | + | |
os 2.2 | 3 | isx | p2dos | zsys | os 2.2 | 3 | isx | p2dos | zsys | ||
- | libdsk: | + | libdsk: |
end | end | ||
Zeile 25: | Zeile 33: | ||
Berechnungen: | Berechnungen: | ||
- | size := (secLength*sectrk*(tracks-boottrk))/ | + | size := (secLength*sectrk*(tracks-boottrk))/ |
if (extents==0) extents := ((size> | if (extents==0) extents := ((size> | ||
Allocatabledatablocks := size-(maxdir*32+blksiz-1)/ | Allocatabledatablocks := size-(maxdir*32+blksiz-1)/ | ||
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/ | + | physical sector := (track*sectrk + sector) + offset/ |
- | win32c: | ||
- | SetFilePointer ((sector+track*sectrk)*secLength)+offset; | ||
</ | </ | ||
+ | |||
+ | Viele Hinweise zu libsk, cpmtools, ... und zur Analyse unbekannter Disketten gibt's von Larry Kraemer auf | ||
+ | http:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Build ===== | ||
+ | |||
+ | Erzeugen mit MINGW/MSYS | ||
+ | |||
+ | < | ||
+ | # | ||
+ | # libdsk | ||
+ | # | ||
+ | |||
+ | tar zxvf libdsk-1.3.3.tar.gz | ||
+ | cd libdsk-1.3.3 | ||
+ | ./configure | ||
+ | make | ||
+ | strip *.exe | ||
+ | make install | ||
+ | cd .. | ||
+ | |||
+ | # | ||
+ | # cpmtools | ||
+ | # | ||
+ | |||
+ | PDCurses installieren, | ||
+ | |||
+ | cd d: | ||
+ | copy libpdcurses.a libcurses.a | ||
+ | |||
+ | # | ||
+ | |||
+ | tar zxvf cpmtools-2.13.tar.gz | ||
+ | cd cpmtools-2.13 | ||
+ | ./configure --with-diskdefs="" | ||
+ | make | ||
+ | make -i install | ||
+ | strip / | ||
+ | |||
+ | # | ||
+ | |||
+ | tar zxvf cpmtools-2.18.tar.gz | ||
+ | cd cpmtools-2.18 | ||
+ | |||
+ | es gibt Compiler-Probleme mit den mitgelieferten getopt-Daten, | ||
+ | - in Makefile.in " | ||
+ | - leere Datei getopt_.h anlegen (oder vorhandene leeren) | ||
+ | |||
+ | ./configure --with-diskdefs="" | ||
+ | make | ||
+ | strip *.exe | ||
+ | make -i install | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Changes ===== | ||
+ | |||
+ | < | ||
+ | Changes since 2.22: | ||
+ | |||
+ | o Use 16 bit block pointers for file systems > 256 blocks, not >= 256 | ||
+ | o Translate CP/M file name character '/' | ||
+ | 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/ | ||
+ | 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 | ||
+ | | ||
+ | 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 | ||
+ | | ||
+ | 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 | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== libdisk-Formate und Typen ===== | ||
+ | |||
+ | < | ||
+ | d:> | ||
+ | Disk formats supported: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | |||
+ | d:> | ||
+ | Disk image types supported: | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ |