This code is based on the initial patch by Ben Lunt with some modifications:
using enum parameter, extra parser handler and cdrom handling not necessary,
TODO: hdimage and bximage code, harddrv and USB disk emulation, BIOS.
- Added new PCI chipset choice for the i440BX AGPset. Some basic work is done,
but AGP support is not present yet.
- Added new class for the "virtual" PCI-to-PCI bridge that should manage the
secondary bus (AGP). Since this device must appear with device number #1 at
the primary bus, it was required to change the PCI device numbers for the
i440BX case. Moved the PIIX4 module to device number #7. The presence of the
PCI base address regions now depends on the header type as expected.
- Since the Bochs BIOS cannot handle the modified PCI device layout, all tests
continued with an external BIOS designed for this chipset (GA-6BA_F1.bin).
This BIOS requires additional changes in some devices.
- ACPI: Return value 0 for some status registers and the GPI registers.
- CMOS: Since the PIIX4 supports a 256 byte CMOS RAM, prepared support for it
and enable it in case a 256 byte CMOS image is used.
- PCI: The device numbers for 4 slots starting at #8. The 5th slot could be
used for AGP when available.
take RAW_BYTES string out of bx_param_string_c into new param type bx_param_bytestring_c (better name, anybody?)
this is intermediate step, later it would be better to merge bx_param_string into generic template bx_param<type>
but bx_param_bytestring_cis not matching that concept (or probably will continue to inherit from bx_param<string>)
use new method do dump param tree during save/restore, GUI and text debugger and other places
significantly reduce code duplication over multiple modules
the method dumps param to the FILE
use new method do dump param tree during save/restore
also make more use of parse_param methods which initialize param from a string
- Modified win32 thread macros to use the handle instead of the id.
- Added new macro BX_THREAD_KILL to terminate threads.
Voodoo thread changes:
- Let the cmdfifo_thread sleep while the CMDFIFO is disabled.
- Kill the cmdfifo_thread in destructor and removed old thread control code.
- Added capability to save/restore float type values in paramtree / siminterface.
- Added Voodoo2 triangle generator data to save/restore list.
- Implemented bitBLT function "SGRAM fill".
- Minor other changes and cleanups.
- TODO: remaining bitBLT functions, thread handling improvements.
host when the mouse is captured and in fullscreen mode. This is useful if the
guest is also a Windows version. These changes are based on the rejected SF
patch "disablesystemhotkeys". But instead of disabling the hotkeys completely,
the events are sent to the Bochs keyboard.
- Changed the name of the entry point of the gui plugin code to
lib{gui_name}_gui_plugin_init(). It is used when loading plugin with the new
type. Added gui init code for the non-plugin version in plugin.cc.
- Some related changes for the "wx" case.
- The function load_and_init_display_lib() now only returns 1 on success.
- Minor other changes.
Prepared "biosdetect" option in the harddrv code.
TODO #1: Add support for a comma-separated list of BIOS options.
TODO #2: Implement support for at least "biosdetect=none" in the Bochs BIOS.
- Only keep the comments for the specific gui methods in nogui.cc and add
references to this file in all other gui sources.
- Changed the order of methods and added some useful comments in gui.cc / gui.h.
- Minor other cleanups
- Added gui console support to the rfb and vncsrv guis.
- Started preparing the legacy SDL gui for console support.
- TODO: The sdl and sdl2 guis need a special keyboard handling for shifted keys.
- Moved helper function reverse_bitorder to the common gui code.
- In console_refresh() call flush() after text_update().
- Started preparing rfb, sdl, sdl2 and vncsrv gui for using the console.
- Some other small cleanups.
- vncserv.cc: Fixed sdl font issue.
- Don't check for mouse toggle event if console is active.
- Added support for blinking cursor.
- Added stubs in the gui code to reduce BX_USE_TEXTCONIG usage in x.cc.
code. Now the runtime configuration runs in the Bochs window instead of
console / xterm. The simulation screen is restored when the
simulation continues. This feature can be implemented for all guis
without gui dialog box support (e.g. sdl2/sdl2 on non-win32 platforms, rfb).