memdisk/dskprobe: Reorder operations to compact the debug output
authorGene Cumm <gene.cumm@gmail.com>
Thu, 27 Jan 2011 02:47:48 +0000 (21:47 -0500)
committerGene Cumm <gene.cumm@gmail.com>
Thu, 27 Jan 2011 02:47:48 +0000 (21:47 -0500)
By listing current regs, evaluate present, then display present last, it
allows it to conveniently use only 1 output line.

memdisk/dskprobe.c

index 52ea5ef..afceb19 100644 (file)
@@ -76,7 +76,7 @@ static int probe_int13h_01h(uint8_t drive)
     memset(&regs, 0, sizeof regs);
     probe_any(0x01, drive, &regs);
     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;
 }
 
@@ -89,10 +89,11 @@ static int probe_int13h_08h(uint8_t drive, com32sys_t * regs)
 
     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;
 }
 
@@ -102,14 +103,17 @@ static int probe_int13h_08h(uint8_t drive, com32sys_t * regs)
 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;
 }
 
@@ -123,10 +127,11 @@ static int probe_int13h_41h(uint8_t drive, com32sys_t * regs)
     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;
 }