Commit Graph

24 Commits

Author SHA1 Message Date
Stephen Heumann
08fe7fe4b6 Add support for DiskCopy 4.2 image format. 2018-10-17 20:14:40 -05:00
Stephen Heumann
f912d9230e Do actual auto-detection of DOS-order versus ProDOS-order.
The basic approach is just to see if GS/OS can understand the disk (i.e. if a VolumeGS call succeeds), and if not switch the order. We currently start with ProDOS order, then switch to DOS order if necessary. This is only currently done for 140k images.
2018-10-07 23:59:00 -05:00
Stephen Heumann
dcc069d5b8 Add support for image format selection and detection.
At the moment, the auto-detection of DOS vs. ProDOS order is just based on the size of the image (i.e. 5.25" images are DOS-order, anything else is ProDOS-order).
2018-10-07 22:22:09 -05:00
Stephen Heumann
d2f7ec3b64 Support DOS-order sector data in images.
Currently, this is only enabled for 2mg images where the header specifies DOS order.
2018-10-07 17:41:19 -05:00
Stephen Heumann
1ce645ec0d Add flag controlling whether to use cache. 2018-10-01 22:42:33 -05:00
Stephen Heumann
55b199f83b Add GS/OS block cache support. 2018-10-01 21:49:00 -05:00
Stephen Heumann
314f408b5e Report a disk switch if the length of the file changed.
Currently, the logic for this doesn't re-detect the file type, and it may not work correctly with some 2mg files, but it should work in most cases.
2018-10-01 18:18:34 -05:00
Stephen Heumann
10cb54df5f Give meaningful error messages. 2018-09-26 00:17:31 -05:00
Stephen Heumann
dd228dff2d Add wrappers for GS/OS system service calls, and call SET_DISKSW on mount.
I think there should still be some disk-switched logic elsewhere, based on the somewhat complicated rules for it in the documentation, but at least this provides a notification when a new disk is mounted.
2018-08-16 21:39:23 -05:00
Stephen Heumann
3f3c14b8a1 Do sanity checks of input values for Driver_Read. 2018-08-15 21:56:36 -05:00
Stephen Heumann
8532c14ee1 Detect errors and timeouts when reading data from server. 2018-08-15 21:05:09 -05:00
Stephen Heumann
525dbbb1c5 Include the device number as an output value in the MountURLRec structure.
This allows callers to conveniently access the newly-mounted device.
2018-08-14 22:40:42 -05:00
Stephen Heumann
587d0c4e7e Consistently set transfer count when doing Get_Device_Status. 2018-08-13 18:40:24 -05:00
Stephen Heumann
77f16625c6 Report our devices as "MFM drives" so that Finder shows a 3.5" floppy icon.
Previously, we had actually been (erroneously) using the code for a generic hard drive, rather than a generic floppy as intended. The generic floppy code shows a 5.25" floppy icon, which seems less appropriate, so now we use the same code as 3.5" SuperDrives instead.
2018-08-13 18:36:24 -05:00
Stephen Heumann
2092e48694 Add support for reporting the disk's block count. 2018-08-13 01:28:32 -05:00
Stephen Heumann
8b09d6bb7d Switch to using a struct for the MountURL DControl call.
This allows us to return a better error code and provides for future extensibility.
2018-08-12 18:45:08 -05:00
Stephen Heumann
4ac24d75f4 Keep our driver installed on switch back from P8. 2018-08-12 15:08:26 -05:00
Stephen Heumann
610a638e5c Switch to unified set of error codes. Also, do more checks for 2IMG files. 2018-08-11 01:53:53 -05:00
Stephen Heumann
ccc9594412 Add support for ejecting NetDisk volumes. 2018-08-10 22:40:07 -05:00
Stephen Heumann
2670da4f59 Add basic support for 2img format. 2018-08-10 19:51:21 -05:00
Stephen Heumann
d718d82ff1 Initial support for mounting and reading a remote filesystem. 2018-08-10 17:53:09 -05:00
Stephen Heumann
e6b1c304d3 Split out non-trivial driver ops into separate functions. 2018-08-10 00:12:24 -05:00
Stephen Heumann
9e9e7be0f8 Add framework of code for the driver. 2018-08-08 20:12:03 -05:00
Stephen Heumann
ff538de39c Add basic infrastructure for an installable GS/OS driver.
Currently, this can install the DIBs from the driver, but no driver calls are implemented.
2018-08-06 20:22:33 -05:00