Commit Graph

201 Commits

Author SHA1 Message Date
Bryce Denney
4c4b39fca3 - add object file for for MacOS X, carbon API 2001-09-26 00:20:19 +00:00
Bryce Denney
55f999327b - use #if BX_WITH_MACOS instead of #ifdef macintosh to distinguish
between MacOS pre-10 and MacOS 10
2001-09-26 00:15:30 +00:00
Bryce Denney
f04e6fe346 - apply VPATH patch from Edouard G. Parmelan, posted to list on September 1 2001-09-14 04:19:08 +00:00
Bryce Denney
1fd43969a2 - commit patch from David Haslam <dch@sirius.clara.co.uk>
submitted to source forge on 2001-08-27.
  [ #455763 ] Cursor trail with DOS Edit/Minix vi
2001-09-11 16:50:59 +00:00
Bryce Denney
c7d44d154b - added missing #define LOG_THIS statement 2001-09-04 14:30:41 +00:00
Todd T.Fries
28885e4973 some INFO->DEBUG/ERROR cleanups 2001-08-31 16:06:32 +00:00
Gregory Alexander
03a2ae5bbd Minor theoretical fix for X. I don't see any benefit, but
it may just be that there are other problems afoot.


 Modified Files:
 	x.cc
2001-08-24 13:50:02 +00:00
Nicholai Benalal
075578621b ok, now the amiga target on cvs is complete 2001-08-16 12:35:52 +00:00
Bryce Denney
72d28e5a87 - add string parameter called screenmode
- put #if BX_USE_AMIGAOS...#endif around fullscreen and screenmode, since
  they only apply to amiga
2001-08-16 02:00:31 +00:00
Bryce Denney
bf286c20ac - configure and makefile changes for AmigaOS port. Now configure
--with-amigaos is allowed and sets up the makefiles correctly.  It
  defines a symbol called BX_WITH_AMIGAOS, which should be used in
  #if..#endif constructs that are specific to amigaos.
- if --enable-cdrom is used with --with-amigaos, the cdrom_amigaos.o
  object file will be added to CDROM_OBJS in the iodev makefile.
2001-08-15 20:33:47 +00:00
Bryce Denney
eb6a85629e - add option called fullscreen, for Nicholai Benalal's amiga port 2001-08-15 20:17:19 +00:00
Bryce Denney
c2df8d4f7d - remove newlines from BX_PANIC and similar statements. it is implied. 2001-08-14 06:48:03 +00:00
Bryce Denney
4ef1f45322 - add amiga gui from Nicholai Benalal <nicholai@chello.se> 2001-08-13 15:32:51 +00:00
Todd T.Fries
a06b031dcf setprefix -> put 2001-06-27 19:16:01 +00:00
Bryce Denney
06fb629d85 - backed out patch.kbd-dieter. The patch appears to work on all XFree86
X servers that I've seen, however on other X servers it makes all
  key mappings into absolute junk.  We need to continue to work on this
  patch to support all X servers and all key maps.
2001-06-25 22:57:27 +00:00
Bryce Denney
602b054d38 - when key pressed, print both the keysym and keycode with BX_DEBUG 2001-06-25 21:28:00 +00:00
Bryce Denney
f6a09136e7 - add left backslash keycode, also suggested by Dieter Mittelmaier 2001-06-25 13:39:10 +00:00
Bryce Denney
c6e98db0fc - commit patches/patch.kbd-dieter by Dieter Mittelmaier
<dieter.mittelmaier@freenet.de> which fixes X11 keyboard mapping
  on German keyboards using Keycodes instead of Keysyms.
  His comments are:
  > I mapped your BX_KEY-defines in gui.h to values from XFree
  > ../keycodes/Xfree86. Keysyms in x.cc would now translated
  > to keycodes. Now I can use german or us keyboard-layout in
  > win95 and all works well.
  > Note: Changing keyboard layout in win95 to en works too
  > Also you must change keyboard setup in win95 to AT-Enhanced 101/102 keyboard
2001-06-25 13:35:51 +00:00
Bryce Denney
fba34be1e7 - added a new method to all GUIs called mouse_enabled_changed_specific,
which notifies them that the mouse_enabled bit has changed.  Now that
  mouse_enabled can be initialized or modified by parameter events in
  addition to GUI events, the guis must be prepared for it.  I have pasted
  empty method definitions into mouse_enabled_changed_specific for all
  guis except for X11, which I did the right way.  The implementation
  of this function must use the argument "val" rather than reading the
  parameter.
2001-06-23 03:18:14 +00:00
Bryce Denney
0bc41bc8ba - now the win32 gui updates bx_options.Omouse_enabled whenever it
goes in/out of mouse capture mode.  This is critical because
  bx_options.Omouse_enabled is used to control whether the mouse
  events are sent into the hardware queue or not (keyboard.cc).
  This is only a partial fix though, because changing the mouse
  enabled setting in the control panel has no effect on the gui.
2001-06-23 01:47:26 +00:00
Bryce Denney
f5a90eb9c6 - VC++ kept me honest about return values... 2001-06-22 13:37:08 +00:00
Bryce Denney
071bcf34c9 - in NMAKE, the .cc.o line is not allowed to depend on anything.
I had added this in an attempt to get the compile dependencies right,
  but I think it didn't work anyway.
2001-06-22 13:20:29 +00:00
Bryce Denney
efa62838bb - add "-nocontrolpanel" command line option. 2001-06-21 21:24:05 +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
c1f2e6d8c4 - added two new bochsrc and control panel options: max_ips and
system_clock_sync
2001-06-21 16:59:56 +00:00
Bryce Denney
80a7541fed - used grep to search for more instances of new bx_options problems that
I have introduced, and fixed a lot.
2001-06-21 14:56:43 +00:00
Bryce Denney
ee2ae90d79 - removed unused functions from siminterface.h and siminterface.cc.
These are obsolete because the bx_options have been changed to
  parameter structures.
2001-06-21 14:55:38 +00:00
Bryce Denney
63398b6ca4 - fixed parameter name change 2001-06-21 14:41:02 +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
12985edb26 setprefix now uses a variable length name as a string for an argument 2001-06-19 21:36:09 +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
a5693c93ab - the get method should not be able to modify the value
- added some comments around the get/set methods
2001-06-19 14:20:24 +00:00
Bryce Denney
f5272645a7 - the max of the loop should be BX_NOTIFY_MAX_ARGS, not NOTIFY_TYPE_STRING 2001-06-19 05:01:46 +00:00
Bryce Denney
8958d64f15 - fix another initialization problem that I believe was causing Greg's
crash in the mouse code.  The particular problem was that init_done
  was never initialized to zero, but it always turned out to be zero
  on my system.  This may explain why it worked for me but crashed
  for him.
2001-06-19 04:55:01 +00:00
Bryce Denney
7f242d27d2 - to allow compile on AIX, I removed parentheses around type name in
the "new" calls.  Changed this:
    new (bx_param_c*)[registry_alloc_size];
  to this:
    new bx_param_c*  [registry_alloc_size];
  in three places
2001-06-18 22:37:46 +00:00
Bryce Denney
181e2d9a45 - forgot to initialize bx_param_string_c::handler before. Thanks to Greg
for narrowing this down.
2001-06-18 22:34:03 +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
c5b355e4bd - add dependency rule so gui directory will actually recompile when
headers are changed
2001-06-16 19:29:07 +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
cee98e0033 - Add special case for power button so that it is always fatal.
a GUI panic.
2001-06-15 18:01:52 +00:00
Bryce Denney
2827019158 - boot options should say memory options instead! 2001-06-13 15:52:04 +00:00
Bryce Denney
073dfe781d - compile with debugger has failed because it continued to call bx_bochs_init
when main.cc no longer had one.  Now compiling with debugger is working
  with the control panel.  To get the control panel, you have to click
  the snapshot button, and to get the debugger, you have to press ^C.
  These should be better integrated (maybe a control panel menu choice
  that jumps into the debugger and a debugger command that starts the
  runtime control panel...)
2001-06-13 13:36:12 +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
42f03956f5 - removed string_list_t which was no longer used, and caused AIX compile
problems.
2001-06-11 20:48:12 +00:00
Bryce Denney
7baabf07e6 - eliminated some compiler warnings 2001-06-11 20:27:23 +00:00
Bryce Denney
845b124240 - iodev.h should be ../iodev/iodev.h 2001-06-11 14:14:30 +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
Bryce Denney
8b7fbca53e - more work on text-mode control panel. Now the control panel starts before
the simulation begins, to give you a chance to choose between bochsrcs,
  choose the boot disk, etc.
2001-06-09 20:01:12 +00:00
Bryce Denney
53a33ecfc6 - need public: before constructor 2001-06-08 18:02:54 +00:00
Bryce Denney
778697a788 - "dummy" is supposed to be the constructor, but when I renamed the
class I forgot to rename dummy.
2001-06-08 18:00:25 +00:00
Bryce Denney
f2af827a63 - add a layer of abstraction between the text-mode control panel in
gui/control.cc and the simulator.  Now all communication between
  the control panel and the rest of bochs goes through an object
  called bx_simulator_interface_c.
2001-06-08 07:20:07 +00:00
Bryce Denney
b26e2fb362 - even if panic is nonfatal, the exit button should still make it quit! 2001-06-08 03:07:51 +00:00
Bryce Denney
ebdfbbe36f - add first attempt at a text mode control panel 2001-06-07 20:42:00 +00:00
Bryce Denney
0cc0bb9c2c - add first attempt at a text mode control panel 2001-06-07 20:31:20 +00:00
Bryce Denney
8c57c0c6cf - disable mouse capture on startup, to avoid confusing the heck out of
new users.
2001-06-04 02:45:28 +00:00
Bryce Denney
86dc440418 - fixed type, BX_EROR -> BX_ERROR 2001-06-02 03:01:01 +00:00
Bryce Denney
8c538a62d2 - added missing LOG_THIS 2001-06-02 02:49:14 +00:00
Bryce Denney
e6496cfce9 - typecast arg3 of pthread_create to the right kind of function pointer 2001-06-01 21:53:18 +00:00
Todd T.Fries
2bbb1ef8eb strip '\n' from BX_{INFO,DEBUG,ERROR,PANIC}
don't need it, moved the output of it into the general io functions.
saves space, as well as removes the confusing output if a '\n' is left off
2001-05-30 18:56:02 +00:00
Bryce Denney
66571b538c - add missing LOG_THIS on main branch 2001-05-26 05:55:44 +00:00
Todd T.Fries
e291dd17d4 demote BX_INFO to BX_ERROR 2001-05-25 22:17:51 +00:00
Todd T.Fries
622031500e reset callback now implemented 2001-05-25 14:21:46 +00:00
Todd T.Fries
aa8081aff3 cleanup output more 2001-05-24 14:08:54 +00:00
Bryce Denney
97d681fb89 - integrated Don Becker's RFB gui, added it as a configure option,
and put it in the docs.
2001-05-24 01:07:09 +00:00
Bryce Denney
0368a3e9cf - imported Don Becker's Bochs-RFB version 0.04a 2001-05-24 00:39:34 +00:00
Bryce Denney
f904071622 - imported Don Becker's Bochs-RFB version 0.03a 2001-05-24 00:38:44 +00:00
Bryce Denney
baf7f19446 - imported Don Becker's Bochs-RFB version 0.02a 2001-05-24 00:37:43 +00:00
Bryce Denney
ebdae63e4d - imported Don Becker's Bochs-RFB version 0.01a 2001-05-24 00:36:27 +00:00
Todd T.Fries
cd01453c9d cleanup output 2001-05-23 19:36:55 +00:00
Bryce Denney
a9b282ece5 - BX_WARN doesn't exist any more! Change them all to BX_INFO. 2001-05-20 03:27:05 +00:00
Bryce Denney
9f5d2075c1 - added missing LOG_THIS 2001-05-20 03:20:11 +00:00
Bryce Denney
c32028ab09 - title of window used to have the old website name in it. 2001-05-18 05:45:01 +00:00
Todd T.Fries
a03763d6ec too many )'s 2001-05-16 17:58:30 +00:00
Todd T.Fries
6a958e88c5 typo, double parens 2001-05-16 17:51:56 +00:00
Todd T.Fries
87e75dca26 forgot a LOG_THIS 2001-05-15 16:09:51 +00:00
Todd T.Fries
bdb89cd364 merge in BRANCH-io-cleanup.
To see the commit logs for this use either cvsweb or
cvs update -r BRANCH-io-cleanup and then 'cvs log' the various files.

In general this provides a generic interface for logging.

logfunctions:: is a class that is inherited by some classes, and also
.   allocated as a standalone global called 'genlog'.  All logging uses
.   one of the ::info(), ::error(), ::ldebug(), ::panic() methods of this
.   class through 'BX_INFO(), BX_ERROR(), BX_DEBUG(), BX_PANIC()' macros
.   respectively.
.
.   An example usage:
.     BX_INFO(("Hello, World!\n"));

iofunctions:: is a class that is allocated once by default, and assigned
as the iofunction of each logfunctions instance.  It is this class that
maintains the file descriptor and other output related code, at this
point using vfprintf().  At some future point, someone may choose to
write a gui 'console' for bochs to which messages would be redirected
simply by assigning a different iofunction class to the various logfunctions
objects.

More cleanup is coming, but this works for now.  If you want to see alot
of debugging output, in main.cc, change onoff[LOGLEV_DEBUG]=0 to =1.

Comments, bugs, flames, to me: todd@fries.net
2001-05-15 14:49:57 +00:00
Bryce Denney
e363f402ca - This implements a solution that lets any GUI take over handling of any
signal.  First, selection of the GUI should cause BX_GUI_SIGHANDLER to
  be defined in config.h.in.  Then, the GUI should define member functions
    Bit32u get_sighandler_mask ();
    void sighandler (int sig);
  The mask function returns a bitfield where one bit corresponds to each
  signal.  For any signal whose bit is set to 1 in the return value of
  get_sighandler_mask, the gui will control that signal.  When the signal
  arrives, bx_gui.sighandler(sig) will be called by bx_signal_handler,
  instead of the default behavior of that signal.
2001-05-08 20:18:04 +00:00
Bryce Denney
d2203e662f - added most of Todd's "term mode" patch. I didn't apply all of the signal
handling part, so I need to figure out how control-C's and control-Z's
  will get mapped into keystrokes.
2001-05-08 19:07:26 +00:00
Bryce Denney
a6fef54678 - update copyright dates to 2001 for all mandrake headers
- for bochs files with other header, replaced with current mandrake header
2001-04-10 02:20:02 +00:00
Bryce Denney
4e04f4cb58 - change all inline declarations to one of two macros: BX_C_INLINE or
BX_CPP_INLINE.  Then in config.h.in you can define these two as you
  wish.
2001-04-10 02:10:09 +00:00
Bryce Denney
4534c19e9e - missing a comma! 2001-04-10 01:47:26 +00:00
cvs
beff63eb32 - entered original Bochs snapshot bochs-2000_0325a.tar.gz from
ftp.bochs.com
2001-04-10 01:04:59 +00:00