- bx_param_string_c method isempty() didn't work for raw byte strings. Now using
it to check whether or not the current value matches the initial one. The
parameter handling of the network adapters now use this method to check if
the MAC address is already initialized to avoid incorrect BX_ERRORs.
- small documentation update
TODO: 'dnssearch' option should accept a comma-separated list of suffixes.
Other slirp TODOs: SMB support on Linux, reduce code duplication (ARP, DHCP, TFTP)
- added support for a separate slirp config file specified with the "script"
parameter. Added sample config in the "misc" subdirectory.
- now creating one logfunctions object per slirp instance and added new function
slirp_warning() to send error messages to the Bochs log.
- regenerated dependencies for the iodev/network Makefile and updated command
line example for generating them.
Updated workspace files after adding slirp and avx sources
Updated slirp TODO list:
- reduce code duplication with 'vnet' module (DHCP, TFTP, ARP)
- add separate config file for slirp to make it more flexible (using the
'script' parameter)
- add SMB support on Linux
- remove slirp backend module after next Bochs release
- applied remaining updates from Qemu slirp
- add #if blocks to all slirp .cc files for conditional compilation
- fixed some uninitialized variable warnings
- added container_of() macro replacement
- fixed unresolved symbol in netmod.cc
- added MSVC-style structure packing pragmas
- check for the presence of min / max macros
- enabled slirp_new for MSVC in configure script
TODO list:
- check for more updates from Qemu
- fix lots of compiler warnings
- reduce code duplication with 'vnet' module (DHCP, TFTP, ARP)
- add separate config file for slirp to make it more flexible (using the
'script' parameter)
- update MSVC workspace files
- add SMB support on Linux
- remove slirp backend module after next Bochs release
- rewrite of the logical sector handling code to make seek latency support possible
- implemented variable HD seek latency for seek and read commands
- TODO #1: CD-ROM seek command returns status immediately, but it clears the DSC bit
and sets it at completion. Device should not accept ATAPI commands until DSC is set.
- TODO #2: clean up the seek latency code
- temporarily disabled seek latency support for ATAPI command 0x2b until the
seeking status is implemented correctly
- fix for the MSVC compilation fix (result was always 0.0)
is almost a port of the Qemu 1.1.2 implementation. It has been tested successfully
on Linux and Windows (MinGW/MSYS). The networking module is currently called
"slirp_new", since the "slirp" backend module still exists.
TODO list:
- MSVC support (requires container_of() macro replacement)
- apply fixes and improvements from recent Qemu releases
- use our TFTP implementation to reduce code duplication
- check if we can share ARP and DHCP support with "vnet"
- add SMB support on Linux
- finally remove the slirp backend module support
- now using the more accurate name "seek latency"
- fixed CD-ROM LBA address range checks and renamed limit to "max_lba"
- make the latency for CD-ROM access variable depending on the distance between
current and new block address, Maximum value should only occur at first access
or after media change.
- TODO: make hard disk seek timing variable, too.
- still TODO: seek latency for USB drives (requires asynchronus packet support).
- save function implemented using a dummy parameter that only receives the
result of the save operation. The parameter's save/restore handlers doing
the main job. The numerical values of the requests are saved in a separate
text file. The data transfer buffers are saved as binary files.
- the request data buffers are now created dynamicly
- TODO: restore SCSI requests
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
- fixed clock values (assigned to wrong model)
- LFB read/write: don't limit y values to 1023 (4MB now usable this way)
- additional Voodoo2 fbiInit* register writes now handled like the Voodoo1 ones