Commit Graph

99 Commits

Author SHA1 Message Date
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