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
connected device. For now this feature is only used by the 'disk' device to
specify an alternative redolog filename of some image modes.
- added new methods set_option() and timer() to the base class usb_device_c.
The timer() method is periodicly called from the HC's frame timer code.
- moved runtime device change stuff from the parameter handler to the end of
timer() methods of all hubs. This makes sure that all parameters for the
device have been set at connect time. TODO: this technique could also be used
for the floppy and cdrom media change.
* added new "pseudo device" for the USB device control (init, send message)
* moved register_state() call from the hubs to the common device init code
- fixed unresolved symbols in usb_msd code
code and the generic USB stuff. Up to now, in plugin mode each host controller
staticly links all this stuff with the plugin library. So it existed twice and
e.g. it wasn't possible to create a unique serial number for disks/cdroms
connected to different HCs. Some other sanity checks could be added now, too.
- Added a register mechanism for the USB device init function in the main
devices code.
- TODO: Some other device plugins could be fixed the same way: network devices
(sharing ethernet modules), harddrive & usb_msd (sharing hdimage and
cdrom)
- new USB device class method get_info() for improved device connect BX_INFOs
- USB printer: output file creation failure now causes BX_ERROR and disconnect
instead of BX_PANIC (similar to usb_msd)
- removed obsolete include statements
* added cdrom support in the usb_msd code (already present in the SCSI code)
* added code for deferring packets in usb_msd and the common USB code (TODO:
cancel packets by the host controller)
* added SCSI cdrom drive lock flag
- clean up SCSI request queues in destructor
- changed type of cdrom path/device parameter to const char
- moved the shared init device code to a common function
- reset hub count if the last external hub has been removed
* ported generic hub code from Qemu
* devices can be connected at runtime only with textconfig
* FIXME: wx ParamDialog doesn't like removing runtime parameters on disconnect
* TODO #1: dynanamic runtime dialog for USB on Windows
* TODO #2: code cleanup: USB code should have one static function only for
most of the init_device() code
by Ben Lunt will be tested and merged soon)
- renamed specific pciusb stuff to 'usb_uhci' (files, objects)
- minor USB-related changes
- TODO: changes in siminterface and bochsrc options