Commit Graph

13386 Commits

Author SHA1 Message Date
Volker Ruppert
7ad1fd0088 Update CHANGES. 2024-01-20 23:27:30 +01:00
Volker Ruppert
db0d16ff09 Banshee: Double the screen width in 'half mode' if height > width. 2024-01-20 22:30:47 +01:00
Shwartsman
f014160835 Add Bochs intenal debugger welcome message and improve help command 2024-01-20 21:09:46 +02:00
Volker Ruppert
ab32c8a2bb Update CHANGES and 'vga: update_freq' in docs. 2024-01-20 10:59:34 +01:00
Shwartsman
4eae91f1ca addressing issue Possible Undefined Behavior in NEG_EdR() and NEG_EdM() #227 2024-01-20 08:19:43 +02:00
Shwartsman
35abc682cb Merge fix for "Crash when floppy image file is missing #229" 2024-01-20 07:53:26 +02:00
Shwartsman
d9d07c03ec update CHANGES with critical ADOX fix 2024-01-19 20:35:54 +02:00
Shwartsman
dd9aaa7325 Fixed OF flag for ADOX instruction
The OF flag defintion is different from OF of other instructions
Instead it is defined as:
The instruction sets the OF flag with the **carry** generated by the unsigned addition of the operands.
2024-01-19 20:30:47 +02:00
Volker Ruppert
6e48bc78fc VGA core: Implemented a more accurate vertical timing.
Now using one timer with two alternating periods. A modification of the timer code
wasn't necessary. The update mode vsync is not yet affected by this change.
2024-01-19 18:40:13 +01:00
Volker Ruppert
4112a10fbd Update changes 2024-01-18 23:42:45 +01:00
Volker Ruppert
b382358e80 Banshee: Attempt to fix redraw in case bitblt is used in 3D mode. 2024-01-18 20:32:29 +01:00
Volker Ruppert
6770a355ae Cirrus: Fixed redraw issue caused by misaligned bitblt region.
If x0 + width exceeds the screen width, mark tile(s) on the left side of the screen, too.
This should finally fix issue #221.
2024-01-17 22:12:30 +01:00
Volker Ruppert
c66d6f1a0e Cirrus: Fixed possible segfault caused by missing address wrap.
- Added address wrap in cpu-to-video transparent bitblt.
- Added BX_DEBUG for address wrap detection and fixed redraw parameters.
TODO: Check other methods for possible segfaults.
2024-01-17 19:23:08 +01:00
Shwartsman
9d5bfa9064 UINTR: uitt_addr[3:0] are reserved and must be cleared before reading UITT entry 2024-01-17 14:52:49 +02:00
Stanislav Shwartsman
0f677ccfc6 change comments 2024-01-16 21:23:45 +02:00
Stanislav Shwartsman
c5436a4891 update CHANGES 2024-01-16 20:58:39 +02:00
finnbrudal
3455581a71
Cirrus: BLT System-to-screen Dword Pointer (GR2F[6:5]) implemented (#223)
Bits 5-6 of the left side clipping register have been implemented.

Co-authored-by: Volker Ruppert <Volker.Ruppert@t-online.de>
2024-01-16 19:10:06 +01:00
Stanislav Shwartsman
f8d1050a3f
Implemented SVM VM_CR_MSR and INIT redirection feature (#220)
Save and restore SVM MSRs
2024-01-16 07:42:28 +02:00
Vort
ba7c8ed57a
Cancel topmost mode after leaving fullscreen mode (#224)
`HWND_TOPMOST` should be cancelled with `HWND_NOTOPMOST` when it is not
needed anymore.

Co-authored-by: Volker Ruppert <Volker.Ruppert@t-online.de>
2024-01-16 00:03:32 +01:00
Volker Ruppert
8528604888 Cirrus: Corrected redraw fix for backward BitBlt. 2024-01-15 23:28:23 +01:00
Volker Ruppert
bcfe5e129f Cirrus: Fixed redraw values for backward BitBlt. 2024-01-15 17:11:25 +01:00
Shwartsman
d965a16a7d cosmetic updates for SVM code 2024-01-14 20:30:04 +02:00
Volker Ruppert
77fffc1336 SDL: Cleaned up fullscreen toggle functions.
FIXME: Window height sometimes not restored correctly (observed on Linux / X11).
2024-01-14 17:49:44 +01:00
Volker Ruppert
103b4fa8eb SDL2: Save / restore window position when using fullscreen toggle.
FIXME: Display updates can fail after toggle (observed on Linux / X11).
2024-01-14 17:00:05 +01:00
Shwartsman
e4deec2aca cleanups and code updates before thinking of INIT redirection implementation for AMD SVM 2024-01-14 12:55:43 +02:00
Shwartsman
61a35063c5 remove all ifdefs from features.h
I'd like features bitmasks to be independent on Bochs compilation flags
so let all flags to be 'exists' even if corresponding feature is not compiled in.
2024-01-14 12:51:41 +02:00
Volker Ruppert
9fdb898dfe SDL / SDL2: change fullscreen toggle to key combination ALT+ENTER.
TODO: Fix some issues related to this feature.
2024-01-14 11:41:01 +01:00
Volker Ruppert
04ed1e8fd2 Some more VGA timing handling chages.
- Changing status of 'update_mode_vsync' is no longer supported at runtime.
  If disabled, changing the value is only valid between 1 and 75.
- Modify vtotal_usec if frequency to high before activating vsync_timer.
2024-01-14 10:13:39 +01:00
Volker Ruppert
2585b6ff68 SDL2: Don't show dialog box if Bochs is killed with SIGTERM. 2024-01-14 07:01:31 +01:00
Stanislav Shwartsman
144367c2d4 Enable ia32_spec_ctrl virtualization for SPR 2024-01-13 22:05:45 +02:00
Stanislav Shwartsman
b2cf7860dc VMX: Implemented MSR IA32_SPEC_CTRL Virtualization VMX extension
fixed few typos in error messages
2024-01-13 21:58:23 +02:00
Volker Ruppert
7e7c7c45ef Attempt to fix HPET reset in legacy mode (issue #218). 2024-01-13 20:13:23 +01:00
Stanislav Shwartsman
540c7bbf64 update and cleanup CHANGES 2024-01-13 20:53:54 +02:00
Volker Ruppert
1ebe15e3fc Rewrite of the VGA timing code.
- Added VSYNC timer handler using vertical total usec. The calling time is defined
  as vertical retrace end and it updates the CRTC start address like real VGA does.
  It also calculates the display start time used when reading the input status register.
  The VSYNC timer is disabled in Voodoo / Banshee modes.
- Improved VGA timing calculation (e.g. vertical blanking and retrace start).
2024-01-13 19:33:35 +01:00
Shwartsman
63539d32dc fixed complation for .conf.nothing 2024-01-13 19:38:04 +02:00
Stanislav Shwartsman
0c1027e243 extract paging exception checking logic to separate function and solve a lot of code duplication 2024-01-13 17:47:42 +02:00
Stanislav Shwartsman
d037138e4e extract Protection Keys handling code to separate function 2024-01-13 15:57:13 +02:00
Stanislav Shwartsman
adb50a9210 implemented "advanced VM-exit information for EPT violations"
comes in complementary with VMX MBE control which was already in the model
2024-01-13 15:22:58 +02:00
Stanislav Shwartsman
b84b922da3 remove unused 'shadow stack' bookkeeping from paging attributes 2024-01-13 11:57:30 +02:00
Stanislav Shwartsman
9fc53de186 VMX: PML address saved should be always 4K aligned
Fixes #217
2024-01-13 09:43:28 +02:00
Volker Ruppert
dbc1f5d93a Cirrus: Fixed color expand bitblt with dword granularity enabled. 2024-01-13 05:18:07 +01:00
Stanislav Shwartsman
997fd85ec9 Set EFLAGS.RF on triple fault before shutdown or VMEXIT 2024-01-12 21:12:17 +02:00
Stanislav Shwartsman
ceaffe85d3 move code from paging.cc to access.cc
intoduce a function to solve code duplication
2024-01-12 21:08:14 +02:00
Stanislav Shwartsman
6977fc05d9 VMX: adjust RFLAGS saved into guest state on VMEXIT according to VMX documentation:
For APIC-access VM exits and for VM exits caused by:
- EPT violations
- EPT misconfigurations
- page-modification log-full events or
- SPP-related events
the value saved depends on whether the VM exit occurred during delivery of an event through the IDT ...

also handle RFlags saved if VMEXIT was caused directly by an event that would normally be delivered through the IDT

should fix #215
2024-01-12 20:01:53 +02:00
Volker Ruppert
5b6872168a Banshee: Attempt to implement 8 and 16 byte writes to CMDFIFO.
- The mem_write_handler() splits 16 bytes writes in two 8 bytes writes.
- In mem_write() the 8 byte writes to CMDFIFO are split in two 32-bit writes.
2024-01-12 18:56:49 +01:00
Volker Ruppert
75fe93bc03 Updated MSVC workspace files. 2024-01-12 17:48:16 +01:00
Volker Ruppert
71d9b7e720 Documentation updates. 2024-01-12 16:12:26 +01:00
Stanislav Shwartsman
081f3aa349 update CHANGES with recent fixes made by Volker 2024-01-12 13:02:36 +02:00
Stanislav Shwartsman
ddb9aeff59 fixups in CHANGES file 2024-01-12 12:56:34 +02:00
Shwartsman
6f4f217a08 implemented AMX_FP16 and aMX_COMPLEX, fixes for daz handling in AVX_NE_CONVERT FB16
updated CHANGES
2024-01-12 12:38:31 +02:00