- several fixes related to configurable geometry (some more tests required)
- skip MBR and boot sector image files when reading directory (still unused)
- support overriding cylinder value with 0 in the command line
- don't return failure value when reading unused sectors
- increment buffer pointer when reading more than one sector
- siminterface: added helper method hdimage_get_mode()
- moved hdimage related stuff from harddrv.cc to the hdimage code
- changed hdimage related names
the SF patch #1539417, but rewritten from scratch (patch too old). Differences
to the original version:
* internal parameter name "readonly"
* update parameter if floppy image is readonly
* wxWidgets support
* documentation updates
* no specific toolbar buttons
the default Bochs method using the CTRL key and the middle mouse button there
are now the choices CTRL+F10 (like DOSBox) and CTRL+ALT (like QEMU).
* currently implemented in the X11 and SDL guis only
* TODO: porting to wxWidgets and Win32, documentation updates
- moved debugger-specific stuff to a separate write function (TODO: debug symbols)
- removed support for old-style syntax of the 'vgaromimage' bochsrc option
* removed old win32 runtime config dialog since the property sheet isn't
compatible with the win32 ParamDialog
* reorganized runtime parameter lists (usb and cdrom setup in device init)
* renamed win32 StartMenuDialog() to MainMenuDialog() and some related name
changes
* added runtime support to the MainMenuDialog
- win32 start/runtime menu: set keyboard focus to the start/continue button
- win32paramdlg: SetParamList() now checks for list size changes to avoid crash
and value must be != "none" to enable dependents)
- set dependent list for floppy path (removed enable handler)
- win32paramdlg: added support for string parameter dependent lists
the existing runtime dialog ('textconfig' is still available)
- removed notify callback redirection from sdl.cc and win32.cc
- removed win32 specific code from textconfig.cc
- fixed parent window for folder selection dialog
- minor size changes in start menu dialog
enable the floppy drive without media and status specified
- simplified parsing of floppy bochsrc options
- default media status for floppy drives set to BX_EJECTED
- cdrom drives no longer need the path to be set in bochsrc (empty path had
disabled the device in the previous version)
- simplified ATA device setup in bochsrc parser
non-empty path
- floppy devtype parameter now uses CMOS values and drive type names
- related changes in the floppy code
- simplified floppy parameter handlers
- some floppy parameter label changes
- added enable handler for the floppy path parameter
- update dependent params after setting the dependent bitmap of enum parameter
- win32paramdlg: fixed setting parameters at runtime
- fixed win32 ParamDialog return value for close/cancel
- runtime dialog for the first cdrom drive on win32 is now created as a win32
ParamDialog (removed old cdrom1 dialog stuff)
- minor fixes in x11 string dialog for the cdrom path & status case
dependency list processing, enum parameter support)
- bx_param_enum_c: added argument for the default value of the dependent bitmaps
to set_dependent_list()
- bx_param_num_c: dependent_list is now a protected member of the object to make
it accessible for the enum specific dependency code
- config.cc: ata parameter dependency rewrite to avoid multiple dependencies
- config.cc: added missing dependency for SB16 parameter list
Bit64u value with the "enable bitmap" (e. g. bit #0 is the enable value for
the first item of the dependent list). TODO: use this feature in win32 and wx
dialogs
- ata drive type and loader hack parameters now using the enum dependent list
- avoid multiple dependencies in the SB16 config menu
- added file extension support for bx_param_filname_c
- fixed showing of tab control child lists
- added special disk menu for the win32 ParamDialog
- on win32 use the ParamDialog instead of textconfig submenus (TODO: gui dialog
replacement for the start menus
- create config parameters for USB depending of the defined number of ports
- removed obsolete comment
- bx_param_num_c flag USE_SPIN_CONTROL now available for all config interfaces
* ported the basic functionality of the wx ParamDialog to win32
* moved AskFilename() function to the new file
* win32ParamDialog() now used for the external USB hub (if present)
* TODO: with some extensions it might be possible to use it for all runtime
dialogs and to implement a gui replacement for the textconfig start menu
* USB runtime options moved to a new dynamic menu
* USB host controllers create own submenus in init()
* USB runtime parameter handlers simplified
* TODO: related changes in the wx and win32dialog code
* use default value for screen width if update() is called before VGABIOS init
* set minimum value for vga_update_interval to 40000 (default value: 50000)
* no longer accept ips values smaller than BX_MIN_IPS and default value
changed to 4000000
* 'usb_uhci' bochsrc option replaces 'usb1'
* minor changes in the USB code
* removed old VBE i/o port registration (they were incompatible with USB)
* updated FSF address
- fixed saving user plugin options
* initialize plugin system before parsing bochsrc and command line
* pass previous value to bx_param_string_c handler
* load / unload plugin in bx_param_string_handler()
* handle user plugins after optional ones in plugin device init, reset and
save/restore functions
* added new siminterface method unregister_user_option()
* removed first version of config option handling for user plugins
* added new parameter subtree for user-defined options
* added new bx_list_c method remove()
* removed unused bx_devmodel_c method init_mem()
* set initial value for MAC address after setting RAW_BYTES option (no space
for trailing null byte when using strncpy)
* length of initial string should not be larger than maxsize
* reset() method now uses set(initial_val)
* cut model string on boot screen if larger than 36 characters to make one
"ata" message fit in one line
* config parameter for model string needs one more byte
* harddrive: terminate model string with null
* "pipe-server" (win32 only): It makes bochs a named pipe server so other
application can communicate with it using pipes API. Useful e.g. for remote
kernel debugging.
* "pipe-client" (win32 only)
* "socket-server": for the use with gdb
Make save/restore default feature, the configure option for save/restore removed from configure script and save/restore made available forever. All code now assume it is exists. Bochs save/restore tree previosly called "save_restore" renamed to "bochs" tree and it will be havily used everywhere, starting from save/restore and ending by various bochs debugger functions. I am going to rework debugger code to get rid of debug CPU access functions and use this "bochs" param tree instead
- removed obsolete structures and members from the USB code
- removed mouse type 'usb' (USB mouse and tablet override selected mouse type
when connected)
- user doc: mention vmware 4 disk image support
string. This is better for devices that need to know all it's options when
connecting to the port. Device name and option should be separated with a
colon. The USB device 'disk' now uses this format ('disk:usbdisk.img).
- the pciusb plugin must be linked with cdrom.o
changed after initializing the config interface
- PARAM_TREE.txt updated and cleaned up (TODO: improve developer documentation
and get rid of this file)
2. In init.cc save and restore BX_CPU_THIS__PTR trace value, allows to enable/disable tracing using save/restore.
3. in iret.cc - cleanup3. in iret.cc - cleanup3. in iret.cc - cleanup
- for the BrowseDir() function Bochs for win32 needs to be linked with SHELL32.DLL
(currently used for the save/restore support only)
- save/restore support symbol name changed
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
- parameter tree structure updated (TODO: should be moved to development.dbk)
- code cleanup: bx_options stuff and obsolete parameter access methods removed
- TODO: rewrite of shadow parameter stuff (for subtree "save_restore")
- sb16 parameters stored in the device class and runtime parameter handler added
- wx: ParamDialog can currently handle only dependency lists of bool parameters
correctly (TODO: add support for numeric parameters)
- disable usb options if not compiled with usb support
- usb and network dependency list created with menu->clone()
- load usb plugin only if at least one hub is present
- remaining options prepared for rewrite
- proposed parameter tree updated
- bx_init_options(): local variables cleanup
- hide floppy devtype parameter (floppy media type change support not yet complete)
- wx: menu order changed
- keyboard.cc: removed obsolete FIXME
- proposed parameter tree updated
- strdup() is necessary for the ata device name (master/slave)
- added missing initialization of the member 'enable_handler'
- clone() method now uses the original title for the new list
- siminterface get_param_*() methods num support a base parameter like the generic
get_param() method
- new parameter lists now also have a generated id
- test function print_tree() now handles enum parameters correctly
- proposed parameter tree updated
- save pcidev config line if enabled
- load pcidev plugin if requested
- pci parameter dependencies improved
- textconfig: show the title of a disabled submenu
- clock/cmos menu added in textconfig and wx
- enum parameter type now supports new parameter handling
- long text format for numeric parameters added (useful when both textconfig and
wx are present)
- wx: handling of list flag USE_BOX_TITLE fixed
- textconfig: optional memory features moved to submenus
- siminterface generates a unique id for new parameters (used for wx dependencies)
- proposed parameter tree updated
- floppy options init code cleanup (still using old-style parameters)
- boolean parameter type now supports new parameter handling
- new parameter object constructors now supports label initialization
- bx_list_c constructor now supports title initialization
- textconfig: initial support for new parameter handling
- wx: missing CPU config dialog added
- wx: ParamDialog now handles disabled parameters correctly
- removed unnecessary spaces from function calls
* memory parameter handling rewritten (not yet complete)
* new reset() method for bx_list_c for recursive reset of all list members
* memory options in wx now handled in a ParamDialog (ConfigMemoryDialog removed)
* removed obsolete BXP_* constants in siminterface.h
* updated proposed parameter tree
- constant BX_N_OPTRAM_IMAGES for optional RAM images limit added
(it was only present in bochsrc parser)
- floppy media type is now a runtime parameter (TODO: full media type support
needs some work in the floppy emulation code)
- floppy media type added to win32 floppy dialog
- missing reset of PCI slot options added
- parsing of i440fxsupport config line rewritten
- vga_update_interval default value changed to 40000 and docs updated
- some more documentation updated including default values for some bochsrc options
number of steps to do, the step rate time and the date rate
- the option floppy_command_delay is obsolete now, since all floppy delays are
based on the hardware specs. The usage of this option caused a warning now.
optromimage. You can load up to 4 arbitrary binary images into RAM.
I didn't do any checking on the addresses, so it's up to you to make
sure they don't collide with anything else. Should only be used for
placing files into standard RAM.
- usage of old-style syntax for 'user_shortcut' now causes a warning
- deprecated options 'pit' and 'time0' now cause an error
- old disk options completely removed from bochsrc parser
- documentation changes: 'pit' and 'time0' removed, 'user_shortcut' updated
- sense code ASC_ILLEGAL_OPCODE added for unimplemented/unknown ATAPI commands
- some panics changed to errors
- unsupported bits message in drive and head register changed to BX_DEBUG
- improved info about not existing drive
- indent mode fixed in ATAPI packet command section
- removed obsolete parameters for usb1 and pnic (now assigned by the PCI BIOS)
- PCI base address register mechanism now leaves the flags untouched
- missing reset of pnic options added
- cmos image options renamed
- new cmos option controls the usage of the RTC values from image
- report time0 in use after handling the cmos image stuff
- MSVC warning fixed
images created with bximage (heads = 16, sectors per track = 63)
- size check for 'flat' hard disk images added. The image size is now compared
with the size calculated from the geometry.
dummy interface are now disabled if the extension isn't set to "vbe"
- writing charmap data in graphics mode now supported (SF patch #1059199)
- fixed set_ask_format() for the mouse type option
- ne2k and sb16 config lines now support the parameter "enabled=0|1"
- config parser code for ne2k and pnic now working the same way
- ne2k enable option now present in config menu / dialog
- added emulation of the PS/2 mouse port without a mouse connected (some OS's
still detect a mouse)
- fixes for the mouse type 'serial_wheel' (the wheel still doesn't work in Win98)
#1079240 by Ben Lunt. There are still some problems:
- PS/2 mouse is always present (some code to emulate a disconnected mouse needed)
- PS/2 wheel mouse doesn't work properly
- serial wheel mouse detected as a standard mouse and doesn't work at all
- textconfig now supports lists in a list
- network configuration divided in two menus / groupboxes
- ips setting now belongs to the clock menu / dialog
- wx.cc: center status bar items (wxMSW port only)
- wxmain.cc: obsolete stuff removed
code. Up to 3 boot drives are supported now. TODO: new boot dialog for wx.
- config.cc: missing ask formats for enum parameters added
- wxdialog.cc: tab window now uses the label instead of the ask format if defined
- menu and option names for the network configuration fixed
- NIC init code passes script name to ethernet module init code
- VDE module added to the list of ethernet modules
- constant BX_PACKET_BUFSIZE moved to eth.h
- vgaromimage option now compatible with the other rom options. Old style syntax
(without 'file=...") is still supported.
- load order for the rom images fixed (system, vga, other)
- rom images sizes not multiple 512 cause a BX_INFO for now. The original check
will be enabled after updating the vgabios files
- optromimage error messages fixed
- some updates of the bochsrc sample
data written to the port and where to get the data read from it. Available
modes are 'null' (no input/output), 'file' (output to a file specified as
the 'dev' parameter), 'term' (serial terminal) and 'raw' (use the real serial
port - under construction for win32).
- descriptions for serial and parallel options in bochsrc sample updated
* up to 5 slots can be specified with the 'i440fxsupport' config option
* the pci slot number are hardwired to pci device numbers
* the 'devfunc' value is returned the calling device (useful for multi-function
devices)
* the core of the i440FX chipset is hardwired to pci device 1 + 2; usb is still
optional and appears at device 1, function 2
- ne2k: enable pci features if connected to a pci slot
- ne2k: asic data port supports 32-bit access if ne2k-pci is active
- pci2isa: improved error messages for ELCR1 and ELCR2
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed