- fixed size entries in bitmap file header for 8 bpp
- bx_param_filename_c now uses the file extension from the initial value as
the default (if present)
- SIM->ask_filename() now uses the correct parameter type
- win32paramdlg AskFilename(): added filter for BMP files
grabbed from SDL 1.2)
- TODO: implement this feature in other display libraries and add a key repeat generator in the
keyboard code that uses the typematic values from the guest.
Selecting CPU MODEL from .bochsrc automatically chooses real HW CPUID and also configures Bochs emulator to emulate this specific CPU including all its features only.
Supported CPUs to choose from:
core2_extreme_x9770
corei7_sandy_bridge_2600K
p4_prescott_celeron_336
parameters (path + status) have been set. TODO: implement this feature for the floppy, too.
- call update_drive_status_buttons() from update_runtime_options() to reduce the number of calls.
Now call update_runtime_options() from the gui floppy / cdrom handlers after closing dialog.
The patch was posted in mailing list at Thu 6/16/2011.
Desription for CHANGES:
- Memory
- Added new configure option which enables RAM file backing for large guest
memory with a smaller amount host memory, without causing a panic when
host memory is exhausted (patch by Gary Cameron). To enable configure with
--enable-large-ramfile option.
* moved runtime handlers for cdrom from config.cc to the device object
* cd media status variable is now always of type bx_bool
* changed obsolete gui names like "cdromD" to "cdrom1"
* TODO: implement new runtime config mechanism similar to USB
each other. Devices can register a handler to update it's state after runtime
configuration. The new method update_runtime_options() executes all registered
device handlers before the simulation continues.
- USB host controllers now using the new mechanism to handle the runtime device
change (replaces the previous timer-based implementation). TODO: floppy and
cdrom could use this feature, too)
- improved USB device change messages
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
* 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
- siminterface: added helper method hdimage_get_mode()
- moved hdimage related stuff from harddrv.cc to the hdimage code
- changed hdimage related names
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
the default Bochs method using the CTRL key and the middle mouse button there
are now the choices CTRL+F10 (like DOSBox) and CTRL+ALT (like QEMU).
* currently implemented in the X11 and SDL guis only
* TODO: porting to wxWidgets and Win32, documentation updates
'sdl'. Now both display libraries can be compiled together and used with the
'show ips' feature. TODO: win32-specific 'show ips' timers for 'rfb' and 'wx'
to access non-static devices from static parameter handlers.
- removed USB hub register mechanism and use the new device pointer parameter
methods instead
* removed old win32 runtime config dialog since the property sheet isn't
compatible with the win32 ParamDialog
* reorganized runtime parameter lists (usb and cdrom setup in device init)
* renamed win32 StartMenuDialog() to MainMenuDialog() and some related name
changes
* added runtime support to the MainMenuDialog
- win32 start/runtime menu: set keyboard focus to the start/continue button
- win32paramdlg: SetParamList() now checks for list size changes to avoid crash
and value must be != "none" to enable dependents)
- set dependent list for floppy path (removed enable handler)
- win32paramdlg: added support for string parameter dependent lists
* floppy device type selection wasn't present in the old version
* "Create Image" button for creating floppy image with selected name and type
* after selecting image file with "Browse", the media type is set to "auto"
and the status is "inserted".
filename is read from and written to this buffer instead of using the get/set
methods of the given parameter (now used by win32ParamDialog() and similar
dialogs using the "Browse" button)
the existing runtime dialog ('textconfig' is still available)
- removed notify callback redirection from sdl.cc and win32.cc
- removed win32 specific code from textconfig.cc
- fixed parent window for folder selection dialog
- minor size changes in start menu dialog
non-empty path
- floppy devtype parameter now uses CMOS values and drive type names
- related changes in the floppy code
- simplified floppy parameter handlers
- some floppy parameter label changes
- added enable handler for the floppy path parameter
- update dependent params after setting the dependent bitmap of enum parameter
- win32paramdlg: fixed setting parameters at runtime
- fixed win32 ParamDialog return value for close/cancel
- runtime dialog for the first cdrom drive on win32 is now created as a win32
ParamDialog (removed old cdrom1 dialog stuff)
- minor fixes in x11 string dialog for the cdrom path & status case
start menu
* textconfig: added menu item for the win32 start menu dialog and removed
direct calls to win32ParamDialog()
* added support for Bochs config files in AskFilename()
* moved log options handling to separate functions used both by the start menu
log options dialog and the related property sheet page of the runtime dialog
dependency list processing, enum parameter support)
- bx_param_enum_c: added argument for the default value of the dependent bitmaps
to set_dependent_list()
- bx_param_num_c: dependent_list is now a protected member of the object to make
it accessible for the enum specific dependency code
- config.cc: ata parameter dependency rewrite to avoid multiple dependencies
- config.cc: added missing dependency for SB16 parameter list
Bit64u value with the "enable bitmap" (e. g. bit #0 is the enable value for
the first item of the dependent list). TODO: use this feature in win32 and wx
dialogs
- ata drive type and loader hack parameters now using the enum dependent list
- avoid multiple dependencies in the SB16 config menu
- added file extension support for bx_param_filname_c
- fixed showing of tab control child lists
- added special disk menu for the win32 ParamDialog
- on win32 use the ParamDialog instead of textconfig submenus (TODO: gui dialog
replacement for the start menus
* added dialog item list register mechanism
* create controls for child list inside of group boxes or tab controls
* TODO: re-implement support for multiple dependencies
- added support for the bx_param_num_c flag USE_SPIN_CONTROL
- fixed win32 dialog item ID list
- implemented dependency handling for boolean items
- now show all items if not at runtime
- moved init code for checkbox and combobox controls to their create functions
- TODO: handle child lists, dependency handling for enum items, several options
of the parameter types
* ported the basic functionality of the wx ParamDialog to win32
* moved AskFilename() function to the new file
* win32ParamDialog() now used for the external USB hub (if present)
* TODO: with some extensions it might be possible to use it for all runtime
dialogs and to implement a gui replacement for the textconfig start menu
* USB runtime options moved to a new dynamic menu
* USB host controllers create own submenus in init()
* USB runtime parameter handlers simplified
* TODO: related changes in the wx and win32dialog code
* 'usb_uhci' bochsrc option replaces 'usb1'
* minor changes in the USB code
* removed old VBE i/o port registration (they were incompatible with USB)
* updated FSF address
- fixed saving user plugin options
- Added configure option to compile in GUI frontend for Bochs internal
debugger, to enable configure with --enable-debugger-gui option. The GUI
debugger frontend is enabled by default with Bochs internal debugger.
If needed to compile without GUI debugger (in case of compilation issues) use --disable-debugger-gui
* initialize plugin system before parsing bochsrc and command line
* pass previous value to bx_param_string_c handler
* load / unload plugin in bx_param_string_handler()
* handle user plugins after optional ones in plugin device init, reset and
save/restore functions
* added new siminterface method unregister_user_option()
* removed first version of config option handling for user plugins
* added new parameter subtree for user-defined options
* added new bx_list_c method remove()
* removed unused bx_devmodel_c method init_mem()
* set initial value for MAC address after setting RAW_BYTES option (no space
for trailing null byte when using strncpy)
* length of initial string should not be larger than maxsize
* reset() method now uses set(initial_val)
- the label of the parameter now the default for the string dialog title
- now using simple string dialog for editing the filename of the text snapshot
There is a trick in MSVC is to turn on the -Gr compiler switch which tells MSVC to compile all functions using fastcall calling convention. This way you don't have to edit each function declaration. But certain functions must NOT be fastcall, and those are callbacks from Windows which are defined either as cdecl or stdcall. The entry point main() also has to remain cdecl.
Patch by Darek Mihocka
This code is untested and it should add support for these features:
* variable line offset
* cursor color, disable and blinking
* character blinking
* TODO: variable cursor size, line graphics, h/v pel panning, split screen
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
* partial fix for bug #1549873 (SF patch #1766536)
* added keyword "print" to the userbutton shortcut table
* FIXME #1: CTRL+PRINT and ALT+PRINT not working in Win98 guest
* FIXME #2: win32 hosts do not generate the "make" code for "Print Screen"
- removed obsolete structures and members from the USB code
- removed mouse type 'usb' (USB mouse and tablet override selected mouse type
when connected)
- user doc: mention vmware 4 disk image support