- case 0x00: disk_1300(regs, driveid); break;
- case 0x01: disk_1301(regs, driveid); break;
- case 0x02: disk_1302(regs, driveid); break;
- case 0x03: disk_1303(regs, driveid); break;
- case 0x04: disk_1304(regs, driveid); break;
- case 0x05: disk_1305(regs, driveid); break;
- case 0x08: disk_1308(regs, driveid); break;
- case 0x09: disk_1309(regs, driveid); break;
- case 0x0c: disk_130c(regs, driveid); break;
- case 0x0d: disk_130d(regs, driveid); break;
- case 0x10: disk_1310(regs, driveid); break;
- case 0x11: disk_1311(regs, driveid); break;
- case 0x14: disk_1314(regs, driveid); break;
- case 0x15: disk_1315(regs, driveid); break;
- case 0x41: disk_1341(regs, driveid); break;
- case 0x42: disk_1342(regs, driveid); break;
- case 0x43: disk_1343(regs, driveid); break;
- case 0x44: disk_1344(regs, driveid); break;
- case 0x45: disk_1345(regs, driveid); break;
- case 0x46: disk_1346(regs, driveid); break;
- case 0x47: disk_1347(regs, driveid); break;
- case 0x48: disk_1348(regs, driveid); break;
- case 0x49: disk_1349(regs, driveid); break;
- case 0x4e: disk_134e(regs, driveid); break;
- default: disk_13XX(regs, driveid); break;
+ case 0x00: disk_1300(regs, drive_g); break;
+ case 0x01: disk_1301(regs, drive_g); break;
+ case 0x02: disk_1302(regs, drive_g); break;
+ case 0x03: disk_1303(regs, drive_g); break;
+ case 0x04: disk_1304(regs, drive_g); break;
+ case 0x05: disk_1305(regs, drive_g); break;
+ case 0x08: disk_1308(regs, drive_g); break;
+ case 0x09: disk_1309(regs, drive_g); break;
+ case 0x0c: disk_130c(regs, drive_g); break;
+ case 0x0d: disk_130d(regs, drive_g); break;
+ case 0x10: disk_1310(regs, drive_g); break;
+ case 0x11: disk_1311(regs, drive_g); break;
+ case 0x14: disk_1314(regs, drive_g); break;
+ case 0x15: disk_1315(regs, drive_g); break;
+ case 0x16: disk_1316(regs, drive_g); break;
+ case 0x41: disk_1341(regs, drive_g); break;
+ case 0x42: disk_1342(regs, drive_g); break;
+ case 0x43: disk_1343(regs, drive_g); break;
+ case 0x44: disk_1344(regs, drive_g); break;
+ case 0x45: disk_1345(regs, drive_g); break;
+ case 0x46: disk_1346(regs, drive_g); break;
+ case 0x47: disk_1347(regs, drive_g); break;
+ case 0x48: disk_1348(regs, drive_g); break;
+ case 0x49: disk_1349(regs, drive_g); break;
+ case 0x4e: disk_134e(regs, drive_g); break;
+ default: disk_13XX(regs, drive_g); break;
+ }
+}
+
+static void
+floppy_13(struct bregs *regs, struct drive_s *drive_g)
+{
+ // Only limited commands are supported on floppies.
+ switch (regs->ah) {
+ case 0x00:
+ case 0x01:
+ case 0x02:
+ case 0x03:
+ case 0x04:
+ case 0x05:
+ case 0x08:
+ case 0x15:
+ case 0x16:
+ disk_13(regs, drive_g);
+ break;
+ default: disk_13XX(regs, drive_g); break;