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