2 ===================================================================
3 RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v
4 retrieving revision 1.110
5 diff -u -w -r1.110 rombios.c
6 --- rombios.c 31 May 2004 13:11:27 -0000 1.110
7 +++ rombios.c 7 Oct 2004 21:23:50 -0000
15 #define BX_USE_PS2_MOUSE 1
17 #define BX_SUPPORT_FLOPPY 1
18 #define BX_FLOPPY_ON_CNT 37 // 2 seconds
22 #define BX_USE_ATADRV 1
23 #define BX_ELTORITO_BOOT 1
29 - ;; the HALT macro is called with the line number of the HALT call.
30 - ;; The line number is then sent to the PANIC_PORT, causing Bochs/Plex
31 - ;; to print a BX_PANIC message. This will normally halt the simulation
32 - ;; with a message such as "BIOS panic at rombios.c, line 4091".
33 - ;; However, users can choose to make panics non-fatal and continue.
42 @@ -1543,15 +1534,12 @@
45 if (action & BIOS_PRINTF_HALT) {
46 - // freeze in a busy loop. If I do a HLT instruction, then in versions
47 - // 1.3.pre1 and earlier, it will panic without ever updating the VGA
48 - // display, so the panic message will not be visible. By waiting
49 - // forever, you are certain to see the panic message on screen.
50 - // After a few more versions have passed, we can turn this back into
51 - // a halt or something.
53 + // freeze in a busy loop.
64 case 0x03: SET_BL( 0x06 ); break;
69 + DI = read_word(0x00, 0x1e*4); // INT vector 0x1E
70 + ES = read_word(0x00, 0x1e*4+2);
77 /* set es & di to point to 11 byte diskette param table in ROM */
80 + DI = read_word(0x00, 0x1e*4); // INT vector 0x1E
81 + ES = read_word(0x00, 0x1e*4+2);
82 CLEAR_CF(); // success
83 /* disk status not changed upon success */
87 out #0x0a, al ;; clear DMA-1 channel 2 mask bit
89 - SET_INT_VECTOR(0x1E, #0xF000, #diskette_param_table)
90 + SET_INT_VECTOR(0x1E, #0xF000, #diskette_param_table2)
91 SET_INT_VECTOR(0x40, #0xF000, #int13_diskette)
92 SET_INT_VECTOR(0x0E, #0xF000, #int0e_handler) ;; IRQ 6
94 @@ -8344,6 +8332,19 @@
99 +;--------------------
103 +#include "apmbios.S"
107 +#include "apmbios.S"
111 ;--------------------
114 @@ -9515,6 +9516,26 @@
118 +diskette_param_table2:
119 +;; New diskette parameter table adding 3 parameters from IBM
120 +;; Since no provisions are made for multiple drive types, most
121 +;; values in this table are ignored. I set parameters for 1.44M
124 +db 0x02 ;; head load time 0000001, DMA used
134 +db 79 ;; maximum track
135 +db 0 ;; data transfer rate
136 +db 4 ;; drive type in cmos
138 .org 0xf045 ; INT 10 Functions 0-Fh Entry Point
141 @@ -9560,6 +9581,10 @@
142 .org 0xf859 ; INT 15h System Services Entry Point
152 @@ -9570,6 +9595,10 @@
154 //JMPL(iret_modify_cf)
161 ;; Protected mode IDT descriptor