memset(®s, 0, sizeof regs);
probe_any(0x01, drive, ®s);
status = (regs.eflags.l & 1) * 256 + regs.eax.b[1];
- dskprobe_printf(" AH01: CF%d AH%02x\n", regs.eflags.l & 1, regs.eax.b[1]);
+ dskprobe_printf(" AH01: CF%d AH%02x", regs.eflags.l & 1, regs.eax.b[1]);
return status;
}
memset(regs, 0, sizeof *regs);
probe_any(0x08, drive, regs);
- present = !(regs->eflags.l & 1) && !regs->eax.b[1];
- dskprobe_printf(" AH08: P%d CF%d AH%02x AL%02x BL%02x DL%02x\n", present,
+ dskprobe_printf(" AH08: CF%d AH%02x AL%02x BL%02x DL%02x",
regs->eflags.l & 1, regs->eax.b[1], regs->eax.b[0],
regs->ebx.b[0], regs->edx.b[0]);
+ present = !(regs->eflags.l & 1) && !regs->eax.b[1];
+ dskprobe_printf(" P%d\n", present);
return present;
}
static int probe_int13h_15h(uint8_t drive, com32sys_t * regs)
{
int present;
+ int status;
memset(regs, 0, sizeof *regs);
probe_any(0x15, drive, regs);
- present = !(regs->eflags.l & 1) && regs->eax.b[1]
- && !(probe_int13h_01h_fail(probe_int13h_01h(drive)));
- dskprobe_printf(" AH15: P%d CF%d AH%02x AL%02x CX%04x DX%04x\n", present,
+ dskprobe_printf(" AH15: CF%d AH%02x AL%02x CX%04x DX%04x",
regs->eflags.l & 1, regs->eax.b[1], regs->eax.b[0],
regs->ecx.w[0], regs->edx.w[0]);
+ present = !(regs->eflags.l & 1) && regs->eax.b[1];
+ status = probe_int13h_01h(drive);
+ present = present && !(probe_int13h_01h_fail(status));
+ dskprobe_printf(" P%d\n", present);
return present;
}
memset(regs, 0, sizeof *regs);
regs->ebx.w[0] = 0x55AA; /* BX == 0x55AA */
probe_any(0x41, drive, regs);
- present = !(regs->eflags.l & 1) && (regs->ebx.w[0] == 0xAA55);
- dskprobe_printf(" AH41: P%d CF%d BX%04x AH%02x DH%02x\n", present,
+ dskprobe_printf(" AH41: CF%d BX%04x AH%02x DH%02x",
regs->eflags.l & 1, regs->ebx.w[0], regs->eax.b[1],
regs->edx.b[1]);
+ present = !(regs->eflags.l & 1) && (regs->ebx.w[0] == 0xAA55);
+ dskprobe_printf(" P%d\n", present);
return present;
}