53 Commits

Author SHA1 Message Date
Volker Ruppert
3a294b7521 - function bx_read_rc() returns -1 when the rcfile is "none". Now the default
option in the start menu doesn't change to "Begin simulation" in that case.
2002-08-07 07:24:32 +00:00
Volker Ruppert
c3cda0a919 - separation of floppy device type and media type started. This feature needs
more work in the floppy and bios code.
- floppy and cdrom entries in the runtime config menu can be disabled if the
  drive wasn't defined in bochsrc or start menu
- floppy variable "initial_status" and cdrom variable "inserted" renamed to
  "status"
- unused variable *ips in function build_runtime_options_prompt() disabled
2002-08-04 08:42:34 +00:00
Christophe Bothamy
a926744628 I reworked and included Carl's patch to have a new bochsrc directive
to describe the format of the log prefix. This option can be any string
with special tokens being replaced at run time :
  #   %t : 11 decimal digits timer tick
  #   %i : 8 hexadecimal digits of cpu0 current eip
  #   %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror)
  #   %d : 5 characters string of the device, between brackets
the default is "%t%i%d", so the logprefix is the same as before.

New tokens can be easily added or changed if needed.


Modified Files:
  .bochsrc bochs.h logio.cc main.cc gui/control.cc
  gui/siminterface.h gui/siminterface.cc
  patches/patch.logfilefmteip
2002-06-26 14:42:35 +00:00
Volker Ruppert
b9822b6f1c - in function bx_list_c::text_print() added parentheses (fixes SF bug #572177) 2002-06-23 18:02:55 +00:00
Gregory Alexander
18ca414cc0 Oops! 2002-06-20 17:59:26 +00:00
Gregory Alexander
401b990cb9 Added comment about nocp option to config menu. 2002-06-20 15:43:09 +00:00
Bryce Denney
30aaf4088e - commit patch.wxwindows.gz in the main branch. Now you can try out
the wxwindows interface by just "configure --with-wx; make"

  Modified Files:
    Makefile.in bochs.h config.h.in configure configure.in
    load32bitOShack.cc logio.cc main.cc cpu/cpu.cc cpu/cpu.h
    debug/dbg_main.cc gui/Makefile.in gui/control.cc gui/gui.cc
    gui/siminterface.cc gui/siminterface.h gui/x.cc iodev/cdrom.cc
    iodev/keyboard.cc memory/misc_mem.cc
  Added Files:
    README-wxWindows wxbochs.rc gui/wx.cc gui/wxmain.cc
    gui/wxmain.h gui/bitmaps/cdromd.xpm
    gui/bitmaps/configbutton.xpm gui/bitmaps/copy.xpm
    gui/bitmaps/floppya.xpm gui/bitmaps/floppyb.xpm
    gui/bitmaps/mouse.xpm gui/bitmaps/paste.xpm
    gui/bitmaps/power.xpm gui/bitmaps/reset.xpm
    gui/bitmaps/snapshot.xpm
  Removed Files:
    patches/patch.wxwindows.gz
2002-04-18 00:22:20 +00:00
Bryce Denney
c20298b6f4 - the runtime menu was displaying the old default of 10. It should be 11
(continue).
2002-04-08 00:11:52 +00:00
instinc
4e17b97211 fixed feature request 488645 2002-04-01 04:12:11 +00:00
Bryce Denney
b394a44157 - made keyboard_paste_delay a runtime configurable option
- clean up comments & debug msgs in paste code
2002-03-26 14:46:03 +00:00
Volker Ruppert
beae7bda41 - added constant BX_INSERTED for media status (taken from bochs.h)
- fixed a warning in ask_uint() (type of variable n is now Bit32u)
- removed unused variable buffer[512] in text_ask()
2002-03-10 10:19:32 +00:00
Bryce Denney
dd90b7ab46 - add serial port options to the configuration interface, in the same
menu as the parallel port options.
2002-03-03 06:10:04 +00:00
Volker Ruppert
accd3b2370 - runtime options menu reports the correct media status (inserted/ejected) 2002-01-27 21:55:27 +00:00
Bryce Denney
1b5200782d - add some instructions on the main menu 2001-12-08 18:06:12 +00:00
Bryce Denney
c52fbaa3a7 - allow configuration of the parallel port in .bochsrc and the config
interface menus.  Parallel port #1 is implemented, and I left stubs for
  parallel port #2 in case we want to ever add it.  If the parallel port
  is enabled, the init method of parallel.cc does an fopen() on the output
  file.  If disabled, or if the fopen fails, the file handler remains
  NULL and no characters are printed.  There is no attempt to enable/disable
  the operation of the parallel port, only the output to a file.
2001-11-12 02:35:09 +00:00
Bryce Denney
a235489642 - fix segfault I introduced by making the previous revision too hastily 2001-11-10 03:12:44 +00:00
Bryce Denney
b902802933 - don't pretend we can change IPS at runtime--at present we can't. 2001-11-10 00:40:40 +00:00
Bryce Denney
d9bde38f33 - on win32 in some configurations, code within an assert is completely
removed!  I used this trick sometimes to check that a function returned
  what I expected, like assert (func () == 0), but this caused the
  func() to never get called.  Oops.
2001-10-07 18:16:01 +00:00
Bryce Denney
49d50d0010 - add another choice when you have action=ask: abort! Calling abort
will dump core, and the core can sometimes be loaded into the debugger
  to give some hints as to what is going on.  This could be especially
  useful when the bochs debugger is off.
- try to do something reasonable when abort() doesn't exist on the system.
2001-10-07 00:35:35 +00:00
Bryce Denney
03c9a235b5 Fixes for bug [ #467530 ] cmd line overrides config interface
- rework the order of initialization with and without the control panel.
  The thing that was bothering me most was the command line options were
  being processed after the user had set everything in the control panel.
  This is clearly not what's expected--the command line options should
  affect the startup defaults of the control panel, but whatever the user
  chooses in the cpanel menus is the final choice.
- if the control panel (config interface) is not wanted, the user can
  put "-nocp" or "-nocontrolpanel" as the FIRST argument on the command
  line.  Also, the "-psn" option which is automatically passed in by
  MacOS X when you doubleclick the application causes the control panel
  to be disabled.  In this case, the order of operations is:
    1. read bochsrc
    2. parse command line options.
- if the control panel is enabled (default), the command line options are
  parsed to provide the startup defaults for the control panel, but the
  control panel settings are the final answer.  So the order is:
    1. parse command line options
    2. run control panel  (if user chooses, he can read bochsrc from menus)
- I haven't tested command line options with the debugger yet.
2001-10-06 22:31:31 +00:00
Bryce Denney
7022f0e250 - clarify message a bit 2001-10-06 08:45:18 +00:00
Bryce Denney
4e22b9a5db - add new log action when debugger is on, which is to continue but
return to the debugger ASAP.
2001-10-06 05:51:34 +00:00
Bryce Denney
daf2a9fb55 - add RCS Id to header of every file. This makes it easier to know what's
going on when someone sends in a modified file.
2001-10-03 13:10:38 +00:00
Bryce Denney
e7f7c0e5d6 - allow --disable-control-panel to work again. Now it actually compiles
and links in the control panel, but just doesn't call it up.
2001-06-21 20:50:30 +00:00
Bryce Denney
b1b56487c1 - turn the last few options into parameters (cmos, loader, random stuff) 2001-06-21 19:57:21 +00:00
Bryce Denney
0742e55fb1 - remove some debug option in parse_raw_bytes 2001-06-21 19:31:19 +00:00
Bryce Denney
1bcdee2301 - add options to the string parameter class that allow it to deal with
raw hex bytes, for the MAC address.
2001-06-21 19:27:05 +00:00
Bryce Denney
8ca273ce73 - converted ne2k and sb16 to new style parameters and control panel,
except for MAC address of the ne2k, which is next.
2001-06-21 18:34:50 +00:00
Bryce Denney
93f5f8e06b - now the memory options menu, interface menu, and disk menu in the
control panel are all implemented as bx_list_c, and look much like
  they did before.
- removed many hardcoded UI functions from control.cc, since the
  much more general "text_ask" methods have replaced them.
- add range checking on integer parameter values.  This exposed several
  cases where my initial value for an integer parameter was not in range.
- cleaned up behavior of get/set methods.  The get/set methods allow the
  handler to override the value that is returned/set, or perform side
  effects.
- the title parameter of a bx_list_c now defaults to the name.
- now bx_param_c fields that used to be private are protected instead
- removed references to bx_any
- moved definition of set_handler from siminterface.h to siminterface.cc.
  I was considering with doing a "set" of the old value when the
  handler is first installed, but that remains commented out.
- BX_BOOT_DISKA and BX_BOOT_DISKC are now 0,1 so that they can correspond
  with the values of a bx_param_enum_c.  For a while they were 0x00 and 0x80
  corresponding to the numbering convention of the bios, but it didn't
  really matter.
2001-06-21 14:37:55 +00:00
Bryce Denney
ec0fbf18bc - convert nearly all bx_options to parameter form. All options that have
been converted into parameters temporarily have the letter "O" appended
  to their name.  I don't want to keep it this way, but it has helped
  in the conversion process because the compiler refuses to compile the
  old uses of the name.  Before I started using the "O" trick, there were
  many bugs like this:   if (bx_options.diskc.present) {...}
  This was legal with the new parameters, but it was testing whether the
  parameter structure had been created, instead of testing the value of
  the present parameter.  Renaming present to Opresent turns this into
  a compile error, which points out the incorrect use of the param.
- the "--disable-control-panel" no longer works, I'm afraid.  I can no
  longer support this and continue progress.
2001-06-20 14:01:39 +00:00
Todd T.Fries
5a53cd50ca fix compile problem with newer gcc (2.95.3 for me) 2001-06-19 14:55:34 +00:00
Bryce Denney
89de2c38aa - now the "memory options" menu is entirely defined using parameter
data structures, see bx_init_options in main.cc.  The implementation
  of this menu and all its choices is 17 lines long, see do_mem_options_menu
  in gui/control.cc.
2001-06-18 14:11:55 +00:00
Bryce Denney
d0f1caa404 - turned rom address and vga rom path into bx_param_c parameters, so that
now the whole "Bochs Memory Options" menu uses new style parameters.
  The next step is to remove the hardcoded stuff that generates and runs
  this menu, and replace it with general menu building code.  All you should
  need to create this menu is the string "Bochs Memory Options", and the
  IDs of the bx_param_c options that should appear on the menu.  The
  bx_param_c structure for each parameter tell what type it is, how to
  display it, constraints on the value, what to do when the parameter
  changes.
2001-06-17 13:50:52 +00:00
Bryce Denney
c3d88c5924 - now ips, mouse_enabled, vga_update_interval, and rom_path are
declared as bx_param_c * types in the bx_options structure.  They are
  initialized in main.cc (bx_init_options) with default values.
  Access to parameters of this type should always be like this:
    bx_options.mouse_enabled->get ();
    bx_options.mouse_enabled->set (newval);
  Eventually I will be transferring all options to this format.
2001-06-16 23:08:32 +00:00
Bryce Denney
8f5bb7419d - now megs, ips, mouse_enabled, vga_update_interval, and rom_path
are using Bryce's experimental parameter structures.
2001-06-16 19:29:59 +00:00
Bryce Denney
945b295c4d - gradually moving toward a set_parameter(param,val) style interface
instead of a set_vga_update_interval(val) style.
2001-06-15 23:52:34 +00:00
Bryce Denney
2827019158 - boot options should say memory options instead! 2001-06-13 15:52:04 +00:00
Bryce Denney
f7cf1325f7 - default for runtime menu was listed wrong 2001-06-13 13:31:53 +00:00
Bryce Denney
3e4694c5b5 - changed "Boot" options menu to "Memory" Options, this seems like a
better name given what the options actually are.
- now runtime menu behaves more like the others: it updates its floppy
  disk image, etc.
- add "ask" as a legal choice for log action
- now runtime menu has both ways of editing log options
2001-06-13 08:14:49 +00:00
Bryce Denney
e6c30ac6e9 - change multiline strings to use "line" "line2" syntax instead of
backslash at the end of each line
2001-06-11 21:03:05 +00:00
Bryce Denney
2d8fabda22 - clean up compiler warnings for gcc 2001-06-11 20:51:15 +00:00
Bryce Denney
19684ead48 - print the event type correctly in control panel (used to assume it was
a panic)
2001-06-11 14:07:54 +00:00
Bryce Denney
a56dedb386 - added a new log action "ask" which sends the log message to the control
panel.  It gives the user the option of continue this time, continue
  and never ask again for this type of log message, or die.
- the communication between control.cc and siminterface.cc is still
  somewhat crude.  I'm trying to implement it so that a network
  protocol based on this interface will be simple.  I'll get this cleaned
  up soon.
2001-06-11 14:03:35 +00:00
Bryce Denney
a97df5a8fa - add some #if's to compile the control panel stuff only when
BX_USE_CONTROL_PANEL is set.  I put the #if...#endif thing around
  the entire file in siminterface.cc and control.cc so that it's safe
  to compile them in either case.
2001-06-11 06:48:37 +00:00
Bryce Denney
985d4b7923 - implemented bx_write_configuration which, for the first time ever,
writes a bochsrc for you.
- since there were two options related to logging, I moved them both
  into a new struct called bx_log_options.  This follows the pattern
  used by other devices.
- in control.cc: removed option 1 from main menu, the one that said
  "Read options from bochsrc.txt."  This was identical to choosing
  the next option, "Read options from..." and only saved you one
  keystroke, so I removed it.
2001-06-11 06:35:18 +00:00
Bryce Denney
16af12a9b3 - a few revisions back, I somehow lost the BX_CPANEL_START_OPTS_DISK
section.  Now it is back.  (This fixes a segfault when you "Disk Options")
2001-06-10 05:30:27 +00:00
Gregory Alexander
43916eb6ad Added config.h and osdep.h to make this compile under cygwin. 2001-06-10 03:53:43 +00:00
Bryce Denney
dffe013ff8 - fix interface menu 2001-06-09 21:29:07 +00:00
Bryce Denney
8e7c2e42f3 - avoid crashes when rom path and vga rom path are null 2001-06-09 21:19:58 +00:00
Bryce Denney
af53a1158e - fixed boot menu in control panel 2001-06-09 21:12:16 +00:00