turned off. Removed workaround code from devices.cc.
- removed 'pci_ide' plugin from the optional plugin control, since it depends
on the presence of 'pci' and 'harddrv'.
- define types for plugin init/fini functions
- use 'pci_rom_size - 1' as the mask for the offset address
- ne2k: memory handlers must be disabled if compiled without PCI support
- svga_cirrus: check for the PCI ROM size to make VBE work correctly
- added BX_INFO to the mem write handlers
For now it returns a flag that indicated that the device can receive data
from the eth module and flags for the device speed. TODO: Use this callback
in the eth modules before sending data to the device.
- another temporary solution for host from/to little endian conversion
- changed some variable types to bx_bool
- some other small cleanups
- TODO: add boot ROM support to all network devices
- TODO: add save/restore support, use Bochs function for host to little endian
data conversion, timers of networking modules 'vnet' and 'slirp' should use
the device speed instead of fixed 10 MBit
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