[ 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.
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