Commit Graph

1499 Commits

Author SHA1 Message Date
Volker Ruppert
97de484efb use enhanced gui debugger instead of classic wx debugger if BX_DEBUGGER_GUI == 1
The Windows version looks almost stable, but the GTK version fails in some cases.
That's why the classic wx debugger is still available if BX_DEBUGGER_GUI is set to 0.
- added function close_debug_dialog() to handle the simulation stop case in wx
- disable all the wx debugger related code if BX_DEBUGGER_GUI is set to 1
- added enhanced debugger specific init code similar to the code in sdl.cc
- include debugger related resources on Windows
- TODO: make the GTK / wxGTK case stable and remove the wx debugger
2013-02-12 21:08:35 +00:00
Stanislav Shwartsman
9c8c25b7ef warning fix 2013-02-12 16:36:49 +00:00
Volker Ruppert
7eda0feb6f fixed some compiler warnings 2013-02-12 13:31:40 +00:00
Volker Ruppert
3822dc7692 fixed critical GTK warning if only one cpu is present
fixed some compiler warnings
2013-02-12 11:15:05 +00:00
Volker Ruppert
f37d6e676f removed duplicate comment, updated / added copyright and added license
TODO: remove wx debugger and use enhanced gui debugger instead
2013-02-10 21:26:51 +00:00
Volker Ruppert
88e1033b90 the "show keyboard" dialog has been removed some time ago 2013-02-10 16:39:58 +00:00
Volker Ruppert
f314df2d1b use bx_dbg_exit() for a correct simulation shutdown if gui debugger is closed
use usleep() if available in the debug command wait loop
2013-02-10 13:37:25 +00:00
Volker Ruppert
e9302f4c13 don't execute hdimage save functions if the save/restore path is empty
reset save/restore path after completing save or restore process
2013-02-09 14:21:58 +00:00
Volker Ruppert
7d32178e72 full support for saving log options per device (from bochsrc and config interface)
simplified setting up log options per device after parsing bochsrc / command line
2013-02-04 18:51:07 +00:00
Volker Ruppert
48b345d06f save log options per device (from original bochsrc - runtime changes not handled yet)
code cleanup in bx_write_param_list() and other parts of the bochsrc save code
2013-02-03 18:28:25 +00:00
Volker Ruppert
2d552af7a2 fixed possibly wrong raw byte string after simply pressing the enter key 2013-02-02 16:52:54 +00:00
Volker Ruppert
0fbd1b3eff now using new bx_param_string_c method sprint() in enhanced debugger
skip special value "none" in display library options
2013-02-02 16:02:08 +00:00
Volker Ruppert
b6f9c738fd simplified code using new bx_param_string_c method sprint()
TODO: use sprint() in enhanced debugger
2013-02-02 08:49:55 +00:00
Volker Ruppert
17970857b8 added new bx_param_string_c methods isempty() and sprint()
- isempty() returns 1 if string length is 0 or string has special value "none"
- sprint() copies the formatted / converted string into a buffer
- use new methods in some parts of the code (TODO: win32 dialogs)
- check for the special value "none" to avoid failures
2013-02-01 19:13:58 +00:00
Volker Ruppert
8a15e3ae59 Removed disabled bochsrc parser code that checked the parameter enable flag.
Renamed symbol BOCHSRC_HIDDEN to CI_ONLY for parameters that appear in the CI,
but not in bochsrc. The parser no longer fails if this flag is set.
2013-01-30 16:43:58 +00:00
Volker Ruppert
f9dca3c76b some keyboard bochsrc option changes
- moved 'user_shortcut' option to the keyboard option
- added new bx_param_c option value BOCHSRC_HIDDEN for parameters that should
  only be available in the config interface. The new bochsrc option save and
  parser function skip parameters with this flag set. This is useful for
  parameters that will be set from the parser in a different way.
- save keyboard bochsrc line using the parameter list directly
- parse keyboard bochsrc options (except 'keymap') using the parameter list
- user shortcut: old-style syntax has already been removed
- increased minimum value for the keyboard's 'serial_delay'
2013-01-27 19:09:24 +00:00
Volker Ruppert
2daadfcd85 parse serial, parallel and sound bochsrc options using the parameter list
- fixed small bug in the ne2k parser code
- added warnings to the new parser code
2013-01-26 18:17:23 +00:00
Volker Ruppert
8e4e08cad7 changed USB cdrom media status parameter type to bx_param_enum_c
- moved media status names to the siminterface code
- textconfig: fixed possible segfault in runtime options prompt
2013-01-25 17:56:40 +00:00
Volker Ruppert
b5dd859da8 changed floppy media status parameter type to bx_param_enum_c 2013-01-23 17:56:57 +00:00
Volker Ruppert
c2b57c5a56 save the ata device options using the parameter tree
- removed parameter "present" and use the new drive type "none" instead
- re-implemented cdrom media status parameter as a bx_param_enum_c
- TODO: change floppy media status parameter type to be consistent
2013-01-22 18:26:49 +00:00
Volker Ruppert
34dbbe1c74 save the mouse, serial, parallel and ata resource options using the parameter tree 2013-01-19 22:37:15 +00:00
Volker Ruppert
a5e5ac69b0 save the network configuration lines using the parameter tree
- fixed bochsrc line after a "raw byte" string parameter
- changed parameter name "macaddr" to "mac" (same as bochsrc option parameter)
- skip disabled parameters when building the bochsrc line
- added "multiline" switch to select the output format (one or multiple lines)
- renamed siminterface method and use it in the network devices code
2013-01-19 12:25:53 +00:00
Stanislav Shwartsman
574b69c81e fixed MSDEV warnings 2012-11-27 15:40:45 +00:00
Volker Ruppert
f0a3679e34 moved function is_pci_device() to the siminterface class 2012-11-11 12:21:09 +00:00
Volker Ruppert
cc56245407 started implementing the i430FX chipset
- renamed config parameter "i440fx_support" to "enabled"
- new config parameter "chipset" added (current choices "i430FX" and "i440FX")
- don't load ACPI support if the i430FX chipset is selected
- select register values for the core PCI devices depending on the chipset
- USB UHCI must be connected to a PCI slot if the i430FX chipset is used
- rombios changes to make the i430FX chipset work
- TODO #1: implement limitation to 1 cpu and 128 MB RAM for the i430FX chipset
- TODO #2: verify register behaviour of both chipsets
2012-11-11 08:11:17 +00:00
Volker Ruppert
4d4dec0d62 simplified floppy dialog init code 2012-11-02 10:31:59 +00:00
Volker Ruppert
67714925c9 fixed some warnings / removed unused method 2012-11-02 08:23:09 +00:00
Volker Ruppert
24d9f5c194 documentation updates
- loading the 'voodoo' plugin with plugin_ctrl
- updated license sections in the manpages
- updated comments in siminterface.h
2012-10-28 15:53:06 +00:00
Volker Ruppert
9933ffa3d9 vga refresh framework changes
- renamed trigger_timer() methods to refresh_display()
- new argument 'redraw' added to force a refresh of the entire screen
  (used in snapshot mode)
- siminterface method refresh_vga() now checks if the Bochs gui init is complete
- use SIM->refresh_vga() in some more cases
2012-10-28 08:23:39 +00:00
Volker Ruppert
4eae421272 Graphics snapshot feature re-implemented for the new graphics API
- graphics_tile_info() split into a common and specific part
- store snapshot mode in structure bx_svga_tileinfo_t
- in snapshot mode, display adapters copy raw data to buffer
- rewrite of the trigger_timer() code to make it work in all cases
- added new class bx_nonvga_device_c to make forwarding refresh requests to the
  Voodoo adapter possible
2012-10-25 15:53:04 +00:00
Volker Ruppert
bdf28d89dd Graphics snapshot handling for standard VGA and compatible modes (old graphics
API) moved to the gui code. Splitted graphics_tile_update() in a common and a
specific part. The common part handles the snapshot case if active. As a side
effect, the snapshot feature now works for CGA modes, too. Fixed palette colors
in 8 bpp snapshots.
2012-10-15 19:43:06 +00:00
Volker Ruppert
1fd6745aea Started rewrite of the gui code to make the graphics snapshot independent from
the display adapter code. When ready, the common gui code should handle it
completely. The snapshot handler should set a flag 'snapshot_mode' and then it
should force a display update. The graphics update code should be redirected to
some code that 'draws' to a snapshot buffer. These first steps are done:

- store some guest display settings in the gui code (text / graphics switch,
  x / y resolution and bpp)
- split 8 bpp palette update code in a common and a specific part and store the
  palette values in the gui code
2012-10-14 18:29:44 +00:00
Volker Ruppert
1f7aa18003 implemented log action exclude checks in textconfig 2012-10-08 18:44:26 +00:00
Volker Ruppert
e2a1e8192d - moved the logic to exclude log level / log action combinations that don't
make sense to siminterface.h and use it in the win32 dialog and for
  bochsrc parsing
2012-10-05 21:36:49 +00:00
Volker Ruppert
d0a545c010 - moved log action definitions to siminterface.h
- wxdialog: use symbols and allow log action ACT_IGNORE for LOGLEV_ERROR
- wxdialog: removed obsolete pass event
- TODO: fix win32dialog stuff in a similar way
2012-10-05 16:04:40 +00:00
Volker Ruppert
961a88ab43 - started implementation of hdimage mode autodetection and use it to check the
type of the r/o disk for the undoable / volatile mode. The format check code
  is currently written for flat, sparse and growing images. The undoable and
  volatile mode now cause a panic if the r/o image mode is unsupported.
- TODO #1: rewrite the header checks for vmware3, vmware4 and vpc images to make
  them usable for autodetection.
- TODO #2: add support for other types of r/o disks in undoable/volatile mode.
- TODO #3: add an image mode 'auto' for the supported types (NOTE: unknown images
  can be treated as flat ones if their size is multiple of 512).
2012-10-03 16:17:37 +00:00
Volker Ruppert
b142dbcc2c - add new function hdimage_open_file() that returns file size and modification
time if requested (reduces code duplication)
- 'vpc' image mode: moved header check to a separate function that opens the
  file, checks header/footer and returns disk type (if requested)
- implemented restore function for 'vpc' mode images
- gui: updated yes/no dialog message after saving state
- save/restore documentation update (TODO: developer doc)
2012-09-27 18:38:30 +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
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
4e878a1ef9 - implemented "hideIPS" option in the win32 gui 2012-08-29 20:36:12 +00:00
Stanislav Shwartsman
1e752a1c34 fixed compilation error in rfb.cc (definition of TIMERPROC function) 2012-08-28 19:37:40 +00:00
Volker Ruppert
de3792b7f0 - rfb: the "show ips" feature now works on Windows host (separate thread
with a dummy message loop is required to make the Windows console timer work)
2012-08-28 18:59:56 +00:00
Volker Ruppert
24eb755c5a - rewrite of the "show ips" feature similar to other guis
- implemented "hideIPS" option
- minor other cleanups and updates
- TODO: make "show ips" feature work on Windows host
2012-08-28 17:16:10 +00:00
Volker Ruppert
8e070cecb4 - fixed size of version message string (Bochs RFB server now works with the
latest TightVNC client)
2012-08-27 21:01:42 +00:00
Volker Ruppert
9b1cc19afe - don't set 'client_connected' variable before client <-> server connection is
really established
- show countdown on console while waiting for client
- minor other fixes
2012-08-27 17:02:05 +00:00
Volker Ruppert
c2f9150497 - split "show ips" handler from bx_signal_handler to simplify usage without alarm() 2012-08-26 12:32:10 +00:00
Volker Ruppert
ba80ab8395 - next attempt to fix random freezes in wxGTK
- re-implemented siminterface method is_wx_selected() (the old one had been
    renamed to has_debug_gui() which is something different now)
  - don't use alarm() if the wx gui is selected and instead use the wxTimer based
    code that already exists for wxMSW
2012-08-25 13:20:55 +00:00
Volker Ruppert
69fd66dbaf - fixed thread deadlock after pressing the power button (SF bug #625877):
Added a new event BX_ASYNC_EVT_QUIT_SIM that is posted from the simulation thread
  to the gui thread and the "Bochs stopped" message box is shown there.
- TODO: Fix random freezes in wxGTK that seem to be caused by the "show ips"
  feature. A async event like the one above could possibly fix this problem.
2012-08-24 21:49:02 +00:00
Volker Ruppert
74f083e641 - attempt to fix random freezes when using the wxGTK port (using the gui option
"hideIPS" could be used if there is still trouble)
- siminterface / wx: updated / added comments
- renamed wxWidgets README (some more updates may be required)
- TODO: fix deadlock after pressing the power button (wxGTK only)
2012-08-22 13:11:08 +00:00
Volker Ruppert
03440c201e - minor cleanups in the wx code 2012-08-15 12:47:08 +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
36f5fb309e - use old-style X detection code if pkg-config is not present 2012-08-07 18:28:00 +00:00
Volker Ruppert
3e34c136de - second try to fix duplicate resource id 2012-08-06 21:00:42 +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
Stanislav Shwartsman
553d1bfb37 fixed SIGSEGV when cannot open file for text snapshot 2012-07-28 08:17:08 +00:00
Volker Ruppert
65b3567240 - enable mouse cursor on exit (fixes possible hang if captured) 2012-07-15 15:17:10 +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
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
Volker Ruppert
72d3b294d2 - added support for the gui debugger with sdl on Windows (required separate thread)
- enh_dbg: fixed defined-but-not-used warnings
- siminterface: renamed 'wx_debug_gui' to 'bx_debug_gui' and updated comments
- TODO: remove the wx debugger and use the enhanced gui debugger instead
2012-07-01 14:37:13 +00:00
Volker Ruppert
2c94cbb688 - link only needed libs (modified Debian patch by Guillem Jover) 2012-06-30 12:43:55 +00:00
Volker Ruppert
523ea27b4f - make 'enter' and 'tab' keys work again in wxMSW (wxPanel's default window
style wxTAB_TRAVERSAL is only okay if it is a member of a dialog box)
2012-06-29 16:30:18 +00:00
Volker Ruppert
1cd90a06c6 - implemented absolute x/y mouse position mode in the wx gui
- fixed cursor show / hide functions in wxMSW
2012-06-26 19:48:28 +00:00
Volker Ruppert
216ee2aa09 - implemented absolute x/y mouse position mode in the win32 gui 2012-06-25 20:08:52 +00:00
Volker Ruppert
b0ece1d1ea - implemented absolute x/y mouse position mode in the rfb gui
- sdl / x11: fixed calculation of absolute x/y values
- x11: update "warp home" position after resize
2012-06-25 17:26:36 +00:00
Stanislav Shwartsman
4c38969ef0 fixed uninitialized variables 2012-06-24 17:52:45 +00:00
Volker Ruppert
1de1f06952 - implemented absolute x/y mouse position mode in the SDL gui
- converted tabs to spaces and small cleanup
2012-06-24 10:38:46 +00:00
Volker Ruppert
aba8372a78 - function InitDebugDialog() is optimized out by GCC when compiling with plugins
enabled (not called internally). Added new gui method init_debug_dialog() and
  call it from there.
- fixed typo in enh_dbg.cc
2012-06-24 09:14:43 +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
Stanislav Shwartsman
c6ea1482b0 added ifdef 2012-06-24 07:16:14 +00:00
Stanislav Shwartsman
60ceffc5d1 fixed SF bug [3537473] GUI debugger only shows 32-bit CRx registers in x86-64 mode 2012-06-24 07:06:31 +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
Stanislav Shwartsman
7a02dd759d added PANIC in x.cc in case it can't open display 2012-06-04 19:03:05 +00:00
Stanislav Shwartsman
03162d86f5 LAPIC: fixed timer interrupts after reloading of LAPIC Timer Divide Configuration register 2012-05-12 11:52:29 +00:00
Volker Ruppert
a8f899b0a9 - attempt to fix unsafe sprintf() calls in the show_ips code (sdl, wx, x)
- implemented "hideIPS" option in sdl and wx
2012-05-11 16:17:59 +00:00
Stanislav Shwartsman
07a50eac31 closing SF bug #3518753: update dump after manual chages to memory contents 2012-04-17 14:32:57 +00:00
Stanislav Shwartsman
e12494bf7b fixed segfault when setting ESP/EIP in GUI debugger 2012-04-16 19:18:23 +00:00
Stanislav Shwartsman
077b691296 correctly fix SF #3516029 : bug stepping not working in debugger GUI in case of smp vm
reverted buggy SF patch #3502052: Added refresh of debugger gui when stepping

re-generated bx_debugger lex/yacc files
2012-04-10 12:44:06 +00:00
Volker Ruppert
70a38a8a3d - apply 'log actions by device' to the existing modules before editing them
in the config interface. Applied settings are marked as 'done' with the value
  -1 to avoid unwanted modification. NOTE: Not all Bochs modules exist when
  running the start menu / dialog.
2012-04-06 13:15:27 +00:00
Volker Ruppert
e82fa719fb - at runtime the log options dialog starts up with "log options per device"
enabled
2012-04-02 21:30:37 +00:00
Volker Ruppert
5a983a3ea0 - disable the "close" button for the Bochs main window - only the "power" button
should be used to terminate Bochs
2012-04-01 16:50:42 +00:00
Volker Ruppert
601bb7e084 - only quit Bochs simulation after pressing the "Quit" button in the runtime
config dialog. Now the close button and the ESC key let the simulation
  continue in the runtime case (fixes SF bug #3510403).
2012-03-29 17:05:44 +00:00
Stanislav Shwartsman
1dd0500259 Merge SF patch 3505209 and update CHANGES 2012-03-15 19:34:13 +00:00
Stanislav Shwartsman
33fe397d22 Merge SF patch [3502052] Added refresh of debugger gui when stepping 2012-03-11 20:17:12 +00:00
Volker Ruppert
f6c2f45299 - fixed compilation with MSVC
- TODO #1: add instructions how to compile Bochs with SDL support on VS2008Ex to
           the user doc
- TODO #2: add MSVC nmake support
2012-03-04 21:37:49 +00:00
Volker Ruppert
9d42a3eca4 - removed x/y tile size parameters from specific_init() since the tile dimensions
are now members of the bx_gui_c class
2012-03-03 12:41:24 +00:00
Stanislav Shwartsman
572bd793fc fixed compilation warning 2012-03-03 08:24:30 +00:00
Volker Ruppert
796754e942 - wait until UI init is ready before starting simulation (fixes tool bar and
status bar if running multiple instances of Bochs)
2012-03-03 07:44:53 +00:00
Volker Ruppert
b45dbc15fc - fixed SDL fullscreen mode on Windows (part of SF bug report #2988910)
- fixed a warning on non-WIN32 platforms
2012-02-28 18:38:32 +00:00
Volker Ruppert
1425e2370c - fixes related to the wx 2nd run support (not yet complete)
- siminterface: don't create plugin parameter if it already exists
  - wx: make sure all plugins are loaded when creating plugin control dialog
  - USB HC's: fixed removal of parameters when unloading plugin
2012-02-23 21:26:13 +00:00
Volker Ruppert
d74762b984 - wx: use new log function name for the table of log modules
- added some more log function names
2012-02-23 17:16:35 +00:00
Volker Ruppert
9e084b8898 - use new log function name for the listbox contents and adjust listbox size 2012-02-21 19:50:56 +00:00
Volker Ruppert
b45077ac82 - moved optional plugin control item to the top of the list, since it's now
important for using network, sound and usb devices.
2012-02-21 16:15:39 +00:00
Volker Ruppert
e29c25d389 - implemented optional plugin control dialog 2012-02-21 12:00:54 +00:00
Volker Ruppert
d3a9768f14 - missing config dialog for CPUID options added
- prepared wx plugin control dialog
2012-02-18 16:25:10 +00:00
Volker Ruppert
6079d4b2c0 - implemented optional plugin control dialog (TODO: do the same for wx) 2012-02-17 17:23:57 +00:00
Volker Ruppert
e30e6a9808 - moved optional plugin load / unload code to the siminterface
- implemented optional plugin control in textconfig
- TODO: implement this feature in the win32 and wx gui configuration
2012-02-16 18:06:03 +00:00
Volker Ruppert
2f5be164d2 - reverted part of rev. 11031: for dependent lists the check 'param->get_parent() == this'
also works and no deplist trick is required
- bx_param_c destructor now deletes the dependent list if it exists (memory leak)
- bx_list_c::clear() only deletes the parameter if the list is it's parent
- added new method cleanup_save_restore() to free memory on simulator shutdown
2012-02-14 18:13:54 +00:00
Volker Ruppert
8bb206ccdf - added special flag for dependent lists
- bx_list_c: don't accept duplicate param names in list (except dependent lists
  and special menus)
- added BX_PANIC for malloc() failure
- harddrv: fixed wrong variable found with bx_list_c changes
2012-02-13 20:58:26 +00:00
Volker Ruppert
de94b08a1a - class bx_list_c now contains a chained list of parameters. Removed the now
obsolete maxsize parameter from all lists.
2012-02-12 18:43:20 +00:00
Stanislav Shwartsman
421170b2b9 applied SF patch 2012-02-10 15:15:31 +00:00
Volker Ruppert
a34cf1bcd5 - changes in the text update interface code
- changed argument for the text mode info structure to a pointer
  - added attribute controller palette to bx_vga_tminfo_t and removed the
    previous implementation
  - carbon.cc: attempt to fix the text mode colors (untested)
- x.cc: fixed warnings
2012-01-22 12:22:03 +00:00
Volker Ruppert
63ab13fe09 - store max. x / y resolution in the gui object and use it in win32.cc. Now it
no longer needs to incluse vga.h
2012-01-22 09:08:59 +00:00
Stanislav Shwartsman
795a21ec6d change type of the bx_list_c::choice var to Bit32u to make in compatible with ask_uint function 2012-01-21 20:54:55 +00:00
Stanislav Shwartsman
2e32bf2d84 for bx_list param - convert 'choise' variable to regular integer
also for textconfig - fix operation under cygwin
under cygwin it is not guaranteed that any printf is printed on the screen under you flush the FILE stream.
2012-01-21 20:36:32 +00:00
Volker Ruppert
500ad37191 - added arguments for x/y resolution to the gui init() and store x/y tilesize
in the gui object. Now the gui doesn't need to include vga.h.
- TODO #1: win32.cc also shouldn't include vga.h
- TODO #2: replace BX_MAX_XRES / BX_MAX_YRES by variables that can be set
  depending on the configuration
2012-01-21 12:15:10 +00:00
Volker Ruppert
3ec77e9372 - store config parameter values in local variables to avoid searching for
parameters at simulation time
2012-01-20 15:56:17 +00:00
Volker Ruppert
a700d33e9f - call functions for config and bochsrc parameter handling used by plugins
from the siminterface (required by MSVC and maybe others)
2012-01-16 17:11:16 +00:00
Alexander Krisak
4a146456c6 fixed compilation in cygwin
fixed rfb under windows
2012-01-16 15:39:43 +00:00
Stanislav Shwartsman
039326d0c9 always return const pointer from functions - these strings are not planned to be modified 2012-01-11 19:57:38 +00:00
Volker Ruppert
c98decb552 - fixed copy-and-paste bug in the status bar LED init code 2012-01-05 22:31:19 +00:00
Stanislav Shwartsman
0e17f8f195 implemented AMD APIC extensions for SVM support 2012-01-04 16:06:37 +00:00
Volker Ruppert
538ca63af4 - moved common status LED handling code to gui.cc and implemented new
gui-specific method statusbar_setitem_specific()
2012-01-03 20:11:12 +00:00
Volker Ruppert
223fe998b3 - code for setting up log actions by device rewritten
- unknown module names now cause a panic
- added log function names to some more devices
- TODO: find a way to configure log actions by device in the config interface
  start menu (most of the devices do not exist at this point)
2011-12-30 11:13:37 +00:00
Volker Ruppert
b130bf671b - initial "log action by device" implementation added (TODO: check for
invalid module names, save log actions to bochsrc)
- added new member 'name' to the logfunctions class for the case the prefix
  is too short. Added to some devices with longer names.
2011-12-29 19:51:54 +00:00
Volker Ruppert
32f53b5151 - performance fix for the new status LED code: only call the gui specific code
to update the status text if there is really a change
- changed the counter resolution to 5 (auto-off still happens after 0.5 seconds)
- the element value -1 is only used to reset the LEDs, so we have to ignore the
  status flags
2011-12-29 16:28:58 +00:00
Volker Ruppert
0b2bec6752 - implemented "auto-off" timer for the status bar LEDs that replaces the
existing "iolight timer" code in the hard drive code. If an LED is registered
  with the "auto-off" flag, the device only needs to turn on the LED to indicate
  data transfer. The LED timer in the gui code turns it off after 0.5 seconds if
  it is not actived by another transfer. Added this feature to all network
  devices.
- TODO #1: implement this feature in the USB host controllers
- TODO #2: the unused timer in the hard drive code could be used for the
  emulation of seek functions
2011-12-28 11:51:42 +00:00
Volker Ruppert
6df6f4ff76 - renamed 'user options' to 'addon options'. When a load option for optional
plugins is implemented in bochsrc, these functions can be used to install
  additional options from the devices code. Then the whole init / parse / save
  code for this device can be moved from config.cc to the device plugin.
2011-12-23 10:03:10 +00:00
Stanislav Shwartsman
117333ca8f fixed SF bug: Crash on WIN2K - ID: 3454214 2011-12-08 06:46:52 +00:00
Volker Ruppert
34644308f7 - added 'nokeyrepeat' option for the win32 gui 2011-12-04 21:15:35 +00:00
Volker Ruppert
eafa122339 - added 'nokeyrepeat' option for the SDL gui 2011-12-04 09:04:16 +00:00
Stanislav Shwartsman
21b96a5c8d fixed compilation err in win64 2011-10-20 19:10:06 +00:00
Volker Ruppert
e4b92b55bb - implemented tooltip feature in win32ParamDialog using the parameter description 2011-10-20 16:09:28 +00:00
Stanislav Shwartsman
2a31661d83 change beep messages to BX_DEBUG - it is flooding log too much when playing old MSDOS games 2011-10-09 08:20:32 +00:00
Volker Ruppert
822eed13fb - fixes related to the removal of the BX_PASS log level 2011-10-01 12:48:48 +00:00
Stanislav Shwartsman
f66830d77f fixed assertion failure in win32dialog when trying to set log options for a device 2011-10-01 07:24:18 +00:00
Stanislav Shwartsman
f425400af5 fixed warnings from compilation with mingw-gcc 4.6.1 2011-09-30 20:38:18 +00:00
Stanislav Shwartsman
cb261c45d3 removed non-working code for z-unodable and z-volatile images.
our priority is to implement support for std disk image formats (VMDK, VDI) instead.
2011-09-11 16:27:56 +00:00
Volker Ruppert
5e9b35994c - removed Windows font support for the text mode (was disabled by default)
- TODO: implement optional stretching of the Bochs display to double size if
  the desktop is big enough (e.g. HD display)
2011-08-22 10:25:29 +00:00
Stanislav Shwartsman
002e7a3818 MSR_TSC_AUX is not available without RDTSCP 2011-08-21 19:09:35 +00:00
Volker Ruppert
4b4f691a80 - don't include plugin.h in bochs.h to reduce dependencies 2011-08-17 22:41:03 +00:00
Stanislav Shwartsman
9de4164d1f remove double include 2011-08-16 20:07:08 +00:00
Stanislav Shwartsman
a03e0266fb added yonah CPUID to cpudb. remove bxversion.h from dep files 2011-08-16 19:58:56 +00:00
Stanislav Shwartsman
0bc93fdc59 added pentium mmx to cpudb. for now only can be enabled when cpu-level=5 2011-08-16 19:04:36 +00:00
Volker Ruppert
7bbfee58a2 - usually the realtime synchronization keeps the PIT-based system clock in sync
with the host time. After using a runtime config dialog or save and restore
  simulation, this behaviour makes the PIT clock and the VGA update timer
  running way too fast until it's back in sync. Now the elapsed time is stored
  in the variable 'real_time_delay' and it is used to let the PIT clock run at
  realtime speed, even if it is out of sync.
2011-08-15 10:37:41 +00:00
Stanislav Shwartsman
fb8d302f72 changed SHOW-IPS format for all GUIs 2011-08-14 20:21:07 +00:00
Volker Ruppert
7600c1bc60 - fixed dialog size if a 2-line label is used 2011-08-14 17:07:47 +00:00
Stanislav Shwartsman
43e2a59e3e configure show-ips ON by default for all configurations 2011-08-13 19:44:24 +00:00
Volker Ruppert
f9918d6317 - cleanups in X11 dialog code (control text and selection rectangle handling) 2011-08-12 21:50:32 +00:00
Volker Ruppert
c627270a86 - rewrite of the X11 dialog box code (implemented new class x11_dialog_c that handles the event loop) 2011-08-12 15:02:39 +00:00
Stanislav Shwartsman
9d2e601173 correctly handle SSE presence in GUI debugger 2011-08-11 18:43:13 +00:00
Stanislav Shwartsman
27df10acb6 fixed typo-like bug 2011-08-11 18:16:56 +00:00
Volker Ruppert
9416eaccc2 - added error handling for the case malloc() fails 2011-08-10 07:12:32 +00:00
Volker Ruppert
4743f2a503 - started rewrite of the X11 dialog implementation
- added a class for control elements with a proper init (fixes warnings)
  - TODO: add a class for the dialog itself
2011-08-09 14:28:25 +00:00
Volker Ruppert
9669929cbb - several fixes related to the graphics snapshot feature
- 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
2011-08-09 09:56:00 +00:00
Volker Ruppert
bce6a17b98 - VBE specific case for graphics snapshot can be used for >= 8 bpp modes only
- palette data for snapshot is now dword aligned to simplify code
- prepared snapshot code to support 4 bpp EGA/VGA memory layout (not yet complete)
2011-08-06 13:08:31 +00:00
Volker Ruppert
c7f63fca93 - added palette for 8 bpp support
(TODO: support for standard VGA 4 bit mode - saving as 8 bpp BMP)
2011-08-05 15:47:33 +00:00
Volker Ruppert
b889e91898 - implemented graphics snapshot for 15, 16 and 32 bpp modes (using 24 bpp BMP format)
- TODO: add palette to support 8 bpp modes
2011-08-03 16:35:04 +00:00
Volker Ruppert
08e80d55e0 - implemented graphics snapshot in BMP format for 24 bpp modes
- TODO: color conversion for 15/16 and 32 bit modes, palette for 8 bpp modes
2011-08-02 20:08:34 +00:00
Volker Ruppert
828b52fc50 - prepared graphics snapshot feature for VBE and Cirrus modes (TODO: save data in BMP format) 2011-08-01 18:21:25 +00:00
Stanislav Shwartsman
1d89709e62 Added another CPU to CPUDB: p4_willamette (one more without x86-64 support).
Reimplemented CPUDB using pure C macros magic.
Fixed compilation errors when compiling with SMP on.
2011-07-31 18:43:46 +00:00
Volker Ruppert
bbb1586616 - added display library option to detect and turn off host keyboard repeat (X11 key repeat detection
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.
2011-07-31 15:46:37 +00:00
Volker Ruppert
c35e385139 - removed 'text_snapshot_check' feature and related BX_PASS loglevel
- documentation updates
2011-07-31 14:38:03 +00:00
Stanislav Shwartsman
5e291e0860 Added Athlon64 Clawhammer CPUID to CPUDB 2011-07-30 21:28:16 +00:00
Volker Ruppert
488dd8a2a9 - added support for larger label text. The horizontal position of the controls for a parameter list
is now adjusted depending on the largest label text.
2011-07-30 17:32:40 +00:00
Stanislav Shwartsman
fefa4d5e5b added PIII Katmai to CPUDB 2011-07-30 14:30:35 +00:00
Stanislav Shwartsman
1a051f9f00 Added several predefined CPUs that can be selected from .bochsrc using new CPU::MODEL option.
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
2011-07-29 15:03:54 +00:00
Volker Ruppert
c8d2f60225 - added runtime config handler for the ATAPI cdrom code. Now the media change is handled after both
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.
2011-07-24 14:11:10 +00:00
Stanislav Shwartsman
5cadbdfeca small fixes for RFB GUI 2011-07-22 20:42:40 +00:00
Stanislav Shwartsman
d11114ac19 Patch for emulating target with larger memory than host has available by Gary Cameron.
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.
2011-07-22 17:46:06 +00:00
Volker Ruppert
e21e968b09 - added two alternative X keysyms used for shift key releases 2011-07-12 18:58:10 +00:00
Volker Ruppert
345d67c403 - removed BeOS support from sources and documentation 2011-07-11 17:36:10 +00:00
Volker Ruppert
988b6e4ac5 - don't include wxWidgets headers in dependencies (fixed comments)
- regenerated dependencies without removing wx stuff manually
2011-07-10 16:58:49 +00:00
Volker Ruppert
0b12794ef5 - moved vga font to gui/font 2011-07-10 14:00:58 +00:00
Volker Ruppert
7168212bbe - removed obsolete file 2011-07-10 13:56:30 +00:00
Stanislav Shwartsman
070a803a99 Ctrl-Break support for the Win32 gui 2011-06-21 17:10:40 +00:00
Volker Ruppert
48e8df25ff - fixed some MSVC warnings 2011-06-19 05:37:30 +00:00
Stanislav Shwartsman
48f5c3b794 merged patch: Ctrl-Break support for the X11 gui by Nikolay Nikolov 2011-06-15 15:35:22 +00:00
Volker Ruppert
d03db7f940 - several changes related to cdrom runtime configuration
* 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
2011-06-13 09:32:39 +00:00
Volker Ruppert
cb8faeee52 - implemented new mechanism to update device config parameters that depend on
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
2011-06-11 19:38:52 +00:00
Stanislav Shwartsman
c3de861958 fixed gui debugger mode change display 2011-04-28 19:16:51 +00:00
Stanislav Shwartsman
024a1ace38 move X2APIC to be .bochsrc option, rework of the cpuid code 2011-04-21 13:27:42 +00:00
Volker Ruppert
c78026a9a2 - deleted executable properties from source files 2011-04-03 10:29:19 +00:00
Volker Ruppert
19ed9839b6 - fixed segfault if Xrandr extension is not installed. If not present, use
DisplayWidth()/-Height() xlib calls (SF patch #3267459 by Heikki Lindholm)
2011-04-01 15:52:13 +00:00
Volker Ruppert
b46be5ced3 - store mouse capture status in local variable instead of calling the parameter
interface periodicly
- minor code cleanups
2011-03-26 08:27:13 +00:00
Stanislav Shwartsman
af28ef231a storing list title in param is redundant, extra overhead 2011-03-19 21:40:07 +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
Stanislav Shwartsman
069a49c190 fixes for win64 compilation portability 2011-03-04 20:39:54 +00:00
Stanislav Shwartsman
2d1d41e731 CPUID is not available when cpu-level=3 2011-02-25 16:27:01 +00:00
Stanislav Shwartsman
00981cd7a6 Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
Volker Ruppert
0c50875e7f - use default memory parameter tree in textconfig (with some changes to make
it usable there)
2011-02-12 17:50:48 +00:00
Volker Ruppert
4fe832af68 - added missing xpm library for the 'x' plugin 2011-02-12 13:16:19 +00:00
Stanislav Shwartsman
d137f6d7db Fixed compilation for win64 native 2011-02-11 14:23:30 +00:00
Volker Ruppert
613b146974 - fixed xpm-related warnings in 'x' and 'wx'
- use X desktop size for the maximum guest resulution
2011-02-10 23:00:56 +00:00
Volker Ruppert
dcd02695bb - set 'modified' flag when editing numeric value with updown control 2011-02-10 22:59:34 +00:00
Stanislav Shwartsman
800dcfe537 fixed compilation err under win32 2011-01-25 15:49:32 +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
1dd6a8b151 - fixed wrong background color of edit controls (WM_CTLCOLOREDIT returns HBRUSH)
- fixed an MSVC warning
2011-01-18 19:15:37 +00:00
Stanislav Shwartsman
c48f7b6828 _WIN32_IE for cygwin gcc for 64-bit should be higher 2011-01-12 18:18:48 +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
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
Stanislav Shwartsman
1047acb2cc rename SSE register param - prepare for wide SSE register (AVX) 2010-12-06 21:52:41 +00:00
Stanislav Shwartsman
9aa503cb9d fixed warnings for win64 compilation 2010-11-23 14:59:36 +00:00
Volker Ruppert
3d0a3a0c6e - removed debug output 2010-11-19 18:42:11 +00:00
Stanislav Shwartsman
e5bb07e366 a few more steps towards win64 compilation under windows 2010-11-13 13:00:26 +00:00
Stanislav Shwartsman
07d68e9222 fix for win64 compilation 2010-11-12 18:20:35 +00:00
Stanislav Shwartsman
4aef7661aa Fix buffer overflow 2010-11-03 21:46:09 +00:00
Stanislav Shwartsman
d9734249b9 compilation fixes for mingw64 gcc 2010-11-01 15:02:14 +00:00
Stanislav Shwartsman
024c0073fc fix for makefile 2010-10-25 21:05:44 +00:00
Stanislav Shwartsman
a6ad162346 separate param tree code out of rest of siminterface
create new module
2010-09-16 21:46:45 +00:00
Stanislav Shwartsman
273f256603 some changes in siminterface 2010-09-12 20:47:23 +00:00