Commit a5ba1ca6083aab0b628d03122e3553c92e3da3a5

Authored by bellard
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
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
... ...