Commit a5ba1ca6083aab0b628d03122e3553c92e3da3a5
1 parent
b769d8fe
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
Showing
2 changed files
with
39 additions
and
3 deletions
pc-bios/bios.bin
No preview for this file type
pc-bios/bios.diff
... | ... | @@ -4,7 +4,7 @@ RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v |
4 | 4 | retrieving revision 1.110 |
5 | 5 | diff -u -w -r1.110 rombios.c |
6 | 6 | --- rombios.c 31 May 2004 13:11:27 -0000 1.110 |
7 | -+++ rombios.c 20 Jun 2004 13:10:07 -0000 | |
7 | ++++ rombios.c 3 Oct 2004 21:41:43 -0000 | |
8 | 8 | @@ -137,6 +137,7 @@ |
9 | 9 | #define DEBUG_INT16 0 |
10 | 10 | #define DEBUG_INT1A 0 |
... | ... | @@ -60,6 +60,15 @@ diff -u -w -r1.110 rombios.c |
60 | 60 | ASM_END |
61 | 61 | } |
62 | 62 | } |
63 | +@@ -7880,7 +7868,7 @@ | |
64 | + mov al, #0x02 | |
65 | + out #0x0a, al ;; clear DMA-1 channel 2 mask bit | |
66 | + | |
67 | +- SET_INT_VECTOR(0x1E, #0xF000, #diskette_param_table) | |
68 | ++ SET_INT_VECTOR(0x1E, #0xF000, #diskette_param_table2) | |
69 | + SET_INT_VECTOR(0x40, #0xF000, #int13_diskette) | |
70 | + SET_INT_VECTOR(0x0E, #0xF000, #int0e_handler) ;; IRQ 6 | |
71 | + | |
63 | 72 | @@ -8344,6 +8332,19 @@ |
64 | 73 | pop ax |
65 | 74 | iret |
... | ... | @@ -80,7 +89,34 @@ diff -u -w -r1.110 rombios.c |
80 | 89 | ;-------------------- |
81 | 90 | #if BX_PCIBIOS |
82 | 91 | use32 386 |
83 | -@@ -9560,6 +9561,10 @@ | |
92 | +@@ -9515,6 +9516,26 @@ | |
93 | + pop ds | |
94 | + iret | |
95 | + | |
96 | ++diskette_param_table2: | |
97 | ++;; New diskette parameter table adding 3 parameters from IBM | |
98 | ++;; Since no provisions are made for multiple drive types, most | |
99 | ++;; values in this table are ignored. I set parameters for 1.44M | |
100 | ++;; floppy here | |
101 | ++db 0xAF | |
102 | ++db 0x02 ;; head load time 0000001, DMA used | |
103 | ++db 0x25 | |
104 | ++db 0x02 | |
105 | ++db 18 | |
106 | ++db 0x1B | |
107 | ++db 0xFF | |
108 | ++db 0x6C | |
109 | ++db 0xF6 | |
110 | ++db 0x0F | |
111 | ++db 0x08 | |
112 | ++db 79 ;; maximum track | |
113 | ++db 0 ;; data transfer rate | |
114 | ++db 4 ;; drive type in cmos | |
115 | ++ | |
116 | + .org 0xf045 ; INT 10 Functions 0-Fh Entry Point | |
117 | + HALT(__LINE__) | |
118 | + iret | |
119 | +@@ -9560,6 +9581,10 @@ | |
84 | 120 | .org 0xf859 ; INT 15h System Services Entry Point |
85 | 121 | int15_handler: |
86 | 122 | pushf |
... | ... | @@ -91,7 +127,7 @@ diff -u -w -r1.110 rombios.c |
91 | 127 | push ds |
92 | 128 | push es |
93 | 129 | pushad |
94 | -@@ -9570,6 +9575,10 @@ | |
130 | +@@ -9570,6 +9595,10 @@ | |
95 | 131 | popf |
96 | 132 | //JMPL(iret_modify_cf) |
97 | 133 | jmp iret_modify_cf | ... | ... |