Commit Graph

13684 Commits

Author SHA1 Message Date
Stanislav Shwartsman
67a9bffb42 updates for CPUID definitions 2024-10-12 18:07:28 +03:00
Stanislav Shwartsman
b5665c39da CMPCCXADD instructions can be executed only in 64-bit mode
configure and compile them only for 64-bit mode as well
2024-10-12 17:22:14 +03:00
Volker Ruppert
ab89d23f06 Cirrus: Don't decrement height if redraw area contiues on the left of the display. 2024-10-06 09:56:10 +02:00
Volker Ruppert
85c58ff450 Cirrus: Modified redraw code added for #221 to fix stack overflow (#358). 2024-10-04 09:22:01 +02:00
Volker Ruppert
9054a9c998 Cirrus PCI: Discard extra bytes at BitBLT writes if necessary (#357). 2024-10-03 19:11:56 +02:00
Volker Ruppert
4a32e42230 Continued work on GTK USB debugger (First step to implement treeview). 2024-10-01 12:09:32 +02:00
Volker Ruppert
3ca671ca80 Banshee/Voodoo3: Added 16 bpp to 32 bpp pixel format conversion
for screen-to-screen bitblt operation (big endian code untested).
2024-09-22 17:05:11 +02:00
Volker Ruppert
e1a160e81e Cirrus: Added support for graphics controller mode extensions in VGA mode.
Now the GD5446 PCI driver and the GD5430 ISA driver work correctly.
Attempt to fix hardware cursor in VGA mode. The specs don't say anything about
this case, but this version works now with 640x480 resolution.
2024-09-21 10:39:27 +02:00
Vort
750548365d
Fix big-endian support in bx_banshee_c::mem_read (#354)
Byte reversing code in commit 52c2fbee5e
uses `8` bit shift, while `3` bit shift should be used instead.

Tested with Debian 7 _([hdd
image](https://people.debian.org/~aurel32/qemu/powerpc/))_ inside of
QEMU PowerPC emulation:


![qemu_bochs_win311_voodoo](https://github.com/user-attachments/assets/097f70b7-95aa-4e4f-857b-53e0c6fdafdf)
2024-09-21 07:49:29 +03:00
Volker Ruppert
52c2fbee5e Banshee / Voodoo3: Added support for mem_read() with length 3.
This should fix Voodoo3 with Windows 3.11 driver.
2024-09-19 20:22:30 +02:00
Volker Ruppert
0fe6799544 Cirrus: Attempt to fix hardware cursor drawing in the VGA case.
NOTE: This doesn't fix the issues with Windows 3.11 driver yet.
Renamed VGA core memsize_mask to vgamem_mask to avoid confusion.
Attempt to fix hardware cursor for indexed host displays.
2024-09-19 19:02:52 +02:00
Volker Ruppert
d4cee9c360 Cirrus: Added 8 bpp display update code for VGA mode with hardware cursor. 2024-09-18 17:19:25 +02:00
Volker Ruppert
ec469aa626 Cirrus: Added display update code for VGA mode with hardware cursor.
TODO: Fixup mem_read / mem_write for this case. The display has some issues
and the cursor pattern is not yet written to memory top.
2024-09-17 20:44:22 +02:00
Volker Ruppert
48824a452b Partly fixed Cirrus PCI issues found with Windows 3.11 driver.
Implemented byte swapping apertures for word and dword in mem_write_handler().
This fixes missing / unreadable text in 8 bpp and 16 bpp modes.
TODO: 4 bpp and 24 bpp issues with this driver.
2024-09-13 18:00:04 +02:00
Volker Ruppert
bfebb17b9d Fixed Voodoo3 issue found with Diablo II game (#349).
If front and back buffer addresses are identical, 'video_changed' flag must be set.
2024-09-11 16:29:40 +02:00
Volker Ruppert
f5e3dd9dce Added JSR and RET functions to CMDFIFO (Voodoo2/Banshee/Voodoo3). 2024-09-08 20:52:40 +02:00
Volker Ruppert
79c820e7b1 win32 gui: fixed dimension_update() for 15 bpp modes. 2024-09-08 07:01:26 +02:00
Volker Ruppert
9c57f1d211 Banshee / Voodoo3: Attempt to fix issue #337.
Use real resolution to perform address wrap check.
2024-09-05 12:50:29 +02:00
Stanislav Shwartsman
ea8d06b97e update msrs.def to avoid Windows boot dealing with these MSRs 2024-09-01 23:00:08 +03:00
Stanislav Shwartsman
5d2d4220b7 fixed err message format string 2024-09-01 22:33:11 +03:00
Stanislav Shwartsman
de278480fa XSAVEC/XSAVES: Fixed corruption of MXCSR/x87 state by SSE state save in XSAVEC/XSAVES instructions (bug introduced in release 2.8)
added explicit BX_ERROR message into bochs log when MXCSR restore error occur
2024-09-01 21:34:01 +03:00
Stanislav Shwartsman
af8e6c08ad djust indentation 2024-08-31 20:13:23 +03:00
Stanislav Shwartsman
8d6ac222fe update CHANGES with CPU fixes done 2024-08-31 17:44:43 +03:00
Stanislav Shwartsman
67b83db1d2 fixed implementation of SHA1RNDS4 instruction 2024-08-31 17:29:10 +03:00
Volker Ruppert
0138ad4114 ES1370: fixing status register access makes mixer work (#336). 2024-08-25 10:53:50 +02:00
Volker Ruppert
a6ceeb7cd1 Fixed initializing of USB debugger options.
It should not segfault if no USB HC option is used before.
2024-08-23 21:25:34 +02:00
Stanislav Shwartsman
a05f9c85d3 rename:
float16_t -> float16
  float32_t -> float32
  float64_t -> float64
to fix compilation issues under Android as mentioned in issue #300

also fix bug f16_getExp method
2024-08-22 08:55:56 +03:00
Volker Ruppert
e2823889de Fixed some MSVC warnings. 2024-08-21 11:11:59 +02:00
Volker Ruppert
0f738ed4ba Fixed crash of Windows 98 SE setup with BIOS-bochs-latest (issue #334).
Ported some lines of ACPI code from SeaBIOS.
2024-08-13 16:57:31 +02:00
Volker Ruppert
7ad9aa5292 Some work on the USB debug dialogs.
- GTK UHCI dialog: Added support for saving changes to controller.
- Improved GTK xHCI debug dialog (TODO: tree view, save to controller).
- win32 USB debugger: removed no longer needed include statement.
2024-08-11 22:43:52 +02:00
Volker Ruppert
7260750f91 Some work on the GTK USB debug dialogs.
- Added register view dialog support for xHCI ports.
- Improved UHCI debug dialog (TODO: tree view, save to controller).
2024-08-04 22:25:56 +02:00
Volker Ruppert
96709fbcef Fixed some MSVC warnings. 2024-08-04 14:45:52 +02:00
Volker Ruppert
6f42e05b6e Added register view dialog for the GTK USB debugger (UHCI only).
Edited register values cannot be saved to controller yet.
Some optimizations in the USB debug dialog code.
2024-08-04 10:02:30 +02:00
Volker Ruppert
8355802af7 Added basic GTK version of the USB debug dialog for xHCI.
Treeview, additional dialogs and editable registers are not implemented yet.
Some optimizations in the USB debug dialog code.
2024-08-01 21:04:26 +02:00
Volker Ruppert
aecb10e9ae Some small changes in the win32 USB debug dialog code. 2024-07-27 21:34:59 +02:00
Volker Ruppert
0e44bb735a Update gui debugger memory dump window on break if necessary. 2024-07-26 22:49:31 +02:00
Volker Ruppert
5cc8e7b7ad Update gui debugger memory dump window on refresh request, 2024-07-26 18:36:46 +02:00
Volker Ruppert
05dd2200cb GTK debugger gui: fixed compilation error with GTK2.
Prepared GtkGrid support (Disabled - not yet working correctly).
2024-07-21 17:21:11 +02:00
Volker Ruppert
41be8ac1e7 GTK gui debugger: fixed some more GTK 3.0 deprecated warnings.
Added new code for the GTK3 case (TODO: GtkTable stuff).
2024-07-19 18:42:49 +02:00
Volker Ruppert
5c4f964b40 Fixed some issues related to the GTK version of the gui debugger.
- Fixed compilation error in case USB debugger is also present.
- Fixed segfault on exit exposed with gui debugger, but caused by slirp.
- Fixed some format warnings.
- Added some new code for GTK 3.0 to fix some of the deprecated warnings
  (to be continued).
2024-07-16 20:45:43 +02:00
Volker Ruppert
400b8a2419 Set USB debug dialog title depending on trigger type. 2024-07-16 16:36:43 +02:00
Volker Ruppert
9415313a49 Two configure script changes for the USB debugger.
- Only use GTK 2.0 if needed by wxWidgets, otherwise use GTK 3.0.
- Set minimum GTK version for the USB debug dialog to 3.0.
2024-07-14 21:12:32 +02:00
Volker Ruppert
858a9a5147 Added basic GTK version of the USB debugger dialog.
- Only UHCI without frame tree view is implemented yet.
- Tested with GTK 3.0 and X11 gui only.
- NOTE: GTK dialog is not modal, since the Bochs window is not a GTK one.
2024-07-14 18:18:34 +02:00
Volker Ruppert
b4f6a4a828 Added stub for the GTK version of the USB debugger.
- For now showing a warning message box with "OK" and "Cancel" button.
- Prepared SDL2 and X guis to use it.
- Modified code to make sure win32 specific stuff is only present in win32usb.cc.
2024-07-07 18:05:24 +02:00
Volker Ruppert
bdd6b25db5 USB debugger: Fixed compilation with Bochs debugger also enabled. 2024-07-06 19:45:20 +02:00
Volker Ruppert
938c2ba307 USB debugger: Renamed configure option and config.h macro.
Now --enable-usb-debugger turns on USB debugger if not already done with Bochs debugger.
Now using BX_USB_DEBUGGER macro to prepare the code for implementations other than win32.
2024-07-06 18:48:14 +02:00
Volker Ruppert
2717e90d58 USB debugger: Moved platform independant stuff to separate files. 2024-07-05 23:53:00 +02:00
Volker Ruppert
d8a955b035 Don't panic if usb_debug_trigger() is called from other than selected HC type. 2024-07-04 22:56:07 +02:00
Volker Ruppert
b4d4b62dc1 Some work on the USB debugger code.
- Moved USB debugger API defines to siminterface.h.
- EHCI companions now also can enable the USB debugger.
- Removed obsolete hack from ohci_core.h.
2024-07-04 20:04:40 +02:00
Volker Ruppert
3dab500147 In bx_init_usb_options() only add options matching the HC type. 2024-07-02 20:41:21 +02:00