1857 Commits

Author SHA1 Message Date
Volker Ruppert
50482a9f2b - implemented save state function for the disk image modes 'vmware3', 'vmware4'
and 'vpc'
- prepared hdimage restore support
- vmware4: code cleanup
2012-09-19 21:05:18 +00:00
Volker Ruppert
5cbf0894ac - implemented save state function for the disk image modes 'concat' and 'sparse'
- set timestamp of r/o disk in volatile mode, too (for save/restore support)
- TODO: save state function for the remaining image modes, restore support
2012-09-18 19:00:25 +00:00
Volker Ruppert
7da5057be5 - implemented save state function for redolog_t based disk image modes (growing,
undoable, volatile)
- TODO: save state function for the remaining image modes, restore support
- save/restore: when saving binary data to a file, use the full parameter path
  (except "bochs." prefix) as the file name to avoid overwriting duplicates
2012-09-17 19:30:40 +00:00
Stanislav Shwartsman
6682d019e3 remove inline asm code which doesn't compile for MSDEV 64-bit. compiler knows to generate code not worse than this inline asm 2012-09-17 07:57:07 +00:00
Volker Ruppert
9ee5a77747 - started implementation of sav/restore support for hard disk images using a
dummy parameter and it's save/restore handlers. Currently only the save
  support is implemented and the specific save function is only written for
  flat mode images (copies whole disk image file to the save/restore folder).
- TODO #1: implement save function for the other disk image modes
- TODO #2: add restore support (replace disk image file with the one from the
           save/restore folder)
2012-09-16 19:51:30 +00:00
Volker Ruppert
54a637a431 - indent changes 2012-09-16 10:59:15 +00:00
Volker Ruppert
35f97235ed - fixed compilation error in MinGW/MSYS and some warnings 2012-09-16 07:52:55 +00:00
Volker Ruppert
c8907855c2 - remove spaces from short filename (otherwise long name is ignored) 2012-09-15 13:15:30 +00:00
Stanislav Shwartsman
e0aea74693 code indent 2012-09-15 10:03:22 +00:00
Stanislav Shwartsman
4eaa72a32f small coding style changes + warning fixes in voodoo code 2012-09-15 09:47:31 +00:00
Volker Ruppert
5f5d8e2c33 Applied initial version of the 3dfx Voodoo Graphics emulation. The Voodoo core
is based on a patch originally designed for DOSBox. Currently only the Voodoo1
adapter model can be emulation. The emulation is currently slow, but we intend
to clean up and optimize the code. Running the 3D engine in a separate thread
is also planned. To compile with Voodoo support the configure option
"--enable-voodoo" must be used. Then the device can be activated with
"plugin_ctrl: voodoo=1" in bochsrc or on the command line. The device will be
assigned automatically to a PCI slot unless you do that manually. A specific bochsrc
option to select the adapter model will be added when the code has support for it.
2012-09-14 21:50:50 +00:00
Volker Ruppert
25518fe172 - added save/restore support for the VGA override mode
- store update interval in the vga object
2012-09-11 06:52:11 +00:00
Volker Ruppert
c340da84dd - moved the display adapter emulation to the new subdirectory iodev/display
- TODO #1: update MSVC workspace files
- TODO #2: add Voodoo Graphics emulation
2012-09-10 20:49:29 +00:00
Volker Ruppert
d2aaa00336 - dimension_update() must be called when leaving VGA override mode
- Cirrus adapter needs to set the last resolution and BPP for VGA override
- TODO #1: move display adapter code to iodev subdirectory 'display'
- TODO #2: add 3dfx Voodoo Graphics emulation
2012-09-09 15:44:20 +00:00
Volker Ruppert
8863056b7a - documentation updates (iodev subdirectories) 2012-09-02 10:51:47 +00:00
Volker Ruppert
de34274fcb - parts of the USB keypad code are still based on Ben's code, so we need to
add the LGPL to usb_hid.cc
- moved Ben's comment to usb_uhci.cc, since this file contains most of his
  initial pciusb patch
- TODO: implement full USB keyboard support (port from QEMU)
2012-09-02 09:37:47 +00:00
Volker Ruppert
62a568c131 - changed license headers from LGPL to MIT for all devices / drivers that have
been ported from QEMU and originally have this license
- TODO: The QEMU people should verify the changes and tell us if something is
  missing. Bochs 2.6 will be released after everything has been confirmed to
  be okay.
2012-08-31 12:08:19 +00:00
Volker Ruppert
48042499cf - added original authors on top of LGPL'd sources ported from Qemu
- added LICENSE file to clarify the Bochs license
- TODO: fix source files ported from Qemu with MIT license
2012-08-30 20:41:25 +00:00
Volker Ruppert
78513089e4 - fixed unloading of support plugins
- TODO: reorganize plugin types, since there are now 3 subtypes of core plugins
  (gui, core devices and support for networking, sound, usb)
2012-08-20 07:35:30 +00:00
Volker Ruppert
a2dd985aef - remove registered device state in destructor (fixes crash on Bochs exit with
MSVC plugins)
2012-08-19 08:16:20 +00:00
Volker Ruppert
11b22c8473 - forgot to remove obsolete stuff 2012-08-16 12:25:55 +00:00
Volker Ruppert
43c1ac48f4 - implemented TFTP support in eth_slirp.cc
* moved TFTP request processing core from eth_vnet.cc to netmod.cc
  * added TFTP handling in eth_slirp.cc similar to DHCP
2012-08-16 11:59:44 +00:00
Volker Ruppert
6809e9b72e - compilation fixes 2012-08-15 21:29:32 +00:00
Volker Ruppert
d6b3875eec - remove cdrom runtime parameter handlers on exit (for wx "2nd run" support) 2012-08-15 08:30:22 +00:00
Volker Ruppert
4538078abb - several fixes for "2nd run" support in wx (still incomplete)
- uninstall parameter handlers (floppy, keyboard)
  - unload plugin that cannot be removed automatically
- wx: removed "show keyboard" demo and some other cleanups
- TODO: remove wx debugger and make wx work with the enhanced gui debugger
2012-08-14 19:33:24 +00:00
Volker Ruppert
e90c04a65f - fixed typo 2012-08-08 15:38:33 +00:00
Volker Ruppert
2d0d73b5e3 - fixed MSVC compilation error
- updated default VS2008Ex workspace file (TODO: update plugin version)
2012-08-06 18:32:54 +00:00
Volker Ruppert
90168f5dcd - moved the lowlevel cdrom and disk image stuff to the new subdirectory iodev/hdimage
- TODO: update MSVC workspace files
2012-08-05 18:13:38 +00:00
Volker Ruppert
7bbc26c70f - redolog: skip bitmap update if extent_index is unchanged after lseek()
- more usage of helper functions bx_read_image() / bx_write_image()
- CHANGES update
2012-08-05 14:42:37 +00:00
Volker Ruppert
7c6f287fc7 - added VirtualPC image support, new disk image mode is called 'vpc'
- ported Qemu block driver (written by Alex Beregszaszi and Kevin Wolf)
  - added helper functions bx_read_image() and bx_write_image()
- TODO: use helper function for the other disk image modes
2012-08-05 09:33:33 +00:00
Volker Ruppert
ab0300f6b2 - some work on the 'sparse' disk image mode
- fixed broken read support caused by wrong #if
  - when opening disk some info is printed to log file
  - coding style changes
2012-07-24 19:27:22 +00:00
Volker Ruppert
8d30a38f7e - undoable: added support for checking the modification time of the base disk
- store r/o disk timestamp in FAT format in reserved field of redolog header
  - use the VVFAT function fat_datetime() to convert the mtime value
  - update redolog header if timestamp is undefined (first usage)
  - Bochs now panics if the r/o disk has been modified after the first usage with
    the undoable disk image mode to avoid journal file corruption.
- undoable: fixed r/o disk size check
2012-07-21 12:00:46 +00:00
Volker Ruppert
85a914c9e9 - implemented "fast-dma" support for 16 bit and in the SB16
- TODO: fix BX_DBG_DMA_REPORT
2012-07-14 14:20:36 +00:00
Volker Ruppert
53438e92c6 - fixes based on Debian patches by Guillem Jover
- set SHELL variable with configure script
  - add '--tag CXX' argument to libtool calls
2012-07-14 07:01:43 +00:00
Volker Ruppert
c6a9f8eb0d - added the capability to transfer more then one byte per ISA DMA cycle.
- use this feature for floppy read and write operations. This does not mean that
  the floppy now works faster than realtime, but it reduces the number of DMA
  calls from the CPU.
- removed outdated file: patch.fast-dma-cbothamy
- TODO: implement this feature in the SB16 (8 and 16 bit)
2012-07-12 21:20:46 +00:00
Volker Ruppert
82c65076cc - renamed PCI Pseudo NIC bochsrc option to "pcipnic" (temporary hack should
be removed after next Bochs release)
- documentation updates
2012-07-11 21:03:59 +00:00
Volker Ruppert
707f9b816c - PCI-only now can be automatically assigned to a PCI slot if not specified
in the PCI slot configuration. Combined PCI/ISA devices (cirrus, vga, ne2k)
  still must be assigned to a PCI slot to let it work as a PCI device.
2012-07-09 17:23:07 +00:00
Volker Ruppert
5994d0e100 - added 'gameport' and 'iodebug' to the default set of plugins (if present)
- use the "auto-unload" feature for 'serial' and 'parallel' plugins, too
- TODO: treat unknown bochsrc directive as plugin name and try to load it
2012-07-08 07:01:25 +00:00
Volker Ruppert
db633275b0 - several improvements to the optional plugin control
- SIM->opt_plugin_ctrl() now can be used to verify the optional plugin
    configuration when using the plugin name "*". The 'load' value 1 makes
    sure that all plugins with the value 1 are loaded. The 'load' value 0
    unloads all plugin with the value 0 (marked for removal).
  - add the default set of plugins to the 'plugin_ctrl' list and load all these
    pre-defined optional plugins before parsing the configuration.
  - special wx case: verify plugin configuration before showing the plugin
    control dialog and before initialising hardware.
  - device plugins that have been loaded, but not configured now set their
    plugin control value to 0. Added the plugin unload check before signalling reset.
2012-07-06 17:19:32 +00:00
Stanislav Shwartsman
77bbea504c merged compilation patch by Sebastian, update closed bugs in CHANGES 2012-06-24 17:42:24 +00:00
Volker Ruppert
a9f27d029c - implemented absolute x/y mouse position mode in the X11 gui
- minor fixes in the USB tablet HID report descriptor
2012-06-24 07:43:36 +00:00
Volker Ruppert
9189105a0b - prepared support for sending absolute x/y values from the gui to the mouse emulation
- new gui method set_mouse_mode_absxy() should switch the gui to absolute
    x/y mode
  - new DEV_mouse_motion() argument 'absxy' indicates whether or not the gui
    sends absolute x/y values
  - USB tablet code prepared to use the new feature
  - TODO: implement this feature for each gui (sdl, win32, wx, x, ...)
2012-06-21 17:33:37 +00:00
Volker Ruppert
40f33ff8c2 - don't clear pending interrupt bits when setting the new status 2012-06-21 17:06:57 +00:00
Volker Ruppert
05fe85659a - fixed and improved IRQ handling (ported update_irq() function from Qemu) 2012-06-17 07:14:27 +00:00
Volker Ruppert
095fd7d18a - added SDL sound support (wave output only) 2012-06-09 10:12:05 +00:00
Volker Ruppert
3a4c3e9d54 - added method to return the type of the lowlevel sound module and use it to
check if a sleep / delay call is rquired in the beep generator
- preparing SDL sound support
2012-06-08 20:49:39 +00:00
Volker Ruppert
262b994f41 - added missing files / directories to target 'dist-clean'
- iodev makefile: updated dependencies
2012-05-27 20:11:37 +00:00
Volker Ruppert
5c0bd188ed - check the beep output interface and report the one to be used in the reset()
method. This makes sure that the lowlevel sound interface is reported correctly.
2012-05-24 18:06:40 +00:00
Stanislav Shwartsman
88cc825040 allow 1-byte and 2-byte writes to I/O APIC index register 2012-05-22 14:48:48 +00:00
Volker Ruppert
f4134d5d29 - implemented pc speaker beep in the lowlevel sound module for win32
- improved square wave generator code
2012-05-21 18:45:09 +00:00