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