diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2004-10-03 21:47:33 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2004-10-03 21:47:33 +0000 |
commit | a5ba1ca6083aab0b628d03122e3553c92e3da3a5 (patch) | |
tree | f932f65a5cbefdba51530b7d1ade1c7b587c3017 /pc-bios | |
parent | b769d8fef6c06ddb39ef0337882a4f8872b9c2bc (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.bin | bin | 65536 -> 65536 bytes | |||
-rw-r--r-- | pc-bios/bios.diff | 42 |
2 files changed, 39 insertions, 3 deletions
diff --git a/pc-bios/bios.bin b/pc-bios/bios.bin Binary files differindex b87e10b58a..dbac54005b 100644 --- a/pc-bios/bios.bin +++ b/pc-bios/bios.bin 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 |