Commit Graph

1651 Commits

Author SHA1 Message Date
Volker Ruppert
e67bb30120 - added documentation for the ES1370 soundcard 2011-03-13 09:09:34 +00:00
Stanislav Shwartsman
1dd995abc3 Adding Id and Rev property 2011-03-12 20:34:38 +00:00
Volker Ruppert
ae45908060 - ported ES1370 soundcard emulation from Qemu. For now, only sound output to
DAC2 is sent to the lowlevel sound module. DAC1 and sound input (ADC) are not
  yet supported. Also unsupported: CODEC (mixer), UART (MIDI) and legacy support.
  Sound module selection in configure script now no longer depends on SB16 and
  uses autodetection only.
- fixed segfault when saving bochsrc
2011-03-12 17:37:26 +00:00
Volker Ruppert
8c32359615 The VBE display extension is now a part of the Bochs core. The configure option
--enable-vbe is now deprecated and the symbols BX_SUPPORT_VBE and
BX_SUPPORT_PCIVGA have been removed. To enable VBE support, the bochsrc option
"vga: extension=" must be set to "vbe". If PCI is present, you can assign the
"pcivga" device to a PCI slot.
2011-03-07 19:01:22 +00:00
Volker Ruppert
1df7a9131b Fixed possible buffer overflow causing segfault or memory corruption. The
buffers are not large enough for the maximum sector count in LBA48 mode. Now
resetting buffer pointers after processing a PRD (and move remaining data if
necessary). This should fix the SF bug items #3190970 and #3077616.
2011-03-06 20:51:52 +00:00
Volker Ruppert
e79fcfb98d - documentation for networking module 'slirp' added 2011-03-03 16:49:29 +00:00
Volker Ruppert
e5f40d7188 - missing DHCP error handling added
- don't forward DHCP request to Slirp
- improved comments
2011-03-02 17:51:52 +00:00
Volker Ruppert
fa556ed33d - implemented DHCP support in eth_slirp.cc
* moved DHCP request processing core from eth_vnet.cc to eth.cc
  * reply packet processing grabbed from the 'vnet' code
2011-03-01 20:47:12 +00:00
Volker Ruppert
9425ed0184 - prepared eth_slirp.cc for DHCP support (detect DHCP packet - partly copy &
paste from eth_vnet.cc)
- fixed possible compilation failure
2011-02-27 21:04:09 +00:00
Volker Ruppert
49f4a38c82 - applied user mode networking patch by Heikki Lindholm. It requires the most
recent version of Slirp with Debian patches applied. On a Linux host the
  guest OS can access the internet without running Bochs with root privileges.
  TODO:
  * rewrite the DHCP part of eth_vnet.cc that it can be used here, too
  * Slirp doesn't compile on 64-bit Linux with GCC 4.5
  * WIN32 is not supported yet
2011-02-27 08:08:12 +00:00
Volker Ruppert
7123451fc0 - cleaned up config.h symbols of networking modules. Updated missing files 2011-02-26 20:33:28 +00:00
Volker Ruppert
ac61b38825 - cleaned up config.h symbols of networking modules. Now always using name format
BX_NETMOD_xxx and set them in configure script
2011-02-26 20:10:06 +00:00
Stanislav Shwartsman
00981cd7a6 Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
Volker Ruppert
01f8f62b55 - next step of documentation updates for release 2.4.6 2011-02-20 09:35:48 +00:00
Volker Ruppert
69ed651340 - alsa: send buffer once again if resource was busy 2011-02-19 10:25:18 +00:00
Volker Ruppert
1553e78842 - alsa: open PCM device in non-blocking mode
- fixed log message type
2011-02-19 08:48:53 +00:00
Volker Ruppert
4e3b704a19 - created separate plugin 'soundmod' that contains the lowlevel sound output
stuff (pseudo device implementation similar to 'usb_common' and 'hdimage')
2011-02-14 21:14:20 +00:00
Volker Ruppert
fa4d2822ec - moved dummy sound output functions to a separate file
(TODO: create a separate 'soundmod' plugin, implement a PCI soundcard)
- output device / file parameter type changed to const char*
2011-02-13 17:26:52 +00:00
Volker Ruppert
24ac0e90b6 - added global "speed" option to be passed with the "optionsX" port parameter.
This option sets the supported speed reported by device (up to 'maxspeed').
- added symbol USB_SPEED_SUPER for USB 3.0
2011-02-12 14:00:34 +00:00
Volker Ruppert
d7e9cec933 - changed all log messages in the lowlevel sound modules to BX_ERROR, BX_INFO
and BX_DEBUG to make them independent from the SB16 emulation
- soundwin: increased number of buffers to 64
2011-02-10 22:58:22 +00:00
Volker Ruppert
dec6bcaf73 - started separation of sb16 and lowlevel sound module code. The first step is
an own header file for the basic sound output class. When ready we should
  have a separate 'soundmod' plugin that could be used by other soundcard
  implementations.
2011-01-25 23:29:08 +00:00
Volker Ruppert
44ece7cf26 - including vga.h in iodev.h no longer necessary and symbol NO_DEVICE_INCLUDES
is useless then
- updated makefile dependenies
2011-01-24 20:35:51 +00:00
Volker Ruppert
d6eaf0f427 - fixed typo in mf3/ps2 scancode set (SF bug #3140332) 2011-01-23 11:44:36 +00:00
Volker Ruppert
a5634f2e38 - gui configuration fixes
* cpu msrs: parameter type changed to filename (for "browse" button)
  * usb: box title no longer needed, since we have now a tab window
2011-01-22 16:49:00 +00:00
Volker Ruppert
cf4e7f5b5d - added flag HDIMAGE_AUTO_GEOMETRY and return it by default in base class if
cylinders are set to 0
- open image before getting capability flags and return after panic
- simplified geometry detection code
2011-01-21 16:00:38 +00:00
Volker Ruppert
e570e863c2 - fixed file descriptor / file handle leak (ported from Qemu)
- always stop parsing directory at final entry
2011-01-20 21:10:06 +00:00
Volker Ruppert
adb8359bb0 - moved mouse parameter handling to the keyboard parameter handler 2011-01-20 16:54:42 +00:00
Volker Ruppert
f4cbdc9827 - fixed file modification time generated with mktime (timezome value is already
applied and the daylight savings time information is not available)
2011-01-19 18:28:08 +00:00
Volker Ruppert
00c4dc40d6 - added floppy string parameter handler and moved "path" handling there
- the "readlonly" parameter is now completely handled in the floppy code
- detect VVFAT as 1.44 MB media when using the "image=" parameter in bochsrc
2011-01-18 21:04:44 +00:00
Volker Ruppert
9d3fc394a5 - simplified floppy parameter init code
- added floppy parameter handler and moved some runtime parameters there
2011-01-17 21:36:00 +00:00
Volker Ruppert
9b89f19d79 - improved USB configuration with gui
- fixed device change flag handling
2011-01-16 17:17:28 +00:00
Volker Ruppert
168efb7710 - re-implemented USB port options parameter to assign specific options to the
connected device. For now this feature is only used by the 'disk' device to
  specify an alternative redolog filename of some image modes.
- added new methods set_option() and timer() to the base class usb_device_c.
  The timer() method is periodicly called from the HC's frame timer code.
- moved runtime device change stuff from the parameter handler to the end of
  timer() methods of all hubs. This makes sure that all parameters for the
  device have been set at connect time. TODO: this technique could also be used
  for the floppy and cdrom media change.
2011-01-16 12:46:48 +00:00
Volker Ruppert
d2fa6b35e6 - MSVC warning fixed 2011-01-14 22:15:37 +00:00
Volker Ruppert
9b70c59980 - added own log prefix for the hdimage stuff
- added multiple sector read/write support for 'growing' images
- fixed two warnings
2011-01-14 16:43:55 +00:00
Volker Ruppert
0e008fedb0 - file attributes: added support for cleared archive bit
- report ignoring reserved clusters with BX_ERROR
2011-01-14 15:37:36 +00:00
Volker Ruppert
21ccef7f32 - set file modification date and time after committing file changes
- ignore reserved cluster numbers to avoid crash
2011-01-13 20:39:53 +00:00
Volker Ruppert
be2f3feef3 - enabled vvfat floppy support for the plugin version
- fixed and cleaned up floppy xfer code
- fixed two warnings
2011-01-12 22:35:32 +00:00
Volker Ruppert
51682da8b4 - converted the hdimage stuff to a separate plugin (similar to usb_common)
- usb_common is now a core plugin
- fixed an MSVC warning in devices.cc
- updated year in copyright
2011-01-12 22:34:42 +00:00
Volker Ruppert
b728142477 - the floppy media (e.g. image file) must be closed in destructor
- moved all the close() stuff to the new method close_media()
2011-01-11 22:00:41 +00:00
Volker Ruppert
bc60caaccc - added vvfat floppy support (1.44 MB media only / currently not working with
plugins enabled)
- added special characters (0xe5 <-> 0x05) conversion in short filename
2011-01-11 20:14:21 +00:00
Volker Ruppert
3520b9b154 - handle file attribute changes (system, hidden and read-only)
- some work on FAT12 (required for floppy support)
- moved write support code from close() to new method commit_changes()
2011-01-10 21:15:05 +00:00
Volker Ruppert
2bb3d74f70 - fixed handling of modified files if the first cluster has been changed
- handle deletes only after parsing the new directory tree
- show file attributes bits that have been modified
2011-01-09 19:20:11 +00:00
Volker Ruppert
129ce92871 - check mappings for delete request in reverse order to avoid removing non-empty
directories
- some other small changes
2011-01-09 09:19:05 +00:00
Volker Ruppert
e5122a3ccd - experimental real write added (commit changes on exit). When Bochs is shutting
down and the vvfat image has been modied, the user is asked if the vvfat
  directory should also be modified. Currently not handled: remove non-empty
  directories, system-reserved clusters and file attributes.
- some small related changes
2011-01-09 00:36:42 +00:00
Volker Ruppert
6d7900c8a5 - redolog_t: store current image position in variable and update it after
successful reads and writes (required for vvfat write support)
- added multiple sector read / write support to the undoable and volatile disk
  image mode (required for USB MSD)
2011-01-07 18:35:34 +00:00
Volker Ruppert
2511bf45a8 - always place the 'dot entries' on top of a subdirectory (for some host
file systems this position is not mandatory)
- some small code cleanups
- disabled currently unused code
2011-01-04 18:39:51 +00:00
Volker Ruppert
5dba54c861 - added support for boot sector file without MBR file. Now all cases are handled
correctly: MBR + bootsector, MBR only, boot sector only and none of the files.
2011-01-03 19:03:08 +00:00
Volker Ruppert
3ef57e9f7e - fixed some format warnings in the devices code 2011-01-02 16:51:08 +00:00
Volker Ruppert
e34a9da72c - improved FAT32 support (should be okay now)
- implemented reading boot sector from file
- VVFAT TODO: apply file and directory changes on exit
2011-01-02 14:44:20 +00:00
Volker Ruppert
747f2ba541 - experimental FAT32 support (works in most cases)
- volatile write support using the hdimage redolog_t class
  (TODO: apply directory and file changes on exit)
- updated makefile dependencies
2011-01-01 19:14:25 +00:00
Volker Ruppert
6d0b6c69b9 - implemented reading MBR from file (TODO: read boot sector)
- value of 'sectors_per_fat' must be 32 bit (for FAT32)
- some other small fixes
2010-12-31 15:39:27 +00:00
Volker Ruppert
a9a6bbfe22 - added support for reserved sectors between bootsector and FAT containing a copy
of the bootsector and the "FS info sector" (required for FAT32)
- implemented a more accurate way to calculate the number of clusters and the
  corresponding FAT size
- some other small fixes
2010-12-30 12:30:58 +00:00
Volker Ruppert
c521ec6ba1 - fixed MBR and boot sector values 2010-12-28 22:31:40 +00:00
Volker Ruppert
d45c98a267 - fixed crash caused by uninitialized value (found with MSVC)
- fixed cylinder overflow check
2010-12-27 22:37:36 +00:00
Volker Ruppert
52e4917f52 use C/H/S values from image for the CMOS setup 2010-12-27 18:37:25 +00:00
Volker Ruppert
a8ced63e31 - more fixes for configurable disk geometry
- check the root entries limit of FAT16
- some work on the FAT32 support (not yet complete)
- report volume creation date and time
- some other small fixes
2010-12-26 23:13:29 +00:00
Volker Ruppert
ba41f4cbff - set cluster size depending on disk size (FAT32 support not complete)
- several fixes related to configurable geometry (some more tests required)
- skip MBR and boot sector image files when reading directory (still unused)
- support overriding cylinder value with 0 in the command line
- don't return failure value when reading unused sectors
- increment buffer pointer when reading more than one sector
2010-12-24 20:47:22 +00:00
Volker Ruppert
341c764e1f - added initial 'virtual VFAT' image support (shadows a local directory)
* ported the read part of the Qemu vvfat block driver
  * added win32 specific directory functions (required for MSVC)
  * TODO: write support, FAT32 support, read MBR and boot sector from file
2010-12-23 16:17:12 +00:00
Volker Ruppert
1e3f3ee0c0 - added new hdimage method get_capabilities() that can return special flags
- HDIMAGE_HAS_GEOMETRY flag added to vmware3 & vmware4 modes (these modes use
  the CHS values from image file)
- harddrv: renamed pointer to hdimage object
2010-12-21 21:47:41 +00:00
Volker Ruppert
99eb027531 - modified usb_common plugin implementation to make Windows DLL plugins compile
* added new "pseudo device" for the USB device control (init, send message)
  * moved register_state() call from the hubs to the common device init code
- fixed unresolved symbols in usb_msd code
2010-12-14 21:20:37 +00:00
Volker Ruppert
29c8824bab - added support for HD image modes in usb_msd (TODO: specify journal file)
- siminterface: added helper method hdimage_get_mode()
- moved hdimage related stuff from harddrv.cc to the hdimage code
- changed hdimage related names
2010-12-10 17:02:18 +00:00
Volker Ruppert
c214fffa5e - created a separate plugin that contains the USB devices, the devices init
code and the generic USB stuff. Up to now, in plugin mode each host controller
  staticly links all this stuff with the plugin library. So it existed twice and
  e.g. it wasn't possible to create a unique serial number for disks/cdroms
  connected to different HCs. Some other sanity checks could be added now, too.
- Added a register mechanism for the USB device init function in the main
  devices code.
- TODO: Some other device plugins could be fixed the same way: network devices
        (sharing ethernet modules), harddrive & usb_msd (sharing hdimage and
        cdrom)
2010-12-06 18:51:13 +00:00
Volker Ruppert
cd7b703a5b - init() method added to the USB device class
- new USB device class method get_info() for improved device connect BX_INFOs
- USB printer: output file creation failure now causes BX_ERROR and disconnect
  instead of BX_PANIC (similar to usb_msd)
- removed obsolete include statements
2010-12-05 13:09:41 +00:00
Volker Ruppert
45148b3eb7 - fixed compiler warning and big endian issue in "send buffer" command code 2010-11-26 15:42:41 +00:00
Volker Ruppert
cdfedaa9bc - data type SOCKET doesn't exist on non-win32 platforms 2010-11-23 20:26:37 +00:00
Stanislav Shwartsman
9aa503cb9d fixed warnings for win64 compilation 2010-11-23 14:59:36 +00:00
Volker Ruppert
50d9fa3e9a - added support for VGA graphics mode with 400 lines (partial fix for SF bug #2948724) 2010-11-22 22:11:30 +00:00
Volker Ruppert
21d53ee619 - setting the ISR transmit complete bit doesn't depend on the corresponding IMR bit 2010-11-21 16:21:41 +00:00
Volker Ruppert
a41ab5ccf9 - attempt to fix win64 compilation (Win 95/98/ME specific floppy access method
not required on this platform)
2010-11-20 12:37:00 +00:00
Stanislav Shwartsman
85250931dd fix typo 2010-11-13 13:06:00 +00:00
Stanislav Shwartsman
e5bb07e366 a few more steps towards win64 compilation under windows 2010-11-13 13:00:26 +00:00
Stanislav Shwartsman
c7dba3525a Fixed warnings (patch from mailing list) 2010-08-15 19:57:50 +00:00
Volker Ruppert
8b46dcfc0b - added parameter to control the floppy media write protection. This is based on
the SF patch #1539417, but rewritten from scratch (patch too old). Differences
  to the original version:
  * internal parameter name "readonly"
  * update parameter if floppy image is readonly
  * wxWidgets support
  * documentation updates
  * no specific toolbar buttons
2010-07-03 05:34:27 +00:00
Volker Ruppert
e801f4a256 - removed floppy method get_media_status() (floppy media change handler already
updates the parameter)
2010-06-18 17:23:50 +00:00
Volker Ruppert
0a4c91815d - small fixes in the DHCP code (SF patch #2862322) 2010-05-22 10:15:58 +00:00
Volker Ruppert
fd477dac71 - ignore single mode command 0x02 (386BSD writes it, but works with it ignored) 2010-05-18 17:48:48 +00:00
Volker Ruppert
cdb7e0eb96 - fixed usage of variable 'apic_id_mask' for compatibility with win32 plugin target 2010-05-15 09:23:50 +00:00
Stanislav Shwartsman
35f8e91cad APIC ID mask cleanup 2010-05-14 12:10:00 +00:00
Stanislav Shwartsman
6ac1bdcbdf apic_dest_t as datatype 2010-03-27 09:56:30 +00:00
Stanislav Shwartsman
23927343d5 convert apic id to 32-bit -> pilot before x2apic merge
no functional change supposed to be seen yet
2010-03-26 13:00:14 +00:00
Stanislav Shwartsman
65a78f9887 dos2unix 2010-03-06 21:41:26 +00:00
Stanislav Shwartsman
9124f00645 Fixed format 2010-03-02 07:07:57 +00:00
Stanislav Shwartsman
e3a13a7a55 Make XAPIC runtime option as well 2010-02-28 14:52:17 +00:00
Stanislav Shwartsman
5df864b1f1 Move param_names.h into bochs root folder 2010-02-26 14:18:19 +00:00
Stanislav Shwartsman
55ee809cf7 fix warning 2010-02-08 14:53:31 +00:00
Volker Ruppert
5457fa4458 - fixed register_state() for the USB printer device (no need to save/restore the
file name since it is present in the config tree as a part of the device name)
2010-01-02 16:54:40 +00:00
Stanislav Shwartsman
153d43520d change copyright to bochs project 2009-12-04 19:50:29 +00:00
Stanislav Shwartsman
373377ff6c fix fname size 2009-12-04 17:54:22 +00:00
Stanislav Shwartsman
b2f6bffd8d updates for USB printer 2009-12-04 17:50:10 +00:00
Stanislav Shwartsman
453bb573bf indent changes 2009-12-04 13:21:33 +00:00
Stanislav Shwartsman
fb64ec4d0c Added USB printer support (patch by Ben Lunt) 2009-12-04 13:01:41 +00:00
Stanislav Shwartsman
85d0bb4632 determine APIC option from CPU_LEVEL and SMP support options - deprecate configure option for APIC support 2009-11-20 14:58:48 +00:00
Stanislav Shwartsman
6601f15c2e first step for range watchpoints - code reorg 2009-11-19 21:28:25 +00:00
Stanislav Shwartsman
da4722e257 optimize sr params 2009-10-16 18:29:45 +00:00
Stanislav Shwartsman
1b248b5212 fixes for future 2009-10-15 16:14:30 +00:00
Volker Ruppert
31d479f119 - attempt to fix SF bug #2867904: improved checks if VGA memory address is out
of bounds
2009-09-27 18:37:02 +00:00
Volker Ruppert
e34262bc7d - fixed regression caused by SF patch #2812936
* buffer size must match the IDE specs to transfer max. 255 sectors
  * resetting buffer pointers during IDE command is invalid
2009-08-16 19:59:03 +00:00
Stanislav Shwartsman
f29b5a97d6 fixes with long phy addr 2009-08-10 08:08:25 +00:00
Volker Ruppert
43194bddc6 - the status.interrupt bit should be set regardless of the enable bits if a IOC
or SPD is found (patch by Ben Lunt)
2009-07-19 17:49:27 +00:00
Volker Ruppert
19db14fe2e - changed BX_PANIC to BX_ERROR (text mode update code already skipped - should
only occur as an intermediate condition when switching to graphics mode)
2009-07-04 07:40:46 +00:00