Commit Graph

131 Commits

Author SHA1 Message Date
Christophe Bothamy
4ec9e8d5b1 - compiled rombios.c rev1.69 2002-10-16 14:05:28 +00:00
Christophe Bothamy
ec595a7d9b - limit the logical chs heads count for disks > 8GiB to 256
- limit the logical chs cylinders count for disks > 8GiB to 1024
- fix a missing parameter in a BX_INFO
2002-10-16 14:04:41 +00:00
Christophe Bothamy
80caacdb40 - compiled rombios.c rev 1.68 2002-10-16 07:40:09 +00:00
Christophe Bothamy
fcc1cd5195 - add int15 function 0xe820 (from osmaker)
- add int15 function 0xe801 (from Hartmut Birr)
- add amount of extended memory in 64KiB block to cmos regs 0x34 and 0x35
2002-10-16 07:38:37 +00:00
Volker Ruppert
d460ec396a - harddisk controller interrupt must be enabled after a reset and the
completion of a read or write operation
- int13_harddisk function 0x00 calls ata_reset()
2002-10-07 16:16:04 +00:00
Christophe Bothamy
7c35cfb980 - fixed size mismatch 2002-10-04 16:47:29 +00:00
Bryce Denney
9f73882054 - surely I didn't mean to put GUI_CFLAGS into the bios compile line! 2002-10-04 06:08:38 +00:00
Bryce Denney
4c9776fb96 - add -lwinmm to the link lines anytime you use --enable-sb16=win. Now
instead of winmm being a part of GUI_LINK_OPTS_WIN32 only, it is
  placed in @DEVICE_LINE_OPTS@ so that it will be used for sdl, rfb, wx,
  etc.
- solve compile problems when building bximage, niclist, and any other
  console based program.  The compile flags returned by wx-config and
  sdl-config did strange things to these console programs, for example
  redefining main to SDL_main.  Because I wanted to use the
  configure-generated CFLAGS to compile the programs, but I wanted to
  avoid including GUI specific compile options, I split up the configure's
  @CFLAGS@ variable into @CFLAGS@ and @GUI_CFLAGS@, and split
  @CXXFLAGS@ into @CXXFLAGS@ and @GUI_CXXFLAGS@.  All programs in the
  Bochs binary will use both, but the console programs will just use
  @CFLAGS@ or @CXXFLAGS@.
- gui/Makefile.in, I no longer use the gui specific CFLAGS variables,
  SDL_CFLAGS and WX_CXXFLAGS.  These values are included in CFLAGS and
  CXXFLAGS now.
- modified: configure.in, configure, all Makefile.in's
2002-10-01 23:37:50 +00:00
Volker Ruppert
4158c1e862 - serial port detection for two ports added to the POST code
- parallel port detection fixed:
  * write the value of AX to 0x0410, not BX
  * the timeout value is a byte and now stored in CL
  * the offset of the port address list is 2 bytes
2002-09-28 15:03:32 +00:00
Volker Ruppert
b98975c832 - parallel port detection for two ports added to the POST code 2002-09-28 12:27:56 +00:00
Christophe Bothamy
f36fb4fb58 - merged rombios-new-ata.c in rombios.c
- compiled BIOS-bochs-latest from latest rombios.c
2002-09-24 21:56:31 +00:00
Christophe Bothamy
2ef503ae20 - merged rombios-new-ata.c in rombios.c. New features :
. 4 ata interfaces support
  . devices auto-detection
  . 16bits/32bits device access
  . EDD3.0 support
  . ata/atapi layer rewrite
  . added verious DEBUG_XXX to debug only parts of the bios, because we're running low on data space in debug mode
  . moved ata data at offset 0x121 in EBDA. Previously, data was being overwritten by keyboard.sys
  . added jump to [0x40:0x67] after reset if shutdown status is 0x05. Fixes bug [ 601166 ] CMOS Problem @ "0x0F Index 0x05 data"
  . DMA controller init on POST entry
2002-09-24 21:52:32 +00:00
Christophe Bothamy
4d179c4fa9 - merged rombios-new-ata.c in rombios.c. This one is not needed any more 2002-09-24 21:44:26 +00:00
Christophe Bothamy
ed3270d12d - updated from rombios-new-ata.c rev 1.6 2002-09-23 12:49:02 +00:00
Christophe Bothamy
98c1f73690 - moved ata data at offset 0x121 in EBDA. Previously data was being overwritten by keyboard.sys
- added jump to [0x40:0x67] after reset if shutdown status is 0x05. Fixes bug [ 601166 ] CMOS Problem @ "0x0F Index 0x05 data"
- changed various occurences of "mov ax, #0000" by "xor ax, ax"
- fixed serious bugs in EDD function 0x48
- included Volker's rombios recent changes to PCIBIOS
- initialization of DMA controller on POST entry
2002-09-23 12:47:24 +00:00
Volker Ruppert
efbcf33bc7 - real mode PCI BIOS modifies the iret flags on stack if no error is present
- bug in the 'find PCI device' functions fixed
- register for the PCI i/o addresses is always DX
2002-09-20 19:36:05 +00:00
Christophe Bothamy
de39c3bd6d - VGABIOS-lgpl name change
. removed VGABIOS-lgpl-0.3
  . added VGABIOS-lgpl-latest (current cvs version)
  . updated configuration file
2002-09-20 13:23:46 +00:00
Christophe Bothamy
5ca59b4d4f - updated from rombios-new-ata.c rev 1.5 2002-09-13 14:31:53 +00:00
Christophe Bothamy
ac1fc11a13 - fixed missing casts on write_dwords. Cyl/Heads/Spt were not reported correctly by EDD 2002-09-13 13:37:50 +00:00
Christophe Bothamy
1fb02cacf1 - updated with rombios-new-ata.c rev 1.4 :
- fixed stupid "#if #elif" bug in ata paramaters
  - added debug/screen message if device detection fails.
2002-09-05 08:20:06 +00:00
Christophe Bothamy
e6f8c1ba46 - fixed stupid "#if #elif" bug in ata paramaters
- added debug/screen message if device detection fails.
2002-09-05 08:18:30 +00:00
Christophe Bothamy
88cf989396 - recompiled from rombios-new-ata.c rev 1.3 2002-08-19 17:12:46 +00:00
Christophe Bothamy
c74ca2a66a - fixed bug reported by Volker.
- fixed bug reported by tld.
- changed sectors to spt to avoid confusion
- changed detected devices message
2002-08-19 17:08:09 +00:00
Christophe Bothamy
c1b10f6847 - updated from pex86 Makefile.in. Uses bcc instead of bcc-cc1. 2002-08-10 21:30:41 +00:00
Christophe Bothamy
d2f6867bf2 - updated with rombios-new-ata.c revision 1.2
- added atapi layer
  - updated int13_cdrom, int13_eltorito and int13_cdemu
  - added verious DEBUG_XXX to debug only parts of the bios, because we're running low on data space in debug mode
  - added a fix so bcc generates good code when #asm follows if or while statements
2002-08-09 16:58:05 +00:00
Christophe Bothamy
0d6258ca97 - added atapi layer
- updated int13_cdrom, int13_eltorito and int13_cdemu
- added verious DEBUG_XXX to debug only parts of the bios, because we're running low on data space in debug mode
- added a fix so bcc generates good code when #asm follows if or while statements
2002-08-09 16:35:44 +00:00
Christophe Bothamy
15563b43ee - added new-ata BIOS for people to test out. New features :
- 4 ata interfaces support (1)
  - devices auto-detection
  - 16bits/32bits device access
  - EDD3.0 support

  This is nearly the same BIOS I offered for download on July 12th,
  but I hope to get more feedback with the CVS.
  I will update this bios with the atapi bit and fixes, and
  I'll eventually merge the changes in the main BIOS.

 Added Files:
	BIOS-bochs-new-ata rombios-new-ata.c
2002-08-06 16:08:45 +00:00
Volker Ruppert
a6d07ad166 - added support for 360k floppy images
* new floppy type 360k can be used in .bochsrc and the config interface
  * media type and geometry can be set for the floppy type
  * BIOS changes to make 360k floppy drives work
  * bximage can create 360k images now
2002-08-01 07:37:56 +00:00
Volker Ruppert
e46d56fad1 - jump to POST entry point must be a far jump (MS-DOS and Win95 reboots now)
- keyboard init: read output buffer and enable keyboard before self test
2002-07-23 18:46:17 +00:00
Volker Ruppert
54a5e86cc6 - real mode PCI BIOS functions rewritten in assembler
- new real mode PCI BIOS functions: find device, read/write byte/dword
- C code for PCI BIOS handles errors and prints messages only
- function setPCIaddr() no longer needed
- functions inw() and outw() no longer used by the PCI BIOS
- BIOS32 checksum calculation rewriten to prevent errors
- labels of protected mode PCI BIOS renamed
2002-06-22 15:23:05 +00:00
Volker Ruppert
aa57c0e171 - most important functions of the protected mode PCI BIOS added.
Linux (kernel 2.2.18) is able to use the new features.
  Here is the list of changes:

  * BIOS32 data structure added
  * BIOS32 and protected mode PCI BIOS functions added. The BIOS32 function
    returns a pointer to the PCI BIOS entry point when the service $PCI is
    requested and the PCI hardware is present.
  * Supported 32 bit functions: installation check, find pci device,
    read configuration byte/word/dword, write configuration byte/word/dword
  * real mode PCI BIOS installation check rewritten in assembler to use 32 bit
    registers for the protected mode entry point and the 'PCI ' signature.

  TODO:

  * add missing functions of the PCI BIOS (if necessary)
  * add missing features of the i440FX PCI bridge
  * implement the other parts of the i440FX chipset (PCI-to-ISA bridge,
    PCI IDE controller, USB controller)
2002-06-04 17:44:02 +00:00
Volker Ruppert
c2941ec36b - added error message: PCI BIOS can only be used with 386+ cpu
- functions inw() and outw() are required for the ATA driver too
- real mode PCI BIOS installation check returns revision level 2.10
- unsupported real mode PCI BIOS functions return the error code 0x81
2002-05-11 13:44:39 +00:00
Christophe Bothamy
2a39e35322 - updated with rombios.c v1.56 2002-05-04 16:56:22 +00:00
Christophe Bothamy
45ad28ff24 - adapted rombios for floppy boot signature check flag change
- added ASM_START / ASM_END instead of #asm / #endasm.
  Now we are (tested) able to compile with both gcc2 and gcc3
  compiler (Eventually!) Aren't you happy Jeroen ? ;-)
- fixed [ 549815 ]. I included back int19_relocated at the bios
  space could not hold the new mov ex, ax
- int19 calls int18 if the boot has failed. I hope this is the
  right behavior.
2002-05-04 16:09:38 +00:00
Christophe Bothamy
a5442def86 - fixed bug [ 547603 ]
- added int16 functions AX=09h and AX=0Ah
2002-04-24 13:49:26 +00:00
Christophe Bothamy
2f2f9880ca - compiled rombios.c 1.54
- added BX_DEBUG, BX_INFO, BX_PANIC macros
  - BX_DEBUG outputs to the INFO port till we can easily choose debug output on a per-device basis
  - BX_DEBUG are only generated if DEBUG_ROMBIOS is defined to 1
  - do not panic on unsupported function in int13, only output info message
  - fixed a bug on boot signature check never done on floppy/harddisk and always on floppy images on cd
  - the boot signature check on harddisks is always done
  - the boot signature check on cdroms (either direct boot or floppy images) is never done
  - the boot signature check on floppies is conditionnal to CMOS reg 0x38 (configuration floppy_bootsig_check)
  - moved PIC initialization before calling optional rombios init functions (feature request [ 541908 ])
2002-04-24 07:54:23 +00:00
Christophe Bothamy
6566116a01 - added BX_DEBUG, BX_INFO, BX_PANIC macros
- BX_DEBUG outputs to the INFO port till we can easily choose debug output on a per-device basis
- BX_DEBUG are only generated if DEBUG_ROMBIOS is defined to 1
- do not panic on unsupported function in int13, only output info message
- fixed a bug on boot signature check never done on floppy/harddisk and always on floppy images on cd
- the boot signature check on harddisks is always done
- the boot signature check on cdroms (either direct boot or floppy images) is never done
- the boot signature check on floppies is conditionnal to CMOS reg 0x38 (configuration floppy_bootsig_check)
- moved PIC initialization before calling optional rombios init functions (feature request [ 541908 ])
2002-04-24 07:52:07 +00:00
Jeroen Janssen
b3e6bcb3a9 - reverting ##asm/##endasm patch for preprocessing with gcc3 2002-04-21 13:04:47 +00:00
Jeroen Janssen
cfa340ca76 - make sure the rombios can be preprocessed with latest gcc (from Mandrake 8.2) 2002-04-20 16:46:07 +00:00
Jeroen Janssen
1abec8c874 - moving DEBUG_ROMBIOS more to the top of the file (since it's sort of a configuration option and was 'well hidden' atm) 2002-04-11 20:17:03 +00:00
Christophe Bothamy
bf9b01035f - fixed win2k boot from cd bug 2002-04-11 00:20:31 +00:00
Christophe Bothamy
c7c233f9ce - fixed Win2k boot from cd
- included provisional code for two ATA interfaced
2002-04-10 23:25:49 +00:00
instinc
7159f3fdba with bug 433003 fix 2002-04-10 23:25:17 +00:00
instinc
c9e242cab0 Fixed the bug 433003 related to function 87h of int 15h 2002-04-10 23:23:00 +00:00
Bryce Denney
45b49fe35f - this patch from William Lee Irwin III <wli@holomorphy.com> makes it easy to
configure and compile a BIOS for 8 CPUs.
2002-04-08 01:41:59 +00:00
Bryce Denney
949ac3bbf0 - Dave Poirier fixed bug #466292: kbd fails in scandisk, freedos edit.
I recompiled the BIOS with the fix.
2002-04-08 01:24:49 +00:00
instinc
cd4fdfe9f3 Fixes bug report 466292 2002-04-08 01:19:35 +00:00
Christophe Bothamy
f02ef5cd7a - fixed keyboard not working with DOS6.2 keyb.com :
. int16 function 92 :  keyboard capability check for keyb.com (enhanced keyboard) : supported
  . int16 function A2 :  keyboard capability check for keyb.com (122keys keyboard) : not supported
2002-04-06 15:59:29 +00:00
Christophe Bothamy
f9304212e9 - redo the freebsd fix.
I should know better the 16bits segmentation model.
2002-04-05 21:08:22 +00:00
Christophe Bothamy
7f3fb09f49 - added fix for freeBSD boot 2002-04-04 16:58:31 +00:00