root / pc-bios / bios.diff @ 5b1214a4
History | View | Annotate | Download (1.9 kB)
1 |
Index: rombios.c
|
---|---|
2 |
===================================================================
|
3 |
RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
|
4 |
retrieving revision 1.108
|
5 |
diff -u -w -r1.108 rombios.c
|
6 |
--- rombios.c 9 Feb 2004 16:48:50 -0000 1.108
|
7 |
+++ rombios.c 16 May 2004 15:16:57 -0000
|
8 |
@@ -2254,6 +2254,7 @@
|
9 |
type = read_byte(get_SS(),buffer+1) & 0x1f; |
10 |
removable = (read_byte(get_SS(),buffer+0) & 0x80) ? 1 : 0; |
11 |
mode = read_byte(get_SS(),buffer+96) ? ATA_MODE_PIO32 : ATA_MODE_PIO16;
|
12 |
+ blksize = 2048;
|
13 |
|
14 |
write_byte(ebda_seg,&EbdaData->ata.devices[device].device, type); |
15 |
write_byte(ebda_seg,&EbdaData->ata.devices[device].removable, removable); |
16 |
@@ -3378,6 +3379,8 @@
|
17 |
and al,#0x10
|
18 |
mov ah, al |
19 |
|
20 |
+ or ecx, ecx
|
21 |
+ je int1586_tick_end
|
22 |
int1586_tick:
|
23 |
in al, #0x61
|
24 |
and al,#0x10
|
25 |
@@ -3386,6 +3389,7 @@
|
26 |
mov ah, al |
27 |
dec ecx |
28 |
jnz int1586_tick |
29 |
+int1586_tick_end:
|
30 |
ASM_END |
31 |
|
32 |
break;
|
33 |
@@ -3781,7 +3785,17 @@
|
34 |
write_word(ebda_seg, 0x0022, mouse_driver_offset);
|
35 |
write_word(ebda_seg, 0x0024, mouse_driver_seg);
|
36 |
mouse_flags_2 = read_byte(ebda_seg, 0x0027);
|
37 |
+ if (mouse_driver_offset == 0 &&
|
38 |
+ mouse_driver_seg == 0) {
|
39 |
+ /* remove handler */
|
40 |
+ if ( (mouse_flags_2 & 0x80) != 0 ) {
|
41 |
+ mouse_flags_2 &= ~0x80;
|
42 |
+ inhibit_mouse_int_and_events(); // disable IRQ12 and packets
|
43 |
+ }
|
44 |
+ } else {
|
45 |
+ /* install handler */
|
46 |
mouse_flags_2 |= 0x80;
|
47 |
+ }
|
48 |
write_byte(ebda_seg, 0x0027, mouse_flags_2);
|
49 |
CLEAR_CF(); |
50 |
regs.u.r8.ah = 0;
|
51 |
@@ -4409,7 +4423,8 @@
|
52 |
mouse_flags_2 = read_byte(ebda_seg, 0x0027);
|
53 |
|
54 |
if ( (mouse_flags_2 & 0x80) != 0x80 ) { |
55 |
- BX_PANIC("int74_function:\n");
|
56 |
+ // BX_PANIC("int74_function:\n");
|
57 |
+ return;
|
58 |
} |
59 |
|
60 |
package_count = mouse_flags_2 & 0x07;
|