memcpy(). The reason for the failure is unknown. Using writePhysicalPage()
is safe, but slower and it only works on little endian hosts. On big endian
hosts the data block would be copied in reverse order. We have to check
whether or not this behaviour is expected for blocks > 8 bytes.
* if the image provides a geometry, always use it.
* if the cylinder value is set to 0 and the image supports autodetection,
calculate the cylinder value from disk size, sectors and heads.
* in all other cases the specified geometry is used.
* a panic only occurs if the image size is too small for the geometry.
* extra data past the end of the disk now causes an info message.
- TODO #1: 'flat' mode hdimage: read disk size of raw devices on Linux
- TODO #2: 'flat' mode hdimage: use geometry from MBR on image if present
- TODO #1: move shared stuff (e.g. creating TOC for image file) to the base class
to fix the temporary code duplication
- TODO #2: remove ASPI code for raw cdrom access on Win 98/ME after release
and the supported ethernet modules
- renamed eth.* files to netmod.*
- pseudo-device plugin implementation similar to 'soundmod'
- TODO: move sound, net and usb stuff to a separate subdirectory of iodev
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.
- added new method get_vga_pixel() that read the color value from EGA/VGA memory layout (moved from
display update code and now also used for snapshots)
- minor code cleanups
'vga_update_interval' option. The screen update frequency is still based on
the emulated clock unless the realtime sync is enabled with the 'clock' option.
TODO: rewrite the virt_timer code to support realtime screen updates
independent from 'clock' setting.
- fixed changing parameter 'update_freq' at runtime (timer object and blink counter)
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.
duplicate log prefixes on Windows if both IDE and USB cdroms are used in plugin mode. Windows also
requires the cdrom base class and the init_cdrom() method to link and work correctly.
- don't add reserved bitfields to the save/restore tree
- some fixes for big endian machines
- TODO: init max_packet_size in USB devices, find test case, ...
- added main source file usb_xhci.cc
- TODO: finsh work in register_state()
- TODO: USB devices: initialize max_packet_size
- TODO: test case for xHCI wanted