summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-10-03 21:47:33 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2004-10-03 21:47:33 +0000
commita5ba1ca6083aab0b628d03122e3553c92e3da3a5 (patch)
treef932f65a5cbefdba51530b7d1ade1c7b587c3017
parentb769d8fef6c06ddb39ef0337882a4f8872b9c2bc (diff)
downloadfocaccia-qemu-a5ba1ca6083aab0b628d03122e3553c92e3da3a5.tar.gz
focaccia-qemu-a5ba1ca6083aab0b628d03122e3553c92e3da3a5.zip
BIOS floppy fix for NT4 (Mike Nordell, Derek Fawcus)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1096 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--pc-bios/bios.binbin65536 -> 65536 bytes
-rw-r--r--pc-bios/bios.diff42
2 files changed, 39 insertions, 3 deletions
diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin
index b87e10b58a..dbac54005b 100644
--- a/pc-bios/bios.bin
+++ b/pc-bios/bios.bin
Binary files differdiff --git a/pc-bios/bios.diff b/pc-bios/bios.diff
index 443236a246..4e38d182c0 100644
--- a/pc-bios/bios.diff
+++ b/pc-bios/bios.diff
@@ -4,7 +4,7 @@ RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
 retrieving revision 1.110
 diff -u -w -r1.110 rombios.c
 --- rombios.c	31 May 2004 13:11:27 -0000	1.110
-+++ rombios.c	20 Jun 2004 13:10:07 -0000
++++ rombios.c	3 Oct 2004 21:41:43 -0000
 @@ -137,6 +137,7 @@
  #define DEBUG_INT16        0
  #define DEBUG_INT1A        0
@@ -60,6 +60,15 @@ diff -u -w -r1.110 rombios.c
  ASM_END
      }
  }
+@@ -7880,7 +7868,7 @@
+   mov  al, #0x02
+   out  #0x0a, al   ;; clear DMA-1 channel 2 mask bit
+ 
+-  SET_INT_VECTOR(0x1E, #0xF000, #diskette_param_table)
++  SET_INT_VECTOR(0x1E, #0xF000, #diskette_param_table2)
+   SET_INT_VECTOR(0x40, #0xF000, #int13_diskette)
+   SET_INT_VECTOR(0x0E, #0xF000, #int0e_handler) ;; IRQ 6
+ 
 @@ -8344,6 +8332,19 @@
    pop   ax
    iret
@@ -80,7 +89,34 @@ diff -u -w -r1.110 rombios.c
  ;--------------------
  #if BX_PCIBIOS
  use32 386
-@@ -9560,6 +9561,10 @@
+@@ -9515,6 +9516,26 @@
+   pop  ds
+   iret
+ 
++diskette_param_table2:
++;;  New diskette parameter table adding 3 parameters from IBM
++;;  Since no provisions are made for multiple drive types, most
++;;  values in this table are ignored.  I set parameters for 1.44M
++;;  floppy here
++db  0xAF
++db  0x02 ;; head load time 0000001, DMA used
++db  0x25
++db  0x02
++db    18
++db  0x1B
++db  0xFF
++db  0x6C
++db  0xF6
++db  0x0F
++db  0x08
++db    79 ;; maximum track
++db     0 ;; data transfer rate
++db     4 ;; drive type in cmos
++
+ .org 0xf045 ; INT 10 Functions 0-Fh Entry Point
+   HALT(__LINE__)
+   iret
+@@ -9560,6 +9581,10 @@
  .org 0xf859 ; INT 15h System Services Entry Point
  int15_handler:
    pushf
@@ -91,7 +127,7 @@ diff -u -w -r1.110 rombios.c
    push  ds
    push  es
    pushad
-@@ -9570,6 +9575,10 @@
+@@ -9570,6 +9595,10 @@
    popf
    //JMPL(iret_modify_cf)
    jmp iret_modify_cf