提交 a5ba1ca6 编写于 作者: B bellard

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
上级 b769d8fe
无法预览此类型文件
......@@ -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
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册