Commit graph

424 commits

Author SHA1 Message Date
Pedro Cortés eb9f7e1915 Project: Update to .NET 8
It really goes brrrrrrr...
2023-11-18 10:46:12 +01:00
Pedro Cortés 8879c1c92a SPU: Wrap overflow ramDataTransferInternalAddress on DMA Load
Monkey Hero tries to DMA at 0x80000
2023-11-05 17:14:43 +01:00
Pedro Cortés 72798c59a4 Project: Bump naudio to 2.2.1 2023-10-15 19:49:13 +02:00
Pedro Cortés 636a223e23 Project: Bump OpenTK to 4.8.1 2023-10-15 19:48:47 +02:00
Pedro Cortés 947a5d96c2 SPU: Fix main volume being too low.
Turns out it's a volume type register (doh!) and it goes -0x4000 to 0x3FFF that needs to be translated to << 1
2023-09-30 19:02:35 +02:00
Pedro Cortés 99f4e95463 CPU: Slow down pipeline on BUS BIOS access.
This is a wild guess on access to BIOS. We gonna need this on the next CDROM refactor as tests actually expect access to BIOS to be real slow.
2023-09-25 12:26:59 +02:00
Pedro Cortés af63b9606c BUS: Hardcode 1F80_1054 to 0000_0805
Just to mess with unirom/openbios/cdrom tests
2023-09-25 12:20:37 +02:00
Blue 3479510d91 GPU: Fix rect and tri drawingAreaRight/Bottom clipping 2023-06-18 10:06:12 +02:00
Blue 6e396fc725 GPU: Precalc rgbcolor on tris 2023-06-17 15:38:53 +02:00
Blue ca49137150 GPU: Minor GP0_RenderRectangle refactor 2023-06-16 21:59:49 +02:00
Blue b6d2760873 CPU: Branchless LWL/LWR SWL/SWR
Even thought on the grand schema of things isnt that important it is still 2x faster than it's switch counter part.
2023-04-10 19:45:07 +02:00
Blue 0a5797ed67 CDROM: Handle CDDA Report
This fixes games that rely on  it.
Doom previously hanging on the loading screen is one example.
2023-03-19 15:40:34 +01:00
Blue b29440e606 Timers: Sync T1 ClockSource Hblank from GPU 2023-03-19 15:17:15 +01:00
Blue d009667d64 CDROM: Play CDDA even if mode .0 is disabled
Somehow Vib Ribbon issues Play without setting this flag.
It appears that the flag is only to ignore the missing error detection and correction of CDDA sectors thus enabling it to be Read(N/S).
2023-01-07 10:24:14 +01:00
Blue 6e5315bd95 SPU: Push CDDA samples to capture buffer area even if cdda is disabled
Samples from CDDA will end up on the capture buffer area even if the SPU flag for processig them is disabled.
This is used by Vib Ribbon to read back the CDDA samples as data to generate the levels. And also probably by any equalizer like software if any...
2023-01-07 10:16:25 +01:00
Blue 29488cd92b CDROM: Bump default command delay to 50000
PSX SPX and Jakub's CDROM tests average around 50000 cycles on many commands so set it as default.
Puzzle Fighter is now playable (previously was hanging on boot because cdrom timmings)
2022-12-26 21:56:00 +01:00
Blue b955d691f0 CDROM: Debug commands dictionary 2022-12-23 21:29:19 +01:00
Blue a797a25431 Winforms: Make project debugable again
This has been broken since the GDI merge. Somehow on release was working.
2022-12-23 18:27:45 +01:00
Pedro Cortés 2975553082
Merge pull request #24 from BluestormDNA/FF9
Ff9
2022-12-23 18:04:26 +01:00
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