[ Introduction | Changelog | Information | Download | Lib765 | Diskette Tools | Serial Port Server ]
LIBDSK page
LIBDSK is a library for accessing discs and disc image files. It is intended for use in:
- Emulator tools - converting between real floppy discs and disc images, as CPCTRANS / PCWTRANS do under DOS.
 - Filesystem utilities - CPMTOOLS is configurable to use LIBDSK, thus allowing the use of CPMTOOLS on emulator .DSK images. To do this, install LIBDSK and then build CPMTOOLS, using "./configure --with-libdsk". For CPMTOOLS 1.9 or 2.0, you will also need to apply this patch.
 - Emulators - it is possible to use LIBDSK as part of an emulator's floppy controller emulation, thus giving the emulator transparent access to .DSK files or real discs.
 
New in v1.2.2
- Compilation scripts updated to autoconf 2.68.
 
New in 1.3.5
- TeleDisk images with 'advanced' compression are supported.
 - Bug fix: dsk_format_t numbers were out of sync with the format definitions.
 - All utilities now take -types and -formats options, to list supported disk image types and formats.
 - Double-sided Ampro disk formats can be autodetected.
 
New in v1.3.6
- Compilation fixes only.
 
New in 1.3.7
- New drive geometry type: 'extsurface'. For discs where both sides are marked as side 0, with sector numbers on side 1 starting where side 0 left off.
 - New backend: IMD (for files created by ImageDisk).
 
New in 1.3.8
- Bugfix in the IMD driver: Geometry probe returned the wrong data rate for HD discs.
 
Disc types supported
LIBDSK has drivers for:
- Raw files (including /dev/fdn).
 - Raw files, rearranged into logical filesystem order.
 - .DSK files, as used in CPCEMU, JOYCE and other Sinclair/Amstrad emulators.
 - MYZ80 hard drive image files.
 - NanoWasp floppy image files.
 - .CFI (Compressed Floppy Image) files, as created by FDCOPY.COM under DOS.
 - The Linux floppy drive (supports CPC System and Data formats, which the standard "Raw file" driver does not).
 - The Windows 3.x/95/98/ME/NT/2000 floppy drive.
 - The DOS floppy drive (via the PC BIOS).
 - CopyQM files (read-only)
 - TeleDisk files (read-only)
 - APRIDISK image files
 - rcpmfs - a backend that makes a Unix/Windows directory appear to be a CP/M disc image.
 - Another instance of LibDsk over a serial line.
 
Download
 Stable version: libdsk-1.2.2.tar.gz
 
LibDsk 1.2.1
executables for Windows
 
LibDsk 1.2.1
executables for DOS
 Development version: libdsk-1.3.8.tar.gz
 
LibDsk 1.3.8
executables for Windows
Debian packages by Darren Salt.
Packages for Fedora Core 2 and Redhat 9 by Ian Chapman.
LIB765
Lib765 is the floppy controller emulation from JOYCE, separately packaged. It is (in some sense) the reverse of LibDsk; it converts uPD765a commands into LibDsk API calls. It should come in handy if you're writing a PCW, CPC or Spectrum+3 emulator; if you want to use it in a PC emulator, you'll need to add features such as DMA.
New in v0.4.x
- (v0.4.2) Increased buffer size to fix multisector reads on high-density disc images.
 - (v0.4.1) Removed spurious references to LIBDSK_EXPOSES_DIRTY.
 - (v0.4.0) Initial support for multisector reads.
 
Diskette Tools
The Diskette Tools program is a GUI front-end to LibDsk. It doesn't do any more than the provided sample utilities, but it looks nicer.
![[Screenshot of
Diskette Tools under Linux]](dsktool.png)
 dsktool-1.0.3.tar.gz (38k): Source 
code - suitable for Linux, Windows and probably other platforms. 
Requires wxWidgets to compile.
 
dsktool103.zip
(1473k): Compiled version for Windows, including source code.
Serial Port Server
AUXD is a server for CP/M, allowing drives from CP/M systems to be made available to LibDsk over a serial link. Two versions are included - a generic CP/M server, and one for Amstrad PCW/CPC/Spectrum +3 CP/M.
 auxd.zip (62k) 
- source code and compiled programs.
John Elliott 2014-03-01