]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Read one extra block in CHS imager mode. Workaround for some bad USB adapters/drives...
authorToni Wilen <twilen@winuae.net>
Fri, 20 Jul 2018 12:23:44 +0000 (15:23 +0300)
committerToni Wilen <twilen@winuae.net>
Fri, 20 Jul 2018 12:23:44 +0000 (15:23 +0300)
od-win32/hardfile_win32.cpp

index 563914feb6a13b446cf54326cc72540a2fe556dd..399ef3a82924f795225591795b3e7c1ee1469a1b 100644 (file)
@@ -3685,9 +3685,12 @@ int harddrive_to_hdf (HWND hDlg, struct uae_prefs *p, int idx)
                        int seccnt = 0;
                        uae_u8 *p = (uae_u8*)cache;
                        while (seccnt < secs) {
+                               int extrablock = 1;
                                if (seccnt + readsize > secs)
                                        readsize = secs - seccnt;
-                               do_scsi_read10_chs(h, -1, cyl, head, seccnt + 1, p, readsize, &specialaccessmode, false);
+                               if (head == heads - 1 && cyl == cyls - 1)
+                                       extrablock = 0;
+                               do_scsi_read10_chs(h, -1, cyl, head, seccnt + extrablock, p, readsize, &specialaccessmode, false);
                                get = 512 * readsize;
                                got = 512 * readsize;
                                p += 512 * readsize;