aboutsummaryrefslogtreecommitdiff
path: root/pc-bios
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 /pc-bios
parentb769d8fef6c06ddb39ef0337882a4f8872b9c2bc (diff)
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
Diffstat (limited to 'pc-bios')
-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 differ
diff --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