294 Commits

Author SHA1 Message Date
Volker Ruppert
16f092644c - filename "bochsrc.bxrc" added to the search list (win32 only)
- changed some parameter names and descriptions
- some unnecessary set_format() calls removed
- old commented stuff removed
2003-08-27 17:52:02 +00:00
Christophe Bothamy
a6f0158745 - add possibility to have both sync method active at the same time 2003-08-26 20:24:36 +00:00
Volker Ruppert
5972db38f7 - new keyboard options menu
- default output of bx_param_enum_c::text_print() fixed
- unused stuff removed
2003-08-25 18:36:09 +00:00
Volker Ruppert
ca60988fd9 - wx: NetConfigDialog replaced by a new version using ParamDialog
- parameter for the ethernet module must be of type bx_param_enum_c, since we
  have a list of valid modules
2003-08-25 16:46:18 +00:00
Volker Ruppert
d29016ff20 - loader hack definitions moved from bochs.h to siminterface.h
- ParamDialog::EnumChanged(): hard disk mode item added, loader hack stuff added
- dependent_list for the ne2k options added
2003-08-24 10:08:49 +00:00
Volker Ruppert
be5bd5dca4 - wx: most of the config dialogs are now generated from a parameter list
- new bx_list_c for keyboard options (used in wx, TODO in textconfig)
- new flag USE_BOX_TITLE controls the usage of the list name for the group box label
- wxdialog.cc: unused variable removed
2003-08-23 15:28:06 +00:00
Volker Ruppert
855af72c8a - win32dialog now uses always the parameter name for dialog titles and lables
- siminterface: ask_filename() uses the prompt for the parameter name
- wx: missing title of the CMOS dialog added
- floppy path parameter names changed (used by win32config)
- user shortcut parameter description added
2003-08-23 09:52:26 +00:00
Christophe Bothamy
4942684e51 - remove unused "split" disk mode
- fix value displayed in wx for clock.time0 parameter
2003-08-22 01:00:58 +00:00
Christophe Bothamy
e555765d75 - add a "clock: sync=[none|slowdown|realtime], time0=[timeValue|local|utc]"
- pit: and time0: options are still supported but deprecated
- warn when parsing deprecated directives
- fix wrong number of ata_device_translation_names
- still to do:
  - setting time0 to utc is not yet supported
  - the man page, user guide and .bochsrc still need to be updated
    with the new options
2003-08-19 00:10:39 +00:00
Volker Ruppert
bec6d903fd - function bx_write_configuration() fixed:
* option "cmosimage" must be saved, too
  * most important options (config_interface, display_library, megs, romimage,
    vgaromimage, boot) moved to the top of the saved file
2003-08-14 16:14:04 +00:00
Christophe Bothamy
d0ff0c92ab - use ATA device parameters macros, instead of computed values
- add the "journal" option to the ataX-xxx directive, so the user can
  set a specific path for the redolog file (applies only for undoable
  and volatile disk modes)
- add the enable handler, so the status and journal options of the ataX-xxx
  directive can be hidden even if the ataX-xxx parameter is enabled.
2003-08-09 23:17:50 +00:00
Christophe Bothamy
575287a144 -fix segfault bhen running with smp enabled 2003-08-05 13:19:35 +00:00
Alexander Krisak
45df735c30 Apply Vitaly's Vorobyov debugger patch 2003-08-04 16:03:09 +00:00
Christophe Bothamy
974d3538a1 - change disk image mode name "growable" to the more accurate "growing" 2003-08-01 01:20:00 +00:00
Volker Ruppert
0d60d343b3 - simple floppy image dialogbox for win32 added
- references to wx removed from the floppy button handlers (wx doesn't use them)
2003-07-15 21:02:05 +00:00
Volker Ruppert
032d2aae78 - removed obsolete functions pluginRegisterDevice() and bx_load_plugins() 2003-07-10 20:26:05 +00:00
Volker Ruppert
6a07c1eb5a - BX_ERROR added: change of the config interface to wx not implemented yet 2003-07-10 19:13:28 +00:00
Volker Ruppert
04ad96b585 - don't wait for the 'enter' key on the win32 console if the user has pressed
the power button or has chosen "kill simulation" in the "ask" dialog
2003-05-27 18:19:13 +00:00
Christophe Bothamy
f43d2fe3e9 - backport of the BRANCH_HARDDISK_MODES to the main branch.
You can now choose for each disk on the ata interfaces the
  disk mode, between :
    - flat : one file flat layout
    - concat : multiple files layout
    - external : developer's specific, through a C++ class
    - dll : developer's specific, through a DLL
    - sparse : stackable, commitable, rollbackable
    - vmware3 : vmware3 disk support
    - undoable : flat file with commitable redolog
    - growable : growing file
    - volatile : flat file with volatile redolog
    - z-undoable : gziped flat file with commitable redolog
    - z-volatile : gziped flat file with volatile redolog
  A new "bxcommit" utility can merge commitable redologs to
  flat images.
2003-05-03 16:37:18 +00:00
Volker Ruppert
5c38c04fb4 - fixed possible segmentation fault in parse_line_formatted(): cause a PARSE_ERR
if a bochsrc option comes without a parameter.
- comment handling in parse_line_formatted() no longer needed
2003-05-02 16:19:26 +00:00
Volker Ruppert
6b184eb3b5 - better error handling in function load_ROM():
* cause a BX_PANIC if the path of the system BIOS or VGA BIOS is empty
  * open() and fstat() now cause a BX_ERROR if the rom image is optional
2003-04-02 17:03:34 +00:00
Stanislav Shwartsman
7fa75388a1 Added bx_cpuid value to the BX_CPU class to avoid any problems with BX_CPU_ID implementation 2003-02-13 15:51:22 +00:00
Christophe Bothamy
579f3c0539 - apply Ben Lunt's 160k, 180k, 320k floppy patch 2003-02-06 23:16:56 +00:00
Christophe Bothamy
ecbbd25411 - add to log file:
. Bochs version
  . System configuration
  . CPU configuration
  . Optimization configuration
This might be helpful information for bug reports
2003-02-05 18:19:03 +00:00
Christophe Bothamy
b2dbcdb993 - apply Zwane's patch.highmem patch
It can be easily removed if things go wrong on win32
2003-01-29 15:01:16 +00:00
Volker Ruppert
f25a3df39b - added minimal USB support (patch from Ben Lunt <fys@cybertrails.com>, updated
and improved by Christophe Bothamy and Volker Ruppert)

Comment from the author:

Attached is a "patch" file detailing what you need to do
to add USB support (UHCI only for now) to your existing
Bochs (2.0.xx) source code.

I use Win32 and VC++ but the source and modifications
should be platform and compiler independant.

Please let me know if this patch some how breaks the
build process of your compilation (Bochs 2.0.0 or above
only).

I would also like any feedback on how this code works
(or doesn't work) on your platform and within your
images. If you explain in as much detail as you can on
how it did or did not work, I will try to add to the source
to help it work on all platforms and images.
2003-01-28 16:58:10 +00:00
Christophe Bothamy
04888a1039 - fix [ 661010 ] cannot override ata-settings from cmdline 2003-01-13 17:55:12 +00:00
Volker Ruppert
5840618ceb - function parse_line_unformatted(): stop parsing at the comment sign (#) 2003-01-10 20:33:12 +00:00
Christophe Bothamy
2ed89620af - fix bug reported many times on irc and on the ml. The "pass" log was
mistakenly written as "debug" when the configuration file was saved.
2002-12-24 09:14:54 +00:00
Christophe Bothamy
2b396ed2da - fix [ 657404 ] realtime_pit bug in 2.0 config. 2002-12-23 10:30:13 +00:00
Bryce Denney
91b95cafaf - change pit syntax to "pit: realtime=1" 2002-12-21 17:27:42 +00:00
Bryce Denney
a221d26323 - Br'fin has written this Carbon patch to make the default $BXSHARE
value be the application's directory, no matter where it gets
  installed.  This is consistent with installing the bioses and
  keymaps/* into the same directory as bochs.app.
2002-12-17 20:58:18 +00:00
Bryce Denney
6a44ca37ed Patch name: patch.carbon-startup
Authors: Br'fin, Bryce

- for MacOSX/Carbon, if you start the app by double clicking in the finder,
  there is no text console.  So in logfunctions::fatal(), display the
  final message in a Carbon dialog instead of using fprintf.
- in the text-mode config interface, return an error code if the
  user tries to use the text menus when there's no text console.
  Back in bxmain() this error code causes a panic
  "Bochs needed the text console, but it was not usable"
- if a config file was not found, normally we turn off quick start
  and drop into the text menus.  However in the no-console case the
  text menus won't work, so we added a panic: Unable to start Bochs
  without a bochsrc.txt and without a text console.  This is a much
  more useful error than the generic one above.
- removed ensure_text_console() which was making matters worse instead
  of better.

Modified Files:
  logio.cc main.cc gui/siminterface.cc gui/siminterface.h gui/textconfig.cc
2002-12-17 05:58:45 +00:00
Gregory Alexander
d90c6636ff Added support for a PASS log level. This probably
isn't complete, but it hopefully will do the job.
2002-12-17 03:36:53 +00:00
Bryce Denney
6b21b27e60 - BX_EXIT(exitcode) is called in several places, but the exitcode has been
completely ignored and Bochs has always been returning 0.  Now Bochs should
  exit with the proper exit code.
- implementation: BX_EXIT(exitcode) calls SIM->quit_sim(exitcode).
  quit_sim stores the exit code in the SIM object, then uses longjmp
  to unwind the stack and return to main().  main() calls
  SIM->get_exit_code() to retrieve the exit code and returns it.
- If you are wondering why we don't just call exit(exitcode), it is
  because in the wxWindows interface all of the CPU simulation runs as one
  thread while the user interface runs as another thread.  With the longjmp
  technique the simulation thread ends cleanly and it is possible to
  start a new simulation thread without making a new process.
2002-12-16 06:43:02 +00:00
Gregory Alexander
b522c1dcf3 Enhanced support for text snapshot checking.
Now CR/LF creation is suppressed in win32 when text
snapshot checking is on.  This allows for creation of
generic text snapshots in win32.
2002-12-16 02:49:55 +00:00
Bryce Denney
d2dcd25ca4 - if BX_SHARE_PATH not defined by a makefile, define it to NULL. This
makes it unnecessary to make get_builtin_variable() conditional on
  existence of BX_SHARE_PATH.  This fixes bug [654123]: $BXSHARE not working
  on win32.
2002-12-15 17:11:13 +00:00
Bryce Denney
8b0a593ed4 - rename BXBIOS to BXSHARE. The problem with BXBIOS is that it needed to
be used for more things than just the BIOS.  Also the keymaps need to
  be located relative to the share path, and maybe other things like
  graphics and icons, later.
2002-12-14 22:18:00 +00:00
Bryce Denney
8de8ca24b9 - when changing the physical cdrom at runtime, Bochs would eject, insert,
eject, insert, eject, etc. several extra times before allowing you to
  actually change the CD.  The extra insert/eject cycles were coming from the
  param handlers for cdrom status and for the cdrom pathname.  To fix this, I
  changed wxdialog.cc and textconfig.cc to only call set() on parameters if
  they are different from the original value.  Now it generally does what you
  would expect.
- to change physical CD: change the Bochs CD status to "ejected". On some OSes
  that will actually eject it, but on others it will simply close the file so
  that the eject button will actually work.  Then put the new CD into the
  drive, and change the Bochs CD status to "inserted".

Modified Files:
  main.cc gui/siminterface.cc gui/siminterface.h
  gui/textconfig.cc gui/wxdialog.cc
2002-12-12 18:31:20 +00:00
Christophe Bothamy
16ebfdb9e1 - update for macos compile 2002-12-12 15:29:45 +00:00
Gregory Alexander
44e58663bc Working on a testing framework for bochs.
Added an option to do a BX_PANIC when the display
matches a previously recorded text snapshot.
2002-12-12 06:21:43 +00:00
Bryce Denney
87f1f3a2e0 Apply patch.safe-fullscreen. Comments from the patch follow:
This fixes bug #614724: SDL can get stuck in full-screen mode, and provides
a framework for fixing the problem on other full-screen display libraries
such as term, svga, etc.

- add virtual method bx_gui::set_display_mode(mode) which can be overridden
  by each display library class, if appropriate.  This method is primarily
  used when you run Bochs full screen, to tell the gui to switch from full
  screen back to a mode where you can use the text console.
- There are two display modes: config and simulation.  The mode is changed to
  config mode during logfunctions::ask, during the runtime configuration menu,
  and before displaying a debugger prompt.  It is changed back to simulation
  mode whenever instructions are running.
- Instead of being called directly through the global bx_gui pointer, the
  bx_gui_c::set_display_mode() method is almost always accessed through
  siminterface, like this:
    SIM->set_display_mode (DISP_MODE_CONFIG);
    SIM->set_display_mode (DISP_MODE_SIM);
  Of course siminterface just passes the call on to bx_gui::set_display_mode().
  I added it to siminterface so that the config interfaces could call it.
  (They don't #include bochs.h so they can't access bx_gui.)

Modified Files:
  logio.cc main.cc debug/dbg_main.cc gui/gui.h gui/sdl.cc
  gui/siminterface.cc gui/siminterface.h
2002-12-06 19:34:32 +00:00
Volker Ruppert
2b310aeb33 - function get_builtin_variable(): on win32 use the value of the registry key
created by the nsis installer for the BXBIOS variable. The compile time
  default for BXBIOS (e.g. /usr/local/share/bochs) is not usable on win32.
2002-12-03 18:55:23 +00:00
Christophe Bothamy
12f8aec60f - implement feature request [ 629068 ] make a way to log debug output to file
there is one more option in the configuration file "debugger_log"
  if the debugger is compiled in, all debugger output will be also
  written to this file.  Note: wxWindow config interface is not updated yet
2002-12-02 21:26:05 +00:00
Volker Ruppert
79db8b0d71 - added missing bochsrc options in function bx_write_configuration() 2002-12-02 20:32:13 +00:00
Volker Ruppert
f3bbde98e0 - define MAX_ARGLEN if it doesn't exist 2002-12-01 14:18:37 +00:00
Volker Ruppert
9f7130c150 - implemented builtin variable BXBIOS for the non-plugin version and platforms
that do not support setenv()
2002-11-26 20:40:50 +00:00
Volker Ruppert
91af460652 - checked in patch.sdl-win32-console from Bryce Denney (see below).
- removed the code for changing the console screen buffer size
- BUG: the gui window receives all keypresses from the console when it gets back
  the focus. We have eliminate all keypresses before the simulation continues.

Bryce wrote:

This untested patch shows how and where to call RedirectIOToConsole() when
compiling with SDL on win32.  I believe this, or something like it, will
fix the problem of having no console window on SDL.

- enable RedirectIOToConsole() when compiling with SDL on win32, so that
  it can be called in main().
- move main() down below the definition of RedirectIOToConsole(), and
  add a call to RedirectIOToConsole()
- in WinMain, Bochs always asked the user to press ENTER before exiting.
  I moved that code to main() with #ifdef WIN32...#endif around it.
  (Maybe this should only be done when Bochs explictly creates a console
  window, though.)
2002-11-26 18:15:56 +00:00
Volker Ruppert
09ffa26383 - the function SetConsoleScreenBufferSize() seems to be the reason for the
console scrolling problems - disabling it for now.
2002-11-25 21:28:19 +00:00
Bryce Denney
59401e9de3 - add comments about win32 main/WinMain and associated functions 2002-11-25 18:17:13 +00:00