Commit Graph

248 Commits

Author SHA1 Message Date
Volker Ruppert
67a977fbf3 - LGPL'd VGABIOS updated to version 0.5c 2005-07-07 18:05:10 +00:00
Volker Ruppert
218e6b8450 - missing scancodes for F11 and F12 added to translation table
- unknown scancode info message improved
2005-06-14 18:23:03 +00:00
Volker Ruppert
975d040ed5 - LGPL'd VGABIOS updated to version 0.5b (minor bugfixes) 2005-05-24 19:18:21 +00:00
Volker Ruppert
57a8322ac4 - applied patches by Alex Beregszaszi
* serial debug output to COM1 for the rombios (disabled by default)
  * added missing trailing newlines in info/panic messages
- log_bios_start() must initialize serial port for the serial debug feature
- comments for the parallel and serial detection code added
2005-05-07 15:56:27 +00:00
Stanislav Shwartsman
5243bd8bf2 Update MP tables comments in rombios 2005-05-04 16:05:05 +00:00
Volker Ruppert
37f92c320a - applied patches by Alex Beregszaszi
* cross-compilation support for the bios
  * "user-settable" bios build date string
  * hexadecimal nuber cosmetics, #0x instead #$
- use real build date for the bios build date string
- simplified printer status handling
2005-04-30 11:11:16 +00:00
Volker Ruppert
c5b7f5e3ef - applied patches by Alex Beregszaszi
* function INT 15h AH=88h implemented
  * added stub for function INT 16h AX=6f02h
  * writes to debug/info/error/panic ports can be disabled now
2005-04-28 17:54:32 +00:00
Stanislav Shwartsman
e4768c94d3 added sanity checks from patch
[Bochs-developers] [PATCH] some sanity checks in bios
by Alex Beregszaszi [alex@fsn.hu]
2005-04-27 18:29:27 +00:00
Stanislav Shwartsman
19750b0324 Fixed highest_priority_int calculation function
Fixed I/O APIC ID for 8CPU configuration to match BIOS tables
Remove I/O APIC initialization when INIT IPI received
2005-04-27 18:09:27 +00:00
Volker Ruppert
b1dc8c910d - 4-cpu SMP table fixed (patch by jermar@itbs.cz) 2005-04-26 20:23:07 +00:00
Volker Ruppert
69d610c254 - APM support for 16 bit protected mode added (patch from Struan Bartlett) 2005-04-06 18:05:47 +00:00
Volker Ruppert
002853978c - LGPL'd VGABIOS updated to version 0.5a (including Cirrus support) 2005-03-07 21:53:39 +00:00
Volker Ruppert
561e617362 - using fixed values for the diskette parameter table instead of int vector 0x1E
fixes floppy problems in Win9x guests
2005-02-13 08:48:23 +00:00
Volker Ruppert
8affb6d10b - fixed macros for debug output
- string memory now starts at 0xcc00 to have enough space for all debug messages
2005-02-05 23:10:52 +00:00
Volker Ruppert
5ec5e89575 - pcibios fixes by lukewarm (SF patch #1114826)
* pcibios: preserve esi and edi
 * pcibios: ignore high-word of edx when calling FIND_PCI_DEVICE
 * pcibios_real: set readable descriptor to ds when error (for 16bit PM)
 * bios_printf: replace immediate value 0xf000 with get_CS (for 16bit PM)
- Win98 cdrom boot fixed (patch by Magnus Damm)
2005-02-02 19:14:24 +00:00
Volker Ruppert
3f909bd46d - fixed real mode PCI BIOS error reporting 2005-01-31 18:36:54 +00:00
Volker Ruppert
0785fe48b2 - don't panic when an unsupported mouse packet size is requested 2005-01-27 18:05:09 +00:00
Volker Ruppert
5499cb0c34 - PS/2 mouse scaling functions implemented
- int15_function_mouse(): removed unused variables
2005-01-02 09:46:34 +00:00
Volker Ruppert
e0c5b9d7af - Win9x CD boot fixed (SF patch #1087537 by lukewarm) 2004-12-20 17:02:20 +00:00
Volker Ruppert
5a36efedfa - mouse type 'none' added (no mouse connected)
- added emulation of the PS/2 mouse port without a mouse connected (some OS's
  still detect a mouse)
- fixes for the mouse type 'serial_wheel' (the wheel still doesn't work in Win98)
2004-12-07 21:13:20 +00:00
Volker Ruppert
faafc6a93a - mouse type 'none' added (no mouse connected)
- added emulation of the PS/2 mouse port without a mouse connected (some OS's
  still detect a mouse)
- fixes for the mouse type 'serial_wheel' (the wheel still doesn't work in Win98)
2004-12-07 21:06:35 +00:00
Volker Ruppert
ebf9cb86ca - PS/2 mouse functions "set sample rate" and "get device id" implemented
- presence of the EBDA segment doesn't depend on the PS/2 mouse option
2004-12-05 16:41:46 +00:00
Volker Ruppert
a15de4430b - boot sequence with up to 3 boot devices inplemented. The sequence is stored
in the CMOS regs 0x3d and 0x38. TODO: change config option "boot" to use this
  feature.
2004-10-15 15:37:01 +00:00
Volker Ruppert
5d7cc42431 - extented floppy parameter table (floppy fix for NT4 from qemu written by Mike
Nordell and Derek Fawcus)
- int 13h diskette function 08h should return the pointer to the floppy parameter
  table stored in int 1Eh
2004-10-04 19:31:02 +00:00
Volker Ruppert
a6d14987cd - PCI IRQs must always be level sensitive (setup ELCR1/ELCR2 in pcibios init) 2004-10-02 12:29:54 +00:00
Volker Ruppert
0fd0fc7384 - pci irq initialisation added (TODO: initialize pci memory + i/o space) 2004-09-25 17:23:06 +00:00
Volker Ruppert
b3d0c18838 - int 15 / ah=87h should not clear cr0 when setting bit 0 (SF patch #969967
by Ben Lunt)
2004-09-13 17:54:53 +00:00
Volker Ruppert
9956e47f3e - modified the bios / vgabios panic handling. BX_PANIC messages sent by the bios
now appear correctly as the Bochs panic message. Now we can get rid of messages
  with the line number in the source file.
- updated / fixed description in biosdev.cc
2004-09-05 17:57:22 +00:00
Volker Ruppert
e5761d230c - calculate checksum of expansion rom (must be 0) 2004-09-03 19:52:24 +00:00
Volker Ruppert
c5ba313fd1 - changed the size of the vgabios files to exactly 32k with a checksum at the
last byte. This change is required for a correct checksum in the rom scan loop.
2004-09-02 17:14:34 +00:00
Volker Ruppert
b4fbbe3af1 - implement int15, ah=83 Start/Stop Wait Timer (patch.rombios.markevich from Kory Markevich)
- applied patch from sava (t.ebisawa / http://ebisa.hp.infoseek.co.jp/bochs/arcs/bochs-2.1.1-jpfix-20040214.zip)
  * int09_handler: pusha before int15, ah=4f
     (for "jis_a01" japanese keybord driver, which breaks some registers)
  * int15_function: add new functions int15_function32, int15_function_mouse
     (to avoid stack overflow ... DOS/Win9x works better)
  * int16, ah=00/01/10/11 ignore special key code (F0)
- set missing return value and flag for unimplemented EISA BIOS
2004-08-21 13:33:28 +00:00
Volker Ruppert
40e576cbb3 - A20 gate control implemented (int 15h, ah = 24h)
- debug message for unsupported EISA bus features added (int 15h, ah = d8h)
- moving rom scan loop to a separate function saves space in the main post code
  (TODO: add code for rom checksum)
- interrupt vector 0x79 set to 0 (TODO: some other vectors seem to be 0, too)
2004-08-20 10:02:04 +00:00
Volker Ruppert
ca95fc885c - gate A20 control implemented (int 15h, ah = 24h)
- debug message for unsupported EISA bus features added (int 15h, ah = d8h)
- moving rom scan loop to a separate function saves space in the main post code
  (TODO: add code for rom checksum)
- interrupt vector 0x79 set to 0 (TODO: some other vectors seem to be 0, too)
2004-08-20 09:59:49 +00:00
Volker Ruppert
c6834907ad - pci irq routing fixed and initialization added (BUG: ne2k-pci only works with
irq 11 in Win95)
- bios: irq routing table fixed and updated for 5 slots
- ne2k: unnecessary reset call in init() removed
- usb: don't execute reset if disabled
2004-07-04 17:10:05 +00:00
Volker Ruppert
1f33aa72b8 - APM and system shutdown support for 16-bit real mode and 32-bit protected mode
(patch from Fabrice Bellard)
2004-06-20 18:28:40 +00:00
Volker Ruppert
c757b06db8 - int13_cdrom / 32 bit register update fix (aka FreeBSD cdrom boot) (patch from
Fabrice Bellard found in LGPL'd VGABIOS patches section)
2004-05-31 13:13:58 +00:00
Christophe Bothamy
b663c5112f - remove old commented code 2004-04-28 16:59:52 +00:00
Volker Ruppert
b66c8403f7 - turn floppy motor off 2 seconds after last read/write/recalibrate command
(patch from Ben Lunt)
2004-02-09 16:49:41 +00:00
Volker Ruppert
a0457f980e - int17_function updated for multiple parallel ports
- detection of serial port 3 + 4 added
2004-01-28 19:14:56 +00:00
Volker Ruppert
795cb05b42 - fixed int13_harddisk function 10h 2004-01-25 22:15:56 +00:00
Daniel Gimpelevich
eae5c1eaba Rebuilt BIOS from latest rombios.c 2004-01-15 03:32:14 +00:00
Daniel Gimpelevich
6c26e6a65f Introduced Frank Cornelis's PCIDEV patch. 2004-01-15 02:08:37 +00:00
Christophe Bothamy
1c9de422d2 - apply patch #874517 Bugfix in int15h function 0xe820 by flashburn 2004-01-14 23:09:31 +00:00
Volker Ruppert
623ba8b00d - INT 16h function 05h implemented (grabbed from patch #707931) 2003-12-18 16:49:22 +00:00
Christophe Bothamy
22f3930b81 - apply patch from Frank Cornelis to have bcc able to compile gcc-3.2-preprocessed rombios.c 2003-12-08 20:35:20 +00:00
Christophe Bothamy
9d38eca4c5 - recompile rombios.c rev1.102 2003-11-27 00:35:24 +00:00
Christophe Bothamy
89821fcd81 - remove hlt from BX_PANIC function, because the user can choose to
continue after a panic.
- add the hlt instruction in int18 handler. This should stop the
  simulation if the boot disk can not be read
2003-11-25 22:56:11 +00:00
Christophe Bothamy
e9efb9aed0 - stop execution with an 'hlt' if the bios can not read the boot disk 2003-11-25 22:46:20 +00:00
Christophe Bothamy
93ff40743f - recompiled with rombios.c rev1.100 2003-11-15 00:03:57 +00:00
Christophe Bothamy
0276bfdef7 - add fix to get v2os to boot : preserve eax top 16bits on int1A function B101 call 2003-11-15 00:00:37 +00:00