Commit Graph

3614 Commits

Author SHA1 Message Date
Volker Ruppert
6d0b1d716a - new section "Command line arguments" added
- harddisk mode "growable" renamed to "growing"
2003-08-01 16:09:53 +00:00
Alexander Krisak
3f8e59601c info ivt debugger command with typo fixes from Max Sanzharov and Bryce Denney 2003-08-01 10:14:48 +00:00
Stanislav Shwartsman
1616539667 additional FPU changes 2003-08-01 09:32:33 +00:00
Christophe Bothamy
974d3538a1 - change disk image mode name "growable" to the more accurate "growing" 2003-08-01 01:20:00 +00:00
Stanislav Shwartsman
1f48fc3178 Changed FPU emulation internal variables names to smth more unique 2003-07-31 21:07:38 +00:00
Volker Ruppert
df2d388fa4 - io_len mask fixed and unnecessary io_len checks removed from the remaining
devices except pciusb
2003-07-31 19:51:42 +00:00
Stanislav Shwartsman
eb462724b8 FPU_Info was not implemented, remove it 2003-07-31 18:54:48 +00:00
Stanislav Shwartsman
ec1203bc61 I am going to do complete revision on FPU code.
Reduce complexity of the code for nOw
2003-07-31 17:39:24 +00:00
Volker Ruppert
37f3ea02b0 - new accesss mask must be checked in the i/o read/write register function.
This is necessary for devices with different i/o port masks.
- BX_MAX_IO_DEVICES increased to 30
- io_len mask fixed and unnecessary io_len checks removed in
  * biosdev.cc
  * cmos.cc
  * dma.cc
2003-07-31 15:29:34 +00:00
Volker Ruppert
bcdcf42bdd - io_len mask in i/o register functions implemented (1 = 8bit, 2 = 16bit, 4 = 32bit).
Unallowed cases are now handled in devices.cc and cause a BX_ERROR.
- io_len mask fixed and unnecessary io_len checks removed in
  * devices.cc
  * extfpuirq.cc
  * gameport.cc
  * ne2k.cc
  * pit.cc
  * pit_wrap.cc (i/o register function calls replaced by DEV_* macro calls)
- TODO: implement this in all other devices
2003-07-31 12:04:48 +00:00
Bryce Denney
1d638d67b5 - spell fix 2003-07-30 13:20:46 +00:00
Bryce Denney
dcce1d8bcb - DarkElf (original author) sent a one-char typo fix
- Max Sanzharov sent a different one-char typo fix
2003-07-30 13:14:51 +00:00
Volker Ruppert
c496962184 - the NE2000 driver for MS-DOS writes a 16 bit value to page 0 reg 5. Now the
low-byte is written to this register and the high-byte is ignored.
2003-07-30 10:45:13 +00:00
Volker Ruppert
6723fc80a5 - the shutdown port now works if the debugger is enabled, too 2003-07-29 18:17:33 +00:00
Volker Ruppert
99a7d850b3 - byte writes to the first register of an ATA channel are ignored now (BX_PANIC
replaced by BX_ERROR)
2003-07-29 16:08:54 +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
Bryce Denney
604e40ed37 - Bryce received this patch on 2003-07-28 2003-07-28 20:21:48 +00:00
Volker Ruppert
451ab1a4e1 - read/write access to the ports 0x03f6 and 0x03f7 no longer causes a panic
if all ATA channels are disabled (fixes SF bug #741433)
2003-07-28 18:52:14 +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
2ab3440a0a - function getlevel() fixed (limit set to N_LOGLEV) 2003-07-28 13:55:20 +00:00
Volker Ruppert
4a4e90d96e - missing #if BX_SUPPORT_VBE added in i/o write handler 2003-07-27 17:50:43 +00:00
Stanislav Shwartsman
405e8d996e C++ style comments are not legal in pure C 2003-07-25 11:44:06 +00:00
Stanislav Shwartsman
7e29d16e97 Fixed a problem in patch 64bit address in FPU 2003-07-25 09:16:26 +00:00
Stanislav Shwartsman
9f82d7d3e6 Removed already committed patch.highmem
Applied FPU 64but addressing patch
I am starting to work on FPU code so I need the patch committed,
it looks ok and nobody still not complained ;)
2003-07-25 08:59:46 +00:00
Volker Ruppert
1155b63564 - undocumented feature (???): blinking feature exists in graphics modes, too.
The colors 0..7 appear in high intensity and the colors 8..15 blink using
  low / high intensity. Blinking is not present in Bochs yet. For now, the 3rd
  bit of the attribute will be inverted.
- attribute controller mode control register: only a change of the internal
  palette size bit should force a redraw
- skip screen update if video is disabled
2003-07-19 21:44:37 +00:00
Volker Ruppert
687b8281cc - these attribute controller registers now force a redraw: mode control, color
plane enable and color select
- a screen update is necessary after updating the charmap
- lots of missing parentheses added (found after disabling VGA_TRACE_FEATURE)
- BX_DEBUG and BX_INFO messages improved
2003-07-18 18:31:50 +00:00
Volker Ruppert
7d4260ae35 - list of changes and applied patches added 2003-07-18 15:52:05 +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
Stanislav Shwartsman
432235546f Changes by me for 2.1 2003-07-17 16:35:09 +00:00
Volker Ruppert
950ebedb0f - these file are no longer necessary (patches applied to the main code) 2003-07-17 15:51:32 +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
Bryce Denney
7c338ddfe2 - add template for list of changes for 2.1. Developers, please write about
what you have added since 2.0.2.
2003-07-17 12:55:44 +00:00
Volker Ruppert
592d7a7207 - a palette entry change must force a redraw in VBE mode, too
- update function: the 'for' loop now initializes and increments the variables
  xti and yti
- VBE: banked writes are now ignored in LFB mode, LFB writes are ignored in
  banked mode (based on SF patch #742782)
2003-07-17 07:55:56 +00:00
Volker Ruppert
a016eff261 - VBE LFB flag added
- VBE set bank now ignored in LFB mode
2003-07-16 17:56:25 +00:00
Volker Ruppert
a44917df00 - VGA font section is obsolete now (remark added)
- VESA/VBE references updated
2003-07-16 12:49:52 +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
4e63eca16c - vbe_mem_write(): offset calculation fixed
- calculation of the VBE virtual height for >8bpp fixed
- visible screen size must be recalculated after changing the virtual width
- modify standard VGA register when enabling a VBE mode (some test applications
  expect this behaviour)
- BX_INFO messages in the VBE code fixed
2003-07-15 13:05:20 +00:00
Volker Ruppert
e895145ef8 - wx resource problem in plugin mode on win32 fixed. Windows supports only one
resource section and we had two binary resource files if both wx and win32
  are enabled. Now we have only one binary file with all resources.
2003-07-13 23:30:55 +00:00
Volker Ruppert
7bf059fcea - function put_scancode() removed. It is no longer necessary, since all display
libraries are now using DEV_kbd_gen_scancode() to send key events to the
  emulated keyboard.
- argument name of DEV_kbd_gen_scancode() renamed to 'key'
2003-07-13 19:51:21 +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
032d2aae78 - removed obsolete functions pluginRegisterDevice() and bx_load_plugins() 2003-07-10 20:26:05 +00:00
Volker Ruppert
6a07c1eb5a - BX_ERROR added: change of the config interface to wx not implemented yet 2003-07-10 19:13:28 +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
b0da735fd8 - check for socket() in wsock32 removed (it doesn't work this way) 2003-07-06 11:46:31 +00:00
Volker Ruppert
69d8b791f4 - detection of the socket function (used by RFB) fixed for the win32 target 2003-07-06 09:00:36 +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
125e3479e6 - fixes for cross-compilation (building win32 binary on linux)
* configure.in: readline check is only necessary if the debugger is enabled
    (patch from Jeroen Janssen)
  * iodev/Makefile.in: dependencies updated after adding gameport device
2003-07-05 05:31:40 +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
cc4708c348 - a dimension update after enabling a VBE mode is only necessary for modes >4bpp
- don't clear the VBE memory if the new flag VBE_DISPI_NOCLEARMEM is set
- vbe_bpp_multiplier for the 4bpp mode set to 1 (usually unused, but this value is save)
2003-07-01 16:07:59 +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
dd63cc8ebc - removed obsolete comment 2003-06-29 17:24:52 +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
Stanislav Shwartsman
d2f0bb7651 Remove old already committed patches.
Add new rombios patch from Bochs-developers mailing list.
2003-06-22 15:09:25 +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
359dce2185 - implementation of the standard PC gameport for the Linux platform
- removed gameport stubs from the SB16 code
- TODO: bochsrc option for the joystick device, implement joystick access for
  other platforms
2003-06-21 12:55:19 +00:00
Volker Ruppert
52aaefacf5 - device plugin name fixed 2003-06-21 09:52:32 +00:00
Volker Ruppert
816cbee29b - BX_PANIC and BX_ERROR message improved 2003-06-20 16:28:00 +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
Stanislav Shwartsman
96984cb6cb Added missed fetchdecode table entry for SYSENTER/SYSEXIT 2003-06-20 08:58:12 +00:00
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
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
Christophe Bothamy
b0a4684072 - regen from configure.in rev1.205 2003-05-04 12:59:19 +00:00
Christophe Bothamy
f4d1882c74 - fix double definition of eth_tap.o in iodev/Makefile
(this was reported by Volker, bug was introduced when
  tap support for FreeBSD was added)
2003-05-04 12:57:16 +00:00
Christophe Bothamy
768902a199 - fix cvs update problem 2003-05-03 16:39:35 +00:00
Christophe Bothamy
f43d2fe3e9 - backport of the BRANCH_HARDDISK_MODES to the main branch.
You can now choose for each disk on the ata interfaces the
  disk mode, between :
    - flat : one file flat layout
    - concat : multiple files layout
    - external : developer's specific, through a C++ class
    - dll : developer's specific, through a DLL
    - sparse : stackable, commitable, rollbackable
    - vmware3 : vmware3 disk support
    - undoable : flat file with commitable redolog
    - growable : growing file
    - volatile : flat file with volatile redolog
    - z-undoable : gziped flat file with commitable redolog
    - z-volatile : gziped flat file with volatile redolog
  A new "bxcommit" utility can merge commitable redologs to
  flat images.
2003-05-03 16:37:18 +00:00
Christophe Bothamy
b3d16a48ef - apply another speedup patch from Conn Clark.
Notes from the author:
Here is another one of my speed up patches. Unlike my previous speedups
this one will help more platforms than just X86. It cleans up the Data
Xfer instructions. Since the Data Xfer instructions are the most often
executed instructions it gives a noticable boost in speed. The basic
optimization technique was to eliminate intermediate variables and pass
a pointer to the final destination or original source to the
read_virtual_whatever and the write_virtual_whatever functions.
2003-05-03 16:19:07 +00:00
Volker Ruppert
b937905a97 - dotclock/2 switch implemented - stored in new variable 'x_dotclockdiv2'.
If set, the screen size will be horizontally doubled in CGA and standard
  VGA modes.
- doublescan feature for CGA mode 320x200x4 added
- removed trailing spaces in VBE update code
2003-05-03 16:09:39 +00:00
Christophe Bothamy
839471f551 - removing patch since the changes are in the cvs 2003-05-03 14:43:41 +00:00
Volker Ruppert
8850cbf768 - removed BX_CPP_AttrRegparmN() from the i/o read handler. The read access
failed with this optimization. I guess the reason for the failure is the
  void* argument.
2003-05-03 07:41:27 +00:00
Volker Ruppert
f37b0e734a - new Belgian keymap from Wouter Verhelst 2003-05-02 22:19:05 +00:00
Volker Ruppert
191a87603d - some parts of this patch are now applied to the main code and removed here. 2003-05-02 17:30:00 +00:00
Volker Ruppert
5c38c04fb4 - fixed possible segmentation fault in parse_line_formatted(): cause a PARSE_ERR
if a bochsrc option comes without a parameter.
- comment handling in parse_line_formatted() no longer needed
2003-05-02 16:19:26 +00:00
Volker Ruppert
79b811f23f - fixed warnings in these files:
cpu/fetchdecode.cc
  cpu/mmx.cc
  cpu/proc_ctrl.cc
  iodev/virt_timer.cc
  plugin.cc
2003-05-02 12:22:48 +00:00
Volker Ruppert
3411535a8b - 'split screen' feature for standard VGA 16-color modes implemented
* new variables 'line_compare' and 'vertical_display_end' depend on CRT
    register values
  * implemented 'split screen' in functions update() and mem_write()
- mem_write(): CGA section: unnecessary variable 'isEven' removed
2003-05-02 07:32:06 +00:00
Volker Ruppert
8b22768895 - applied some speed optimizations in mem_write() from patch.vga-mode2-speed-dohzono 2003-05-01 12:07:27 +00:00
Volker Ruppert
d02c729791 - removed variable 'scan_bits' and added new variable 'line_offset'. It specifies
the address offset between two lines on the screen in all VGA modes.
  It depends on the CRTC offset register value and the address mode (byte, word,
  dword)
- moved screen update code to the end of the write handler. If a register change
  should force a redraw of the screen, the variable 'needs_update' must be set
  to 1.
- changes to the attribute controller palette index register now force a redraw
  of the screen
- modeX: calculation of the tile numbers fixed
2003-04-28 18:15:31 +00:00
Christophe Bothamy
21cd7a9e73 - regen from configure.in rev1.203 2003-04-28 13:09:39 +00:00
Christophe Bothamy
f8d2f7b701 - define execute_script function only when tap or tuntap is used
- add wait.h to fix compile problems
- output log info through ne2k device
2003-04-28 13:01:09 +00:00
Christophe Bothamy
b2e98b3372 - add comments where fixes are needed for other BSDs 2003-04-28 12:58:21 +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
c76480076a - update Win98 install procedures (patch from Dirk Thierbach) 2003-04-28 12:26:01 +00:00
Volker Ruppert
b1324da2e1 - function mem_read() rewritten
* check memory mapping before everything else
  * read mode 1 optimized using a part of patch.vga-mode2-speed-dohzono
- function mem_write(): check memory mapping before everything else
- writes to the CRT registers are handled only if the new value differs
- a CRT start address change forces a redraw of the screen
2003-04-27 09:13:47 +00:00
Volker Ruppert
e79aa992af - emulated CGA graphics mode 160x100x16 colors implemented using the text mode
with 100 rows and a char height of 4
- raster operations AND, OR and XOR in write mode 2 implemented (part of patch #707931)
- use the vga_tile_updated array in modeX like other modes do
- small optimizations in the graphics update code
2003-04-26 16:43:22 +00:00
Christophe Bothamy
18e2900f02 - merge and move execute_script functions to eth.cc 2003-04-26 14:48:45 +00:00
Christophe Bothamy
ffb9fcf69e - fix ne2k to work with grub. The remote-DMA check defaults to a safe
value instead of silently rejecting it. (patch from Keir Fraser)
2003-04-26 14:07:58 +00:00
Christophe Bothamy
6313f55758 - add Ronald Klop comments about tap under FeeeBSD 2003-04-26 13:51:11 +00:00
Christophe Bothamy
52eda3dbec - enable tap for FreeBSD (patch by Ronald Klop and Gen Otsuji) 2003-04-26 13:31:23 +00:00
Christophe Bothamy
83b8bbedff - fix REX MOVB immediate for x86_64 (patch by Arnd Bergmann)
(bug [ 720776 ] REX MOVB immediate broken for x86_64)
2003-04-26 10:02:03 +00:00
Christophe Bothamy
a6dd6deaf5 - apply patch from James E. Flemer:
I've got a game that uses OPL2 functions.  It's still not
working yet, but this patch brings it closer.  Using Jeffrey S.
Lee's "Programming the AdLib/Sound Blaster FM Music Chips (Ver
2.0)"[1] as a reference, I found an inversion of the OPL timer
masks in the sb16 code.  Without this patch, the emulator uses
the wrong bits for masking, and completely botches the flags
register (note the bitwise AND vs OR).
2003-04-25 23:32:55 +00:00
Christophe Bothamy
b5562fc8ee - compile rombios rev1.93 2003-04-25 22:15:30 +00:00
Christophe Bothamy
d112043348 - fix int15 function e801 (get memory size) 2003-04-25 22:13:24 +00:00
Christophe Bothamy
ce9893f540 - add coherency checks 2003-04-25 22:06:27 +00:00