Commit Graph

689 Commits

Author SHA1 Message Date
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
Daniel Gimpelevich
219269b08b Fixed problem where gui code was writing to nonexistent memory on host.
Carbon gui now compatible with VBE.
TODO: support for pixel depths != 8
2003-11-02 04:05:02 +00:00
Volker Ruppert
f46ff184f6 - applied patch #724466 (libtool needs --mode=compile and --mode=link to work
without warnings)
2003-10-26 10:00:20 +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
78f99bdd72 - replaced hardcoded ask dialog return values by enum values (already defined in
siminterface.h)
2003-10-24 15:39:57 +00:00
Volker Ruppert
e5fc2e06d9 - dimension_update(): unnecessary size check removed
- fixed some warnings
2003-10-19 17:23:25 +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
428c5209b5 - fixed 2 warnings 2003-10-11 10:43:52 +00:00
Volker Ruppert
3268858f2c - workaround for a bug in the win32 isspace() function. Some special characters
are detected as spaces (Bochs panics when parsing the keymap file). This problem
  doesn't appear when argument is unsigned.
2003-10-11 10:43:24 +00:00
Daniel Gimpelevich
6e68a4e232 *** empty log message *** 2003-10-03 20:58:23 +00:00
Volker Ruppert
f3942a424b - HandleAskParamString(): show the default filename in the open/save dialog box 2003-09-19 17:04:45 +00:00
Volker Ruppert
f68e9b1ce9 - the floppy device type now appears in the win32 floppy dialog box (read-only) 2003-09-18 17:37:46 +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
51bdc30323 - forward declaration of class DebugLogDialog is necessary for wx with debugger
- DebugLogDialog::CheckLogLength(): fixed a warning
2003-09-13 16:49:09 +00:00
Volker Ruppert
a08289a7fa - button "Advanced" removed and description changed 2003-09-09 16:41:25 +00:00
Volker Ruppert
84c1e3ed15 - bx_param_num_c: new flag USE_SPIN_CONTROL controls whether a spin control should
be used instead of a simple text control (implemented in wx)
- the new flag USE_SPIN_CONTROL is used by the memory size and the irq parameters
- special bx_list_c for the "Other options" menu in the wx configuration added
2003-09-05 22:07:54 +00:00
Volker Ruppert
3d341c9776 - MemoryConfigDialog replaced by a new one based on ParamDialog
- ParamDialog: border size of all dialog items set to 2
- labels for the memory parameters added
2003-09-04 16:58:27 +00:00
Volker Ruppert
ec7067b72a - wx.o does not depend on wxdialog.h 2003-09-03 20:28:15 +00:00
Volker Ruppert
e7e5f1b518 - bx_param_c: formerly unused member 'runtime_param' now indicates parameters
available at runtime
- wx: 'runtime' flag added to ParamDialog. If this flag is set, all options
  with the flag 'runtime_param' clear will be disabled.
- only the runtime options for cdrom's are now enabled in the ATA dialogs at runtime
- the options 'keyboard paste delay', 'mouse' and 'vga update interval' are now
  available at runtime
- wxdialog.h: unnecessary comments removed
2003-09-02 19:34:48 +00:00
Volker Ruppert
f6c70e5add - new function "Create Image" added in the floppy dialog (grabbed from wxdialog.cc)
- parameter for owner window added to function AskFilename()
2003-09-01 17:47:57 +00:00
Volker Ruppert
0540946030 - the floppy dialog now uses the label for the "browse" dialog if it exists 2003-08-31 17:12:20 +00:00
Volker Ruppert
a0bb1e0b5c - bx_list_c::text_print() now uses a comma and a space as the parameter separator
if the flag SERIES_ASK is set
- bx_param_enum_c::text_print(): use the value already stored in variable 'choice'
2003-08-31 08:34:29 +00:00
Volker Ruppert
dc5fe76ecc - ParamDialog: the parameter description is now used for tooltips 2003-08-30 17:58:30 +00:00
Volker Ruppert
0903de7acd - floppy dialog now uses get_label() for the window title. If no label exists,
get_name() is used.
2003-08-30 17:13:06 +00:00
Volker Ruppert
3d28df0b78 - new methods set_label() and get_label() for text menus and gui dialogs
- ParamDialog now uses get_label() instead of get_ask_format()
2003-08-30 11:21:56 +00:00
Volker Ruppert
29a1f1a0f8 - OnShowKeyboard(): don't show the dialog if the simulation isn't running 2003-08-30 11:21:29 +00:00
Volker Ruppert
c2ea352a04 - cmos image option moved to the "Other options" dialog (cmos dialog removed)
- disable the items "Configuration interface" and "Display library" for now.
  The config interface "wx" is already active and a change is not supported yet.
2003-08-29 18:57:40 +00:00
Volker Ruppert
7a3a6efe63 - ParamDialog::EnableChanged(): EnumChanged() must be called if the parameter
type is BXT_PARAM_ENUM
2003-08-28 20:04:22 +00:00
Christophe Bothamy
a6f0158745 - add possibility to have both sync method active at the same time 2003-08-26 20:24:36 +00:00
Volker Ruppert
6f9bd7fe9c - ParamDialog: missing range check for numerical parameters added
- the message boxes are now centered in the parent dialog box
2003-08-26 17:25:26 +00:00
Volker Ruppert
5972db38f7 - new keyboard options menu
- default output of bx_param_enum_c::text_print() fixed
- unused stuff removed
2003-08-25 18:36:09 +00:00
Volker Ruppert
ca60988fd9 - wx: NetConfigDialog replaced by a new version using ParamDialog
- parameter for the ethernet module must be of type bx_param_enum_c, since we
  have a list of valid modules
2003-08-25 16:46:18 +00:00
Volker Ruppert
63e67d7bcc - ParamDialog: support for bx_param_string_c::RAW_BYTES added (grabbed from textconfig.cc)
- bx_param_string_c: new methods get_separator() and get_maxsize()
2003-08-25 15:21:19 +00:00
Volker Ruppert
d29016ff20 - loader hack definitions moved from bochs.h to siminterface.h
- ParamDialog::EnumChanged(): hard disk mode item added, loader hack stuff added
- dependent_list for the ne2k options added
2003-08-24 10:08:49 +00:00
Volker Ruppert
b78c910e8f - obsolete harddisk and cdrom dialogs removed
- wx.cc must not include wxdialog.h
2003-08-23 17:53:27 +00:00
Volker Ruppert
be5bd5dca4 - wx: most of the config dialogs are now generated from a parameter list
- new bx_list_c for keyboard options (used in wx, TODO in textconfig)
- new flag USE_BOX_TITLE controls the usage of the list name for the group box label
- wxdialog.cc: unused variable removed
2003-08-23 15:28:06 +00:00
Volker Ruppert
855af72c8a - win32dialog now uses always the parameter name for dialog titles and lables
- siminterface: ask_filename() uses the prompt for the parameter name
- wx: missing title of the CMOS dialog added
- floppy path parameter names changed (used by win32config)
- user shortcut parameter description added
2003-08-23 09:52:26 +00:00
Volker Ruppert
7d1e4138fa - the boot dialog box and the message boxes are now centered in the Bochs main window 2003-08-23 05:34:40 +00:00
Christophe Bothamy
62a7867e19 - add fixes for wx kindly suggested by Volker 2003-08-22 16:52:38 +00:00
Christophe Bothamy
4942684e51 - remove unused "split" disk mode
- fix value displayed in wx for clock.time0 parameter
2003-08-22 01:00:58 +00:00
Volker Ruppert
bc58b6ca15 - function OnEditCmos(): parameter BXP_CMOS_TIME0 changed to BXP_CLOCK_TIME0
- function OnEditSpeed(): parameter BXP_REALTIME_PIT changed to BXP_CLOCK_SYNC
2003-08-21 18:26:18 +00:00
Christophe Bothamy
e555765d75 - add a "clock: sync=[none|slowdown|realtime], time0=[timeValue|local|utc]"
- pit: and time0: options are still supported but deprecated
- warn when parsing deprecated directives
- fix wrong number of ata_device_translation_names
- still to do:
  - setting time0 to utc is not yet supported
  - the man page, user guide and .bochsrc still need to be updated
    with the new options
2003-08-19 00:10:39 +00:00
Christophe Bothamy
fb171e482a - apply MartinS compile patch for missing function in curses 2003-08-17 23:40:39 +00:00
Christophe Bothamy
52e6645fb6 - fix segfault reported by MartinS in the ml, due to an uninitialized variable 2003-08-17 20:50:11 +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
Christophe Bothamy
1583a2ebb2 - add ATA device parameters access macros
- add handlers called when a parameter is enabled or disabled.
  This is useful for parameter dependent on another, that may
  not wish to be enabled when its father parameter is enabled.
2003-08-09 22:17:38 +00:00
Christophe Bothamy
974d3538a1 - change disk image mode name "growable" to the more accurate "growing" 2003-08-01 01:20:00 +00:00
Bryce Denney
50c023e1b4 - Eric Brasseur sent me a new version which adds XK_bar and XK_bracketright. 2003-07-29 13:31:11 +00:00
Volker Ruppert
0d49a260f2 - function bx_print_log_action_table() improved
* header for column "pass" added
  * devices without a prefix are hidden now
2003-07-28 13:55:53 +00:00
Volker Ruppert
2c64b67679 - runtime configuration and gui dialogs must be disabled if the active display
library is rfb
2003-07-18 15:51:02 +00:00
Volker Ruppert
707004d222 - the floppy handlers now return immediately if the requested floppy device
doesn't exist
2003-07-17 15:49:23 +00:00
Volker Ruppert
0d60d343b3 - simple floppy image dialogbox for win32 added
- references to wx removed from the floppy button handlers (wx doesn't use them)
2003-07-15 21:02:05 +00:00
Volker Ruppert
3f9192d5ce - key event handling of the wx gui on win32 (wxMSW) 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 (partially copied from gui/win32.cc)
2003-07-13 16:31:35 +00:00
Volker Ruppert
b504bdaa42 - 15 bpp color depth now supported by the wx display library 2003-07-12 23:03:06 +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
e073214525 - new function getBXKeyName() returns the name of a BX_KEY symbol
(used by BX_DEBUG message in the keyboard code)
- despription of keymap.cc updated
2003-07-12 08:17:10 +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
5c11b64bdf - support for 15 bpp modes added in the vga code and the sdl display library
- sdl: in function graphics_tile_update() vga_bpp handled in a case structure
2003-07-09 20:15:38 +00:00
Volker Ruppert
68da9fb6e6 - the server waits 30 seconds for a client connection. The simulation starts
after the connect.
- log action for panic set to fatal (the ask menu doesn't work on the client side)
- missing prefix for RFB added
2003-07-06 20:51:05 +00:00
Volker Ruppert
b06ef9c90e - special rule for building the rfb plugin on win32 added 2003-07-06 16:31:05 +00:00
Volker Ruppert
8df8546e5b - charmap change support added
- new text mode features: line offset, cursor size, font height
- key handling rewritten (taken from x.cc)
- headerbar now working
- headerbar colors changed
- graphics modes > 640x480 now cause a BX_PANIC
2003-07-05 16:08:00 +00:00
Volker Ruppert
2834e49ad8 - display library wx now supports 16, 24 and 32 bpp video modes
(wxWindows ignores bit 24..31 in 32bpp modes)
2003-07-04 17:11:37 +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
9005893b22 - display library sdl now supports 16, 24 and 32 bpp video modes 2003-07-02 17:25:50 +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
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
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
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
f217856914 - invalidate character at new cursor location before entering the update loop
- cursor visiblity check fixed
2003-06-15 15:10:45 +00:00
Volker Ruppert
7509e666a5 - horizontal and vertical pel panning in text mode implemented
- invalidate character at previous and new cursor location before entering the
  update loop
- cursor drawing moved into the update loop
- speed optimizations in function DrawBochsBitmap() (malloc/free removed)
- description of function text_update() updated
2003-06-15 10:37:56 +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
e258b32fc2 - more accurate emulation of the text cursor if horizontal pel panning is active 2003-06-15 07:33:06 +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
b9b6b77b13 - invalidate character at previous cursor location before entering the update loop
- type of text dimension variables changed to static unsigned int
2003-06-10 20:22:37 +00:00
Volker Ruppert
d1652093ac - applied some parts of the patch from Andrew Zabolotny <zap@cobra.ru>
* changed all %ll format descriptions to FMT_LL macro so that
    Microsoft Visual C works correctly (it uses %I64)
  * missing type conversions added
  * cdrom.cc: variable types for win32 fixed
  * removed some unused variables in eth_win32.cc and harddrv.cc
  * added missing includes in make_cmos_image.c and niclist.c
2003-06-07 19:16:55 +00:00
Volker Ruppert
28d8b81f61 - text mode cursor enable/disable feature implemented
- text screen dimensions are now stores in the variables 'text_rows' and 'text_cols'
- fixed some warnings
2003-06-04 20:35:28 +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
04ad96b585 - don't wait for the 'enter' key on the win32 console if the user has pressed
the power button or has chosen "kill simulation" in the "ask" dialog
2003-05-27 18:19:13 +00:00
Volker Ruppert
ecfaa5f1b0 - simple text input dialog for the userbutton function on win32 added
- snapshot_handler(): simplified the filedialog call
2003-05-25 18:34:03 +00:00
Volker Ruppert
906ac57dc9 - the text snapshot function now uses the standard save file dialog box on win32
if the config interface is not wx.
2003-05-25 13:35:39 +00:00
Volker Ruppert
20eff580b6 - link options for gui dll plugins fixed
- vmware3.cc: adding missing symbol BX_PLUGGABLE makes bx_harddrv.dll work again
2003-05-25 08:14:04 +00:00
Volker Ruppert
4f2af797b5 - library dependencies in the main bochs binary and the gui plugins fixed.
These changes are based on the SF patch #742670. It did not work with
  plugins disabled.

Here is the descriiption of patch #742670:

the library dependencies (see objdump -p file) in the
main bochs binary and the gui plugins are wrong:

- the gui plugins don't depend on their respective gui
libraries
- the main bochs binary depends on all the gui libraries

this doesn't seem much of a problem, since the needed
libraries are loaded anyway, but it's problematic when
building packages for binary distribution of bochs.

in Debian, the package building tools will set package
dependencies according to the library dependencies of
each file, so the result is:

- the main bochs package depends on all libraries. this
includes libwx, libsdl, libncurses and xlibs.
- the indivudual plugin packages don't depend on any
gui library

so when a user wants to run bochs with the curses gui
and installs the bochs-curses package, he/she will be
forced to install Xfree86, WxWindows and GTK+ on
his/her system.

the attached patch fixes the problem by moving the
linker flags related to GUI libraries to the right
makefile (gui/Makefile.in)
2003-05-24 17:09:26 +00:00
Volker Ruppert
1b2868d4dc - missing initialization of the variable 'charmap_updated' added (bug found
with valgrind)
2003-05-24 10:51:00 +00:00
Volker Ruppert
7edc0948b7 - "ask" dialogbox as an extension of the "textconfig" interface on the win32 platform added 2003-05-21 20:33:24 +00:00
Volker Ruppert
1fef1f354e - 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.
- optimizations in function UpdateScreen()
- desriptions of the functions text_update() and dimension_update() updated
2003-05-20 18:53:00 +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
1f65f19d42 - code cleanup in display library sdl
* renamed variables textres_x and textres_y to text_cols and text_rows
  * use text_rows in function text_update() instead of the function argument
    (unused for now - should be removed)
  * fixed a warning (bochs_icon_bits)
2003-05-18 15:38:58 +00:00
Volker Ruppert
b456772b0f - translation table 'vga_to_term[128]' for the characters 0x80-0xff added
- function get_term_char() rewritten
- text background color fixed
2003-05-18 11:26:02 +00:00
Volker Ruppert
a9fd0d9fdf - type definition of 'bx_vga_tminfo_t' fixed. MSVC doesn't like the other style
of type definition.
2003-05-18 10:44:26 +00:00
Volker Ruppert
30fb8845d4 - function text_update() of the term display library rewritten, line offset and
cursor enable/disable support implemented
- function dimension_update() now calculates the number of visible rows and
  columns in text mode
- draw a border if the physical screen is larger than the bochs text screen
- initialize color pairs only when color support is present
- german umlaut characters added in function get_term_char()
- function get_term_char(): unsupported characters are now replaced by spaces
2003-05-15 19:00:18 +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
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