Commit graph

  • 35e314fea5 Project: Update to .NET 9 master Pedro Cortés 2024-11-15 18:06:23 +01:00
  • 50130eab6b GPU: Avoid calling unneded GP1_e6 e7 e8 Pedro Cortés 2024-05-20 21:25:05 +02:00
  • dce289f164 GPU: Only process E1 if it actually changed Pedro Cortés 2024-05-20 18:56:29 +02:00
  • d2d7f58a87 VRAM: Remove useless getters Turns up they appear when profiling... Pedro Cortés 2024-05-20 18:12:47 +02:00
  • eb9f7e1915 Project: Update to .NET 8 It really goes brrrrrrr... Pedro Cortés 2023-11-18 10:46:12 +01:00
  • 8879c1c92a SPU: Wrap overflow ramDataTransferInternalAddress on DMA Load Monkey Hero tries to DMA at 0x80000 Pedro Cortés 2023-11-05 17:14:43 +01:00
  • 72798c59a4 Project: Bump naudio to 2.2.1 Pedro Cortés 2023-10-15 19:49:13 +02:00
  • 636a223e23 Project: Bump OpenTK to 4.8.1 Pedro Cortés 2023-10-15 19:48:47 +02:00
  • 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 Pedro Cortés 2023-09-30 19:02:35 +02:00
  • 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. Pedro Cortés 2023-09-25 12:26:59 +02:00
  • af63b9606c BUS: Hardcode 1F80_1054 to 0000_0805 Just to mess with unirom/openbios/cdrom tests Pedro Cortés 2023-09-25 12:20:37 +02:00
  • 3479510d91 GPU: Fix rect and tri drawingAreaRight/Bottom clipping Blue 2023-06-18 10:06:12 +02:00
  • 6e396fc725 GPU: Precalc rgbcolor on tris Blue 2023-06-17 15:38:53 +02:00
  • ca49137150 GPU: Minor GP0_RenderRectangle refactor Blue 2023-06-16 21:59:49 +02:00
  • 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. Blue 2023-04-10 19:45:07 +02:00
  • 0a5797ed67 CDROM: Handle CDDA Report This fixes games that rely on it. Doom previously hanging on the loading screen is one example. Blue 2023-03-19 15:40:34 +01:00
  • b29440e606 Timers: Sync T1 ClockSource Hblank from GPU Blue 2023-03-19 15:17:15 +01:00
  • 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). Blue 2023-01-07 10:24:14 +01:00
  • 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... Blue 2023-01-07 10:16:25 +01:00
  • 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) Blue 2022-12-26 21:56:00 +01:00
  • b955d691f0 CDROM: Debug commands dictionary Blue 2022-12-23 21:29:19 +01:00
  • a797a25431 Winforms: Make project debugable again This has been broken since the GDI merge. Somehow on release was working. Blue 2022-12-23 18:27:45 +01:00
  • 2975553082
    Merge pull request #24 from BluestormDNA/FF9 Pedro Cortés 2022-12-23 18:04:26 +01:00
  • 73b1bf7998 GPU: Handle 1w xh VRAM reads This fixes Final Fantasy 9 hang after first combat FF9 Blue 2022-12-19 19:33:34 +01:00
  • 79c6de9c5a DMA: Refactor Blue 2022-12-19 19:30:39 +01:00
  • 37fabbd057 SPU: Handle ramDataTransferAddressInternal overflow Blue 2022-12-18 00:45:51 +01:00
  • 8e44e3f9bf DMA: Handle resumable dmas This makes Final Fantasy 9 playable Blue 2022-12-18 00:43:50 +01:00
  • 7d1b924bfd DMA: Simplify edgeInterruptTrigger Blue 2022-12-18 00:41:20 +01:00
  • adb81d776a MDEC: Support word by word decoding It passes all Jakub's MDEC tests even though we are not handling actual dma data requests. Blue 2022-12-18 00:39:36 +01:00
  • 20251d2558 DMA: Handle dma master enable Blue 2022-12-04 19:21:59 +01:00
  • c96c95b520 DMA: Support hardwired OTC control bits Blue 2022-12-04 16:51:23 +01:00
  • 65e55f1137 DMA: Support size 0 transfers being actually size 0x10000 Blue 2022-12-04 16:29:31 +01:00
  • 6d64c82979 CPU: Avoid Instr imm and imm_s and Pedro Cortés 2022-11-25 19:48:41 +01:00
  • 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. Pedro Cortés 2022-11-25 19:47:19 +01:00
  • 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. Pedro Cortés 2022-11-13 16:27:33 +01:00
  • 4b82acd688 Project: Update to .NET 7 net7 go brrrrr... Pedro Cortés 2022-11-12 11:17:01 +01:00
  • 6875834520 OpenTK: Update to 4.7.5 Pedro Cortés 2022-11-12 11:15:23 +01:00
  • 6647174d6f
    Merge pull request #23 from BluestormDNA/MicroOptimizations Pedro Cortés 2022-10-07 21:42:33 +02:00
  • f77e755df6 VRAM: make H and W const As multiple of 2 the JIT will drop an IMUL for a plain SHL MicroOptimizations Blue 2022-10-07 21:40:26 +02:00
  • de3935b944 VRAM: Ellide bounds check Blue 2022-10-07 21:33:48 +02:00
  • a82e0e003b Ellide bounds checking on pipeline MA and WB Blue 2022-10-07 21:29:47 +02:00
  • f726df2c54 Add 1555 to 8888 LUT Blue 2022-10-07 21:25:51 +02:00
  • 8e0a2bd47e GPU: Flip GpuStat.13 when isVerticalInterlace. Fixes openbios boot. Blue 2022-08-28 17:44:39 +02:00
  • f71eec9494 Devices: Add Exp2 Blue 2022-08-28 17:42:12 +02:00
  • 72aeb4fcd9 Winform: Update to Naudio 2.1.0 Blue 2022-08-01 22:30:06 +02:00
  • d4a4c422d9 OpenTK: Update to 4.7.4 Blue 2022-06-25 16:40:39 +02:00
  • 5e8438a7c1 SPU: Support Reverb Blue 2022-06-25 16:37:09 +02:00
  • ed2b7c240e XADPCM: Handle 18900 resampling It fixes Tony Hawks intro MDEC audio, and Dino Crisis voices being 2x speed. Blue 2022-05-28 12:09:32 +02:00
  • 31646d8762 ADPCM: Handle shift 9..12 quirk Blue 2022-05-27 21:55:55 +02:00
  • 824fc838d4 CDROM: Refactor commands Blue 2022-05-27 21:31:42 +02:00
  • 9db088f25c SPU: Fix dma load size This fixes Gran Turismo going ingame and Marvel vs Capcom freezing before main screen Blue 2022-05-27 21:21:51 +02:00
  • af0bc8bd04 CD: Handle AudioCDs wip Blue 2022-05-22 18:58:02 +02:00
  • f23511c971 TrackBuilder: Identify Audio tracks Blue 2022-05-22 18:57:32 +02:00
  • ba44f589b6 OpenTK: Update to 4.7.2 Blue 2022-05-22 18:29:57 +02:00
  • ac9508b4a6 SPU: Turn off voices when not enabled Blue 2022-05-15 20:41:06 +02:00
  • 446ac4f264 SPU: fix lower 0..5 bits of status<->control Blue 2022-05-15 20:34:09 +02:00
  • 5402159b37 GPU: Handle GPUSTAT.27 Blue 2022-04-30 19:14:50 +02:00
  • 953b5b05a2 GPU: Handle GPUSTAT.25 on GP1_04 Blue 2022-04-30 18:50:37 +02:00
  • 3a5a1c68f9 GPU: Fix GpuStat.19 misalignment Blue 2022-04-30 18:18:37 +02:00
  • 0cb57c1c75 Close to perfect CDDA playback for multi-track, consolidated .BIN aybe 2022-03-08 02:24:11 +01:00
  • 00560a85cc Implement IDisposable for ProjectPSX aybe 2022-03-07 17:54:08 +01:00
  • 23aafc5dfe Ignore user-specific launchSettings.json aybe 2022-03-07 17:50:55 +01:00
  • 12d02d3687 ProjectPSX.OpenTK: add trivial command line argument to load content aybe 2022-03-07 17:48:57 +01:00
  • 3e42a5886b Add to the README that OpenTK needs OpenAL aybe 2022-03-07 17:22:04 +01:00
  • 06d4fc42d9 ProjectPSX.WinForms: add missing AllowUnsafeBlocks for Debug configuration aybe 2022-03-07 17:21:46 +01:00
  • 4b3e1d0a2e ProjectPSX.OpenTK: make Debug configuration really one aybe 2022-03-07 17:21:28 +01:00
  • cb4a557d2a OpenTK: Update to 4.7.1 Blue 2022-02-27 21:43:45 +01:00
  • 166025c656 BUS: Cleanup Blue 2022-02-18 22:43:25 +01:00
  • 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 Blue 2022-01-10 19:52:49 +01:00
  • aae00df3c9 CD: Sense track changes Blue 2022-01-09 14:54:01 +01:00
  • 3ec554ae26 Update .editorconfig to match core Blue 2022-01-09 14:53:27 +01:00
  • 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. Blue 2021-12-12 19:55:36 +01:00
  • f61cbeb215 GPU: Add GP0_02_FillRectVram fastpath for non wrap Blue 2021-12-11 21:54:46 +01:00
  • 3da05b2f05 Window: Blit24bpp optimizations Blue 2021-12-07 16:12:59 +01:00
  • 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. Blue 2021-11-20 12:51:00 +01:00
  • 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. Blue 2021-11-14 21:12:19 +01:00
  • 865030948a GPU: Reuse interpolate on shaded tri Blue 2021-11-14 21:00:47 +01:00
  • f916e22160 GPU: Render Rect refactor Blue 2021-11-14 20:44:16 +01:00
  • b09a11407e Seal class Blue 2021-11-13 16:08:07 +01:00
  • fe6469ff51 Controller: Remove unneded IHostWindow ref Blue 2021-11-13 16:07:37 +01:00
  • 65551bb95b Project: Update to .NET 6.0 Benchmark on base tri is 10% faster. OpenTK seems to crash after a while... Blue 2021-11-10 23:20:05 +01:00
  • 115e78a530 Project: .editorConfig dont add line on catch or finally NET5 Blue 2021-11-10 21:06:52 +01:00
  • 6b9706ee9d GPU: Handle VRAM transfers by halfwords Blue 2021-11-07 13:43:42 +01:00
  • f83552f43f CPU: Remove checked add/sub for OverflowException It is slower than just checking it manually... Blue 2021-10-02 19:50:43 +02:00
  • 805f7d8d25 OpenTK: Update to 4.6.7 Blue 2021-09-26 14:12:25 +02:00
  • bfad70fce3 Fix Backward Branches fraser125 2021-08-20 23:39:25 -07:00
  • a6382e7454 MDEC: wip resumable block decoding Blue 2021-07-17 19:13:34 +02:00
  • 4744e0be95 BUS: Cleanup strings Blue 2021-07-17 19:11:20 +02:00
  • 4d7dd4b41f CDROM: refactor parameterBuffer to byte Blue 2021-06-19 10:10:28 +02:00
  • 4553cc5c6e CDROM: ResponseBuffer EnqueueRange from array params to stackalloc spans Blue 2021-06-18 22:24:36 +02:00
  • 3ce4395e9c Winform: Update to Naudio 2.0.1 (fixes .net 5.0.7 kill) Blue 2021-06-18 21:53:22 +02:00
  • 304a20380c Revert "Winform: Disable Sound to avoid .Net 5.0.7 Kill" Blue 2021-06-18 21:52:31 +02:00
  • bde61a4348 MDEC: Move stackalloc out of the toRGB loop Blue 2021-06-12 19:53:09 +02:00
  • 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. Blue 2021-06-12 19:37:40 +02:00
  • c41db1c90f SPU: deallocation pass Blue 2021-06-05 09:07:41 +02:00
  • fba0793163 SPU: Use Sector XA Buffer instead of Queue So allocations are avoided on each CDROM samples push. Blue 2021-06-04 00:17:26 +02:00
  • 35b2d81182 CDROM: Use Sector Raw Buffer Blue 2021-06-04 00:15:32 +02:00
  • a8e8cb4cbd Sector: Support pre decoded XA and readShort Blue 2021-06-04 00:14:27 +02:00
  • 44c7560dd9 XA: deallocation refactor Blue 2021-06-03 22:23:39 +02:00
  • 23c7c9a80a CDROM: Don't push to CPU muted cdda Blue 2021-05-30 10:27:11 +02:00