Commit Graph

77 Commits

Author SHA1 Message Date
Volker Ruppert
50a0de2746 - disable i/o and memory space access while initializing PCI base address registers 2005-09-24 08:10:10 +00:00
Volker Ruppert
8d883ec645 - fixed PCI i/o base address initialization 2005-09-19 21:09:42 +00:00
Volker Ruppert
fb5b86b11c - PCI i/o and memory base address initialization added 2005-09-18 21:45:05 +00:00
Volker Ruppert
62f28d8f79 - pause key detection implemented
- preparing PCI i/o and memory init function
2005-09-17 17:43:45 +00:00
Volker Ruppert
9121053af9 - keyboard interrupt handler fixes (patch by japheth)
* pass all keycodes received by INT 09h to keyboard intercept
  * don't wait for second keycode if an extended keycode is detected (set flag only)
2005-09-16 16:05:14 +00:00
Volker Ruppert
8851f2523a - fixed enhanced keycode flag for key releases
- modified bios startup messages
2005-09-15 18:07:32 +00:00
Volker Ruppert
f9e7aa39af - fixed flag for enhanced keycode 0xE0 (final part) 2005-09-09 18:56:42 +00:00
Volker Ruppert
08fe825e41 - fixed flag for enhanced keycode 0xE0 2005-09-09 16:34:21 +00:00
Volker Ruppert
b4269dca92 - new function floppy_prepare_controller() simplifies some floppy functions and
makes panic no longer necessary
- bios banner now shows active features
- indent mode fixed in modified sections
2005-09-04 09:38:28 +00:00
Volker Ruppert
2e8dccf684 - fixed floppy return status if media not present (MS-DOS expects value 0x80)
- more accurate handling of the floppy recalibrate function (removed panic)
- small code cleanups and optimizations in the floppy code (e.g. do .. while loops,
  always using 0040:003e for the floppy interrupt flag)
- small updates ported from the PC BIOS project
2005-08-26 17:47:16 +00:00
Volker Ruppert
86c3c68dc4 - fixes for OS/2 in the floppy and rombios code (patch from Robin Kay)
* support for XDF images added
  * floppy controller should hang if media not present
  * rombios has to reset the floppy controller after read/write failure
2005-08-24 20:45:57 +00:00
Volker Ruppert
b6f484f606 - fixed INT 09h keyboard flags handling 2005-08-14 17:19:44 +00:00
Volker Ruppert
c688161ddf - INT 70h has destroyed the upper word of EAX; save/restore all 32-bit registers now 2005-08-13 08:53:59 +00:00
Volker Ruppert
e5b7fa1b4b - fixed segment and offset in int70h and modify the high bit only 2005-08-12 19:50:45 +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
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
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
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
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
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
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
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
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
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
Volker Ruppert
623ba8b00d - INT 16h function 05h implemented (grabbed from patch #707931) 2003-12-18 16:49:22 +00:00
Christophe Bothamy
9d38eca4c5 - recompile rombios.c rev1.102 2003-11-27 00:35:24 +00:00
Christophe Bothamy
93ff40743f - recompiled with rombios.c rev1.100 2003-11-15 00:03:57 +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
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