Commit Graph

289 Commits

Author SHA1 Message Date
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
Volker Ruppert
4c8015f84b - biossums added to make target 'clean' 2003-11-11 18:18:11 +00:00
Christophe Bothamy
42cd5f2699 - update with vgabios v0.4c 2003-11-06 00:17:35 +00:00
Christophe Bothamy
a7ea447861 - update with vgabios v0.4b 2003-11-04 23:08:48 +00:00
Volker Ruppert
568cd93523 - detect_serial: detection simplified using IER and IIR
- detect_parport: save base address and timeout using push/pop
2003-11-02 12:40:51 +00:00
Daniel Gimpelevich
5586f6054b *** empty log message *** 2003-10-24 11:16:25 +00:00
Christophe Bothamy
3dd4b321b7 - make now runs biossums on generated bios files 2003-10-17 12:01:28 +00:00
Christophe Bothamy
0798cad04d - add biossums utility, to set various checksums in bios files, written by Eike W. 2003-10-17 11:59:57 +00:00
Volker Ruppert
5be03ffb09 - int 0x16 function 0x0A implemented (GET KEYBOARD ID)
- int 0x16 functions 0x10/0x11 fixed (don't change the ascii code to 0xE0)
2003-10-16 19:31:33 +00:00
Daniel Gimpelevich
227933bc11 Fix ATA/Serial ioport conflict 2003-10-07 01:44:34 +00:00
Daniel Gimpelevich
296dbe928a Fix ATA/Serial ioport conflict 2003-10-07 00:21:10 +00:00
Daniel Gimpelevich
c249cc8709 Update to coincide with Volker's adjustment to VGA-BIOS upstream. 2003-10-05 23:15:45 +00:00
Christophe Bothamy
109805f5b8 - remove the comment about 8x8 font.
Volker confirmed that the whole 8x8 font should be present in the vgabios.
2003-08-17 21:48:15 +00:00
Christophe Bothamy
485ee8838b - update LGPL'd vgabios with release 0.4a 2003-08-17 15:41:12 +00:00
Christophe Bothamy
1e568ccba3 - regen from rombios.c rev1.95 2003-08-16 20:13:18 +00:00
Christophe Bothamy
f75ef317e5 - add 128 first 8x8 chars at 0xfa6e (fixes bug #787138 No ROM BIOS character map) 2003-08-16 20:11:28 +00:00
Christophe Bothamy
6712256448 - recompile rombios.c rev1.94 2003-08-07 00:04:05 +00:00
Christophe Bothamy
8fba74e1d1 - fix sf bug #764473 Freesco Linux crashes on boot
Syslinux 1.48 that is used to boot freesco, did not like the latest
  int15 function e801 returning AX=0 and BX=0, although my real
  system does, and Ralph Brown list allow it.

  Interestingly enough, the symptoms were floppy accesses with a track
  number > 100. Funny.

  Now int15 function e801 returns both extended and configured memory.
2003-08-07 00:02:24 +00:00
Christophe Bothamy
ae0b7c45a3 - Fix Elpin VGAbios size. It can't really be 32769 bytes.
I stripped the last byte, it seems to work ok.
2003-08-05 13:03:22 +00:00
Christophe Bothamy
b5562fc8ee - compile rombios rev1.93 2003-04-25 22:15:30 +00:00
Christophe Bothamy
d112043348 - fix int15 function e801 (get memory size) 2003-04-25 22:13:24 +00:00
Christophe Bothamy
20091e7f3c - compile rombios.c rev 1.92 2003-03-08 23:01:07 +00:00
Christophe Bothamy
479fbe2a25 - apply patch "[ 682539 ] Fix CapsLock and NumLock behavior" from rock at gimp.org 2003-03-08 22:59:17 +00:00
Christophe Bothamy
dd2618a315 - compile rombios.c rev1.91 2003-02-06 23:19:23 +00:00
Christophe Bothamy
579f3c0539 - apply Ben Lunt's 160k, 180k, 320k floppy patch 2003-02-06 23:16:56 +00:00
Christophe Bothamy
44502c00dc - compile rombios.c rev1.90 2003-01-18 19:23:14 +00:00
Christophe Bothamy
5e509b80c9 - add int15 function 86 support 2003-01-18 19:20:52 +00:00
Christophe Bothamy
2bf8c6ab80 - update with latest current-cvs version. It fixes, at least the WinNT4 install bug 2003-01-15 17:44:57 +00:00
Christophe Bothamy
cfdcae68ca - compile rombios.c rev 1.89 2003-01-14 18:06:59 +00:00
Christophe Bothamy
152900c758 - move the extended key check in int09, now int15/4f is empty.
I did not see any bug, but maybe some code hooking int15/4f could be
  disoriented when receiving extented E0 scancode.
2003-01-14 18:03:31 +00:00
Christophe Bothamy
e42eee68e5 - add support for ElTorito Harddisk emulation. Darwin iso boots now.
The Harddisk emulation still needs some polish though.
2003-01-14 17:59:52 +00:00
Christophe Bothamy
d007a8e93b - compile rombios.c rev 1.87 2003-01-13 12:55:59 +00:00
Christophe Bothamy
04809a2258 - fix NetBSD not booting from cdrom. AH was not set to 0 after a
successful read through int13/AH=2 when emulation floppy from cdrom.
2003-01-13 12:51:17 +00:00
Christophe Bothamy
56eb9dfe7a - compile from rombios rev1.86 2003-01-06 02:03:57 +00:00
Christophe Bothamy
fd02f4ac05 - create two new asm functions to send eoi to the master pic and to both pics
- add int75_handler, for msdos compatbility fpu exception
  This handler calls int 2 (nmi). The NMI handler should really be aware
  of this and should iret in case of FPU exception (to be implemented)
2003-01-06 02:02:46 +00:00
Christophe Bothamy
2398f0f215 - fix [ 651158 ] rombios does not build with make -j2
don't let each rombios compile overwrite temporary file of another
2002-12-25 12:25:55 +00:00
Christophe Bothamy
c837f9961e - compile reombios.c revision 1.85 2002-12-13 16:32:31 +00:00
Christophe Bothamy
b64fb6aba6 - refix [ 642031 ] FATAL: Keyboard RESET error:993
With Bryce we identified that this code will successfully
  flush the keyboard input buffer as long as ips <= 15000000.
2002-12-13 16:26:17 +00:00
Bryce Denney
51c0eca68a - now "make dist-clean" no longer removes the compiled BIOSes. This
is important because many people don't have the tools to rebuild them.
  They will only be removed if you type "make bios-clean", which people
  are unlikely to do by accident.
2002-12-12 23:55:34 +00:00
Bryce Denney
1d65a45575 - recompile bioses for rombios.c 1.84 2002-12-09 13:24:48 +00:00
Bryce Denney
3c450d5262 - apply 8CPU bios patch from Zwane Mwaikambo, who writes:
> This simplifies things for operating systems which don't do
  > paranoia/sanity checks. This BIOS image has been tested on Linux-2.4.19
2002-12-09 13:23:05 +00:00
Christophe Bothamy
f97ba30ac1 - compile from rombios.c r1.83 2002-11-26 11:09:43 +00:00
Christophe Bothamy
8d41bca5f5 - fix [ 642031 ] FATAL: Keyboard RESET error:993 again: rewrote keyboard
buffer cleanup
- add BX_DEBUG_INT1A macro
- change two "mov ax, #0000" to "xor ax, ax", so int70_handler does not overlap int08_handler
2002-11-26 11:04:41 +00:00
Christophe Bothamy
27247753ce - compile from rombios.c r1.82 2002-11-25 21:32:50 +00:00
Christophe Bothamy
b37dc11e70 - fix [ 629810 ] int 16/ah=01 broken?
added sti at start of int16_handler
- add some notes about int09 / int15/4f
2002-11-25 21:30:51 +00:00
Bryce Denney
44a003c3ad - use perl script "makesym.perl" to produce a symbol table that the
Bochs debugger can read
2002-11-24 22:45:40 +00:00
Christophe Bothamy
2dad04034c - rename rombios.txt for 2, 4, 8 processors 2002-11-23 21:02:03 +00:00
Christophe Bothamy
9fa58247c1 - update with latest released LGPL VGABios (v0.3b) 2002-11-23 10:05:07 +00:00
Christophe Bothamy
1a10b8f87b - compile BIOSes from rombios.c r1.81 2002-11-22 14:41:06 +00:00
Christophe Bothamy
f0c3eb675a - fix [ 642031 ] FATAL: Keyboard RESET error:993
Clear the incoming keys before reseting the keyboard.
2002-11-22 14:40:09 +00:00
Bryce Denney
7fde35e253 - fix a bug reported on ML by Scott Duplichan. Unimplemented int15 calls
should return AH=0x86 and CF set.  The new AH=E8 calls did not return
  0x86 in some cases where the call was not implemented.
2002-11-21 19:09:36 +00:00
Bryce Denney
6e6d9701a1 *** empty log message *** 2002-11-21 06:41:39 +00:00
Bryce Denney
4a7303c896 - update all bioses to current rombios.c
- since rombios.c also supports 8 processors, go ahead and build an 8 cpu
  bios as well.

Modified Files:
  BIOS-bochs-2-processors BIOS-bochs-4-processors
  BIOS-bochs-latest
Added Files:
  BIOS-bochs-8-processors
2002-11-14 20:05:57 +00:00
Bryce Denney
58bcf51ad8 - no longer create biosconfig.h with one line extracted from config.h.
Instead, just build all 4 bioses for 1,2,4,8 processors all the time.
  Now they should all stay in sync without any special effort.

Modified Files:
  rombios.c Makefile.in
2002-11-14 20:04:38 +00:00
Christophe Bothamy
48200d4936 - compile rombios.c r1.78 2002-11-07 21:58:19 +00:00
Christophe Bothamy
5d7b0701df - clean up in and out keyboard buffer before self test 2002-11-07 21:57:27 +00:00
Christophe Bothamy
b8fc42d6a7 - compile rombios.s r1.77 2002-11-04 23:57:53 +00:00
Christophe Bothamy
70b7d13763 - remove patch.keyboard-biosinit-asulmicki
- add new keyboard init code from Adam Sulmicki
- changed last cli() to #asm cli #endasm
- remove unused cli() function
- don't panic on shutdown status 0x09. just do the normal post
2002-11-04 23:56:56 +00:00
Christophe Bothamy
55fa06db79 - fix type of the counter used when waiting for signals in ata_reset. It may be > 0xff 2002-10-30 22:42:42 +00:00
Christophe Bothamy
ae220149ea - add wait states during disks reset, so the BIOS can reliably detect them.
patch from Adam Sulmicki.
2002-10-30 21:47:11 +00:00