Commit Graph

13367 Commits

Author SHA1 Message Date
Volker Ruppert c13ef56378 Increase maximum VGA update frequency to 75 and default to 10.
Small cleanups in the VGA code.
2024-01-07 11:15:04 +01:00
Shwartsman 54961f0326 fix buffer overflow with LA57 2024-01-07 07:37:18 +02:00
Volker Ruppert 080cf72f5f Fixed CGA address wrap. 2024-01-06 16:31:04 +01:00
Volker Ruppert c9c0237af3 Fixed start address in emulated CGA mode. 2024-01-06 15:05:33 +01:00
Volker Ruppert 6d433ec44b Missing horizontal pel panning support added in modeX.
Added error messages for unsupported features (EGA only ?).
TODO: horizontal pel panning support missing or incorrectly implemented in other
graphics.
2024-01-06 11:29:39 +01:00
Shwartsman cda3ed5a60 update CHANGES 2024-01-05 20:33:47 +02:00
Shwartsman b24bf1dae2 CPUID: Added Xeon Sapphire Rapids CPU definition
Features PKS, WAITPKG, UINTR, AVX512_BF16, MOVDIRI/MOVDIR64, LA57, SERIALIZE and more
Not yet supported but will be added in future: AVX512_FP16, AMX
2024-01-05 19:54:37 +02:00
Shwartsman a67fb31d4f LA57: attempt to change (not just clear) LA57 in long mode cause #GP 2024-01-05 18:46:56 +02:00
Volker Ruppert 3a73e8a0b2 Fixed address wrap in non-chain4 256-color VGA mode called modeX.
There were blinking dotted lines visible in old DOS games (#205/#206).
2024-01-05 14:36:42 +01:00
Shwartsman 6893743a5b prevent trace linking aftre portin/portout instructions as well 2024-01-05 09:12:01 +02:00
Shwartsman 27d48ecb94 HandlersChaining Optimization: mark IN/OUT instructions as TraceEnd, they could have significant side effects like raising interrupts which have to be handled
resolves issue #207
2024-01-05 08:45:10 +02:00
Volker Ruppert 1f8eb7b608 First step to fix the timer code for speaker sound output.
There is some output now, but not really music yet.
2024-01-04 19:26:27 +01:00
Shwartsman 41c2bb8bee fix for LA57 cr4 checks, thanks Ben for pointing this out 2024-01-04 08:35:33 +02:00
Volker Ruppert 071f5c72f7 Reduce VGA vertical screen size if blanking starts before display end. 2024-01-03 23:48:24 +01:00
Volker Ruppert 210ea89b36 Voodoo Banshee / Voodoo3 hardware cursor fixes (#202 / #203).
- Fixed crash in "half mode" (line doubling).
- Fixed redraw_area() values (must be unsigned).
2024-01-02 21:30:28 +01:00
Shwartsman 05b187f851 update CHANGES with SB16, keyboard, VGA and Voodoo fixes done by Volker 2024-01-02 21:49:48 +02:00
Volker Ruppert f48acd833f Some speaker output fixes.
- Increase buffer size and allocate buffer dynamicly.
- Make sure the beep_level is correctly set up in dsp_generator().
- TODO: fix timer code for usable sound output with the speaker.
2024-01-01 19:43:33 +01:00
Volker Ruppert 7985fa1ebb X11: changed set_font() message to BX_DEBUG. 2024-01-01 11:20:05 +01:00
Volker Ruppert 10811e13ed SB16: added 16-bit write support for even i/o addresses. 2023-12-31 16:05:20 +01:00
Volker Ruppert 1699f30d64 Reduce default keyboard serial delay to 150 to avoid timeouts.
Some cleanups in the keyboard code.
2023-12-31 10:47:10 +01:00
Shwartsman b93b9ad881 fixed comments in bf16.h 2023-12-29 22:45:59 +02:00
Stanislav Shwartsman 07d28c60b8 generic cpuid fix dump_cpuid 2023-12-29 21:53:15 +02:00
Stanislav Shwartsman 75a7151fbf let generic CPUID to use MTF VMX extension 2023-12-29 21:50:40 +02:00
Stanislav Shwartsman ec7ef85ed9 exclude cpuid.h from cpu.h to reduce compilation dependency 2023-12-29 21:27:24 +02:00
Volker Ruppert 63ab5ea24a Align SB16 DMA buffer size to 4 to avoid crash in 16-bit stereo mode. 2023-12-29 19:49:58 +01:00
Volker Ruppert be1baa295c Implemented secondary VGA charmap support.
All guis with 'new_text_api' and the graphical text snapshot working with it.
2023-12-29 17:47:44 +01:00
Shwartsman 133f1136d3 fix compilation with no x86-64 compiled in 2023-12-29 17:56:47 +02:00
Volker Ruppert a1872535ca Voodoo: fixed randomly missing color palette updates. 2023-12-29 15:18:06 +01:00
Stanislav Shwartsman e3612c30f8 Implement support for LA57 and 5-level paging 2023-12-29 14:48:38 +02:00
Volker Ruppert 157d3a9189 Next attempt to fix the Voodoo hang on exit.
It occurred with the pthreads library only and should be fixed now.
2023-12-29 10:25:38 +01:00
Volker Ruppert 29fbdb48da Set default value for SB16 dmatimer to 1000000 and updated docs. 2023-12-28 20:32:14 +01:00
Volker Ruppert 917ac4c79d Fixed some Voodoo issues.
Temporarily disable fifo_reset() in recompute_video_memory(). FIFO handling must
be observed and a better solution must be found.
Fixed hang after pressing power button: destructor modification was required since
the swapbuffer command can depend on vertical retrace.
2023-12-28 19:04:20 +01:00
Volker Ruppert 326114f4e7 Updated LGPL'd VGABIOS to version 0.8b. 2023-12-28 08:54:56 +01:00
Volker Ruppert 9d1df2915c VGA mem_write(): added missing update flag in chain4 mode. 2023-12-27 23:24:46 +01:00
Volker Ruppert aa23a09afd VGA mem_write(): moved and fixed CGA specific code.
Removed disabled BX_DEBUG code and VGA_TRACE_FEATURE symbol.
Some other small fixes and cleanups.
TODO #1: review MAP13 addressing in case start address > 0.
TODO #2: review chain4 code in medm_write().
2023-12-26 11:16:59 +01:00
Volker Ruppert de4876e2c4 VGA mem_write(): in text mode don't mark graphics tiles for update.
TODO: Check special cases code in mem_write() for correctness.
2023-12-25 21:03:53 +01:00
Shwartsman 5b61b51498 more optimal version for VDPBF16PS
avoid constly softfloat calls when masked
2023-12-25 16:26:28 +02:00
Shwartsman ddff78a16c style and disasm updates, no functional impact 2023-12-25 14:57:05 +02:00
Vort aed0c5e954
Prevent output of fraction of sample (#193)
Fixes #134.
2023-12-25 12:00:31 +02:00
Shwartsman 7c9bab8182 handle getexp methods though templates 2023-12-25 08:07:07 +02:00
Stanislav Shwartsman ef30a12afb avoid accidential zero of the mask, due to Bit64u computation overflow (1 << 64) == 1 2023-12-24 22:37:02 +02:00
Stanislav Shwartsman e7f2450220 fix XSAVE leaf resporting in CPUID 2023-12-24 20:12:30 +02:00
Shwartsman 00831a09d7 optimize load vector methods 2023-12-24 19:57:07 +02:00
Volker Ruppert 8a4941f670 Some cleanups in the recently fixed code. 2023-12-24 14:41:47 +01:00
Stanislav Shwartsman 662d8ec279 fix bug from previous commit 2023-12-24 15:04:31 +02:00
Stanislav Shwartsman eb6d4f5fc8 use simpler method to write XMM register while clearing AVX upper part 2023-12-24 14:45:04 +02:00
Volker Ruppert e3eb603ad4 Some fixes for the VGA mode 0x13 (issue #188 and discussion #108).
- Shift start address by 2 in update() code and mem_write().
- Added split screen support for this mode.
- Some code cleanups.
2023-12-23 21:37:08 +01:00
Shwartsman b4effb58af fix compilation with minimalistic config 2023-12-23 22:10:22 +02:00
Shwartsman 19dbd7314b convert more instructions to template 2023-12-23 22:01:13 +02:00
Shwartsman 8e76c9b6bb move many SSE/AVX/AVX512 methods to template functions 2023-12-23 21:00:51 +02:00