1792 Commits
Author SHA1 Message Date
ekeeke 49c5847648 Merge pull request #667 from acts-1631/bound-cdda-probe-buffer
[Core/CD] Prevent stack overflow when detecting OGG track silence
2026-10-06 16:34:39 +02:00
Acts1631 04de77b083 Bound the CD audio silence probe to one sample
The automatic OGG silence probe asked the decoder for 32 bytes of PCM
output into a 12-byte stack buffer. A valid audio track could therefore
overwrite 20 bytes of cdd_load's stack while a disc was mounted.

Only the first four-byte stereo sample is inspected. Limit both Vorbis
decoder calls to that size.
2026-10-06 09:26:14 -04:00
ekeeke 392380e0fe Merge pull request #666 from acts-1631/validate-zip-output-size
[SDL] Bound ZIP extraction before narrowing its size
2026-10-06 13:33:05 +02:00
Acts1631 f3fed4d15a Bound ZIP extraction before narrowing its size
The SDL, GCW0, and PSP2 loaders converted the archive's unsigned
uncompressed size to int before comparing it with the ROM buffer limit.
Values above INT_MAX became negative and were passed to the unzip API as
a large unsigned length, allowing decompression past the ROM buffer.

Compare in the archive size type and narrow only after applying the
destination limit.
2026-10-05 19:53:06 -04:00
ekeeke 70ccb3acfc Merge pull request #665 from acts-1631/fix-savestate-indexes
Validate restored VDP and PCM indexes
2026-10-05 09:03:41 +02:00
ekeeke e02d895539 Merge pull request #664 from acts-1631/fix-chd-metadata-bounds
Bound CHD track metadata fields
2026-10-05 08:57:09 +02:00
Acts1631 b3dc64502b Validate restored VDP and PCM indexes
Save states can restore fifo_idx and pcm.index outside their backing
arrays. Canonicalize both values immediately after loading them so later
emulated hardware writes stay within the native arrays.
2026-10-04 19:49:50 -04:00
Acts1631 2b7bf9443f Bound CHD track metadata fields
cdd_load parses CHD metadata into 16-byte stack buffers. Limit each
string conversion to 15 bytes and terminate metadata at its returned
length so a malformed image cannot overwrite or overread the stack.
2026-10-04 19:49:43 -04:00
ekeeke 939ce4f045 [Core/CD] improved Main-CPU/Sub-CPU synchronization on Sub-CPU interrupt status polling (fixes MCD-verificator IRQ TEST 0x0C) 2026-09-23 23:25:16 +02:00
ekeeke 37b8bbd807 [Core/CD] improved Main-CPU/Sub-CPU synchronization on level 2 interrupt (fixes MCD-verificator IRQ TEST 0x08) 2026-09-23 23:16:14 +02:00
ekeeke f483f5f581 [Core/CD] adjusted Timer period (fixes MCD-Verificator REG 8030 Test 0x07) 2026-09-23 23:07:09 +02:00
ekeeke 50fc4091f7 [Core/CD] minor Main-CPU/Sub-CPU synchronization optimization 2026-09-23 22:54:08 +02:00
ekeeke fdab4a4ed7 [Core/VDP] fixed BG pattern cache invalidation when switching between TMS mode & Mode 4 (fixes graphical glitches in Back to Future II attract mode) 2026-09-20 19:12:02 +02:00
ekeeke 27426f00aa Merge pull request #654 from acts-1631/fix/sega-cd-state-track-index
[Core/CD] improves Sega CD savestate loading robustness
2026-08-04 16:57:05 +02:00
Acts1631 c06f586bbf Validate Sega CD savestate track index
Reject a serialized index outside the mounted TOC before use.
2026-08-04 09:19:22 -04:00
ekeeke ebcae3cd72 Merge pull request #653 from acts-1631/fix/gx-memory-card-state-bounds
[Gamecube/Wii] improves memory card compressed saves loading robustness
2026-08-04 14:27:50 +02:00
ekeeke d1734dd066 Merge pull request #652 from acts-1631/fix/gx-zip-header-bounds
[Gamecube/Wii] Fix ZIP local header bounds in GX loader
2026-08-04 14:01:19 +02:00
Acts1631 c7446f29ed Validate GX memory card compressed states
Track the bytes read from memory card and bound decompression to
that range. Validate decoded size and zlib status before loading.
2026-08-03 18:14:00 -04:00
Acts1631 00923e685e Fix ZIP local header bounds in GX loader
Reject local headers whose variable fields exceed available input.
Use actual fread lengths for every zlib input chunk.
2026-08-03 18:14:00 -04:00
ekeeke 8ae4ef7f71 [Core/CD] fixed 8-bit write accesses to Word-RAM mirrored area and removed incorrect changelog entry (byte access to Word-RAM is possible, cf. MCD-Verificator) 2026-07-14 13:23:46 +02:00
ekeeke f9caf203ed [Core/CD] fixed PC 16-bit access masking on open-bus reads and PRG-RAM/Word-RAM 16-bit access masking in mirrored areas (fixes potential undefined memory access in case of access to an odd address value) 2026-07-14 13:13:35 +02:00
ekeeke 7b74da3489 [Core/MD] fixed PC 16-bit access masking (fixes potential undefined memory access in case PC is set to an odd address value) 2026-07-14 13:10:24 +02:00
ekeeke 29ba0a882f [Core/VDP] fixed Mode 4 68K VRAM reads regression following https://github.com/ekeeke/Genesis-Plus-GX/commit/1f34873692d65843532dfa1198130ecdb36c4731 2026-07-14 12:01:02 +02:00
ekeeke 94f6eae421 Updated builds 2026-07-14 00:21:18 +02:00
ekeeke 3d948cabf2 [Core/CPU] fixed 16-bit reads/writes access address mask (fixes potential undefined memory access in case of out of bound reads/writes with address error emulation disabled) 2026-07-14 00:06:46 +02:00
ekeeke 774e360ad0 [Core/MD] increased TMSS boot ROM buffer size (fixes potential undefined memory access in case of out of bound reads) 2026-07-13 23:48:09 +02:00
ekeeke bb2d1a4844 [Core/CD] adjusted CDC decoder timings (fixes MCD-verificator CDC FLAGS test 0x40 regression following CPU timings/syncing modification) 2026-07-13 21:07:11 +02:00
ekeeke 865c02fd4c [Core/CDD] added CDC decoder processing during CD latency (fixes MCD-verificator CDC INIT Test #2 when higher CDD latency is emulated) 2026-07-13 15:10:43 +02:00
ekeeke f3d84db6db [Core/VDP] adjusted number of lines allowing during active display for horizontal resolution change (fixes Bug's Bunny in Double Trouble regression when 68k bus refresh delays are emulated) 2026-07-13 14:41:34 +02:00
ekeeke f726723fee [Core/MD] reverted emulation of 68k delay during Z80 acccess to 68k bus (fixes regression in Soldiers of Fortune title screen, Animaniacs intro and probably many others) 2026-07-13 14:39:00 +02:00
ekeeke e12da78f30 [Core/MD] fixed support for Real Bout Fatal Fury Genesis Lite (homebrew) 2026-07-13 14:36:52 +02:00
ekeeke c7ecd07f0a Updated builds and changelog 2026-03-24 21:06:26 +01:00
ekeeke 9d3ea4f638 [Gamecube] modified DVD interface management to prevent some errors with libogc2 2026-03-24 21:02:30 +01:00
ekeeke e4a192652f [Core/MD] fixed unused 64M extension mapping handlers 2026-03-24 20:52:41 +01:00
ekeeke d961e38d75 Merge pull request #636 from Stargazer-24/master
[Core/MD] Added support for "Death & Lead" game (aftermarket)
2026-03-24 20:23:28 +01:00
Pavel 033df9b70b [Core/MD] added support for "Death & Lead" 2026-03-19 22:01:02 +03:00
Pavel 6e5945a37c Fixed MSVC project files 2026-03-19 21:59:49 +03:00
ekeeke c3df2d2b43 [Gamecube/Wii] update HISTORY.txt, LICENSE.txt and credits following latest build changes 2026-02-26 19:18:07 +01:00
ekeeke 7ec4e2c27a [Gamecube/Wii] bumped configuration version following https://github.com/ekeeke/Genesis-Plus-GX/commit/751d6ddc06469389ea8f65c42a01839141d69734 to prevent deprecated config file loading causing corruption of some settings
Note: built with devkitPPC r47, libogc 2.14.1 and libfat 1.2.0 (Wii build) / libogc2 r2354.789670c and libdvm-extreme 9b3de4c (Gamecube builds) which add support for exFAT devices on Gamecube
2026-02-25 19:12:48 +01:00
ekeeke 960219292f [Core/CD] improved Main-CPU/Sub-CPU synchronization to prevent potential recursive CPU execution (fixes regressions introduced by 68k refresh delay emulation in BC Racers) 2026-02-24 09:40:10 +01:00
ekeeke 751d6ddc06 [Gamecube/Wii] added configurable analog sticks sensibility 2026-01-21 22:56:12 +01:00
ekeeke 9975ae26fe [Core/MD] added support for generic SGDK flash-save mapper (https://gitlab.com/doragasu/sgdk-flash-save) 2026-01-14 19:22:03 +01:00
ekeeke e6ee3003e1 [Core/IO] added Innovation's Smash Controller emulation (thanks to Stanislav Simbirtsev for original hardware reverse-engineering) 2026-01-14 13:37:15 +01:00
ekeeke 4d033fc9cf [Core/CD] improved (again) emulation of Word-RAM access limitations in 2M mode (fixes regression in MegaRace) 2025-12-17 10:13:54 +01:00
ekeeke eca60fff0d [Core/MD] modified some unlicensed carts comments (no functional impact) 2025-11-16 11:20:29 +01:00
ekeeke 003ac03f1b [Core/VDP] fixed H-Counter latch state loading regression (introduced by https://github.com/ekeeke/Genesis-Plus-GX/commit/d2a1c51a9d500cea4df152953666482878e7b348) 2025-11-16 11:04:33 +01:00
ekeeke 0a34e49015 [Core/MD] added support for some new unlicensed games with copy-protection hardware (continued) 2025-11-07 14:00:49 +01:00
ekeeke d3314b4c82 [Core/MD] added support for some new unlicensed games with copy-protection hardware 2025-11-05 23:43:05 +01:00
ekeeke ea34ee8448 [libretro] revert Makefile change (for local use only) 2025-11-05 22:16:47 +01:00
ekeeke a04c0d11de [Core/MS] added support for latest x-in-1 Korean mapper and improved existing mapper (credits to Ben Sittler & Omar Cornut at smspower.org for mappers reverse-engineering and description) 2025-10-26 11:19:51 +01:00