Commit Graph

3446 Commits

Author SHA1 Message Date
Volker Ruppert
c846f7cf65 - uploaded patch from Andrew Zabolotny 2003-06-19 07:41:33 +00:00
Volker Ruppert
41ce24c669 - status updated 2003-06-19 07:40:20 +00:00
Volker Ruppert
870c5aa9af - patch updated for current CVS 2003-06-16 20:41:12 +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
Stanislav Shwartsman
58efdfb31f An illegal lock prefix was not checked for instructions without any attributes (i.e. without immediate, modrm or any other additional bytes except prefixes). 2003-06-12 17:01:37 +00:00
Christophe Bothamy
4278963da9 - fix compile problem on win32 2003-06-12 13:33:16 +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
Stanislav Shwartsman
8ee1b70016 Fixed compilation/linking problem 2003-06-11 14:50:09 +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
906b7f8d1c - update(): skip screen update if the vertical retrace is in progress
(using 72 Hz vertical frequency). The vertial retrace phase is often used for
  vga register or memory manipulations to reduce screen flickering.
- update(): check variable vga_mem_updated before everything else
2003-06-10 16:26:19 +00:00
Christophe Bothamy
f7bf4817dd - fix compile problem with gcc 2003-06-10 15:54:52 +00:00
Peter Tattam
0f553c6ad1 This patch corrects a long standing problem with the FPU and 64 bit addresses
running on a 32 bit host.  The problem was that the FPU code uses native pointers to
represent addresses.  The assumption that an emulated address is the same size as a
native pointer breaks down when emulating 64 bit addresses on a 32 bit host.  The
patch replaces the occurrences of such an address with a bx_address type.

Once this patch has been reviewed by other developers, it will be committed to the
main cvs branch.
2003-06-09 01:40:10 +00:00
Volker Ruppert
e75e7a929d - graphics update code rewritten based on patch.vga-mode2-speed-dohzono
(without localized variables)
- start address support for CGA modes added
- start address support for mode 13h completed
- clearing the text snapshot is not necessary after a start address change
  (set needs_update to 1 in graphics mode only)
2003-06-08 16:45:24 +00:00
Volker Ruppert
f56a46f7e4 - fixed a warning 2003-06-08 09:56:19 +00:00
Volker Ruppert
2ef0c43c7d - description of ldtr fixed 2003-06-08 09:55:50 +00:00
Volker Ruppert
a4135fbee8 - a bunch of warnings fixed 2003-06-08 08:21:12 +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
c1f882b0ff - BX_DEBUG messages in functions gen_scancode() and kbd_enQ() improved 2003-06-07 18:41:07 +00:00
Volker Ruppert
4d25b39655 - changes for better MSVC support based on patch #735990
* support for different resource compilers added (rc / windres)
  * bochs must be linked with advapi.lib for registry access
  * optimization flag changed to /Ox
  * symbols BX_HAVE_MKSTEMP, BX_HAVE_SYS_MMAN_H and HAVE_ETHERTAP must be set to 0
  * BX_HAVE_REALTIME_USEC definition fixed for MSVC
  * vmware3.h: definition of COW_Header fixed for MSVC
2003-06-06 19:57:25 +00:00
Volker Ruppert
d1e2ddae5d - maximum resolution without VBE changed to 800x600
- maximum number of text lines changed to 100 (CGA "graphics" mode 160x100)
- size of text snapshot buffer changed to 32k (size of MDA/CGA text memory)
- removed obsolete macro CGA_TEXT_ADDR()
2003-06-05 18:18:14 +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
579a2e6a42 - keyboard reset (0xff) resets the keyboard and 'enable keyboard' (0xf4 )does not 2003-06-02 20:36:30 +00:00
Stanislav Shwartsman
996a6c8562 Removed some patches obsolete or already applied to the main trunk 2003-05-30 09:00:39 +00:00
Stanislav Shwartsman
ccd40d8111 added --eanble-daz configure option 2003-05-30 08:57:25 +00:00
Stanislav Shwartsman
3c00944998 I hope this is the last one ... 2003-05-29 19:44:59 +00:00
Stanislav Shwartsman
56cc6469e3 Ops, missed one ... 2003-05-29 17:19:38 +00:00
Stanislav Shwartsman
f933d604d3 Fixed missed BxLockable for XCHG instruction 2003-05-29 17:15:08 +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
Stanislav Shwartsman
1024cb16ca Fixed denormal problem in fload64_add operation 2003-05-27 20:30:19 +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
Stanislav Shwartsman
b6ff1e6d9d dos2unix for softfloat
fixed denormals handling for MUL/DIV instructions
2003-05-26 19:30:33 +00:00
Stanislav Shwartsman
ab3320c6eb Fixed denormal operand handling for add/sub instructions 2003-05-26 19:00:19 +00:00
Stanislav Shwartsman
0cb847f6d3 Quite different implementation of DAZ feature
Fixed bugs in execution of float64 packed instructions (almost all instructions affected)
2003-05-26 18:06:09 +00:00
Stanislav Shwartsman
c82060a215 Fixed problem with compare unordered and denormals exceptions 2003-05-25 20:18:46 +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
4ccaddc32d - removed obsolete X11 VGA font and it's installation mechanism
* files font/vga.pcf, font/vga.bdf, font/hercules.bdf and font/README removed
  * files install-x11-fonts.in and test-x11-fonts removed
  * font installation mechanism removed from Makefile.in and build/debian/rules
  * configure script updated
2003-05-25 09:48:12 +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
1641a90c3f - .win32_dll_plugin_target still needs $(GUI_LINK_OPTS) since there is some
gui-dependent stuff in main.cc (SDL redefines 'main', win32 console creation
  for SDL and wxMSW).
2003-05-24 23:49:38 +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
f9d3766173 - installation of the vga font for X11 no longer necessary 2003-05-24 15:05:46 +00:00
Volker Ruppert
d78ae11545 - fixed a warning 2003-05-24 15:04:55 +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
fb5d0a939d - hardware reset must be called after initializing everything else (bug found
with valgrind)
2003-05-24 10:50:19 +00:00
Volker Ruppert
7ec7b58eed - adding resources for Bochs with SDL on win32 makes the "ask" dialog work 2003-05-23 17:54:17 +00:00
Volker Ruppert
c71fb2f25a - adding resources for Bochs with SDL on win32 makes the "ask" dialog work 2003-05-23 16:06:42 +00:00
Stanislav Shwartsman
39ab1d18ac Fixed compilation error 2003-05-23 08:49:55 +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
Stanislav Shwartsman
6822fa35a3 regenerate configure script from new configure.in 2003-05-21 16:16:04 +00:00
Stanislav Shwartsman
777e0db06b Fixed cpu.cc compilation error with ICache disabled
Added --enable-3dnow configuration option
2003-05-21 15:48:55 +00:00
Stanislav Shwartsman
140ff2541b Ability to configure x86-64 without 3DNOW 2003-05-21 15:20:51 +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
Gregory Alexander
a510ce56ee Add configurable option to never completely fill the buffer rings.
It's not clear what the correct behavior is in that case, (we
clearly don't currently handle it correctly) so
simply avoiding it is the easiest thing to do.  As such, this
option is ON by default.
2003-05-20 15:01:34 +00:00
Stanislav Shwartsman
04ebd29f92 dos2unix fix 2003-05-19 15:02:47 +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
Stanislav Shwartsman
e5c647ad01 Removed unused some unused functions from softfloat 2003-05-18 03:52:18 +00:00
Stanislav Shwartsman
36a8c8a6ac Compare unordered relation also raises denormal 2003-05-17 18:11:22 +00:00
Stanislav Shwartsman
338e7b4fe2 DAZ support (still under validation) 2003-05-17 17:45:54 +00:00
Stanislav Shwartsman
7e7cbdba6f Bugdfix for pfp compare operation (affected 'greater_than' relation) 2003-05-17 14:49:21 +00:00
Stanislav Shwartsman
09b987a9e8 Denormals support for all SSE instructions 2003-05-17 09:08:18 +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
Stanislav Shwartsman
6fdecf77a1 New dependencies for CPU directory 2003-05-15 18:46:01 +00:00
Stanislav Shwartsman
928e20bd49 Changed some BX_INFO messages to BX_DEBUG 2003-05-15 18:32:27 +00:00
Stanislav Shwartsman
1d45167e5b Merged NEW-INSTRUCTIONS branch 2003-05-15 16:41:17 +00:00
Stanislav Shwartsman
d596a6eb97 C++ style commets // not valid in pure C 2003-05-15 16:19:39 +00:00
Stanislav Shwartsman
337bb3cfae dos2unix changes in commited files 2003-05-15 16:11:29 +00:00
Stanislav Shwartsman
0caff9a002 Commiting FPU bug fixes from Scott Duplichan found using testfloat application 2003-05-15 16:04:27 +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
Christophe Bothamy
5e0e3a4873 - add old text from --enable-split-hd option to harddisk modes "concat" section 2003-05-11 19:27:03 +00:00
Christophe Bothamy
f2e2a1a5ab - update configure options
- update bochsrc options
- add new harddisk "modes" section (still to be completed)
- add DiskExplorer section
- add bxcommit section
2003-05-11 19:00:37 +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
Kevin Lawton
a17d06abcb Optimized the main cpu loop iCache checks to remove a redundant
check.

Commented out a number of instances of invalidate_prefetch_q(),
for branches which do not change CS since the EIP window mechanism
takes care of validating that EIP lands in the current page or not
in the main cpu loop anyways.

Fixed a couple cases (v8086 mode and real mode) of loading CS where
the EIP page window was not invalidated in segment_ctrl_pro.cc.
That may fix some aliasing problems reported before (OS2).
2003-05-10 22:25:55 +00:00
Volker Ruppert
b9a25b15e1 - horizontal and vertical pel panning in text mode implemented
- line offset handling simplified
- calculate textres_x and textres_y after changing the font dimensions
- unnecessary size check in function dimension_update() removed
2003-05-10 17:03:36 +00:00
Volker Ruppert
46d5548439 - modify the horizontal pel panning value of the tm_info structure if a char
width of 9 is enabled. For now, a panning value of 8 must be decremented.
2003-05-10 12:00:58 +00:00
Christophe Bothamy
10e8c46723 - add bxcommit manpage 2003-05-10 09:55:08 +00:00
Volker Ruppert
febaa1c589 - in function text_update():
* line offset support added
  * background color fixed
  * removed unnecessary variables cs_start and cs_end
2003-05-09 16:26:03 +00:00
Volker Ruppert
36959329c5 - more accurate emulation of the horizontal and vertical retrace
ATTENTION: the Elpin VGA BIOS uses a delay of 280 vertical retraces after
  displaying the copyright text
- changes to the horizontal or vertical pel panning registers force a redraw of
  the screen
- screen update problems in text mode fixed
- sort order of the CRT register write cases changed
2003-05-09 15:32:28 +00:00
Christophe Bothamy
091052e199 - reverting to previous revision (xfer8 1.15, xfer16 1.21, xfer32 1.21)
as it breaks AMD64 support.
2003-05-08 17:56:48 +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
Stanislav Shwartsman
d01a789269 Removed disasm patch already committed in CVS
Added two patches from bochs-developers mailing list
2003-05-07 19:12:10 +00:00
Stanislav Shwartsman
8fa3111f3c *** empty log message *** 2003-05-07 07:39:20 +00:00
Christophe Bothamy
f85cb89a32 - new fix for cygwin compilation 2003-05-06 21:53:36 +00:00
Christophe Bothamy
f5976555e5 - fix compilation problems under cygwin reported by Stanislav in the ml 2003-05-06 20:30:21 +00:00
Christophe Bothamy
758b28c9f8 - add mkstemp replacement function and S_I???? defines when not present 2003-05-06 20:28:13 +00:00
Christophe Bothamy
a547dd8703 - regen from configure.in rev1.206 2003-05-06 20:21:23 +00:00
Christophe Bothamy
92c7e0e796 - add check for sys/mman.h 2003-05-06 20:15:31 +00:00
Christophe Bothamy
c7007b9df9 - add definition for bxcommit compile 2003-05-06 17:34:36 +00:00
Volker Ruppert
b6c957a3b2 - behaviour of CRTC reg 0x18 (line compare) fixed
- fixed calculation of the byte offset for standard VGA modes if line compare
  is active
- force a resize of the screen after a change of the display mode (text/graphics)
- mem_write(): skip the rotation of the cpu byte if 'data_rotate' is 0
2003-05-06 17:10:13 +00:00