mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 08:13:54 -06:00
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
This commit is contained in:
parent
b769d8fef6
commit
a5ba1ca608
2 changed files with 39 additions and 3 deletions
BIN
pc-bios/bios.bin
BIN
pc-bios/bios.bin
Binary file not shown.
|
@ -4,7 +4,7 @@ RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
|
||||||
retrieving revision 1.110
|
retrieving revision 1.110
|
||||||
diff -u -w -r1.110 rombios.c
|
diff -u -w -r1.110 rombios.c
|
||||||
--- rombios.c 31 May 2004 13:11:27 -0000 1.110
|
--- 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 @@
|
@@ -137,6 +137,7 @@
|
||||||
#define DEBUG_INT16 0
|
#define DEBUG_INT16 0
|
||||||
#define DEBUG_INT1A 0
|
#define DEBUG_INT1A 0
|
||||||
|
@ -60,6 +60,15 @@ diff -u -w -r1.110 rombios.c
|
||||||
ASM_END
|
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 @@
|
@@ -8344,6 +8332,19 @@
|
||||||
pop ax
|
pop ax
|
||||||
iret
|
iret
|
||||||
|
@ -80,7 +89,34 @@ diff -u -w -r1.110 rombios.c
|
||||||
;--------------------
|
;--------------------
|
||||||
#if BX_PCIBIOS
|
#if BX_PCIBIOS
|
||||||
use32 386
|
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
|
.org 0xf859 ; INT 15h System Services Entry Point
|
||||||
int15_handler:
|
int15_handler:
|
||||||
pushf
|
pushf
|
||||||
|
@ -91,7 +127,7 @@ diff -u -w -r1.110 rombios.c
|
||||||
push ds
|
push ds
|
||||||
push es
|
push es
|
||||||
pushad
|
pushad
|
||||||
@@ -9570,6 +9575,10 @@
|
@@ -9570,6 +9595,10 @@
|
||||||
popf
|
popf
|
||||||
//JMPL(iret_modify_cf)
|
//JMPL(iret_modify_cf)
|
||||||
jmp iret_modify_cf
|
jmp iret_modify_cf
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue