A device can set it with setTimerParam() and read it in the timer handled using
triggeredTimerParam(). Simplified some timer handler by using these methods.
TODO: implement HD / CD seek timer
- 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, ...)
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.
Upon investigation the problem is easily fixed in bx_serial_c::rx_timer_handler():
<snip>
ssize_t bytes = read(socketid, &chbuf, 1);
#endif
if (bytes)
{
BX_INFO((" -- COM %d : read byte [%d]", port+1, chbuf));
data_ready = 1;
}
<snip>
I think this means the extra check above will give no noticeable degradation of performance, so hopefully this can be applied to SVN. It would avoid screwing up a running instance of Bochs when a remote network client unexpectedly disconnects from the COM1 tcp port.
Also some cleanup in serial.cc code.
* "pipe-server" (win32 only): It makes bochs a named pipe server so other
application can communicate with it using pipes API. Useful e.g. for remote
kernel debugging.
* "pipe-client" (win32 only)
* "socket-server": for the use with gdb
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
- fixed gameport log type
- wx: store mouse capture mode in the gui code (only access the mouse parameter
when the capture mode changes)
- wx: don't initialize wxScreen if already done and clear screen on exit
(TODO: find a way to call plugin_fini() for non-core devices if plugins are
disabled)
- set the device pointers back to stubs after unloading plugins
- added debug message "Exit" in all device plugin destructors