// -*- fundamental -*-
/////////////////////////////////////////////////////////////////////////
-// $Id: rombios.c,v 1.5 2008/05/12 00:21:17 pdinda Exp $
+// $Id: rombios.c,v 1.7 2008/06/10 19:13:49 jarusl Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
#define DEBUG_ROMBIOS 1
-#define DEBUG_ATA 1
+#define DEBUG_ATA 0
#define DEBUG_INT13_HD 0
-#define DEBUG_INT13_CD 0
+#define DEBUG_INT13_CD 1
#define DEBUG_INT13_ET 0
-#define DEBUG_INT13_FL 0
+#define DEBUG_INT13_FL 1
#define DEBUG_INT15 0
#define DEBUG_INT16 0
#define DEBUG_INT1A 0
#endif // BX_ELTORITO_BOOT
-static char bios_cvs_version_string[] = "$Revision: 1.5 $";
-static char bios_date_string[] = "$Date: 2008/05/12 00:21:17 $";
+static char bios_cvs_version_string[] = "$Revision: 1.7 $";
+static char bios_date_string[] = "$Date: 2008/06/10 19:13:49 $";
-static char CVSID[] = "$Id: rombios.c,v 1.5 2008/05/12 00:21:17 pdinda Exp $";
+static char CVSID[] = "$Id: rombios.c,v 1.7 2008/06/10 19:13:49 jarusl Exp $";
/* Offset to skip the CVS $Id: prefix */
#define bios_version_string (CVSID + 4)
while ( (inb(0x64) & 0x02) && (--max>0)) outb(0x80, 0x00);
/* flush incoming keys */
- max=0x2000;
+ // temporarily chaged for debug -PAD
+ // max=0x2000;
+ max=10;
while (--max > 0) {
- outb(0x80, 0x00);
+ outb(0x80, 0x01);
if (inb(0x64) & 0x01) {
inb(0x60);
max = 0x2000;
/* Wait until buffer is empty */
max=0xffff;
- while ( (inb(0x64) & 0x02) && (--max>0)) outb(0x80, 0x00);
+ while ( (inb(0x64) & 0x02) && (--max>0)) outb(0x80, 0x02);
if (max==0x0) keyboard_panic(00);
/* Wait for data */
max=0xffff;
- while ( ((inb(0x64) & 0x01) == 0) && (--max>0) ) outb(0x80, 0x01);
+ while ( ((inb(0x64) & 0x01) == 0) && (--max>0) ) outb(0x80, 0x03);
if (max==0x0) keyboard_panic(01);
/* read self-test result, 0x55 should be returned from 0x60 */
mov ax, #0xaa55 ;; set ok flag
pop bp
+ mov al, 0xf3
+ outb #0x80, al
iret ;; Beam me up Scotty
;----------