Volker Ruppert
ebbd952d3b
Code cleananup: Since the Cirrus plugin device is only loaded in case the
...
VGA extension "cirrus" is selected, there is no need to check this parameter.
TODO: Implement new VGA extensions (e.g. Voodoo Banshee, Voodoo3).
2017-10-07 08:49:05 +00:00
Volker Ruppert
f31d062854
Added SDL / SDL2 specific multi-threading support. If one of these guis is
...
enabled, the portable code is used instead of the pthread or win32 one.
2017-09-16 22:01:49 +00:00
Volker Ruppert
0311f47bc3
Moved all Bochs event / wait functions required for multi-threading to a new
...
file called "bxthread.cc".
2017-09-14 16:18:12 +00:00
Volker Ruppert
2a47615bb6
Started updating changes after release 2.6.9.
2017-09-12 17:48:43 +00:00
Volker Ruppert
c889fcae87
Some improvements in the Voodoo2 CMDFIFO code.
...
TODO: Check whether or not there are still simulation freezes caused by CMDFIFO.
2017-09-12 16:29:02 +00:00
Volker Ruppert
245ccf1037
Added symbols to fix MSVC plugins compilation.
2017-09-10 19:16:02 +00:00
Volker Ruppert
b61b9d255a
Moved all Bochs multi-threading definitions from bochs.h and osdep.h to a new
...
file called "bxthread.h".
2017-09-10 15:55:13 +00:00
Volker Ruppert
ad9f1c3417
Moved event / wait stuff from the Voodoo code to osdep.cc fot the usage in
...
other parts of Bochs.
2017-09-10 06:50:07 +00:00
Volker Ruppert
da48346f9d
Implemented combined PCI / memory FIFO. This is required for running Voodoo1
...
games / demos correctly on the Voodoo2 model. I noticed a small slowdown
(2 or 3 percent) on the Voodoo1.
2017-09-08 16:17:20 +00:00
Volker Ruppert
c1d5947a80
Memory FIFO fix: 16-bit write support for the FBI video memory was missing.
2017-09-03 20:51:37 +00:00
Volker Ruppert
e063d282ac
Voodoo2 CMDFIFO fix and cleanup.
...
- Fixed probing the CMDFIFO with Voodoo output disabled (send FIFO wakeup
directly, otherwise driven by vertical retrace).
- Use the CMDFIFO member 'enabled' instead of reading the fbiInit7 register bit.
- TODO: The Voodoo2 freeze when testing a Voodoo1 demo is still not fixed.
2017-09-03 17:32:49 +00:00
Stanislav Shwartsman
ec6281a828
remove include which is not needed
2017-09-03 11:43:30 +00:00
Stanislav Shwartsman
3148cdd683
fixed compilation under VS2013
2017-09-03 11:42:27 +00:00
Volker Ruppert
7c3dafc7f5
Some Voodoo emulation fixes.
...
- voodoo_init() must be called after initializing FIFO mutex.
- The 'op_pending' counter must be reset after resetting FIFOs.
- Fixed an MSVC warning and removed obsolete comment.
- FIXME: There are still some conditions that can freeze the Voodoo display.
2017-09-03 08:28:16 +00:00
Volker Ruppert
1f85292418
Implemented memory FIFO to speed up the Voodoo1 emulation. The PCI FIFO with
...
it's 64 entries is still not present, since it makes the emulation a few
percent slower due to the overhead of the FIFO code. The memory FIFO has 64k
entries and makes a speedup of around 75 % possible.
2017-09-01 17:30:49 +00:00
Volker Ruppert
ea8bfca53f
Two USB modifications requested by Ben Lunt.
...
- usb_msd.cc: The Device Qualifier is valid for high speed devices only.
- uhci_core.cc: Don't report BX_DEBUG message if the current TD belongs to an
async operation that is still not complete.
2017-08-26 08:10:21 +00:00
Volker Ruppert
bd40347963
Store FIFO presence in variable "enabled" and report the state change of the
...
currently unimplemented FIFOs.
2017-08-24 21:08:21 +00:00
Stanislav Shwartsman
2d3d62db5f
cleaned cr2 print in 32-bit mode
2017-08-22 21:14:39 +00:00
Stanislav Shwartsman
2a55ba0a39
Merge set of debugger improvements by Doug Gale <doug16k>
...
Here is his original comment:
I have made several improvements in the debugger.
I have fixed several issues with proper handling of 64-bit addresses, and added support for 64 bit symbols.
I also have added several symbol lookups.
2017-08-22 21:03:58 +00:00
Stanislav Shwartsman
f490b00beb
added support for conditional breakpoints in Bochs debugger
2017-08-22 18:47:18 +00:00
Volker Ruppert
680189a548
Fixed Voodoo pixel clock calculation.
...
- Now using float type for the 'clk0_freq' variable.
- DAC register 6 can switch to half pixel clock (ported from PCem).
- Writing value 0xf8 to PLL register 0x0e completes clock #0 setup.
2017-08-21 19:33:29 +00:00
Volker Ruppert
4e80e2fbfc
Started preparing the Voodoo code for the PCI FIFO / memory FIFO implementation.
...
- Initialize the thread and event stuff for both Voodoo models.
- Rewrite of the event handling code to manage different events.
2017-08-20 20:25:45 +00:00
Volker Ruppert
e187f3907a
Removed Voodoo realtime option. Since the gui screen update timing is now
...
controlled by the 'vga' option and Voodoo2 CMDFIFO thread has the best
performance with realtime mode disabled, this option is now obsolete.
2017-08-18 15:19:30 +00:00
Volker Ruppert
9a1668ac36
First version of the Voodoo2 CMDFIFO thread using "pthread cond" code on
...
non-WIN32 platforms instead of BX_MSLEEP(). The donut demo is once again a
little bit slower, but on other tests the IPS values are still okay. Cleaned
up the code a little bit and added save/restore stuff for the new code.
2017-08-17 19:15:02 +00:00
Volker Ruppert
6361386e8b
Reverted BX_LOCK/BX_UNLOCK changes from previous commit (don't lock CMDFIFO
...
completely while running cmdfifo_process()). The donut demo is now a little bit
slower on Linux host, but other test cases are faster again.
2017-08-17 17:15:12 +00:00
Volker Ruppert
fcb5f6d1d3
Voodoo2: Now only start processing of the CMDFIFO at the vertical retrace.
...
I noticed a speed improvement of around 10 % (tested with donut demo only).
2017-08-15 21:30:45 +00:00
Stanislav Shwartsman
7f4a9b4b08
skylake CPUID should compile also with no EVEX
2017-08-09 21:04:15 +00:00
Stanislav Shwartsman
7f01a7d9b6
remove obsolete comment
2017-08-09 20:37:43 +00:00
Stanislav Shwartsman
b2fdbd1274
added Skylake-X model to CPUDB -> with EVEX and AVX512 support
2017-08-09 20:36:17 +00:00
Volker Ruppert
593141603d
Small change in the non-WIN32 Voodoo2 thread code: Process all complete command
...
packets and then always sleep for 1 millisecond.
TODO: The first tests with pthread_cond_* stuff showed a slowdown of approx.
10 % compared with the IPS value of the current code.
2017-08-09 15:42:34 +00:00
Volker Ruppert
3cee1f74ee
Now using WIN32 event / wait functions in the Voodoo2 thread. I noticed a speed
...
improvement of around 10 % (tested with donut demo only).
TODO: Use similar functions of the pthread library for improvements on other
platforms.
2017-08-08 18:23:12 +00:00
Volker Ruppert
bd39f8c103
Fixed GCC 6.3 warnings (indentation only).
2017-08-07 18:18:18 +00:00
Volker Ruppert
ca3758423b
Fixed some MSVC warnings.
2017-08-06 18:35:37 +00:00
Volker Ruppert
21fce8c2f2
Fixed compilation failure if ES1370 is enabled, but gameport disabled in config.h.
2017-08-04 18:09:26 +00:00
Volker Ruppert
18dc09aaad
Fixed possible CMDFIFO failure.
2017-07-18 18:03:16 +00:00
Volker Ruppert
7b5eca0cf2
Minimal improvement in the CMDFIFO code: calculate needed depth for current
...
command and execute it when there is enough data present (code partly ported
from voodoo.h.txt).
TODO: Use "wait for event / condition" functions instead of msleep() if there
is a performance improvement with it.
2017-07-17 18:07:28 +00:00
Volker Ruppert
2b92978728
Fixed save/restore failure.
2017-07-12 21:01:58 +00:00
Volker Ruppert
0d7c32c6b5
Minor fixes and cleanups in the bxhub code.
...
TODO: rewrite of the vnet server code to reduce code duplication.
2017-07-04 18:53:33 +00:00
Volker Ruppert
bc82bf9316
Removed unnecessary include.
2017-06-28 15:34:34 +00:00
Volker Ruppert
851e9a084c
Fixed compilation on MSVC (Bochs always defines stricmp).
2017-06-23 19:44:30 +00:00
Volker Ruppert
17abf11e85
Check requested maximum DHCP message size and report if invalid (networking
...
modules vnet / socket only).
2017-06-18 15:54:54 +00:00
Volker Ruppert
d22cdbdbf7
Some work on the bxhub utility.
...
- Added DNS service support for the server "vnet" and connected clients.
- Added command line option "-loglev=" to control whether or not there is
BX_ERROR, BX_INFO or BX_DEBUG output. Default value is 1 (BX_ERROR only).
2017-06-17 12:40:13 +00:00
Volker Ruppert
2ae5fd563e
Added destructors to some networking modules and call fclose() there for the
...
case the logging feature is enabled.
2017-06-16 08:27:55 +00:00
Stanislav Shwartsman
54e969b749
disasm update
2017-06-05 21:05:47 +00:00
Stanislav Shwartsman
20e9e33662
internal disasm updates
2017-06-05 20:49:04 +00:00
Stanislav Shwartsman
3f4f18de7a
internal disasm updates
2017-06-05 20:28:33 +00:00
Stanislav Shwartsman
46ef85ce0f
avoid using magic constants for disasm source metadata
2017-06-05 19:55:40 +00:00
Volker Ruppert
8006ec9fa3
Fixes and updates for wxWidgets 3.0
...
- wxMSW unicode: define UNICODE before including windows.h via bochs.h.
- Fixed compilation error (wxNode usage).
- Fixed deprecation warnings at toolbar creation.
2017-06-04 09:32:58 +00:00
Stanislav Shwartsman
38e2562d9c
added new debugger cap: conditional continue'
2017-06-03 19:11:52 +00:00
Volker Ruppert
f38a0d8a97
Updated code for the invisible cursor on wxGTK (fixes compilation on wxMSW 3.0).
2017-06-03 14:32:56 +00:00