12016-11-01 John Elliott 2 3 * libdsk-1.4.2 released. 4 5 * Geometry probe: Make the Apricot BPB check more discerning. 6 * IMD: Support IMD files with no comment (header line is followed 7 immediately by 0x1A). 8 * IMD: Fixed segfault when writing IMD file if number of tracks is not 9 20,40,80 or 160. 10 112015-12-28 John Elliott 12 13 * libdsk-1.4.1 released. 14 15 * General: Added a 'complement' flag to the recording mode, 16 allowing support of disk images where all bytes are stored 17 complemented. 18 192015-12-15 John Elliott 20 21 * OK, let's call it stable: libdsk-1.4.0 released. 22 232015-05-01 John Elliott 24 25 * libdsk-1.3.9 released. 26 27 * New backend: JV3 (for TRS-80 'JV3' disc images). These have no 28 magic number, so must be specified manually. 29 302015-04-24 John Elliott 31 32 * libdsk-1.3.8 released. 33 34 * IMD bugfix: Geometry probe was returning an incorrect data rate 35 for HD disks. 36 372015-04-21 John Elliott 38 39 * libdsk-1.3.7 released. 40 41 * New geometry type added: "extsurface", for discs where the sector 42 numbers increase across both sides (eg: 1-9 on side 0, 10-18 on 43 side 1). 44 45 * New backend: IMD (for files created by ImageDisk). Read/write 46 support. Also has a built-in extra geometry probe, which may be worth 47 pushing to other drivers (eg: DSK, TD0) that carry a similar amount 48 of detail. 49 502015-01-06 John Elliott 51 52 * Configure script: winioctl.h was not being detected. Also 53 updated to autoconf 2.69 54 * dsk_getgeom: Fixed C89 compilation issue. 55 562014-03-02 John Elliott 57 58 * libdsk-1.3.5 released. 59 * Teledisk: Added read-only support for 'advanced' compression. 60 Based on wteledsk decompression code by Will Kranz (relicensed 61 under LGPLv2, with permission). 62 * Teledisk: Check CRC of header before opening disk image. 63 * dg_stdgeom(): Built-in geometry specifications were out of step 64 with the corresponding dsk_format_t numbers. This wouldn't have 65 affected setting formats by name, but some of the automatic geometry 66 probes could have returned an incorrect geometry. 67 * dsk_getgeom(): Added four Ampro formats: ampro200, ampro400d, 68 ampro400s and ampro800. These correspond to formats AMP1-AMP4 69 under 22DISK. The double-sided ones can be autodetected by 70 dsk_getgeom(); sadly, the single-sided ones can't. 71 * dsk_typedesc_enum(): New function to enumerate driver 72 descriptions without needing to open a disk image in each 73 format in turn. 74 * Utilities: All utilities now take options '-types' and '-formats' 75 to list supported drivers and disk formats. 76 * dsktest: New -libdskrc argument to dump all known disk formats 77 in .libdskrc format. 78 792014-03-01 John Elliott 80 81 * libdsk-1.3.4 released. 82 * Documentation fix: 'teledisk' -> 'tele' 83 * Included an example .libdskrc file. 84 * Set the dirty flag when a drive comment is changed. 85 862011-04-20 John Elliott (based on patches from Ralf-Peter Nerlich) 87 88 * Replacement CopyQM driver 89 * All utilities now use basename() (if available) to trim paths 90 from argv[0] 91 922011-03-29 John Elliott 93 94 * dsk_creat: Check that this method is implemented before calling it. 95 * dskutil: Correct the description of the 'W' command (Ralf-Peter 96 Nerlich) 97 982011-01-10 John Elliott 99 100 * rcpmfs: Added support for the ISX variant of the CP/M 2 format. 101 1022010-09-27 John Elliott 103 104 * libdsk-1.3.3 released. 105 * rcpmfs: Buffer overflow when renaming a file with a full 8.3 name 106 and a nonzero user number. [Thanks to Jurgen Sievers] 107 1082010-06-28 John Elliott 109 110 * Updated to latest autotools, various compiler warnings fixed. 111 1122009-11-07 John Elliott 113 114 * libdsk-1.3.2 released. 115 1162009-11-07 Jacob Nevins 117 118 * CFI format: Ensure that status messages are correctly removed. 119 1202009-05-14 John Elliott 121 122 * Geometry probe: Support Opus Discovery disks. 123 1242008-12-26 John Elliott 125 126 * Linux floppy driver: Do an FDCLRPRM when opening the floppy drive. 127 This seems to be necessary to force a seek on the first read. 128 [Thanks to Stewart Kay] 129 1302008-08-24 John Elliott 131 132 * CPCEMU format: Corrected a problem with signed/unsigned integer 133 comparison. 134 1352008-08-16 John Elliott 136 137 * Fixed some compiler warnings under 16-bit DOS. 138 * Added a -comment option to dsktrans, allowing the comment to be 139 set when disks are imaged. 140 1412008-06-07 John Elliott 142 143 * libdsk-1.3.0 released. 144 * Added support for SIMH disc image format. 145 1462008-06-01 John Elliott 147 148 * Added support for YAZE ydsk format. 149 * Added skeletal support for IBM dskf format (not yet functional). 150 * Added knowledge of filesystem parameters, since both the above 151 formats require these as part of their metadata. 152 1532008-04-02 Alistair John Bush 154 155 * Patched Makefile.am to pass JAVACFLAGS to Java compiler. 156 1572008-01-23 John Elliott 158 159 * libdsk-1.2.1 released. 160 1612008-01-19 Sven Klose 162 163 * Corrected a compilation problem on FreeBSD. 164 1652008-01-12 John Elliott 166 167 * Corrected a bug which caused rcpmfs to give 'overrun' errors 168 when emulating a CP/M 2 filesystem. 169 1702007-12-17 John Elliott 171 172 * libdsk-1.2.0 released. 173 1742007-12-10 John Elliott 175 176 * Removed O_CREAT from attempts to open serial ports. 177 * For some reason I commented out the ibm320 format between 178 libdsk-1.1.2 and libdsk-1.1.3. Can't think why. Uncommented it. 179 * Removed a couple of C99 style comments (//) which prevented 180 compilation on really old gcc versions. 181 1822007-07-27 John Elliott 183 184 * libdsk-1.1.14 released. 185 1862007-06-11 Stuart Brady 187 188 * Added a new geometry (FMT_TRDOS640). 189 1902007-06-10 John Elliott 191 192 * Updated the DOS and Windows projects with the new drivers 193 (the Teledisk one didn't compile under Win16). 194 1952007-06-09 John Elliott 196 197 * libdsk-1.1.13 released. 198 199 * New driver: Logical. This is a raw disc image as generated by 200 'dsktrans -logical'; that is, it is arranged in logical sector order 201 rather than SIDES_ALT order. Useful for dealing with raw disc images 202 that were dumped in logical order. 203 * dsktrans: The -logical option has accordingly been deprecated, 204 since '-otype logical' should have the same effect. 205 2062007-06-02 John Elliott 207 208 * New driver: Teledisk, based on the file format documentation at 209 <http://www.fpns.net/willy/wteledsk.htm>. This driver is read-only. 210 No code from WTELEDSK has been used, because it's GPLed rather than 211 LGPLed. 212 2132006-11-18 John Elliott 214 215 * libdsk-1.1.12 released. 216 2172006-08-02 John Elliott 218 219 * cpcemu driver: Bug fix when a sector is not found and it has 220 to start searching again at the beginning of the track. 221 2222006-07-23 John Elliott 223 224 * libdsk-1.1.11 released. 225 2262006-07-02 Ramlaid <www.ramlaid.com> 227 228 * cpcemu driver: Modified so that the dsk_trkids() function more 229 accurately reflects the result from a real disk. Also exposed the 230 ST0-ST3 registers. 231 * SQ compression: Doesn't leak file handles if file not compressed. 232 * NTWDM driver: Uses the passed sector size in dsk_xread / dsk_xwrite 233 rather than the sector size in the geometry structure. 234 2352006-04-18 John Elliott 236 237 * libdsk-1.1.10 released. 238 2392006-04-11 John Elliott 240 241 * Extended the Apricot -> PCDOS boot sector conversion code to save 242 a copy of the original boot sector. 243 * Created a reverse conversion, PCDOS -> Apricot 244 * dsktrans: The -apricot option now converts *to* Apricot format, 245 not *from*. A -pcdos option has been added to convert from Apricot 246 to PCDOS format. 247 * A new utility, apriboot, just rewrites the boot sector in place. 248 2492006-04-07 John Elliott 250 251 * Made a start on a driver for Apricot MS-DOS. 252 2532006-04-01 John Elliott 254 255 * Corrected a problem in the Linux floppy driver that caused 'no data' 256 errors reading 70-track Apricot discs if the geometry was probed 257 automatically. 258 2592006-01-21 John Elliott 260 261 * libdsk-1.1.9 released. 262 2632006-01-18 John Elliott 264 265 * Expanded dskutil with the ability to read and write data. 266 2672005-12-26 John Elliott 268 269 * Bugfix: The rcpmfs driver was conflating User 1 and User 0. 270 2712005-12-17 John Elliott 272 273 * libdsk-1.1.8 released. 274 275 * Added the myz80 geometry as one of the standard geometries, 276 so that rcpmfs can present drives in the myz80 format. 277 2782005-12-07 John Elliott 279 280 * Updated the ApriDisk driver to support an extra block type, which 281 I hypothesize to be the name of the utility that created the disk 282 image. 283 2842005-12-05 John Elliott 285 286 * Modified the rcpmfs driver to accept SysTracks=0 as a valid 287 parameter, rather than ignoring it silently. 288 2892005-11-18 John Elliott 290 291 * libdsk-1.1.7 released. 292 2932005-11-13 John Elliott 294 295 * Added support for reading DSK files created with Simon Owen's 296 'weak/random data' extension. 297 * Created dskutil, a simple interactive program allowing arbitrary 298 sectors to be read. Used to test the weak/random data extension 299 above. 300 * Added code to rcpmfs to deal with file truncation. 301 3022005-09-03 John Elliott 303 304 * libdsk-1.1.6 released. 305 * Bug fix: Don't leak file handles in drvcpcem.c. 306 3072005-07-21 John Elliott 308 309 * Fixed the '-logical' option in dsktrans so it doesn't fall over 310 with "bad parameter" errors. 311 * libdskrc parser now understands 'sides' and 'sidedness' for 312 the how-to-treat-sidedness parameter. 313 3142005-07-03 John Elliott 315 316 * libdsk-1.1.5 released. 317 3182005-06-28 Daniel Black 319 320 * Corrected an install bug in Makefile.am 321 3222005-06-14 John Elliott 323 324 * Added guard code against a buffer overrun in the DSK driver 325 (if an attempt is made to format a track with more than 29 sectors) 326 327 * Serial remote drivers and standalone serslave written for Linux, 328 Win32, DOS16, DOS32 (DOS32 untested). 329 3302005-06-14 John Elliott 331 332 * Corrected a bug in the Linux and NTWDM drivers - dsk_xread was 333 failing when the sector size passed in did not match the sector 334 size in the geometry structure. 335 336 * Added dskdump and dskscan to the list of utilities that get 337 installed. 338 339 * dskid(1) allows multiple arguments. 340 3412005-05-10 John Elliott 342 343 * Started expanding the internal 'RPC' system to support operation 344 over serial lines. 345 3462005-03-14 John Elliott 347 348 * libdsk-1.1.4 released. 349 350 * Added dsk_{p,l}trkids() and dsk_rtread() functions. 351 352 * Added COM bindings (Windows version). 353 3542005-02-28 Simon Owen 355 356 * Added ntwdm driver. 357 3582005-02-19 Philip Kendall 359 360 * Added dsk_dirty() function. 361 3622005-01-26 John Elliott 363 364 * libdsk-1.1.3 released. 365 3662005-01-25 John Elliott 367 368 * Merged CopyQM format documentation from Per Ola Ingvarsson. 369 3702005-01-21 John Elliott 371 372 * dsk_getgeom refactored so that drivers can call the default 373 guesser and then override individual fields. 374 * dsk_getgeom also supports detection of BBC Master 512 DOS Plus 375 format, which is like acorn800 but has 1-based sector numbers. 376 377 * CPCEMU read and write now use the passed sector size, not the 378 size in the geometry structure. 379 380 * Merged a read-only CopyQM driver from Per Ola Ingvarsson. 381 3822005-01-18 John Elliott 383 384 * Updated ApriDisk driver and apridisk.html with the official 385 ApriDisk format definitions. 386 387 * Continued knocking rcpmfs into shape. 388 389 * Added -apricot, -noformat, -first and -last options to dsktrans. 390 Fixed the -retry option in dsktrans so the default is 1 and not 391 MAXINT. 392 3932005-01-16 John Elliott 394 395 * Updated dg_aprigeom() to use sector size in the Apricot 396 superblock. 397 3982005-01-03 John Elliott 399 400 * LibDsk now loads format definitions from a libdskrc file, allowing 401 user-defined formats. 402 403 * Created an experimental rcpmfs driver which presents a filesystem 404 directory as a CP/M disk image. 405 4062004-03-27 John Elliott 407 408 * v1.1.2 release. 409 4102003-01-11 John Elliott 411 412 * Added support for density and recording mode to the DSK and 413 extended DSK file formats. See appendix C of the documentation 414 for the details of this. 415 4162003-08-13 John Elliott 417 418 * v1.1.1 release. 419 4202003-08-13 John Elliott 421 422 * Added dsk_set_retry() and dsk_get_retry() so that LibDsk can 423 automatically retry reads/writes. 424 425 * Added double-stepping support to the Linux floppy driver, thus 426 allowing 360k floppies to be imaged in 1.2Mb drives. 427 4282003-02-13 John Elliott 429 430 * Added a driver for the 'apridisk' disc image format. 431 432 * Added support for comments in disc images. 433 434 * Added functions for LibDsk to display messages during lengthy 435 operations. 436 4372003-01-13 John Elliott 438 439 * v1.1.0 release. 440 441 * Added a mini-RPC system to allow 32-bit Windows applications to use 442 the more capable 16-bit floppy API. 443 * The 16-bit DLL is now called LIBDSK16.DLL, so it can be installed in 444 the same directory as the 32-bit DLL. 445 446 * Added a driver for the 'nanowasp' disc image format. 447 448 * Removed constraints on the parameter order of the example utilities. 449 4502002-12-16 John Elliott 451 452 * v1.0.0 release. 453 454 * Minor portability fixes. 455 456 * DOS16 and Win16 drivers retry three times; this avoids "Disc changed" 457 errors on drives that are slow to spin up. 458 4592002-12-01 John Elliott 460 461 * v0.9.9 release. 462 463 * Projects provided to build LibDsk under 16-bit Windows and DOS; 464 bug fixes in the .DSK driver to work correctly on a 16-bit compiler 465 (CFI won't work on 16-bit DOS, except for very small images). 466 * Drivers added for the Win16, DOS16 and DOS32 architectures. There 467 may be a case for combining the source files for Win16 and DOS16 as 468 they are quite similar. 469 470 * Previous MYZ80 bugfix was faulty. Corrected. 471 4722002-11-18 John Elliott 473 474 * v0.9.5 release. 475 476 * MicroDesign serial numbers can be read or altered by md3serial 477 478 * Bug fix in the posix driver; when sectors are written beyond the 479 end of the file, the gap is filled with 0xE5 rather than leaving the 480 OS to decide what goes there. 481 * Similar bug fix in the myz80 driver. 482 4832002-04-27 John Elliott 484 485 * v0.9.1 release. 486 487 * Squeeze compression rewritten from scratch to avoid a possible 488 licence conflict. 489 4902002-04-10 John Elliott 491 492 * v0.9.0 release. 493 494 * IMPORTANT CHANGES: This release breaks backward compatibility in a 495 number of ways. Most importantly, you must replace "DSK_DRIVER *" 496 with "DSK_PDRIVER " throughout your programs. 497 498 * Support for reading/writing deleted data (DSK and Linux floppy 499 only; other formats do not support marking data as deleted). 500 501 * DSK files in the extended CPCEMU format now have their own file 502 type - "edsk". This means that extended DSK files can be created 503 using LibDsk. 504 * Bug fixes in the extended DSK format handler (Thierry Jouin). 505 506 * Transparent compression layer added, supporting Squeeze, GZip 507 and BZip2 (read only). 508 * Special-case DQK driver removed; the standard CPCEMU driver + 509 the compression layer can now handle this case. 510 511 * BBC Micro DFS formats added to the list of built-in formats, and 512 to the geometry probe. 513 * Bugfix in the Linux floppy driver so that discs with FM encoding 514 can be read (requires a suitable floppy controller and drive). 515 5162002-04-06 John Elliott 517 518 * v0.8.2 release. 519 520 * New driver added: .DQK (.DSK compressed using Squeeze compression). 521 522 * XCF2 200k format added to the list of built-in formats. 523 524 * Darren Salt's manual pages added to the distribution. 525 5262002-02-25 John Elliott 527 528 * v0.8.0 release. 529 530 * Support added for Java Native Interface bindings (requires JDK 531 v1.1 or later). Use ./configure --with-jni to build them. 532 * Java versions of dskid, dskform and dsktrans added. 533 5342002-02-07 John Elliott 535 536 * v0.7.0 release. 537 538 * Support added for .CFI format (a strange format used by Cliff 539 Lawson to distribute Amstrad PC boot floppies). 540 541 * Bug fixes in the example utilities (Darren Salt). 542 543 * dsktrans includes a -format option to use a built-in geometry 544 rather than trying to probe it from the disc. 545 546 * PCW 800k format added to list of builtin formats. 547 5482002-01-15 John Elliott 549 550 * v0.6.0 release. 551 552 * Acorn ADFS formats added to the list of formats, and to the 553 geometry probe. These don't work on Windows because of the limitations 554 of the underlying floppy driver. 555 556 * dsk_xread() and dsk_xwrite() altered so that only part of a sector 557 can be read or written. 558 559 * Make libdsk compile in Microsoft Visual C++ (Kevin Thacker) 560 561 * dskform supports all built-in disc geometries. 562 * dg_stdformat() can be used to enumerate the built-in geometries. 563 564 * dsktrans includes a "-logical" option to rearrange the tracks of 565 a disc, so that they come out in logical order in a "raw" file. This 566 option is only effective for ADFS and 144FEAT formats. 567 568