Commit graph

339 commits

Author SHA1 Message Date
Lionel Flandrin
56d31456ee Don't crash on unimplemented GPU commands
Fixes a crash in DewPrism when the game sends bogus 0xffffffff commands
to the GPU.
2024-11-23 18:56:55 +00:00
Lionel Flandrin
be548a855a Implement internal upscaling 2024-11-09 19:28:06 +00:00
Lionel Flandrin
39a07768b0 Start implementing internal resolution upscaling 2024-10-24 20:17:37 +01:00
Lionel Flandrin
074c663dc6 Fix warnings with rust 1.81.0 2024-10-24 14:31:34 +01:00
Lionel Flandrin
3da3160084 Add optional CD overlay 2024-04-19 15:07:09 +01:00
Lionel Flandrin
e9fa58615c SPU: fix CD ram writeback
Fixes Crash Team Racing
2024-03-22 19:08:17 +00:00
Lionel Flandrin
cc78bfbbb8 SPU: don't crash on unexpected register writes 2024-03-22 17:25:48 +00:00
Lionel Flandrin
bc575bd49f Properly implement stereo reverb 2024-02-25 02:24:02 +00:00
Lionel Flandrin
eac8b95809 Implemented reverb 2024-02-25 00:27:21 +00:00
Lionel Flandrin
cc39aebf8e Fix full-VRAM 4bpp mode 2023-11-20 13:50:48 +00:00
Lionel Flandrin
af2877878d Don't call SET_GEOMETRY when not needed 2023-11-01 01:39:19 +00:00
Lionel Flandrin
5a837d4c03 Fix out-of-bound CLUT issue in Dino Crisis 2 2023-08-13 22:14:29 +01:00
Lionel Flandrin
ce2ec05633 Disable memory cards for a couple seconds when reconnected 2023-08-13 13:15:08 +01:00
Lionel Flandrin
e31b24d819 Fix "dumb" draw commands that are used by Castlevania
Those are the commands that contain the gouraud shading parameters but
don't actually use them.
2023-07-27 23:12:35 +01:00
Lionel Flandrin
b657819c23 Increase the number of memory card indices 2023-07-23 22:18:02 +01:00
Lionel Flandrin
7320bb9b3e Implement memory card file config 2023-07-23 21:17:44 +01:00
Lionel Flandrin
4e12688c7f Fix flickering issue in FFVIII's Dollet bridge 2023-07-23 20:32:11 +01:00
Lionel Flandrin
a983cb628d Implement the libretro "DiscControl" API to allow disc swapping 2023-07-23 01:20:27 +01:00
Lionel Flandrin
d951712c14 Fix broken pad/memorycard handling on libretro reset 2023-07-22 19:02:33 +01:00
Lionel Flandrin
1102350538 Fix compilation warning 2023-07-22 18:44:08 +01:00
Lionel Flandrin
8272f888f8 Implement analog deadzone compensation 2023-05-06 22:09:22 +01:00
Lionel Flandrin
08fc55e6f1 Replace unmaintained "shaman" dep, add sha256 wrapper function 2023-05-06 20:48:32 +01:00
Lionel Flandrin
378d4a3a04 Fix clippy errors with Rust 1.69.0 2023-05-06 20:44:42 +01:00
Lionel Flandrin
feebced0cb Fix serial number parsing for Legaia Densetsu 2023-02-09 16:41:19 +00:00
Lionel Flandrin
a5b5ed3ef2 Implement 8bpp and 4bpp full VRAM display 2022-12-04 16:28:07 +00:00
Lionel Flandrin
dd1c20d937 GTE: implement CDP (used by Vigilante 8) 2022-10-27 19:22:41 +01:00
Lionel Flandrin
9824d0d2dd Fix off-by-one error in line drawing code 2022-10-26 17:07:25 +01:00
Lionel Flandrin
0a30250f2d Implement intermediary buffer for cmd_vram_copy 2022-10-25 22:06:03 +01:00
Lionel Flandrin
0f599d3205 Fix bogus modulo in GPU VRAM copy commands 2022-10-25 22:03:17 +01:00
Lionel Flandrin
457ca38505 Add support for some nonstandard serial numbers 2022-10-25 15:14:49 +01:00
Lionel Flandrin
99cd3eee33 Improve MDEC timings, fix some comments 2022-10-23 20:48:11 +01:00
Lionel Flandrin
379dfe5956 Fix broken bitwise implementation for u16 and u32 2022-10-23 20:43:53 +01:00
Lionel Flandrin
1fb2dbef3d Enable GDB debugging as a feature flag 2022-10-14 17:09:12 +01:00
Lionel Flandrin
cd43f023cf SPU: don't crash if frontend doesn't consume the audio samples 2022-10-12 22:46:46 +01:00
Lionel Flandrin
24b02ed9de GPU: implement texture cache 2022-10-12 01:03:43 +01:00
Lionel Flandrin
c193ee8f7d GPU: Implement CLUT cache 2022-10-11 22:33:26 +01:00
Lionel Flandrin
f8ac552153 Correctly handle overflows of gte_command_end 2022-10-11 16:07:15 +01:00
Lionel Flandrin
b6365a7f4c Only generate a warning on invalid pad_memcard reads 2022-10-11 16:01:29 +01:00
Lionel Flandrin
164f2050e0 Implement GTE timings and GTE overclocking 2022-10-09 22:11:34 +01:00
Lionel Flandrin
23f0cc3d6c Tweak SPU code to better match mednafen 2022-10-08 17:08:57 +01:00
Lionel Flandrin
dff9f69ced SPU: change IRQ to be correctly edge-driven
Fixes FFVIII FMV playbakc
2022-10-08 17:05:59 +01:00
Lionel Flandrin
11508d0a60 Migrate GPU to new IRQ implementation 2022-10-08 17:01:37 +01:00
Lionel Flandrin
6a4b709fb4 Migrate pad_memcard to new IRQ implementation 2022-10-08 16:58:43 +01:00
Lionel Flandrin
252a1a4c15 Migrate DMA to new IRQ implementation 2022-10-08 16:57:25 +01:00
Lionel Flandrin
c25568f16b Migrated CDC to new IRQ implementation 2022-10-08 16:56:58 +01:00
Lionel Flandrin
39ad9fb63e CDC: reset resampler once audio playback is over 2022-10-08 01:19:44 +01:00
Lionel Flandrin
4f381e9aca Implement MDEC timings based on mednafen 2022-10-08 00:25:36 +01:00
Lionel Flandrin
cfc06b2270 CDC: implement RTADPBSY 2022-10-07 21:19:35 +01:00
Lionel Flandrin
6b78b085d0 Hide the CDC debug messages behind a feature flag 2022-10-07 20:35:32 +01:00
Lionel Flandrin
0040c614a7 CDC: improve DECTOUT emulation 2022-10-07 20:05:12 +01:00