- Notifications
You must be signed in to change notification settings - Fork3
Library and tools for accessing discs and disc image files (forked)
lipro-cpm4l/libdsk
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
LibDsk is a library intended to give transparent access to floppy drivesand to the "disc image files" used by emulators to represent floppy drives.
It is intended for use in:
- Emulator tools: converting between real floppy discs and disc images,as
CPCTRANS
/PCWTRANS
do underDOS. - Filesystem utilities:CPMTOOLSis configurable to use LibDsk , thus allowing the use ofCPMTOOLS onemulator
.DSK
images. To do this, install LibDsk and then buildCPMTOOLS , using./configure --with-libdsk
. ForCPMTOOLS 1.9 or 2.0,you will also need to applythis patch. - Emulators: it is possible to use LibDsk as part of an emulator'sfloppy controller emulation, thus giving the emulator transparentaccess to
.DSK
files or real discs.
You will need an ANSI standard C compiler, prefered is the GNU CC. Optionalyou can build against the compression librarieszlib
andlibbz2
and alsoyou can build an Java Native Interface binding to LibDsk. You can use LibDskunder DOS, Windows, Linux and MacOS.
sudo apt-get install zlib1g-devsudo apt-get install libbz2-dev
git clone https://github.com/lipro-cpm4l/libdsk.gitcd libdsk
./configure --with-zlib --with-bzlibmake allsudo make install
Original written by John Elliottseasip.webmaster@gmail.com and distributedunder the GNU Library General Public License version 2.
Primary-site:https://www.seasip.info/Unix/LibDsk/
The author provides the software in accordance with the terms ofthe GNU-GPL. The use of the software is free of charge and istherefore only at your own risk!No warranty or liability!
Any guarantee and liability is excluded!
Primary-site:https://www.seasip.info/Unix/LibDsk/
John Elliott is the originator of the C source code andas well as the associated scripts, descriptions and help files.This part is released and distributed under the GNU GeneralPublic License (GNU-GPL) Version 2.
A few parts of the source code are based on the work of otherauthors:
- Mark Ogden:Fixed some memory corruption issues detected by VS2017 analysis.Widened
total_sectors32
to 32 bits indskform
. Swapped"sectors / track" and "sectors / cylinder" captions indskutil
.- Steven Fosdick:Fixed compilation issue on recent glibc.
- Emulix75:New disk image format implemented, SAP.
- Will Kranz:Teledisk read-only support for 'advanced' compression. Based onwteledskdecompression code by Will Kranz (relicensed under LGPLv2, withpermission).
- Ralf-Peter Nerlich:Correct the description of the 'W' command in
dskutil
.All utilities now usebasename()
(if available) to trim pathsfromargv[0]
. Replacement CopyQM driver.- Jurgen Sievers:Bug fixes an buffer overflow in
rcpmfs
driver when renaminga file with a full 8.3 name and a nonzero user number.- Alistair John Bush:Patched Makefile.am to pass JAVACFLAGS to Java compiler.
- Sven Klose:Corrected a compilation problem on FreeBSD.
- Stuart Brady:Added a new geometry (
FMT_TRDOS640
).- Ramlaid <www.ramlaid.com>:Modified
cpcemu
driver so that thedsk_trkids()
function moreaccurately reflects the result from a real disk. Doesn't leak filehandles if file not SQ compressed. Uses the passed sector size indsk_xread()
/dsk_xwrite()
of thentwdm
driver rather than thesector size in the geometry structure.- Daniel Black:Corrected an install bug in
Makefile.am
.- Simon Owen:Added
ntwdm
driver.- Philip Kendall:Added
dsk_dirty()
function.- Per Ola Ingvarsson:A read-only CopyQM driver and CopyQM format documentation.
- Thierry Jouin:Bug fixes in the extended
.DSK
format handler.- Darren Salt:Bug fixes in the example utilities.Manual pages added to the distribution.
- Cliff Lawson:Support added for
.CFI
format (a strange format used by CliffLawson to distribute Amstrad PC boot floppies).- Kevin Thacker:Make libdsk compile in Microsoft Visual C++.
see:doc/COPYING,ChangeLog
About
Library and tools for accessing discs and disc image files (forked)