Blue
73b1bf7998
GPU: Handle 1w xh VRAM reads
...
This fixes Final Fantasy 9 hang after first combat
2022-12-19 19:33:34 +01:00
Blue
79c6de9c5a
DMA: Refactor
2022-12-19 19:30:39 +01:00
Blue
37fabbd057
SPU: Handle ramDataTransferAddressInternal overflow
2022-12-18 00:45:51 +01:00
Blue
8e44e3f9bf
DMA: Handle resumable dmas
...
This makes Final Fantasy 9 playable
2022-12-18 00:43:50 +01:00
Blue
7d1b924bfd
DMA: Simplify edgeInterruptTrigger
2022-12-18 00:41:20 +01:00
Blue
adb81d776a
MDEC: Support word by word decoding
...
It passes all Jakub's MDEC tests even though we are not handling actual dma data requests.
2022-12-18 00:39:36 +01:00
Blue
20251d2558
DMA: Handle dma master enable
2022-12-04 19:21:59 +01:00
Blue
c96c95b520
DMA: Support hardwired OTC control bits
2022-12-04 16:51:23 +01:00
Blue
65e55f1137
DMA: Support size 0 transfers being actually size 0x10000
2022-12-04 16:29:31 +01:00
Pedro Cortés
6d64c82979
CPU: Avoid Instr imm and imm_s and
2022-11-25 19:48:41 +01:00
Pedro Cortés
9040eb51ab
CDROM: Add basic delayed interrupt handling
...
Among others things like being able to play cd audio from bios (as it detects the tracks) it makes GT1, RE2 and RE3 playable.
2022-11-25 19:47:19 +01:00
Pedro Cortés
99360876b7
CPU: Remove fun ptr initialization
...
Turns out the indirection is not always elided and the profiler shows both calls. In the end making all the cpu instructions static and mutating the state is (marginally) faster thought the instruction code is a bit more verbose.
2022-11-13 16:27:33 +01:00
Pedro Cortés
4b82acd688
Project: Update to .NET 7
...
net7 go brrrrr...
2022-11-12 11:17:01 +01:00
Pedro Cortés
6875834520
OpenTK: Update to 4.7.5
2022-11-12 11:15:23 +01:00
Pedro Cortés
6647174d6f
Merge pull request #23 from BluestormDNA/MicroOptimizations
...
Micro optimizations
2022-10-07 21:42:33 +02:00
Blue
f77e755df6
VRAM: make H and W const
...
As multiple of 2 the JIT will drop an IMUL for a plain SHL
2022-10-07 21:40:26 +02:00
Blue
de3935b944
VRAM: Ellide bounds check
2022-10-07 21:33:48 +02:00
Blue
a82e0e003b
Ellide bounds checking on pipeline MA and WB
2022-10-07 21:29:47 +02:00
Blue
f726df2c54
Add 1555 to 8888 LUT
2022-10-07 21:25:51 +02:00
Blue
8e0a2bd47e
GPU: Flip GpuStat.13 when isVerticalInterlace. Fixes openbios boot.
2022-08-28 17:44:39 +02:00
Blue
f71eec9494
Devices: Add Exp2
2022-08-28 17:42:12 +02:00
Blue
72aeb4fcd9
Winform: Update to Naudio 2.1.0
2022-08-01 22:30:06 +02:00
Blue
d4a4c422d9
OpenTK: Update to 4.7.4
2022-06-25 16:40:39 +02:00
Blue
5e8438a7c1
SPU: Support Reverb
2022-06-25 16:37:09 +02:00
Blue
ed2b7c240e
XADPCM: Handle 18900 resampling
...
It fixes Tony Hawks intro MDEC audio, and Dino Crisis voices being 2x speed.
2022-05-28 12:09:32 +02:00
Blue
31646d8762
ADPCM: Handle shift 9..12 quirk
2022-05-27 21:55:55 +02:00
Blue
824fc838d4
CDROM: Refactor commands
2022-05-27 21:31:42 +02:00
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