toxieainc
22ffb5cc19
Harmless math warning fixes. map->unordered_map in CNew3D::CacheModel. Avoid general aliasing problems (using bit_cast or the recommended/optimized-away memcpy).
2022-10-03 17:59:59 -07:00
toxieainc
0eef09ba2b
Revert "port some changes from MAME/MESS"
...
This reverts commit b5f3d8b68e1ae62a08b00a730b6b8150758c0af3.
2022-08-19 08:41:22 -07:00
toxieainc
d7041a83c9
fix missing version GLSL compiler warnings on startup
...
happens (at least) on Intel drivers
2022-08-19 08:41:22 -07:00
toxieainc
7052e8375e
port some changes from MAME/MESS
2022-08-19 08:41:22 -07:00
toxieainc
a60f99848f
Revert "port some changes from MAME/MESS"
...
This reverts commit b5f3d8b68e1ae62a08b00a730b6b8150758c0af3.
2022-08-16 21:34:31 -07:00
toxieainc
6c24bf7c8f
Optimize quad rendering by replacing the double computations for the area computation with the equivalent shoelace algorithm along with kahans algorithm to compute the cross products. In addition pull out the /w to the end, which increases precision even more.
...
Thus making the result similar to the fp64 version, tested e.g. with harleys first person mode (all artifacts still gone as before).
Improves perf on low end boards (e.g. Intel) dramatically (10fps with harley before, now 70 on my laptop), and even on higher end (e.g. NVIDIA laptop, quads are now faster than tri pipeline on my laptop).
2022-08-16 21:34:31 -07:00
toxieainc
d919f3865c
port some changes from MAME/MESS
2022-08-16 21:34:31 -07:00
ToBul
e06788e768
Fix SUPERMODEL_DEBUGGER build. - Ian
...
As requested by Bart; Ian's last SourceForge commit.
Also, purely to appease my OCD, a change I forgot on my last 'Games.xml' PR that really shouldn't bother me as much as it does.
2022-08-14 11:46:35 -07:00
toxieainc
d4633a868d
Revert "port some changes from MAME/MESS"
...
This reverts commit b5f3d8b68e1ae62a08b00a730b6b8150758c0af3.
2022-08-09 20:37:42 -07:00
toxieainc
03002d3f22
port some changes from MAME/MESS
2022-08-09 20:37:42 -07:00
toxieainc
2df681f009
equivalent optimizations, NFC
2022-08-09 20:37:42 -07:00
toxieainc
cb9d73c9d0
port some (simple) changes from MAME/MESS
2022-08-09 20:37:42 -07:00
toxieainc
27e071dafb
add comment
2022-07-18 21:43:13 +02:00
toxieainc
dda48d7606
address review
2022-07-17 20:29:25 +02:00
toxieainc
24173a2140
revert "" -> std::string()
2022-07-17 20:25:51 +02:00
toxieainc
c42a2d8951
check for __GNUC__ instead of just assuming it
2022-07-17 20:23:11 +02:00
toxieainc
abb1273aa0
slightly optimize DrawTileLine (less branches/logic)
2022-07-11 18:49:02 +02:00
toxieainc
b98be0c2e7
optimize ReadRegister, as localtime (at least on MSVC/Windows) is significantly showing up in profiling
...
e.g. in SW Trilogy
caches localtime until time changes (i.e. limits calls to 1/sec)
2022-07-11 18:47:13 +02:00
toxieainc
ba7145df52
use intrinsics for endian swap
2022-07-11 18:42:15 +02:00
toxieainc
b2b8396947
missed 2 changed files with last commit
2022-07-11 18:27:44 +02:00
toxieainc
4961951a89
fix a real error (m68kdasm) and some harmless performance warnings and use modern headers
2022-07-11 18:10:41 +02:00
toxieainc
e0053b3a46
fix some real errors (Model3,InputSystem), minor errors (SCSP,SDL/Main) and some performance warnings
2022-07-11 17:43:59 +02:00
Bart Trzynadlowski
8c8cc3d32b
Preparing for Git snapshot build bot and updated copyright header to reference full lifespan of Supermodel repo
2022-06-23 12:34:02 -07:00
Ian Curtis
a742a73772
njz3: Fix sound volume with new quadrophonic audio code
2022-06-19 16:15:54 +00:00
Ian Curtis
e3bc56c8f1
values must be signed, to handle negative numbers, my bad
2022-06-14 21:24:43 +00:00
Ian Curtis
78eab65749
minor fix
2022-06-14 18:14:06 +00:00
Bart Trzynadlowski
7be381c9ba
Added configurable refresh rate. Default is 60 but -true-hz on the command line enables 57.524 Hz mode, which some players report making Spikeout and the timing of combos in VF3 more authentic. The config key is RefreshRate and is specified as a floating point value. Should the desire arise, arbitrary refresh rates can be set in Supermodel.ini using this key but almost no validation of the value is performed. Thanks to forum user trap15 for the original code and PonMi for advocating for this patch to be included.
2022-06-12 17:51:57 +00:00
Ian Curtis
83e7b5f45d
njz3: Proper quadrophonic audio support. Need 4+ speakers to take advantage otherwise down mixed to stereo.
2022-06-09 21:10:39 +00:00
Bart Trzynadlowski
5e61e2f388
Added default values for PortIn, PortOut, and AddressOut
2022-03-31 23:09:32 +00:00
Ian Curtis
84ae9df665
fix: explicit specialization requires 'template <>'
2022-02-06 17:32:44 +00:00
Bart Trzynadlowski
fe7baa108f
Bitmap size field in the BITMAPV4HEADER was not being set correctly (the image viewers I've been using are unaffected by this but it ought to be corrected)
2022-02-05 06:44:53 +00:00
Bart Trzynadlowski
3f6937e1a6
When dumping textures, two T1RGB5 texture maps are written: with and without contour processing. Contour processing can be disabled per-polygon and some textures intended to be used without contour processing contain pixels with T=1 that are clearly not supposed to be transparent. We now output textures_t1rgb5_contour.bmp and textures_t1rgb5_opaque.bmp.
2022-02-05 00:52:34 +00:00
Bart Trzynadlowski
32933ef9b0
Added a -dump-textures option (config key DumpTextures) that writes texture BMP files, one for each known format (12 in all currently)
2022-02-01 23:15:06 +00:00
Matthew Daniels
646b46fd4b
Adjust the number of PowerPC cycles executed per frame to assume 57.524 Hz refresh rate
...
Fighting Vipers 2 attract mode no longer requires 100+ MHz to run smoothly
Supermodel itself still runs at 60 Hz
2022-01-23 15:32:53 +00:00
Ian Curtis
0ef90899e1
Double buffer the line of sight values. Should allow the correct values to be returned if GPU threading is enabled.
2022-01-02 12:48:09 +00:00
Ian Curtis
bc774ca10e
methods should be marked as noexcept because they cannot throw
2021-12-19 17:48:38 +00:00
Ian Curtis
b8aac0a4f8
white space.
2021-12-17 23:58:20 +00:00
Ian Curtis
6f7130c50b
Better document real3d registers
2021-12-17 23:57:12 +00:00
Matthew Daniels
6ff099b5ba
Clear all Real3D DMA registers on reset; uninitialized values were causing issues with MSVC debug builds
2021-12-17 23:36:54 +00:00
Matthew Daniels
3e9c887277
Another header include fix
2021-12-15 14:47:41 +00:00
Matthew Daniels
94772ae3d9
Include required header files in Model3GraphicsState.h - fixes potential build errors in GCC
2021-12-15 13:55:27 +00:00
Matthew Daniels
0c47ac831a
Increase MIDI FIFO buffer size for SCSP; should prevent FIFO overflows
...
Also use similar macro for DSB FIFO buffer
2021-11-30 23:01:37 +00:00
Matthew Daniels
e93c5d710f
PowerPC IRQ line deassertion; DMA only fires interrupts when required
...
PowerPC no longer clears its own IRQ line; it is now cleared by the IRQ controller when there are no more pending interrupts. Not all games clear DMA interrupts so it was necessary to tweak the 53C810 SCSI controller and the Real3D DMA interface to only fire interrupts if a certain register is correctly set. 53C810 has the documented DIEN (DMA Interrupt Enable) register; Real3D DMA seems to use the low bit of the dmaConfig register.
Also I removed the net IRQ as no games seem to actually use it.
2021-11-28 01:11:11 +00:00
Matthew Daniels
9ffce8b92a
Getting rid of most of the includes from Supermodel.h; each file now explicitly includes the header files it needs.
...
Making changes to a header file should no longer force the entire project to recompile.
2021-11-22 17:15:06 +00:00
Matthew Daniels
50465f9a5a
Shared RAM on simulated netboard is now double-buffered; Spikeout Final Edition no longer requires a hack to work.
...
Preparing to enable simulated netboard to run in its own thread
2021-11-05 00:23:29 +00:00
Matthew Daniels
b62110617b
New JTAG patch for Sega Rally 2; linked mode now fully working.
...
Few other minor changes
2021-10-30 23:00:49 +00:00
Matthew Daniels
94d8a1b22d
Increase size of DSB2 FIFO buffer; fixes Sega Rally 2 music occasionally not switching or fading out
2021-10-26 22:47:24 +00:00
Matthew Daniels
b18f6d1b54
Non-linked games no longer falsely list the net board under extra hardware
2021-05-09 23:22:18 +00:00
Matthew Daniels
b7755c9ae1
Fix 16-bit variables not displaying correctly in Z80 debugger (at least in MSVC builds)
2021-05-09 18:12:40 +00:00
Matthew Daniels
a20366d338
Fix netboard resets and detection of simulated netboard linking to itself
2021-04-19 22:15:50 +00:00