1TO BE DONE in LibDSK 1.3.x: 2 3- The cpcemu driver contains a chunk of code to deal with multitrack reads 4 and writes. Write some test cases to exercise it, and see if other drivers 5 (such as IMD and JV3) can be enhanced to support this. 6 7- Partition support. 8 It looks as if the way to do it is to have a filter driver. 9 Something like 10 dsk_err_t dsk_part_open(DSK_PDRIVER *guest, 11 DSK_PDRIVER host, 12 DSK_GEOMETRY *dg, 13 int npartition); 14 15 This requires: 16 - Reference-counting on the host. Either fail dsk_close() 17 if its refcount is > 1, or let it succeed silently. 18 19 Once dsk_part_open() is in place, we can also allow partitions to 20 be passed as filenames: 21 22 partition:n,filename 23 24 which will have a dsk_open that: 25 26 * passes filename to inner dsk_open 27 * do a dsk_getgeom 28 * pass the resulting parameters to dsk_part_open 29 30 Also: False partition (ie, add a partition table to an image) 31 32 dsk_err_t dsk_false_partition(DSK_PDRIVER *guest, 33 DSK_PDRIVER host, 34 DSK_GEOMETRY *dg, 35 unsigned char type); 36 37 with matching open-by-filename: 38 39 falsepart:n,filename 40 41 The alternative to a filter driver is dsk_option_set with a variable 42 of PARTITION, but that has certain problems (eg: you can't have 43 multiple partitions open at one time) 44 45 [nb: What sort of partition table do the likes of +3e use, because 46 that's going to give all sorts more fun] 47 48 49* Weak-sector support is new and may be buggy. 50* Write more functions for dsktool. 51* The INT25/INT26 driver doesn't seem to work in a DJGPP compile; it fails 52 with error 0x701F. 53* The INT25/INT26 driver keeps spitting out diagnostic messages. 54 55* dskid doesn't work on a DFS .DSK file. Why? Because get_id doesn't fail? 56* Support for DMK file format. 57* Java support for the Reporter classes is buggy [seems to work now 11-5-2003] 58* Plugin architecture: 59 dsk_register_driver 60 dsk_register_compression 61 dsk_register_remote 62* Support for TD0 file format. 63 64* Support remoting libdsk... 65 >> May need to write a PCW backend that dances on the controller 66 rather than using decorum and the XBIOS. 67 >> May need to write a Win16 version of serslave. 68 >> May need to write a Win16 RPC client. 69 70* Support a reverse-cpmfs backend (that lets a directory appear as a disc 71 image). 72 >> File in directory called .libdsk.ini that gives LibDsk geometry 73 and CP/M directory info 74 >> File in directory called .libdsk.boot containing boot sector. 75 76 >> Full of debug code 77 >> Default format is pcw720, not pcw180 78 >> Needs to be compilable on other OSes 79 >> Doesn't truncate files. 80 81* The load-all-into-memory strategy in Apridisk won't work on DOS16. Does 82 this matter, bearing in mind that the real Apridisk exists on DOS16? 83 84* CopyQM: Compare to real BBC Master 512 disks 2-4. 85