When the user presses the "Reset" button on the gui ribbon, we need to
clear the active status of all statusbar items or they remain set after
the reset occurs.
This is mentioned in issue https://github.com/bochs-emu/Bochs/issues/136
When the user presses the "Reset" button on the gui ribbon, we need to
clear the active status of all statusbar items or they remain set after
the reset occurs.
This is mentioned in issue #123
As an example, when saving the state of an emulation, especially one
that has large image files and a large memory setting, there is a pause
between the time you choose a directory to save to, and the MessageBox
that states that the state was saved. During this time, there is no
indication that Bochs is doing anything. As far as the user is
concerned, Bochs froze.
So, this PR adds the capability to display a _Modeless_ message box. To
do so, at any point you need a message box shown, allowing other things
to continue to happen (SYNCHRONOUS), simply call the following line:
`void *hwnd = SIM->ml_message_box("Message Box Title", "Message Box
Text");`
Then after the task has been performed, remove the message box:
`SIM->ml_message_box_kill(hwnd);`
The function is implemented in all configurations via virtual calls,
however, the creation of the message box is currently only implemented
in the Win32 configuration. Other configurations will need this
implemented, though I do not have those configurations to test with,
except the text only config. I may get around to it :-).
This also currently only displays as the state is being saved. To
display when the state is being restored should now be a simple task by
adding the two lines shown above to the associated function.
The only drawback with this is that if the state is considerably small,
the save will take just a second or less. If so, this window will show
and then instantly be removed, possibly confusing the user. _What was
that!!_
- bx_shadow_filedata_c: using tmpfile64() (same as memory code).
- memory parameters: minimum value set to -2 (means "swapped out").
- FIXME: restore issues still not fixed.
It has been compiled and tested on Linux, with MinGW/MSYS and MSVC nmake.
TODO: Check whether or not the config interface choice "win32config" can be
a plugin, too. Possibly add a new plugin type for config interfaces.
interface to textconfig if the selected gui has a builtin console in
SIM->set_init_done(). This is required on Windows for the rfb and vncsrv guis.
Cleaned up the textconfig code.
plugin is possible now. Added new functions text_print() and text_ask() in
textconfig.cc to replace related methods of bx_param_c classes. Removed a now
obsolete comment section in siminterface.h.
- Don't include paramtree.h in siminterface.h to get rid of duplicates
in a lot of Makefile dependency lines.
- Regenerated Makefile dependencies in iodev and affected subdirectories.
- FIXME #1: including debug.h causes duplicate entries of config.h and osdep.h.
- FIXME #2: cpudb.h appears in most of the iodev* dependencies, but only needed
by config.cc and the cpu class.
- Moved serial and parallel config parameter list creation to the corresponding
device code.
- Unregister serial and parallel bochsrc options in PLUGIN_FINI mode.
- Moved USB config and runtime parameter list creation to bx_init_usb_options().
- textconfig.cc: Small fixes in the optional plugin control.