Commit Graph

103 Commits

Author SHA1 Message Date
Volker Ruppert
a8bfc2d2bf - fixed memory leaks 2006-04-14 13:27:17 +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
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
626149f6f2 - fixes for gcc 4.0 (grabbed from Debian unstable) 2006-01-17 17:15:29 +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
a398c1be2a - ask dialog changes
* added word wrap to a second line for large messages
  * dialog dimensions changed
  * default button changed to "quit"
2005-10-28 17:17:34 +00:00
Volker Ruppert
3658399a4a - maximum length of user shortcut string set to 20
- old-style user shortcut detection fixed
- bx_param_string_c value needs one byte more space for the final null character
2005-10-22 08:07:53 +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
cab7d939de - simple "ask" dialog for the X11 gui implemented based on the override ask patch 2005-10-16 13:11:38 +00:00
Stanislav Shwartsman
3a1bee370f Merge IDLE_HACK fix by h.johansson. Fixes the bug IDLE_HACK floods console with error messages reported by ci-dev 2005-07-04 18:08:36 +00:00
Volker Ruppert
8380541a8f - replacing uint* types by Bit*u types since they are identical (BeOS code untouched) 2005-06-26 10:54:49 +00:00
Stanislav Shwartsman
d112bd5eb6 Change BOCHS_WINDOW_NAME 2005-04-29 19:06:24 +00:00
Volker Ruppert
be03140315 - space for bx_status_info_text was too small 2005-02-27 16:55:34 +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
975cd53fa5 - vbe update code now uses the new graphics API
- old update code removed from display libraries sdl, wx and x
- wx.cc: fixed a warning
2004-11-06 17:03:44 +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
654ad2db94 - text mode split screen feature now present in display library x
- variable 'dimension_y' now used to store the vertical vga screen size
- text_update(): changed some variable types and names
2004-04-11 10:58:09 +00:00
Volker Ruppert
3d85db14cc - width of X font bitmaps is always 9 2004-04-08 18:54:21 +00:00
Volker Ruppert
591c13df7a - fix tilesize at the bottom of the window if necessary (don't erase status bar)
- status bar initialization fixes
2004-02-27 18:42:53 +00:00
Volker Ruppert
d748f22ed0 - new gui function get_capabilities() returns the maximum values for xres, yres
and bpp (done for the x display library)
- new switch VBE_DISPI_GETCAPS. The xres, yres and bpp registers return the gui
  capabilities if enabled.
- VBE_DISPI_ID3 defined
2004-02-22 13:03:02 +00:00
Volker Ruppert
7485fc195c - 3rd mouse button now supported by the x display library
- CTRL key + 3rd (middle) mouse button now toggles the mouse
- status bar text color and item positions changed
- unnecessary comments removed
2004-02-15 19:46:13 +00:00
Volker Ruppert
8fad41734d - statusbar with cdrom, floppy, harddisk and keyboard indicators added 2004-02-12 19:39:13 +00:00
Christophe Bothamy
8ad4cf6056 - add speaker log, pluginSpeaker, and beep_on/off methods in guis 2004-02-01 23:48:57 +00:00
Volker Ruppert
e3478a152d - #if must be used for XPM checks, since BX_HAVE_XPM_H is always defined 2003-08-11 19:27:57 +00:00
Volker Ruppert
06926b75fd - 15 bpp color depth now supported by the x11 display library 2003-07-12 17:29:16 +00:00
Volker Ruppert
11ea37fd34 - small optimizations in function graphics_tile_update()
- bpp value check in function dimension_update() improved
2003-07-03 17:57:42 +00:00
Volker Ruppert
3845a23b55 - support for 16, 24 and 32 bit VBE modes implemented in the vga code and the
X11 display library (vga changes based on a patch from Chistopher Nelson)
- VBE_DISPI_ID2 0xB0C2 defined
2003-06-30 18:53:12 +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
e150fc5aaf - invalidate character at new cursor location before entering the update loop
- additional cursor location and visiblity check no longer necessary
2003-06-15 19:20:06 +00:00
Volker Ruppert
4a3ab96a42 - more accurate emulation of the text cursor if horizontal/vertical pel panning
is active (cursor drawing moved into the update loop)
2003-06-15 08:53:01 +00:00
Volker Ruppert
dd46d0ec71 - configure check for XPM support added
- x.cc uses the old monochrome icon if there's no XPM support present
2003-06-13 16:05:03 +00:00
Volker Ruppert
8c2fdedf8a - horizontal and vertical pel panning in text mode implemented
- invalidate character at previous cursor location before entering the update loop
- variables for previous cursor position renamed
2003-06-11 18:44:45 +00:00
Volker Ruppert
9d36d1287f - text mode window dimension variables renamed to text_cols and text_rows.
The variables are now updated in function dimension_update() and used in
  function text_update()
2003-05-18 18:54:02 +00:00
Volker Ruppert
746b31bfb1 - char width switch feature (8 / 9 pixels) implemented in display libraries wx
and x
- removed unnecessary stuff from x.cc
2003-05-14 16:09:53 +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
846ffa3dba - function text_update() of the display libraries wx and x rewritten and
line offset feature implemented
2003-05-11 08:29:23 +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
Christophe Bothamy
c315867248 - fix black stripes on partial exposes
- headerbar redraw optimizations
  (both changes by Dirk Thierbach)
2003-04-28 12:28:08 +00:00
Christophe Bothamy
7ebce64e8d - exit method does nothing unless specific_init was done 2003-01-30 18:41:00 +00:00
Volker Ruppert
6ff44748da - font size hack in function dimension_update() removed. The X11 window now
appears with the right dimensions. Font sizes other than 16 are working now.
  The maximum font height in text mode is 32.
- the text mode cursor is now drawn with the right colors
2003-01-18 12:05:46 +00:00
Christophe Bothamy
8904c62b90 - add vga charmap change support 2003-01-17 18:16:02 +00:00
Christophe Bothamy
090fb80a35 - apply patch.x11-internal-vgafont
We don't need the vga.pcf font anymore.
  This will save some install troubles to many users.
2003-01-16 21:14:11 +00:00
Volker Ruppert
b78b65b845 - new application icon for the X11 gui using 'icon_bochs.xpm' 2002-12-30 13:17:39 +00:00
Volker Ruppert
51c9c6c83a - bugfix for the textmode colors: the color value is not an index to the DAC
palette - it's an index to the attribute controller palette index.
  The new function get_actl_palette_idx() now returns the real DAC index.
  The guis sdl, wx and x11 are using the new function. TODO: Fix this bug in
  all other guis.
2002-12-28 11:49:17 +00:00
Bryce Denney
586809116b - add explanation to a panic that can happen if you turn on private
colormap in X11 on a 32 bit display.
2002-12-05 19:19:34 +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