Commit Graph

182 Commits

Author SHA1 Message Date
Volker Ruppert
3043e4f169 - removed conflicting win32-specific alarm() functions for the guis 'win32' and
'sdl'. Now both display libraries can be compiled together and used with the
  'show ips' feature. TODO: win32-specific 'show ips' timers for 'rfb' and 'wx'
2009-05-13 17:26:45 +00:00
Stanislav Shwartsman
e7af76b1af fixed compilation in 64-bit native 2009-04-08 06:31:38 +00:00
Volker Ruppert
04990bb856 - created new config interface 'win32config' using the new start menu dialog and
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
2009-03-24 16:28:03 +00:00
Volker Ruppert
9e3dd83e85 - reduce some more dependencies and related Makefile.in updates 2009-02-23 11:06:53 +00:00
Volker Ruppert
e5eac65b59 - removed wrong character from FSF address (converted invisible and useless
2-byte character)
- updated FSF address in some files
- added license to some files
2009-02-08 09:05:52 +00:00
Stanislav Shwartsman
66dc9b4cb1 - updated FSF address 2009-02-07 20:35:39 +00:00
Stanislav Shwartsman
93dd7bfccf Fixed compilation issues with GUI debugger enabled.
- Added configure option to compile in GUI frontend for Bochs internal
    debugger, to enable configure with --enable-debugger-gui option. The GUI
    debugger frontend is enabled by default with Bochs internal debugger.

If needed to compile without GUI debugger (in case of compilation issues) use --disable-debugger-gui
2009-01-12 19:15:35 +00:00
Stanislav Shwartsman
4b4b901436 put bugfix for text split screen mode back 2009-01-09 17:16:03 +00:00
Stanislav Shwartsman
0c79f11259 More fixes toward multiplatform GUI Bochs debugger 2009-01-09 14:53:38 +00:00
Volker Ruppert
67da880ba7 - set up for split screen in text mode if visible only 2008-12-29 08:51:34 +00:00
Stanislav Shwartsman
9b85851b12 Completely replace win32 enh debugger (GUI debugger frontend for Bochs internal dbg)
Used new code by bewing, converging to cross-platform GUI frontend
2008-12-27 12:06:39 +00:00
Stanislav Shwartsman
0df223d363 Merged patch with blinking HDD led in RED color when HDD write occurs (GREEN when HDD read) 2008-10-06 22:00:11 +00:00
Volker Ruppert
16e391187f - fixed missing key release event for the enter key (SF bug #1976171) 2008-06-01 10:56:29 +00:00
Stanislav Shwartsman
8424d2b888 Fixed required to make MSVC build with fastcall optimization (-Gr) healthy.
There is a trick in MSVC is to turn on the -Gr compiler switch which tells MSVC to compile all functions using fastcall calling convention. This way you don't have to edit each function declaration. But certain functions must NOT be fastcall, and those are callbacks from Windows which are defined either as cdecl or stdcall. The entry point main() also has to remain cdecl.
Patch by Darek Mihocka
2008-04-07 20:20:04 +00:00
Stanislav Shwartsman
a459a64f3e whispace, tab2space, indent, dos2unix and other cleanups 2008-02-15 22:05:43 +00:00
Stanislav Shwartsman
55ad3e89b6 another whitespace cleanup by Sebastien 2008-02-05 22:57:43 +00:00
Volker Ruppert
f735ac4f29 - implemented text mode character blinking feature and removed obsolete comments 2008-01-29 17:16:14 +00:00
Volker Ruppert
4fd404b622 - get rid of text_update() parameter 'nrows' (updated remaining guis)
- text mode cursor blinking implemented
2008-01-26 00:00:31 +00:00
Stanislav Shwartsman
17af54cbbb Fixed warning 2007-12-03 20:38:55 +00:00
Volker Ruppert
a2584bd271 - attempt to fix the "Print Screen" key problem
* partial fix for bug #1549873 (SF patch #1766536)
  * added keyword "print" to the userbutton shortcut table
  * FIXME #1: CTRL+PRINT and ALT+PRINT not working in Win98 guest
  * FIXME #2: win32 hosts do not generate the "make" code for "Print Screen"
2007-08-18 08:05:33 +00:00
Volker Ruppert
2ac567e4e2 - implemented fullscreen mode for the special case when the guest resultion is
equal to the Windows desktop size. The hotkey ALT+ENTER can be used to toggle
  the window / fullscreen mode (initial SF patch item #1607793 by John Comeau)
- implemented get_capabilities() method (uses desktop size if valid)
2006-12-05 19:45:56 +00:00
Volker Ruppert
470e8d8309 - reimplemented debugger gui dialog as a modeless dialog
- debug break support for "continue" and "step N" commands
  - debugger message window shows the last 100 lines of debugger output
  - FIXME: tabstops not working in modeless dialog
  - FIXME: debugger window is always on top
  - TODO: cpu register viewer similar to the wx implementation
2006-11-17 16:50:39 +00:00
Volker Ruppert
3063397fd4 - first attempt to implement a debugger gui dialog for win32
- new display library option "windebug" enables the new feature
  - simple dialog box with a command line and a multiline text viever
  - TODO: implement modeless dialog with cpu registers and it should be possible
    to interrupt "continue" and "step N" commands
- win32dialog: fixed function GetBochsWindow()
- textconfig: removed unused save/restore prompt
2006-11-12 10:07:18 +00:00
Volker Ruppert
f3b2b64204 - text mode color handling optimized
- fixed some warnings
- updated comments
2006-10-15 16:23:42 +00:00
Volker Ruppert
c695084794 - improved the workaround of the "AltGr" key on European keyboards (TODO: find
a way to detect whether this key exists or not and skip this code if not)
2006-07-23 11:09:15 +00:00
Volker Ruppert
c47508bdb1 - keyboard and mouse options rewritten to a parameter tree
- siminterface method ask_param() can now handle new-style parameters
- proposed parameter tree updated
2006-02-22 19:18:29 +00:00
Volker Ruppert
d4d4cbf6dd - display and interface options rewritten to a parameter tree
- new enum parameter method get_selected() returns a pointer to the selected string
- proposed parameter tree updated
2006-02-21 21:35:09 +00:00
Volker Ruppert
4ecd8eae70 - show IPS value in a separate field in the status bar (initial patch by sshwarts) 2006-01-27 18:04:49 +00:00
Volker Ruppert
8de434138d - gui tooltip support added (currently used by win32 gui only)
- win32 gui overrides default mouse tooltip setting depending on the configuration
2006-01-25 17:37:22 +00:00
Volker Ruppert
01367548ca - show win32 mouse message for min. 2 seconds when BX_SHOW_IPS is enabled 2006-01-23 21:53:57 +00:00
Volker Ruppert
cf5215b11e - fixed possible hangs of the 'sdl' and 'x' gui on Linux/X11 with BX_SHOW_IPS
- x gui: show mouse toggle message for around 2.5 seconds after a change if
  BX_SHOW_IPS is enabled
- format of the ips value changed to right aligned
2006-01-23 18:34:47 +00:00
Stanislav Shwartsman
1ff08c3d6d Print IPS instead of mIPS to the status bar
Do not create show_ips virtual function if BX_SHOW_IPS is OFF
2006-01-22 18:15:48 +00:00
Volker Ruppert
a0f880b06d - show IPS value in the status bar of the Bochs window (win32 and x11)
- Bochs now compiles with BX_SHOW_IPS enabled on MSVC
2006-01-22 12:31:16 +00:00
Volker Ruppert
8be27bf03d - gui dialog capability flags added to simplify the button handler code 2005-11-12 16:09:55 +00:00
Volker Ruppert
9b4db66efd - rewrite of the win32 dialog handling based on the "overwrite ask" example
- user shortcut dialog string limit fixed
- fixed keyboard focus in user shortcut and cdrom dialog
2005-10-22 11:00:00 +00:00
Volker Ruppert
feb97a65a0 - new gui variable 'user_dialog' indicates the presence of a gui dialog box for
editing the userbutton shortcut before sending it
- simple userbutton shortcut dialog for the X11 gui implemented
- small fixes in the X11 "ask" dialog code
2005-10-21 18:00:17 +00:00
Volker Ruppert
85afaff11d - fixed keycode generation for the right alt/ctrl/shift keys. Windows generates
multiple keypresses when holding down these keys.
2005-10-02 17:37:56 +00:00
Volker Ruppert
5e75dc3a10 - some more warnings in MSVC fixed 2005-06-06 20:14:50 +00:00
Volker Ruppert
fc343985c5 - applied SF patch #1198308: fix incorrect moving mouse cursor when wheel using
on win32
2005-05-11 18:00:02 +00:00
Volker Ruppert
6df7a5135f - applied SF patch #843328: flat style toolbar for the win32 gui
- partial fix for resize problems when moving the Bochs window
  (TODO: resize after moving is complete)
2005-05-08 19:10:21 +00:00
Volker Ruppert
b438da759a - save/redirect the first 3 palette values while using the entries for the RGB mask
in 16 bpp modes
2005-03-23 20:46:52 +00:00
Stanislav Shwartsman
5701f62a42 Fix compiler warnings with -wall 2005-02-03 18:43:23 +00:00
Stanislav Shwartsman
acd1d8f14f Merged patch
[1104695] msvc6 compatibility update (Royce Mitchell III)
2005-01-19 18:21:40 +00:00
Volker Ruppert
afb809a4f9 - enabling the mouse at startup works now
- periodic mouse status update not necessary
2004-12-28 14:38:30 +00:00
Volker Ruppert
1d5eb60ec8 - fixed 'imps2' mouse emulation - wheel data is okay now
- wheel mouse support for the 'x' display library added
2004-12-06 21:12:11 +00:00
Volker Ruppert
202734a5a3 - first attempt to implement a wheel mouse (PS/2 or serial) based on patch
#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
2004-12-05 20:23:39 +00:00
Volker Ruppert
b5c7ab5880 - fixed BX_INFO for win32 specific options 2004-08-22 16:22:09 +00:00
Volker Ruppert
0b31945d64 - enable/disable mouse capture fixed for a 2-button mouse (part #1 of SF patch #1005422)
- mouse messages for the status bar fixed
2004-08-18 09:03:48 +00:00
Volker Ruppert
98ef1412c3 - new graphics update API implemented (patch from Robin Kay)
Description from the author:
  This API allows framebuffer device plugins to draw directly on to the
  GUI's tile buffer and hence eliminates the need to memcpy(3C) tiles to
  an intermediate buffer. Functions like update_hardware_cursor function
  are rendered unnecessary as framebuffer device plugins can now draw the
  full range of host colours. svga_cirrus will fallback to calling
  graphics_tile_update without a hardware cursor if the GUI doesn't support
  the new API. This patch includes implementations of graphics_tile_info,
  graphics_tile_get, and graphics_tile_update_in_place (the new API) for SDL
  and X11.
- new graphics update API implemented in wx and rfb
- common update functions for guis without support for the new API added (should
  be removed after implementing the new API in all display libraries)
2004-08-15 19:27:15 +00:00
Stanislav Shwartsman
5873b26a82 Speed up compilation process.
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
2004-06-19 15:20:15 +00:00
Volker Ruppert
9b70ffc9ac - text mode split screen feature now present in display library win32
- character height now used when copying the font bitmaps
- text_update(): changed some variable types and names
2004-04-11 08:01:22 +00:00
Stanislav Shwartsman
9512484966 Drop #include "Windows32/CommonFunctions.h" for MINGW compilation,
anyway it just generates compilation error and no more
2004-03-08 05:30:38 +00:00
Volker Ruppert
7f9edd09c8 - convert the display library option string (options separated with commas) to an
array of strings in vga init
- added sdl specific option "fullscreen" (startup in fullscreen mode)
2004-02-24 19:21:48 +00:00
Volker Ruppert
2a4acc61c5 - win32 specific option "legacyF12" added (use F12 to toggle mouse)
- display library specific options now handled in bx_reset_options() and
  bx_write_configuration()
2004-02-23 16:33:52 +00:00
Volker Ruppert
ee5f8e6ed1 - now the mouse can be enabled using the "mouse" toolbar button and the "mouse"
option in the runtime dialog
2004-02-16 21:47:08 +00:00
Volker Ruppert
ee8d40c11d - CTRL key + 3rd (middle) mouse button now toggles the mouse (F12 key is now
usable in the guest OS)
- problem with the modifier keys and the win32 key repeat feature fixed
- unnecessary comments removed
2004-02-15 11:30:28 +00:00
Volker Ruppert
5d2376d93d - 3rd mouse button now supported by the win32 display library 2004-02-15 00:03:16 +00:00
Volker Ruppert
9f1baf9fe3 - force an update of the status bar after resizing 2004-02-13 15:56:05 +00:00
Volker Ruppert
d78f3da836 - win32 statusbar now shows active items with light green background
- harddisk/cdrom status light feature prepared
2004-02-08 18:38:26 +00:00
Volker Ruppert
107c109d04 - win32 statusbar now shows all inactive items grayed
- update floppy items in statusbar on status change only
- initialize statusbar and set all items inactive before the simulation starts
2004-02-08 10:25:50 +00:00
Volker Ruppert
f5c165e32a - statusbar items for floppy and keyboard added (win32 gui only). TODO: implement
statusbar in other display libraries and add items for harddisk/cdrom and network.
2004-02-07 14:34:35 +00:00
Volker Ruppert
360caceb6f - stretching of the simulation window in graphics mode disabled. For now stretching
is only used by text mode CO40 (40x25).
- variables hFont and FontId are only required if Windows fonts are used in text mode
2003-12-14 09:51:58 +00:00
Volker Ruppert
bc19ad6c26 - applied patch #838401: fixed redrawing of toolbar if the host environment is
at high load
2003-11-14 15:43:12 +00:00
Volker Ruppert
b034b7f331 - applied patch #834962: dimension update to the same size but different bpp
now works on win32
2003-11-05 17:25:29 +00:00
Volker Ruppert
d179cd7fdb - applied patch #830079: fixed bochs's application error if unsupported key
pressed and added supported keys that was already assigned BX_KEY_xxx code
2003-10-25 17:37:58 +00:00
Stanislav Shwartsman
a9a7fa3ed6 Fixed status bar position bug 2003-10-25 11:57:42 +00:00
Stanislav Shwartsman
ac20b6405a - FXSAVE/FXRSTOR instructions should be available in P6 mode
- Added second UD2 opcode to fetchdecode
- Added RDPMC instruction to fetchdecode
- 'changes' updated
2003-10-24 18:34:16 +00:00
Volker Ruppert
23285d87ac - statusbar at the bottom of the simulation window added
- mouse enable/disable messages moved to the new statusbar
2003-10-19 08:24:12 +00:00
Volker Ruppert
110ecb526b - initialize the MemoryBitmap using bx_gui->clear_screen()
- if the stretch factor is 1 the function BitBlt() now repaints the screen
- the function show_headerbar() now adjusts the screen sizes if necessary
2003-09-17 19:47:41 +00:00
Volker Ruppert
e38fadb2c8 - 15 bpp color depth now working with the win32 gui on Win NT/2000/XP, too 2003-07-11 15:11:24 +00:00
Volker Ruppert
80a4a7e39f - 16 bpp color depth now working with the win32 gui 2003-06-30 21:24:09 +00:00
Volker Ruppert
43d5bef9ed - preparing all display libraries (guis) to support graphics modes > 8bpp
(based on a patch from Christopher Nelson <paradox@BBHC.ORG>)
  * the win32 gui changes the bitmap settings using the bpp argument
  * added stubs for all guis except win32
  * descriptions of function dimension_update() updated
2003-06-28 08:04:31 +00:00
Volker Ruppert
88942a0e9b - text_update(): two different update loops created (with and without windows
font usage)
- horizontal and vertical pel panning in text mode implemented (without windows
  fonts only)
- separate bitmap for the textmode cursor no longer necessary
- text_update(): unused variable new_start removed
2003-06-22 12:37:03 +00:00
Volker Ruppert
7bb4a940fd - new symbol BX_USE_WINDOWS_FONTS controls the usage of fixed Windows fonts at
compile time. The old version used this fonts for char heights smaller 14.
  If the Windows fonts are enabled, the font heights 12, 14 and 16 are used.
  These features are not available in that case:
    * charmap change
    * char width switch 8/9
    * horizontal and vertical pel panning
  If the Windows fonts are disabled, the changeable guest font is used and all
  implemented features are available. This is the default setting.
  TODO: implement horizontal and vertical pel panning
  FIXME: Should we add a bochsrc option to control the font usage?
- invalidate character at previous and new cursor location before entering the
  update loop
- cursor drawing moved into the update loop
- variables for previous cursor position renamed
2003-06-20 10:36:46 +00:00
Volker Ruppert
4648144972 - function dimension_update() calculates the number of visible rows and columns
in text mode. The new variables 'text_rows' and 'text_cols' are used in the
  text_update() function.
- desriptions of the functions text_update() and dimension_update() updated
2003-05-28 19:08:32 +00:00
Volker Ruppert
49fcc6a9c7 - text_update(): calculation of visible text columns fixed
- text_update(): font bitmap update optimized
2003-05-13 20:38:35 +00:00
Volker Ruppert
2e9f9f4929 - char width switch feature (8 / 9 pixels) implemented in display library win32.
If the font height is smaller than 14, a Windows font with a fixed width of
  8 is used (minimum height 12).
2003-05-13 18:44:23 +00:00
Volker Ruppert
1db6fa2367 - function text_update() of the display library win32 rewritten and
line offset feature implemented
2003-05-12 19:53:22 +00:00
Volker Ruppert
3a788ddcf4 - char width switch feature (8 / 9 pixels) prepared for all display libraries
and implemented in SDL
  * sequencer controller register 0x01 bit 0 controls the width of the characters.
    This value is used to calculate the screen width.
  * attribute controller register 0x10 bit 2 controls the appearance of graphics
    characters (ASCII 0xC0 - 0cDF). A change of this value forces a charmap update
    to rebuild the font bitmaps.
  * the SDL display library uses the new feature described above
  * the other display libraries recalculate the screen width, since they are using
    a fixed font width of 8 for now.
- VGA: attribute controller register 0x10 bit 2 (enable_line_graphics) does not
  switch the palatte in CGA mode
2003-05-11 15:07:54 +00:00
Volker Ruppert
5ab9786871 - function text_update() prepared for new features. New structure
'bx_vga_tminfo_t' replaces variable 'cursor_state'.
2003-05-07 19:15:47 +00:00
Volker Ruppert
475a5af179 - disable IME for the simulation window (needed the Japanese versions of Windows)
- vertical stretching feature removed (replaced by the VGA doublescan feature).
  Horizontal stretching is still required for the text mode 40x25
2003-05-04 16:03:23 +00:00
Volker Ruppert
7cdea60d53 - key event handling of the win32 gui fixed. Now the function
DEV_kbd_gen_scancode() is called instead of DEV_kbd_put_scancode(). This
  change enables the support for different scancode sets. The win32 scancodes
  are now converted to bx_key values.
2003-02-17 19:08:12 +00:00
Volker Ruppert
31a4a389a1 - dimension_update(): the toolbar window must be resized too (important for
SVGA and VBE graphics modes)
2003-01-02 09:49:48 +00:00
Volker Ruppert
4078aba5f0 - replaced window register call RegisterClassEx() by RegisterClass(). This fixes
the icon problem on Win2000. RegisterClassEx() would be required if we want
  to specify a special mini icon.
- the win32 gui now uses the new function/macro DEV_vga_actl_pal_idx() to
  determine the text mode colors.
2002-12-29 18:39:21 +00:00
Volker Ruppert
ef8a7b1dc6 - new application icon for the win32 gui using 'bochs.ico' 2002-12-26 18:24:41 +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
cec9135e9f - Apply patch.replace-Boolean rev 1.3. Every "Boolean" is now changed to a
"bx_bool" which is always defined as Bit32u on all platforms.  In Carbon
  specific code, Boolean is still used because the Carbon header files
  define it to unsigned char.
- this fixes bug [ 623152 ] MacOSX: Triple Exception Booting win95.
  The bug was that some code in Bochs depends on Boolean to be a
  32 bit value.  (This should be fixed, but I don't know all the places
  where it needs to be fixed yet.)  Because Carbon defined Boolean as
  an unsigned char, Bochs just followed along and used the unsigned char
  definition to avoid compile problems.  This exposed the dependency
  on 32 bit Boolean on MacOS X only and led to major simulation problems,
  that could only be reproduced and debugged on that platform.
- On the mailing list we debated whether to make all Booleans into "bool" or
  our own type.  I chose bx_bool for several reasons.
  1. Unlike C++'s bool, we can guarantee that bx_bool is the same size on all
     platforms, which makes it much less likely to have more platform-specific
     simulation differences in the future.  (I spent hours on a borrowed
     MacOSX machine chasing bug 618388 before discovering that different sized
     Booleans were the problem, and I don't want to repeat that.)
  2. We still have at least one dependency on 32 bit Booleans which must be
     fixed some time, but I don't want to risk introducing new bugs into the
     simulation just before the 2.0 release.

Modified Files:
    bochs.h config.h.in gdbstub.cc logio.cc main.cc pc_system.cc
    pc_system.h plugin.cc plugin.h bios/rombios.c cpu/apic.cc
    cpu/arith16.cc cpu/arith32.cc cpu/arith64.cc cpu/arith8.cc
    cpu/cpu.cc cpu/cpu.h cpu/ctrl_xfer16.cc cpu/ctrl_xfer32.cc
    cpu/ctrl_xfer64.cc cpu/data_xfer16.cc cpu/data_xfer32.cc
    cpu/data_xfer64.cc cpu/debugstuff.cc cpu/exception.cc
    cpu/fetchdecode.cc cpu/flag_ctrl_pro.cc cpu/init.cc
    cpu/io_pro.cc cpu/lazy_flags.cc cpu/lazy_flags.h cpu/mult16.cc
    cpu/mult32.cc cpu/mult64.cc cpu/mult8.cc cpu/paging.cc
    cpu/proc_ctrl.cc cpu/segment_ctrl_pro.cc cpu/stack_pro.cc
    cpu/tasking.cc debug/dbg_main.cc debug/debug.h debug/sim2.cc
    disasm/dis_decode.cc disasm/disasm.h doc/docbook/Makefile
    docs-html/cosimulation.html fpu/wmFPUemu_glue.cc
    gui/amigaos.cc gui/beos.cc gui/carbon.cc gui/gui.cc gui/gui.h
    gui/keymap.cc gui/keymap.h gui/macintosh.cc gui/nogui.cc
    gui/rfb.cc gui/sdl.cc gui/siminterface.cc gui/siminterface.h
    gui/term.cc gui/win32.cc gui/wx.cc gui/wxmain.cc gui/wxmain.h
    gui/x.cc instrument/example0/instrument.cc
    instrument/example0/instrument.h
    instrument/example1/instrument.cc
    instrument/example1/instrument.h
    instrument/stubs/instrument.cc instrument/stubs/instrument.h
    iodev/cdrom.cc iodev/cdrom.h iodev/cdrom_osx.cc iodev/cmos.cc
    iodev/devices.cc iodev/dma.cc iodev/dma.h iodev/eth_arpback.cc
    iodev/eth_packetmaker.cc iodev/eth_packetmaker.h
    iodev/floppy.cc iodev/floppy.h iodev/guest2host.h
    iodev/harddrv.cc iodev/harddrv.h iodev/ioapic.cc
    iodev/ioapic.h iodev/iodebug.cc iodev/iodev.h
    iodev/keyboard.cc iodev/keyboard.h iodev/ne2k.h
    iodev/parallel.h iodev/pci.cc iodev/pci.h iodev/pic.h
    iodev/pit.cc iodev/pit.h iodev/pit_wrap.cc iodev/pit_wrap.h
    iodev/sb16.cc iodev/sb16.h iodev/serial.cc iodev/serial.h
    iodev/vga.cc iodev/vga.h memory/memory.h memory/misc_mem.cc
2002-10-25 11:44:41 +00:00
Bryce Denney
5e520261db Add plugin support to Bochs by merging all the changes from the
BRANCH_PLUGINS branch!

Authors:
  Bryce Denney
  Christophe Bothamy
  Kevin Lawton (we grabbed a lot of plugin code from plex86)
Testing help from:
  Volker Ruppert
  Don Becker (Psyon)
  Jeremy Parsons (Br'fin)

The change log is too long to paste in here.  To read the change log, do
  cvs log patches/patch.final-from-BRANCH_PLUGINS.gz

All the changes and a detailed description are contained in a patch
called patch.final-from-BRANCH_PLUGINS.gz.  To look at the complete
patch, do
  cvs upd -r1.1 patches/patch.final-from-BRANCH_PLUGINS.gz

Then you will have a local copy of the patch, which you can gunzip and
play with however you want.

Modified Files:
    .bochsrc Makefile.in aclocal.m4 bochs.h config.h.in configure
    configure.in gdbstub.cc logio.cc main.cc pc_system.cc
    pc_system.h state_file.h bios/Makefile.in bios/rombios.c
    cpu/Makefile.in cpu/access.cc cpu/apic.cc cpu/arith16.cc
    cpu/arith32.cc cpu/arith8.cc cpu/cpu.cc cpu/cpu.h
    cpu/ctrl_xfer32.cc cpu/exception.cc cpu/fetchdecode.cc
    cpu/fetchdecode64.cc cpu/flag_ctrl.cc cpu/flag_ctrl_pro.cc
    cpu/init.cc cpu/io.cc cpu/logical16.cc cpu/logical32.cc
    cpu/logical8.cc cpu/paging.cc cpu/proc_ctrl.cc
    cpu/protect_ctrl.cc cpu/segment_ctrl_pro.cc cpu/shift16.cc
    cpu/shift32.cc cpu/stack64.cc cpu/string.cc cpu/tasking.cc
    debug/Makefile.in debug/dbg_main.cc disasm/Makefile.in
    doc/docbook/user/user.dbk dynamic/Makefile.in fpu/Makefile.in
    gui/Makefile.in gui/amigaos.cc gui/beos.cc gui/carbon.cc
    gui/control.cc gui/control.h gui/gui.cc gui/gui.h
    gui/keymap.cc gui/keymap.h gui/macintosh.cc gui/nogui.cc
    gui/rfb.cc gui/sdl.cc gui/sdlkeys.h gui/siminterface.cc
    gui/siminterface.h gui/term.cc gui/win32.cc gui/wx.cc
    gui/wxdialog.cc gui/wxdialog.h gui/wxmain.cc gui/wxmain.h
    gui/x.cc gui/keymaps/sdl-pc-de.map gui/keymaps/sdl-pc-us.map
    gui/keymaps/x11-pc-de.map instrument/example0/instrument.h
    instrument/example1/instrument.h
    instrument/stubs/instrument.cc instrument/stubs/instrument.h
    iodev/Makefile.in iodev/biosdev.cc iodev/biosdev.h
    iodev/cdrom.cc iodev/cmos.cc iodev/cmos.h iodev/devices.cc
    iodev/dma.cc iodev/dma.h iodev/eth_fbsd.cc iodev/eth_linux.cc
    iodev/eth_null.cc iodev/eth_tap.cc iodev/floppy.cc
    iodev/floppy.h iodev/guest2host.cc iodev/guest2host.h
    iodev/harddrv.cc iodev/harddrv.h iodev/iodebug.cc
    iodev/iodebug.h iodev/iodev.h iodev/keyboard.cc
    iodev/keyboard.h iodev/ne2k.cc iodev/ne2k.h iodev/parallel.cc
    iodev/parallel.h iodev/pci.cc iodev/pci.h iodev/pci2isa.cc
    iodev/pci2isa.h iodev/pic.cc iodev/pic.h iodev/pit.cc
    iodev/pit.h iodev/pit_wrap.cc iodev/pit_wrap.h iodev/sb16.cc
    iodev/sb16.h iodev/scancodes.cc iodev/scancodes.h
    iodev/serial.cc iodev/serial.h iodev/slowdown_timer.cc
    iodev/slowdown_timer.h iodev/unmapped.cc iodev/unmapped.h
    iodev/vga.cc iodev/vga.h memory/Makefile.in memory/memory.cc
    memory/memory.h memory/misc_mem.cc misc/bximage.c
    misc/niclist.c
Added Files:
    README-plugins extplugin.h ltdl.c ltdl.h ltdlconf.h.in
    ltmain.sh plugin.cc plugin.h
2002-10-24 21:07:56 +00:00
Volker Ruppert
757823f1ab - force a text screen update after a charmap change 2002-10-04 10:52:44 +00:00
Bryce Denney
f54551717e - include <windows.h> in bochs.h whenever WIN32 is defined. This is required
so that windows types can be used in fields, for example in cdrom.h:
    #ifdef WIN32
      HANDLE cdrom_interface::hFile;
    #endif
- since every file includes bochs.h, I removed includes of <windows.h>
  everywhere else
- modified: bochs.h cpu/extdb.cc gui/win32.cc gui/wx.cc iodev/cdrom.cc
  iodev/eth_win32.cc iodev/floppy.cc
2002-10-03 21:07:04 +00:00
Volker Ruppert
4c4294cc6f - new variable 'charmap_updated', 'charmap_changed' array renamed to
'char_changed'. These variables are currently only used by the win32 gui for
  the update of the font bitmaps. SDL and wxWindows do not use the variables
  since they are using the charmap data directly
- free text snapshot memory when the user has cancelled the dialog
- write text snapshot file in binary mode (disables the LF -> CRLF conversion
  in cygwin)
2002-09-21 19:38:47 +00:00
Volker Ruppert
721f89b77b - forward changes of the active charmap to the gui with the new function
set_text_charbyte()
- vga: store the address of the active charmap in the new variable
  charmap_address
- vga: text mode hack removed. The write modes, operations and masks must be
  used in text mode too.
- sdl: clear_screen() is not necessary when the charmap has changed
- win32: update only the changed font bitmaps before drawing the text
2002-09-19 18:59:50 +00:00
Volker Ruppert
813cc30712 - the win32 gui now uses the vga_charmap data for the vga text display if the
fontheight is >=14
- removed unnecessary GetDC() call in function create_vga_font()
2002-09-08 16:41:19 +00:00
Bryce Denney
17624e7549 - clean up memory usage after bx_gui_c::get_clipboard_text for win32,
X windows, wxWindows.  Each platform has its own way of returning
  a variable length string, and its own rules about how you're supposed
  to dispose of the string.  Now all platforms do the same thing: they
  allocate a Bit8u buffer with C++ "new" and copy the clipboard data in,
  then release the clipboard data in the platform-specific correct way.
  The Bit8u buffer is sent to the keyboard code, which frees it with
  delete [] when finished.
- modified: gui/wx.cc gui/x.cc gui/win32.cc iodev/keyboard.cc
2002-09-05 15:57:37 +00:00
Volker Ruppert
29f5e855cf - mouse functions fixed:
* the captured mouse belongs to the simWnd
  * adding border and caption sizes is not necessary
2002-08-18 08:35:52 +00:00
Volker Ruppert
b50ce295da - DrawBitmap and DrawChar() now use the system color palette instead of fixed
RGB values
2002-08-12 14:41:42 +00:00
Volker Ruppert
f49fb131b1 - InitCommonControls() must be called before creating the toolbar 2002-08-11 13:01:49 +00:00
Volker Ruppert
112487f7b1 - standard headerbar replaced by a real win32 toolbar using the existing
bitmaps. The bochs window now consists of 3 windows: the main window and
  it's child windows simulation window and toolbar window.
  Changes:
  - new windows "mainWnd" and "simWnd" replace the old "hwnd"
  - moved the functions of the old window procedure to the new ones
  - toolbar functions added in create_bitmap(), headerbar_bitmap() and
    replace_bitmap()
  - function show_headerbar() no longer needed (must be present for
    compatibility)
  - a few variables for the headerbar changed or removed
  - bitmap and headerbar variables now initialized in specific_init()
2002-08-10 15:23:30 +00:00
Volker Ruppert
7ebffde233 - buxfixes in function terminateEmul():
- delete the headerbar bitmaps
  - delete the cursor bitmap only if present
  - set the log action for the log level "panic" to "fatal"
2002-08-09 20:25:02 +00:00
Volker Ruppert
462871fd3a - Improvements for dimension_update() in text mode and text_update()
- The emulated vga card issues a dimension_update() using the real
    screen dimensions and the real font height.

  - The gui selects a font with the requested height or it recalculates
    the screen height if the font height is not available.

  - The text_update() function uses a new variable 'ncols' instead of the
    fixed value of 80 for the number of text columns.

  I have tested the changes with X11/Linux, SDL, wxGTK and win32. The changes
  in the other guis are not tested yet.
2002-04-20 07:19:35 +00:00