2008-01-23 John Elliott * libdsk-1.2.1 released. 2008-01-19 Sven Klose * Corrected a compilation problem on FreeBSD. 2008-01-12 John Elliott * Corrected a bug which caused rcpmfs to give 'overrun' errors when emulating a CP/M 2 filesystem. 2007-12-17 John Elliott * libdsk-1.2.0 released. 2007-12-10 John Elliott * Removed O_CREAT from attempts to open serial ports. * For some reason I commented out the ibm320 format between libdsk-1.1.2 and libdsk-1.1.3. Can't think why. Uncommented it. * Removed a couple of C99 style comments (//) which prevented compilation on really old gcc versions. 2007-07-27 John Elliott * libdsk-1.1.14 released. 2007-06-11 Stuart Brady * Added a new geometry (FMT_TRDOS640). 2007-06-10 John Elliott * Updated the DOS and Windows projects with the new drivers (the Teledisk one didn't compile under Win16). 2007-06-09 John Elliott * libdsk-1.1.13 released. * New driver: Logical. This is a raw disc image as generated by 'dsktrans -logical'; that is, it is arranged in logical sector order rather than SIDES_ALT order. Useful for dealing with raw disc images that were dumped in logical order. * dsktrans: The -logical option has accordingly been deprecated, since '-otype logical' should have the same effect. 2007-06-02 John Elliott * New driver: Teledisk, based on the file format documentation at <http://www.fpns.net/willy/wteledsk.htm>. This driver is read-only. No code from WTELEDSK has been used, because it's GPLed rather than LGPLed. 2006-11-18 John Elliott * libdsk-1.1.12 released. 2006-08-02 John Elliott * cpcemu driver: Bug fix when a sector is not found and it has to start searching again at the beginning of the track. 2006-07-23 John Elliott * libdsk-1.1.11 released. 2006-07-02 Ramlaid <www.ramlaid.com> * cpcemu driver: Modified so that the dsk_trkids() function more accurately reflects the result from a real disk. Also exposed the ST0-ST3 registers. * SQ compression: Doesn't leak file handles if file not compressed. * NTWDM driver: Uses the passed sector size in dsk_xread / dsk_xwrite rather than the sector size in the geometry structure. 2006-04-18 John Elliott * libdsk-1.1.10 released. 2006-04-11 John Elliott * Extended the Apricot -> PCDOS boot sector conversion code to save a copy of the original boot sector. * Created a reverse conversion, PCDOS -> Apricot * dsktrans: The -apricot option now converts *to* Apricot format, not *from*. A -pcdos option has been added to convert from Apricot to PCDOS format. * A new utility, apriboot, just rewrites the boot sector in place. 2006-04-07 John Elliott * Made a start on a driver for Apricot MS-DOS. 2006-04-01 John Elliott * Corrected a problem in the Linux floppy driver that caused 'no data' errors reading 70-track Apricot discs if the geometry was probed automatically. 2006-01-21 John Elliott * libdsk-1.1.9 released. 2006-01-18 John Elliott * Expanded dskutil with the ability to read and write data. 2005-12-26 John Elliott * Bugfix: The rcpmfs driver was conflating User 1 and User 0. 2005-12-17 John Elliott * libdsk-1.1.8 released. * Added the myz80 geometry as one of the standard geometries, so that rcpmfs can present drives in the myz80 format. 2005-12-07 John Elliott * Updated the ApriDisk driver to support an extra block type, which I hypothesize to be the name of the utility that created the disk image. 2005-12-05 John Elliott * Modified the rcpmfs driver to accept SysTracks=0 as a valid parameter, rather than ignoring it silently. 2005-11-18 John Elliott * libdsk-1.1.7 released. 2005-11-13 John Elliott * Added support for reading DSK files created with Simon Owen's 'weak/random data' extension. * Created dskutil, a simple interactive program allowing arbitrary sectors to be read. Used to test the weak/random data extension above. * Added code to rcpmfs to deal with file truncation. 2005-09-03 John Elliott * libdsk-1.1.6 released. * Bug fix: Don't leak file handles in drvcpcem.c. 2005-07-21 John Elliott * Fixed the '-logical' option in dsktrans so it doesn't fall over with "bad parameter" errors. * libdskrc parser now understands 'sides' and 'sidedness' for the how-to-treat-sidedness parameter. 2005-07-03 John Elliott * libdsk-1.1.5 released. 2005-06-28 Daniel Black * Corrected an install bug in Makefile.am 2005-06-14 John Elliott * Added guard code against a buffer overrun in the DSK driver (if an attempt is made to format a track with more than 29 sectors) * Serial remote drivers and standalone serslave written for Linux, Win32, DOS16, DOS32 (DOS32 untested). 2005-06-14 John Elliott * Corrected a bug in the Linux and NTWDM drivers - dsk_xread was failing when the sector size passed in did not match the sector size in the geometry structure. * Added dskdump and dskscan to the list of utilities that get installed. * dskid(1) allows multiple arguments. 2005-05-10 John Elliott * Started expanding the internal 'RPC' system to support operation over serial lines. 2005-03-14 John Elliott * libdsk-1.1.4 released. * Added dsk_{p,l}trkids() and dsk_rtread() functions. * Added COM bindings (Windows version). 2005-02-28 Simon Owen * Added ntwdm driver. 2005-02-19 Philip Kendall * Added dsk_dirty() function. 2005-01-26 John Elliott * libdsk-1.1.3 released. 2005-01-25 John Elliott * Merged CopyQM format documentation from Per Ola Ingvarsson. 2005-01-21 John Elliott * dsk_getgeom refactored so that drivers can call the default guesser and then override individual fields. * dsk_getgeom also supports detection of BBC Master 512 DOS Plus format, which is like acorn800 but has 1-based sector numbers. * CPCEMU read and write now use the passed sector size, not the size in the geometry structure. * Merged a read-only CopyQM driver from Per Ola Ingvarsson. 2005-01-18 John Elliott * Updated ApriDisk driver and apridisk.html with the official ApriDisk format definitions. * Continued knocking rcpmfs into shape. * Added -apricot, -noformat, -first and -last options to dsktrans. Fixed the -retry option in dsktrans so the default is 1 and not MAXINT. 2005-01-16 John Elliott * Updated dg_aprigeom() to use sector size in the Apricot superblock. 2005-01-03 John Elliott * LibDsk now loads format definitions from a libdskrc file, allowing user-defined formats. * Created an experimental rcpmfs driver which presents a filesystem directory as a CP/M disk image. 2004-03-27 John Elliott * v1.1.2 release. 2003-01-11 John Elliott * Added support for density and recording mode to the DSK and extended DSK file formats. See appendix C of the documentation for the details of this. 2003-08-13 John Elliott * v1.1.1 release. 2003-08-13 John Elliott * Added dsk_set_retry() and dsk_get_retry() so that LibDsk can automatically retry reads/writes. * Added double-stepping support to the Linux floppy driver, thus allowing 360k floppies to be imaged in 1.2Mb drives. 2003-02-13 John Elliott * Added a driver for the 'apridisk' disc image format. * Added support for comments in disc images. * Added functions for LibDsk to display messages during lengthy operations. 2003-01-13 John Elliott * v1.1.0 release. * Added a mini-RPC system to allow 32-bit Windows applications to use the more capable 16-bit floppy API. * The 16-bit DLL is now called LIBDSK16.DLL, so it can be installed in the same directory as the 32-bit DLL. * Added a driver for the 'nanowasp' disc image format. * Removed constraints on the parameter order of the example utilities. 2002-12-16 John Elliott * v1.0.0 release. * Minor portability fixes. * DOS16 and Win16 drivers retry three times; this avoids "Disc changed" errors on drives that are slow to spin up. 2002-12-01 John Elliott * v0.9.9 release. * Projects provided to build LibDsk under 16-bit Windows and DOS; bug fixes in the .DSK driver to work correctly on a 16-bit compiler (CFI won't work on 16-bit DOS, except for very small images). * Drivers added for the Win16, DOS16 and DOS32 architectures. There may be a case for combining the source files for Win16 and DOS16 as they are quite similar. * Previous MYZ80 bugfix was faulty. Corrected. 2002-11-18 John Elliott * v0.9.5 release. * MicroDesign serial numbers can be read or altered by md3serial * Bug fix in the posix driver; when sectors are written beyond the end of the file, the gap is filled with 0xE5 rather than leaving the OS to decide what goes there. * Similar bug fix in the myz80 driver. 2002-04-27 John Elliott * v0.9.1 release. * Squeeze compression rewritten from scratch to avoid a possible licence conflict. 2002-04-10 John Elliott * v0.9.0 release. * IMPORTANT CHANGES: This release breaks backward compatibility in a number of ways. Most importantly, you must replace "DSK_DRIVER *" with "DSK_PDRIVER " throughout your programs. * Support for reading/writing deleted data (DSK and Linux floppy only; other formats do not support marking data as deleted). * DSK files in the extended CPCEMU format now have their own file type - "edsk". This means that extended DSK files can be created using LibDsk. * Bug fixes in the extended DSK format handler (Thierry Jouin). * Transparent compression layer added, supporting Squeeze, GZip and BZip2 (read only). * Special-case DQK driver removed; the standard CPCEMU driver + the compression layer can now handle this case. * BBC Micro DFS formats added to the list of built-in formats, and to the geometry probe. * Bugfix in the Linux floppy driver so that discs with FM encoding can be read (requires a suitable floppy controller and drive). 2002-04-06 John Elliott * v0.8.2 release. * New driver added: .DQK (.DSK compressed using Squeeze compression). * XCF2 200k format added to the list of built-in formats. * Darren Salt's manual pages added to the distribution. 2002-02-25 John Elliott * v0.8.0 release. * Support added for Java Native Interface bindings (requires JDK v1.1 or later). Use ./configure --with-jni to build them. * Java versions of dskid, dskform and dsktrans added. 2002-02-07 John Elliott * v0.7.0 release. * Support added for .CFI format (a strange format used by Cliff Lawson to distribute Amstrad PC boot floppies). * Bug fixes in the example utilities (Darren Salt). * dsktrans includes a -format option to use a built-in geometry rather than trying to probe it from the disc. * PCW 800k format added to list of builtin formats. 2002-01-15 John Elliott * v0.6.0 release. * Acorn ADFS formats added to the list of formats, and to the geometry probe. These don't work on Windows because of the limitations of the underlying floppy driver. * dsk_xread() and dsk_xwrite() altered so that only part of a sector can be read or written. * Make libdsk compile in Microsoft Visual C++ (Kevin Thacker) * dskform supports all built-in disc geometries. * dg_stdformat() can be used to enumerate the built-in geometries. * dsktrans includes a "-logical" option to rearrange the tracks of a disc, so that they come out in logical order in a "raw" file. This option is only effective for ADFS and 144FEAT formats.