(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
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.
(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)
* 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
* 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
- 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()
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
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)
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