Commit Graph

2947 Commits

Author SHA1 Message Date
Bryce Denney
dcc6d6038a - we forgot to initialize trace_reg and kill_bochs_request to 0. 2002-11-19 05:52:52 +00:00
Bryce Denney
97f911d1fe - when VC++ sees local variables in a for statement, it doesn't think
that they go out of scope at the end, so it complains about duplicate
  definitions.
2002-11-19 05:51:52 +00:00
Bryce Denney
ae2abb8c0d - this patch has been applied now, deleting 2002-11-19 05:48:18 +00:00
Bryce Denney
0a7cb3a43c - apply patch.ifdef-disabled-options. Comments from that patch are below:
For a whole lot of configure options, I put #if...#endif around code that
  is specific to the option, even in files which are normally only compiled
  when the option is on.  This allows me to create a MS Visual C++ 6.0
  workspace that supports many of these options.  The workspace will basically
  compile every file all the time, but the code for disabled options will
  be commented out by the #if...#endif.

  This may one day lead to simplification of the Makefiles and configure
  scripts, but for the moment I'm leaving Makefiles and configure scripts
  alone.

  Affected options:
    BX_SUPPORT_APIC (cpu/apic.cc)
    BX_SUPPORT_X86_64 (cpu/*64.cc)
    BX_DEBUGGER (debug/*)
    BX_DISASM (disasm/*)
    BX_WITH_nameofgui (gui/*)
    BX_SUPPORT_CDROM (iodev/cdrom.cc)
    BX_NE2K_SUPPORT (iodev/eth*.cc, iodev/ne2k.cc)
    BX_SUPPORT_APIC (iodev/ioapic.cc)
    BX_IODEBUG_SUPPORT (iodev/iodebug.cc)
    BX_PCI_SUPPORT (iodev/pci*.cc)
    BX_SUPPORT_SB16 (iodev/sb*.cc)

Modified Files:
  cpu/apic.cc cpu/arith64.cc cpu/ctrl_xfer64.cc
  cpu/data_xfer64.cc cpu/fetchdecode64.cc cpu/logical64.cc
  cpu/mult64.cc cpu/resolve64.cc cpu/shift64.cc cpu/stack64.cc
  debug/Makefile.in debug/crc.cc debug/dbg_main.cc debug/lexer.l
  debug/linux.cc debug/parser.c debug/parser.y
  disasm/dis_decode.cc disasm/dis_groups.cc gui/amigaos.cc
  gui/beos.cc gui/carbon.cc gui/macintosh.cc gui/rfb.cc
  gui/sdl.cc gui/term.cc gui/win32.cc gui/wx.cc gui/wxdialog.cc
  gui/wxmain.cc gui/x.cc iodev/cdrom.cc iodev/eth.cc
  iodev/eth_arpback.cc iodev/eth_fbsd.cc iodev/eth_linux.cc
  iodev/eth_null.cc iodev/eth_packetmaker.cc iodev/eth_tap.cc
  iodev/eth_tuntap.cc iodev/eth_win32.cc iodev/ioapic.cc
  iodev/iodebug.cc iodev/ne2k.cc iodev/pci.cc iodev/pci2isa.cc
  iodev/sb16.cc iodev/soundlnx.cc iodev/soundwin.cc
2002-11-19 05:47:45 +00:00
Bryce Denney
b9d6cb1aca - add various source files to the project so that it works with
".conf.everything"
2002-11-19 05:43:22 +00:00
Bryce Denney
37621495f8 - add a .conf file for testing, that enables just about every option 2002-11-19 04:55:32 +00:00
Bryce Denney
a3ad3c21e2 - if the font is already there, do not restart the font server. Shap says
reports that on some Linux systems, once you restart the font server
  you have to restart X as well.  At least with this change it only happens
  once, not every time you install.
2002-11-18 19:30:34 +00:00
Bryce Denney
90d42947e4 Detailed description:
For a whole lot of configure options, I put #if...#endif around code that
is specific to the option, even in files which are normally only compiled
when the option is on.  This allows me to create a MS Visual C++ 6.0
workspace that supports many of these options.  The workspace will basically
compile every file all the time, but the code for disabled options will
be commented out by the #if...#endif.

This may one day lead to simplification of the Makefiles and configure
scripts, but for the moment I'm leaving them alone.

More details inside the file itself.
2002-11-18 19:13:23 +00:00
Bryce Denney
d9eaf5c7d8 - eip is no longer in bx_cpu. Now we must call get_EIP() accessor instead. 2002-11-18 17:27:40 +00:00
Volker Ruppert
35c2be5518 - changed ne2k presence options from "valid" to "present" 2002-11-18 17:16:07 +00:00
Bryce Denney
c07684021c - fix obvious bug in macintosh gui code caused by search and replace
gone wrong.  It said "bx_amigaos_gui_c" instead of "bx_macintosh_gui_c".
  I wish somebody would test this!
2002-11-18 16:42:57 +00:00
David Guarneri
4a23c1b464 Added "Soundblaster 16 Emulation" from the sound.html file in the old docs. Made good use of emphasis tags and listitem tags. Also embedded sections (one level). It looks nice. Just need to add a couple of tables. 2002-11-18 07:40:50 +00:00
Bryce Denney
b161509c56 - put wxT() around every string constant that gets passed into wxWindows.
This turns the string into a multibyte char * if necessary.  It becomes
  important if wxWindows is compiled with unicode support.
2002-11-18 02:40:31 +00:00
Bryce Denney
ab6cb49693 - this fixes bug #638600: need default plugin search path
- configure script adds -DBX_PLUGIN_PATH="${plugdir}" to CFLAGS/CXXFLAGS
  in the Makefile.
- in main.cc, if plugins enabled and the environment variable LTDL_LIBRARY_PATH
  is not set, then it gets set to the value supplied by BX_PLUGIN_PATH.

Modified Files:
  main.cc Makefile.in configure.in config.h.in configure
2002-11-18 02:32:53 +00:00
Volker Ruppert
cde5737dc5 - the names of the object files for the lowlevel network support are now stored
in NETLOW_OBJS. The value of NE2K_OBJS is now 'ne2k.o' if ne2k support is
  enabled. These changes are necessary before converting the ne2k to a plugin.
2002-11-17 12:49:46 +00:00
Bryce Denney
70b69a2a64 - if cmd line is empty, don't touch array index 1 with "*(last_nonspace+1)"
- argc was returning the wrong number of args.  Now I treat null and space
  the same way, except that null causes the loop to exit.
- change "extern "C" int WinMain" to "int WINAPI WinMain".
- in WinMain pause for the user to read the screen before making it disappear.
  This is very useful when there was an error during startup because otherwise
  you can't read it.  However we'll probably want to disable it when the
  user actually asked for Bochs to quit.
2002-11-16 22:50:51 +00:00
Bryce Denney
3ad052c23a - minor fix to compile in VC++ 2002-11-16 22:44:09 +00:00
Bryce Denney
108d2c44b8 - in gui: change control.cpp to textconfig.cpp
- in cpu: add sse.cpp and sse2.cpp
- change settings to point to wxWindows 2.3.3 in preprocessor, linker, and
  resource settings.
2002-11-16 22:42:19 +00:00
Bryce Denney
d3c734f3be - apply patch from Volker, who says:
> Dlltool creates a useless file called 'mingwex'.
  > I think the first dlltool call should only contain bochs object files and
  > no link options or external libraries.
2002-11-16 17:56:05 +00:00
Bryce Denney
cb1d6121b2 - this should fix bug #635223: VGA tiles array access out of bounds.
For years we have been writing beyond the end of this array in the VGA code:
    bx_bool  vga_tile_updated[BX_NUM_X_TILES][BX_NUM_Y_TILES];
  and doing who-know-how-much damage to other memory structures in the process.
  I changed every reference to vga_tile_updated[][] into calls to two macros
  GET_TILE_UPDATED and SET_TILE_UPDATED, and defined the macros to check
  the bounds of the array before referencing it.  At first I used an
  assert, then a panic, then an error, and now I'm not printing any message
  at all because there were thousands and thousands of messages during
  a boot of win95 when it's updating the win95 logo screen.
- I couldn't resist cleaning up a few confusing-looking things like
  "if (condition) { // }".  There are no functional changes except for
  bounds checking on the vga_tile_updated array.
2002-11-16 15:43:13 +00:00
Bryce Denney
17e7f6c2eb - add configure test for -lmingwex, which is needed on newer cygwin systems
for opendir(), readdir() and closedir() used in ltdl.c.
2002-11-16 13:43:41 +00:00
Bryce Denney
53e9cc60e9 - remove GUI_LINK_OPTS from the dlltool line. The dlltool line only really
needs to include the .o's and .a's that are part of the Bochs source code
  so that it can create a list of Bochs symbols that need to be exported.
  I started out using the same list as the link line, but dlltool
  doesn't accept all the same options as the link such as -I and -L.
2002-11-16 12:55:09 +00:00
Volker Ruppert
68a7e67d1b - fixed the names of the gui dll plugins (bx_*.dll) 2002-11-16 10:44:27 +00:00
Volker Ruppert
26c9b55bc2 - the SB16 plugin dll needs the link option -lwinmm
- BX_PLUGGABLE must be defined in soundwin.cc
2002-11-16 10:29:57 +00:00
Bryce Denney
2b1982bb3a - fix yet another creative spelling of "library" 2002-11-15 22:56:37 +00:00
Christophe Bothamy
e8880cf9b3 - fix compiling with --enable-pci --enable-debugger 2002-11-15 22:11:24 +00:00
Bryce Denney
34f8d7e447 - there are 2 definitions of main. I moved the "normal" one to the top so that
it's easier to find.  The other one is for wxWindows on win32 only.
- for wxWindows on win32, I added a function called RedirectIOToConsole() from
  an article in the Windows Developers Journal that creates a console window
  and sets up stdin,stdout,stderr to operate on the console.  This works,
  except for a console freezing problem that I described on the mailing list
  earlier today.
- Once it is working better, we may want to use the WinMain definition for
  other types of compiles on win32, and maybe even for all win32 compiles.  In
  particular when we compile with SDL we should create a console window too.
- comment out some debug output from the command line parser, add \n's in
  a few places.  (I'm using stderr instead of BX_PANIC because I don't think
  the logging system is ready to be used at this early stage.)
2002-11-15 18:53:52 +00:00
Bryce Denney
515ffa8ecc - add BOCHSAPI_CYGONLY to insert DLL export tags in places that only Cygwin
wants them.
- modified: bochs.h config.h.in gui/siminterface.h
2002-11-15 18:31:55 +00:00
Bryce Denney
adb6e17ffa - after plugin conversion, the global variable "bx_sb16" doesn't exist
anymore.  Point to the new global symbol for the sb16.
2002-11-15 18:29:19 +00:00
Bryce Denney
a188b157de - change Bit64u sectors to a Bit64s, to avoid VC++ compile error.
It says it can't convert a 64 bit unsigned to a double.  Hmm.
2002-11-15 18:14:08 +00:00
Bryce Denney
add9107dae - add BOCHSAPI to bxICache_c 2002-11-15 18:12:04 +00:00
Bryce Denney
983b8f0962 - the #define of off_t to "long" was causing problems when compiling
textconfig.cc.  I can't quite explain why it wasn't a problem before,
  but it's certainly a problem now.  In fact VC++ does define off_t, so
  I removed the #define entirely.
2002-11-15 18:11:40 +00:00
Bryce Denney
5744c1cb90 - include "ltdl.h" with quotes, instead of <ltdl.h> with <>'s. It's
supposed to be a local header file, not a system header file.
2002-11-15 18:09:37 +00:00
Bryce Denney
94cf7eff9a - add --enable-optimizations, so that release binaries will be compiled
with Kevin's speedups
2002-11-15 18:07:54 +00:00
Bryce Denney
ea5472d7c8 - update VC++ workspace. renamed gui/control.cc to textconfig.cc,
added cpu/sse*.cc, etc.
2002-11-15 18:01:51 +00:00
Stanislav Shwartsman
3217759a75 Implemented
PSHUFLW_VqWqIb, PSHUFHW_VqWqIb instructions
2002-11-15 17:34:47 +00:00
Stanislav Shwartsman
da8a2a71b1 Fixed bug PSHUFW instruction 2002-11-15 17:02:06 +00:00
Bryce Denney
1ef126611f - update test form so that it mentions current versions! 2002-11-15 16:44:15 +00:00
Bryce Denney
9022439b17 - fix spelling of "library" 2002-11-15 16:14:01 +00:00
Stanislav Shwartsman
62e362afc2 just typo 2002-11-15 15:55:36 +00:00
Stanislav Shwartsman
34dd74fe6c Fixed BUG in PMADDWD instruction 2002-11-15 15:51:12 +00:00
Stanislav Shwartsman
189f64b533 SSE2 shifts uses as count only low 64 bits of XMM register/mem128 2002-11-15 14:48:24 +00:00
Bryce Denney
3f07ce86d6 - change startup behavior so that if you don't type any command line args,
the bochsrc is loaded by default.
- if you asked for quick start, but the config file could not be loaded,
  print a warning "Switching off quick start, because no configuration file
  was found".
- now the behavior looks like this:
  . no command line arg (most common)
    -> .bochsrc is loaded
      -> if found defaults to "5. Begin simulation"
      -> if not found defaults to "2. Read options from..."
  . command line arg -q (user want to quick start from .bochsrc)
    -> .bochsrc is loaded
      -> if found, run the simulation
      -> if not found defaults to "2. Read options from..."
  . command line arg -f (user specifies which conf file to load)
    -> conf file is loaded
      -> if found defaults to "5. Begin simulation"
      -> if not found, print error message on console:
	  >>PANIC<< reading from bochsrc2.txt failed
  . command line arg -qf (user want to quick start from a conf file)
    -> conf file is loaded
      -> if found, run the simulation
      -> if not found, print error message on console:
	  >>PANIC<< reading from other failed
  . after selection of "2. Read options from..."
    -> defaults to "5. Begin simulation"
  . if user wants to create a new conf file:
    -> run bochs with no args
    -> .bochsrc is loaded by default
    -> choose 1. Restore factory default configuration
    -> default is changed to "3. Edit options"
- See bug #625696 "text config menu: default can be wrong" for
  more discussion of this issue.
2002-11-15 14:47:58 +00:00
Bryce Denney
7cb3c606fe - when you reset the options, change the default to Edit Options 2002-11-15 14:38:57 +00:00
Stanislav Shwartsman
d4426dc60b More bugfix in SSE 2002-11-15 14:33:44 +00:00
Bryce Denney
4e3d70d613 - if user chooses "Restore factory default configuration" then print a
message saying what it has done.
2002-11-15 13:26:15 +00:00
Bryce Denney
1bd7226b6f - change definition of BX_QUICK_START and friends into an enum, and
add more detailed comments about what they do.
2002-11-15 13:22:06 +00:00
Stanislav Shwartsman
88ce9917e6 Replace BX_PANIC to BX_INFO for FXSAVE/FXRSTOR instruction
because their is required for booting Windows with SSE enabled.
2002-11-15 13:10:06 +00:00
Stanislav Shwartsman
121de7d960 Fixed bug with decoding of Group15 2002-11-15 13:05:19 +00:00
Stanislav Shwartsman
ccbc8e0ef7 MOVAPS/MOVAPD have a different exceptions 2002-11-15 12:44:39 +00:00