Commit graph

428 commits

Author SHA1 Message Date
Blue
9db088f25c SPU: Fix dma load size
This fixes Gran Turismo going ingame and Marvel vs Capcom freezing before main screen
2022-05-27 21:21:51 +02:00
Blue
af0bc8bd04 CD: Handle AudioCDs
wip
2022-05-22 18:58:02 +02:00
Blue
f23511c971 TrackBuilder: Identify Audio tracks 2022-05-22 18:57:32 +02:00
Blue
ba44f589b6 OpenTK: Update to 4.7.2 2022-05-22 18:29:57 +02:00
Blue
ac9508b4a6 SPU: Turn off voices when not enabled 2022-05-15 20:41:06 +02:00
Blue
446ac4f264 SPU: fix lower 0..5 bits of status<->control 2022-05-15 20:34:09 +02:00
Blue
5402159b37 GPU: Handle GPUSTAT.27 2022-04-30 19:14:50 +02:00
Blue
953b5b05a2 GPU: Handle GPUSTAT.25 on GP1_04 2022-04-30 18:50:37 +02:00
Blue
3a5a1c68f9 GPU: Fix GpuStat.19 misalignment 2022-04-30 18:18:37 +02:00
Blue
cb4a557d2a OpenTK: Update to 4.7.1 2022-02-27 21:43:45 +01:00
Blue
166025c656 BUS: Cleanup 2022-02-18 22:43:25 +01:00
Blue
163c701e9b CDROM: CDDA autoPause on trackChange, Change disc.
Arguably the change disc functionality is on the core but the frontends lacks the capability to use it.
This has been tested with Final Fantasy 7, 8 and Metal Gear Solid, and MGS VR Missions
2022-01-10 19:55:23 +01:00
Blue
aae00df3c9 CD: Sense track changes 2022-01-09 14:54:01 +01:00
Blue
3ec554ae26 Update .editorconfig to match core 2022-01-09 14:53:27 +01:00
Blue
7797944f89 CPU: Make CPU_EXCEPTIONS optional
They were very helpful to validate CPU behaviour on tests but no known game triggers them so make them optional
Enabling them, will pass CPU tests, disabling them will give a nice bump on speed as unnecesary ops are no longer triggered.
2021-12-12 19:55:36 +01:00
Blue
f61cbeb215 GPU: Add GP0_02_FillRectVram fastpath for non wrap 2021-12-11 21:54:46 +01:00
Blue
3da05b2f05 Window: Blit24bpp optimizations 2021-12-07 16:12:59 +01:00
Blue
2868eb5534 GPU: Rasterize Optimizations:
- Removed Point2D Vertex and Texture heap array structs (they are stack allocated on tris and rects)
- Moved the bias addition of topLeft rules on tris to the edge function result. Even thought this means that it needs to be unbiassed on textured and shaded tris it produces faster code on the actual critical if checkinf if it's inside the tri. (On my test envirovement this was a bump from around 110 to 120 fps on Jakub plain 100 tri benchmark.
2021-11-20 12:51:00 +01:00
Blue
d9320edc62 GPU: Remove forceSetE1
The functionality is still the same: Textured tris force set E1 globally for further commands but remove the actual funct as it was doing the same work and reuse the gpu fields for the primitive instead of reshift everything again.
2021-11-14 21:12:19 +01:00
Blue
865030948a GPU: Reuse interpolate on shaded tri 2021-11-14 21:00:47 +01:00
Blue
f916e22160 GPU: Render Rect refactor 2021-11-14 20:44:16 +01:00
Blue
b09a11407e Seal class 2021-11-13 16:08:07 +01:00
Blue
fe6469ff51 Controller: Remove unneded IHostWindow ref 2021-11-13 16:07:37 +01:00
Blue
65551bb95b Project: Update to .NET 6.0
Benchmark on base tri is 10% faster.
OpenTK seems to crash after a while...
2021-11-10 23:20:05 +01:00
Blue
115e78a530 Project: .editorConfig dont add line on catch or finally 2021-11-10 21:06:52 +01:00
Blue
6b9706ee9d GPU: Handle VRAM transfers by halfwords 2021-11-07 13:43:42 +01:00
Blue
f83552f43f CPU: Remove checked add/sub for OverflowException
It is slower than just checking it manually...
2021-10-02 19:50:43 +02:00
Blue
805f7d8d25 OpenTK: Update to 4.6.7 2021-09-26 14:12:25 +02:00
Blue
a6382e7454 MDEC: wip resumable block decoding 2021-07-17 19:13:34 +02:00
Blue
4744e0be95 BUS: Cleanup strings 2021-07-17 19:11:20 +02:00
Blue
4d7dd4b41f CDROM: refactor parameterBuffer to byte 2021-06-19 10:10:28 +02:00
Blue
4553cc5c6e CDROM: ResponseBuffer EnqueueRange from array params to stackalloc spans 2021-06-18 22:24:36 +02:00
Blue
3ce4395e9c Winform: Update to Naudio 2.0.1 (fixes .net 5.0.7 kill) 2021-06-18 21:53:22 +02:00
Blue
304a20380c Revert "Winform: Disable Sound to avoid .Net 5.0.7 Kill"
This reverts commit e0c0f9767a.
2021-06-18 21:52:31 +02:00
Blue
bde61a4348 MDEC: Move stackalloc out of the toRGB loop 2021-06-12 19:53:09 +02:00
Blue
e0c0f9767a Winform: Disable Sound to avoid .Net 5.0.7 Kill
Since .NET 5.0.7, the process is killed cause Naudio 2.0.
This commit disables sound output on Winform till there's a Naudio patch.
2021-06-12 19:37:40 +02:00
Blue
c41db1c90f SPU: deallocation pass 2021-06-05 09:07:41 +02:00
Blue
fba0793163 SPU: Use Sector XA Buffer instead of Queue
So allocations are avoided on each CDROM samples push.
2021-06-04 00:17:26 +02:00
Blue
35b2d81182 CDROM: Use Sector Raw Buffer 2021-06-04 00:15:32 +02:00
Blue
a8e8cb4cbd Sector: Support pre decoded XA and readShort 2021-06-04 00:14:27 +02:00
Blue
44c7560dd9 XA: deallocation refactor 2021-06-03 22:23:39 +02:00
Blue
23c7c9a80a CDROM: Don't push to CPU muted cdda 2021-05-30 10:27:11 +02:00
Blue
5e00e2dbe7 BUS: Verbose bios loading success / fail 2021-05-30 10:26:01 +02:00
Blue
0f95bb225d CDROM: Remove sector allocations, Span<T> DMA out.
Wip: Still allocating a sectors as queue from CDROM to SPU on pushCdBufferSamples
2021-05-29 17:51:50 +02:00
Blue
af5156f6ef Add: Sector, an spanized buffer/queue.
The CDROM doesn't need a real tail/head queue/enqueue function, as it only needs to one shot the fill of the sector and then dequeue.
Also Queue<T> doesn't have a Span<T> constructor and can't clean and "addAll" without allocating a new internal buffer array.
This little util class aims to try to avoid allocations as well as simplify the DMAs out.
2021-05-29 17:44:36 +02:00
Blue
c3b1599eb7 SPU: minor sampleVoice refactor 2021-05-29 17:23:57 +02:00
Blue
fa4ff07e81 CD: Open a filestream per track instead of per read 2021-05-28 22:21:11 +02:00
Blue
25e6636907 Audio: Update to NAudio 2.0 modularized Core and WinMM 2021-05-27 21:42:30 +02:00
Blue
561c04971a BUS: Fix ScrathPad, MemControl1 and SIO masks 2021-05-21 18:54:40 +02:00
Blue
c6b3d2c3b0 CPU: Simplify COP0 SR ISC Handling 2021-04-14 21:08:40 +02:00