- 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
usb device plugins. Loading the plugin means that the user wants to enable it.
Disabling the device on the command line and in the config interface is still
possible.
- destructor: free memory only when initialized
- parameter 'enabled' must be initialized with 1 (TODO: fix other plugins)
- PCI register fixes (Voodoo2 now detected, but not usable)
- fixed pluginlog init in non-plugin mode
- reduced logprefix length limit and use it for the related string parameter
- increase the device prefix size to 6
- TODO: change some more device prefixes
The device exists for some years now, but it was never functional and it is not
yet mentioned in the docs. After studying Linux kernel sources and a lot of
tests it is now usable. A configure option doesn't exist, so it must be enabled
in config.h. At runtime it is only loaded if the mouse type is set to 'bus'.
that is a part of the libtool package. Updated Makefile dependencies.
TODO: check if we can get rid of the ltdl*.* files (this would be possible if
the ltdl library is always available if libtool is present).
- ES1370: implemented CODEC registers (AK4531 mixer) and wave volume control
- Moved wave volume application code to new method pcm_apply_volume() and use
it for both soundcards
- TODO: stereo support
wx floppy dialog now forces a media change by clicking OK (same as win32dialog)
wxdialog.cc: one more whitespace cleanup
wxdialog.h: removed unused members
- es1370: fixed wave file parameter name
- wx cdrom dialog: use the first item of the cdrom runtime parameter list
- wx ParamDialog: always pause the simulation thread while setting parameters
- wx ParamDialog: call SIM->update_runtime_options() before continuing simulation
- SB16: log file name now also available as a runtime option
- SB16: changed order of the runtime options and minor other changes
- ES1370: changed the "wavemode" parameter type to bx_param_enum_c and set up
more accurate dependencies (similar to SB16)
- ES1370: wave mode and file name now available as a runtime option
- If the runtime flag of a bx_list_c object is set, all it's items are set up
as runtime options.
- Set the runtime parameter for all top-level runtime-only lists. Setting up
each single parameter is no longer needed.
- Always initialize the lowlevel sound driver (for wave input / recording)
- Wave input (recording) is now independent from the wave output mode
- Changed the "wavemode" parameter type to bx_param_enum_c and set up more
accurate dependencies
- Minor related changes
- use #if BX_SUPPORT_CDROM instead of #ifdef LOWLEVEL_CDROM
- devices with cdrom support now use the base class cdrom_base_c
- cdrom count variable moved to cdrom.cc
- cdrom_misc.cc: don't use ioctl's for ISO files
In convert/resize mode a backup can be created if the new file name
is not specified or the same as the source file name. In commit mode
both base image and redolog file are affected by the backup switch.
Added Linux specific file copy code using '/bin/cp'.
- added support to use 'concat' and 'dll' mode images as convert source.
A prefix ("concat:" or "dll:") must be added to the path since autodetection
doesn't work for these modes.
- create: fixed virtual disk size calculation based on C/H/S
- convert / resize (interactive mode): use original filename as the template for
the new one if not specified on the command line
- added support to resize images (currently supported: flat, growing and sparse)
- added image file name check and renaming if necessary
- set minimum hard disk size to 10 MB
- vmware4: make header structure available for usage in bximage
creation, conversion and rodolog commit. Image creation support is not
present yet and the executable has not been added to standard compile yet.
TODO #1: add floppy and hard disk image creation support (from bximage.c)
TODO #2: implement support for conversion to vmware and vpc formats
TODO #3: add MSVC (nmake and workspace) support
Detect and reply all supported TFTP extension options for both read and write
operations. Use 'blksize' value if smaller than buffer size.
TODO: increase buffer size, implement timeout mechanism
- ALSA driver is now default on Linux (if present)
- SDL sound driver is now default if no platform-specific driver is available
and the SDL gui is enabled
- soundlnx.cc: sendwavepacket() now exits with error if device is not opened
- soundmod.cc: exit beep loop if sendwavepacket() returns error
- ALSA stuff moved from soundlnx.* to new soundalsa.* files
- SB16 / ES1370: including specific sound driver headers not necessary
- updated dependencies
- added parameters 'wavemode' and 'wavefile' to the 'es1370' option
- ES1370: added new method sendwavepacket() (similar to SB16)
- moved VOC file methods from sb16.cc to soundmod.cc and added macros for them
- SB16: minor fixes