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