Limited fork from https://github.com/keirf/Disk-Utilities collection for ripping, dumping, analysing, and modifying disk images.
All code is free and unencumbered Public Domain software. For more information, please refer to http://unlicense.org/ or the accompanying UNLICENSE file.
-
libdisk A library for converting and manipulating disk images. It can create disk images in a range of formats from Kryoflux STREAM and SPS/IPF images (among others), and then allow these to be accessed and modified. Dynamic and static builds for Windows, Linux and macOS.
-
disk-analyse The disk image conversion tool. Dynamic and static builds for Windows, Linux and macOS.
- Read/Write support:
- Amiga Disk File (.ADF) and Extended ADF (.EADF)
- LibDisk (.DSK)
- Supercard Pro (.SCP)
- ImageDisk (.IMD)
- IBM-MFM Sector Image Dump (.IMG)
- HxC Floppy Emulator (.HFE) (orig,v3)
- Atari ST Sector Dump (.ST)
- Read-Only support:
- Kryoflux STREAM (.RAW)
- DiscFerret (.DFI)
- Amiga diskread (.DAT)
- Read/Write support:
# make clean
# make
# sudo make install
$ disk-analyse -help
Usage: disk-analyse [options] in_file out_file
Options:
-h, --help Display this information
-q, --quiet Quiesce normal informational output
-v, --verbose Print extra diagnostic info
-i, --index-align Align all track starts near index mark
-C, --clear-bad-sectors Clear bad sectors in output
-p, --pll-period-adj=PCT (PCT=0..100) PLL period adjustment
-P, --pll-phase-adj=PCT (PCT=0..100) PLL phase adjustment
Amount observed flux affects PLL
-r, --rpm=DRIVE[:DATA] RPM of drive that created the input,
Original recording RPM of data [300]
-D, --double-step Double Step
-s, --start-cyl=N Start cylinder
-e, --end-cyl=N End cylinder
-S, --ss[=0|1] Single-sided disk (default is side 0)
-k, --kryoflux-hack Fill empty tracks with prev track's data
-f, --format=FORMAT Name of format descriptor in config file
-c, --config=FILE Config file to parse for format info
Supported file formats (suffix => type):
.adf => ADF
.eadf => Extended-ADF
.hfe => HxC Floppy Emulator (orig,v3)
.imd => ImageDisk
.img => IBM-MFM Sector Dump
.ipf => SPS/IPF
.dsk => Libdisk
.scp => Supercard Pro
.st => Atari ST Sector Dump
Read-only support:
.dat => Diskread
.dfi => DiscFerret DFE2
*.raw => Kryoflux STREAM
.{ct,ctr,raw} => CAPS/SPS CT Raw
Write-only support:
.jv3 => JV3 TRS80 Emulator
$ disk-analyse --config=./formats --format=ibm_mfm_dd double.scp double.img
T00.0-78.1: IBM-MFM DD (9 512-byte sectors, 4608 bytes)
T79.0-79.1: IBM-MFM DD (8 512-byte sectors, 4096 bytes)
T80.0-83.1: Unformatted
###############
# Amiga Formats
probe_amiga
* amigados copylock
amigados
* amigados
amigados_varrate
* amigados_varrate
rnc_dualformat
0 rnc_dualformat
* amigados ibm_pc_dd_10sec rnc_dualformat_empty
rnc_triformat
0 rnc_triformat
* amigados ibm_pc_dd
softlock_dualformat
0 softlock_dualformat
* amigados ibm_pc_dd
################################################################
# IBM-MFM Fully-Defined Formats (sector numbering/sizing/layout)
# 5.25-inch and 3.5-inch double density (360K and 720K)
ibm_pc_dd
* ibm_pc_dd
ibm_pc_dd_10sec
* ibm_pc_dd_10sec
# 3.5-inch high density (1440K)
ibm_pc_hd
* ibm_pc_hd
# 5.25-inch high density (1200K)
ibm_pc_hd_5_25
* ibm_pc_hd_5_25
# 3.5-inch extended density (2880K)
ibm_pc_ed
* ibm_pc_ed
siemens_isdx_hd
* siemens_isdx_hd
microsoft_dmf_hd
160-161 trace_traceback_hd
* microsoft_dmf_hd ibm_pc_hd
# Acorn ADFS 'S', 'M' or 'L' (160, 320 or 640K)
acorn_adfs_s_m_l
* acorn_adfs_s_m_l
# Acorn ADFS 'D' or 'E' (800K)
acorn_adfs_d_e
* acorn_adfs_d_e
# Acorn ADFS 'F' (1600K)
acorn_adfs_f
* acorn_adfs_f
# Atari ST (generic)
atari_st
* ibm_mfm_dd
# Atari ST (720K)
atari_st_720kb
* atari_st_720kb
##########################################################
# IBM-MFM Generic Formats (auto-detect sector arrangement)
ibm_mfm_dd
* ibm_mfm_dd
ibm_mfm_hd
* ibm_mfm_hd
ibm_mfm_ed
* ibm_mfm_ed
##########################################################
# IBM-FM Generic Formats (auto-detect sector arrangement)
ibm_fm_sd
* ibm_fm_sd
ibm_fm_dd
* ibm_fm_dd
"DEC-RX01"
* dec_rx01
"DEC-RX02"
* dec_rx02
"DEC-RX01-525"
* dec_rx01_525
"DEC-RX02-525"
* dec_rx02_525
ibm
* ibm_fm_sd ibm_fm_dd ibm_mfm_dd ibm_mfm_hd ibm_mfm_ed
ibm_fm_sd_recovery
* ibm_fm_sd_recovery
ibm_mfm_dd_recovery
* ibm_mfm_dd_recovery
ibm_recovery
* ibm_fm_sd_recovery ibm_mfm_dd_recovery
##########################################################
# Raw / Unanalysed Formats
raw_sd
* raw_sd
raw_dd
* raw_dd
raw_hd
* raw_hd
raw_ed
* raw_ed
variable_raw_sd
* raw_sd
variable_raw_dd
* raw_dd
variable_raw_hd
* raw_hd
variable_raw_ed
* raw_ed