Index: /trunk/src/VBox/Devices/PC/BIOS/boot.c
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/boot.c	(revision 55135)
+++ /trunk/src/VBox/Devices/PC/BIOS/boot.c	(revision 55136)
@@ -255,4 +255,9 @@
 #endif // BX_ELTORITO_BOOT
 
+// Sanity check on the LAN boot seg macro
+//#if VBOX_LANBOOT_SEG == 0
+//#error Invalid VBOX_LANBOOT_SEG definition!
+//#endif
+
     // Check for boot from LAN first
     if (bootlan == 1) {
Index: /trunk/src/VBox/Devices/PC/BIOS/floppy.c
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/floppy.c	(revision 55135)
+++ /trunk/src/VBox/Devices/PC/BIOS/floppy.c	(revision 55136)
@@ -82,6 +82,8 @@
 uint8_t floppy_wait_for_interrupt(void)
 {
+    uint32_t    retries = 18;
+
     int_disable();
-    for (;;)
+    for (;retries;--retries)
     {
         uint8_t val8 = read_byte(0x0040, 0x003e);
@@ -90,4 +92,5 @@
         int_enable_hlt_disable();
     }
+    return 0;
 }
 
@@ -175,6 +178,7 @@
         // wait on 40:3e bit 7 to become 1
         do {
+            val8 = inb(0x80);
             val8 = read_byte(0x0040, 0x003e);
-        } while ( (val8 & 0x80) == 0 );
+        } while ( (val8 & 0x80) == 0 && --retries);
         val8 &= 0x7f;
         int_disable();
Index: /trunk/src/VBox/Devices/PC/BIOS/orgs.asm
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/orgs.asm	(revision 55135)
+++ /trunk/src/VBox/Devices/PC/BIOS/orgs.asm	(revision 55136)
@@ -1820,4 +1820,7 @@
 include smidmi.inc
 
+		BIOSORG	0FFE8h
+		dw	3330h
+
 ;; --------------------------------------------------------
 ;; Processor reset entry point
Index: /trunk/src/VBox/Devices/PC/BIOS/post.c
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/post.c	(revision 55135)
+++ /trunk/src/VBox/Devices/PC/BIOS/post.c	(revision 55136)
@@ -100,3 +100,4 @@
         }
     }
+    outb_cmos(0x12, 0x20);
 }
Index: /trunk/src/VBox/Devices/PC/BIOS/scsi.c
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/scsi.c	(revision 55135)
+++ /trunk/src/VBox/Devices/PC/BIOS/scsi.c	(revision 55136)
@@ -429,4 +429,5 @@
                           | ((uint32_t)buffer[2] << 8)
                           | ((uint32_t)buffer[3]);
+                ++sectors;  /* Returned value is the last LBA, zero-based. */
 
                 sector_size =   ((uint32_t)buffer[4] << 24)
