341 Commits

Author SHA1 Message Date
littlegamer87
5a855596f9 SNES: fix cheats (#1157) 2026-04-15 13:55:06 +08:00
Jonathan Keller
7ff6560040 Add SNI uartmode (#1092)
* add SNI uartmode

* Conditionally hide UDP and SNI uartmodes
2026-04-06 15:03:00 +08:00
littlegamer87
3a26cf13d5 SNES: Upload mirrored rom region to sdram when rom size is not a power of 2 (#1148) 2026-04-05 14:44:26 +08:00
John Sheppard
055b2cbe1d Megadrive: Add MD+ support (#1145)
Co-authored-by: John Sheppard <20251523@dfei.ie>
2026-03-31 14:16:20 +08:00
Sergiy Dvodnenko
8dcef7213b 3DO: auto-loading of kanji.rom, save support, send the volume header to FPGA. (#1142)
* 3DO: auto-loading of kanji.rom, save support.

* 3DO: send the volume header to FPGA.
2026-03-30 18:43:17 +08:00
tonytoon
b897349052 screenshot optimizations to remove stalls in inputs / cd based cores (#1126)
* increase allowed autofire rates from 5 to 30. add autofire_on_directions option to mister.ini (defaults to 0/off)

* simd rewrite of scaler memcopy

* optimize screenshots / scaler copies

* optimize screenshots; simd memcopy for scaler_read, add frame timer callback handler

* tweaks

* restore .png save functionality.

* screenshot optimizations

* fix double free, guard against NULL

* fixing merge

* add mister.ini for screenshot_image_format

* correct file extension handling.

* slightly tweak bmp routine

* consolide screenshot code back into scaler.cpp, remove custom resize/bmp code.
2026-03-24 14:55:00 +08:00
zakk4223
71496d9545 OSD menu buttons working (#1132) 2026-03-22 20:55:53 +08:00
Sergiy Dvodnenko
b9f99f29c1 3DO: initial support. (#1134)
* 3DO: initial support.

* 3DO: fix the track type.
2026-03-22 20:54:30 +08:00
zakk4223
23e5f77988 input: Fix F12 and F12+modifier for OSD (#1129) 2026-03-19 14:05:15 +08:00
Wojciech Mostowski
3acc4b39c4 Atari800: Adds support for CAS files (tapes)
* WIP Atari800 CAS file support

* Atari800: Basic CAS files work

* Atari800: tape timing corrections

* Atari800: Joy2 port turbos now work

* Atari800 CAS files last major bug and clean up

* Atari800 CAS sneak peek progress info for tapes

* Atari800: final CAS support touches
2026-03-13 14:40:15 +08:00
zakk4223
1bc3356df5 Extend Button/Key remap to support chording (#1063)
* Extend Button/Key remap to support chording

* Add saved autofire setting to 'advanced/chord' dialog
2026-03-02 13:42:55 +08:00
Andre Zeps
d0cf945ae2 CD-i: Buffer overflow fix + Initial default NvRAM (#1106)
* CD-i: Fixed buffer overflow

Fixed reintroduction of the buffer overflow by
commit 1addb89ff

Originally was fixed with c0171c9 but not yet
well understood.

* CD-i: Mount root folder NvRAM after core load

Instead of starting with an empty NvRAM,
"saves/CD-i/CD-i.sav" will be loaded instead.

Avoids machine reset by NvRAM change in case
a root folder CD image shall be used
2026-02-26 13:16:21 +08:00
Wojciech Mostowski
deb43cd870 Migrate Atari800/5200 FW to Main (#1101)
* WIP Adding Atari800 side of things

* WIP Migrated some functionality from .sv to here

* WIP XEX file loading works, clean-ups

* WIP UART/SIO interface beginning

* WIP Adding Atari800 drive emulator

* WIP First version of the drive emulator working with ATR and XEX files

* WIP ATX files are working

* WIP HDD is now mounted separately

* WIP PBI/HDD is working too

* Cleaning up and adding supporting Atari ASM files

* Updated versioning information in the Atari800 FW

* WIP Adding support for the Atari 5200 core

* Atari 5200 support complete

* Atari800: fixed SIO timing bugs

* Atari800: sorting out SIO timing issues still

* Atari800: eliminate OSD lock up possibilities

* Atari800: Improved XEX loader
2026-02-24 12:51:17 +08:00
Tony Toon
4d1a9fc2d3 input: autofire overhaul (#1091)
* frame-synchronized autofire, per-button rates, custom rates via mister.ini
* frame timer using core frame counter, fallback to timerfd
* improved button reference counting (previously limited to 2)
2026-01-22 13:07:44 +08:00
PetrM1
cf4ada2fa8 Signaling F12 key should be passed to core - framework/core menu should use F12+(L/R)GUI kye modifier (#1084) 2026-01-13 22:18:11 +08:00
Aitor Gómez García
e8b3746b44 Detect PCXT variants in is_pcxt (#1081)
Expand is_pcxt() to recognize Tandy1000 and PCjr as PCXT-class systems, while keeping the cached detection behavior.
2026-01-08 13:21:33 +08:00
Rikard Bengtsson
ba0ae19cd2 N64: Save file fix and fix (#1072)
Got rid of the annoying message you get when opening the menu in a game that uses cpak.
It said "Saving..." even when there wasn't anything to save.
Cleaned up and refactored the save file code. Much easier to follow now.
2025-12-12 13:18:05 +08:00
Sorgelig
c75ae1fb0c user_io: implement I/O to get frame counter from core. 2025-12-02 19:33:29 +08:00
Rikard Bengtsson
bb02516af3 Add missing type resets (#1068) 2025-11-27 17:58:19 +08:00
misteraddons
2efa6a87a8 Write unique game info to /tmp/GAMENAME (#1045)
* Write unique game info to /tmp/GAMENAME

* Remove CD product code lookup, and crc32

* Remove product codes

/tmp/GAMENAME only uses file path and crc32

* Clean up

* Cleanup

* Only write CRC32 and or Product Code to /tmp/GAMEID

Realizing we already have the file path, this change writes the already calculated CRC32 and or game ID (N64 and PSX only) to /tmp/GAMEID. This ignores boot*.rom and cd_bios*.rom

CRC32: XXXXXXXX
Product Code: XXXXXXXXXXXX

* Clean up

* Update neogeo_loader.cpp

* Skip GAMEID for all BIOS files

* Guard behind log_file_entry ini option and clean up print statements

* Add MRA GAMEID support and improve GAMEID writing

MRA files use setname as serial

* Add MGL handling for /tmp/ STARTPATH, FULLPATH, CURRENTPATH, and FILESELECT

* Update mgl /tmp/ file handling
2025-10-22 19:54:43 +08:00
Sorgelig
3d14fe83c1 C64: support for Easyflash writes. 2025-08-28 23:00:46 +08:00
zakk4223
7f9e0f08e4 Mount saturn saves on index 1, allow selecting a save file (#1028) 2025-08-27 17:54:36 +08:00
Alan Steremberg
5ee7f9e0fa Apple-II: added DSK read/write support (#1011) 2025-07-31 13:46:23 +08:00
Martin Donlon
1074cdcfdd Add support for save states in arcade cores (#981)
Initialize the save state system after processing the MRA if the ss_base address is set.
Use the savestates/Arcade directory for arcade savestates
2025-04-16 13:51:16 +08:00
Andre Zeps
57d29ae3e5 Philips CD-i: Subcode and image handling (#954)
* Philips CD-i: Rewritten image handling

Added subchannel Q data
Added Table of Contents
Fixed differences between CUE and CHD
Fixed handling of data in pregap

* Philips CD-i: Add support for scrambled sectors

Fixes "The Apprentice (Europe)"
2025-01-19 15:49:05 +08:00
Andre Zeps
b79e95ee97 Philips CD-i (#939)
* CD-i: add cd reading support

Inspired by the PSX code

* CD-i: add cd reading support

Fix CDI track type

* CD-i: NvRAM backup and restore
2024-12-16 13:04:40 +08:00
paulb-nl
ee55783393 SNES: remove hardcoded index for ROM. (#934)
This allows for changing the index without breaking older core releases
and also to use boot0-3.rom.
2024-11-25 14:40:35 +08:00
zakk4223
7f57504f92 Screenshot: don't squish video when it is rotated (#929) 2024-11-14 19:07:04 +08:00
paulb-nl
425780205a Minor: N64 fix include path. SNES load rom with index 0 only (#921) 2024-10-03 14:34:28 +08:00
deepthaw
03f62ded4c Change in handling overlapping button presses (fixes issue #824) (#907)
* Modifications to input handling to prevent held inputs from being
overridden by an alternate input mapped to the same button.
i.e. R-Type holding fire to charge special shot will not be
disrupted if a secondary fire button is pressed, autofire
or not.

* Modifications to input handling to prevent held inputs from being overridden by an alternate input mapped to the same button.
i.e. R-Type holding fire to charge special shot will not be
disrupted if a secondary fire button is pressed, autofire
or not.

* Prevent held inputs from being disrupted by alternate inputs.

i.e. in R-Type, if holding the fire button to charge a special shot,
tapping an alternately assigned fire button will not cause the charge
to stop.
2024-06-30 15:02:49 +08:00
Sorgelig
77b41d0c6a MGL/MRA: add same_dir attribute for setname. 2024-03-26 01:11:12 +08:00
Sorgelig
e61b111858 Add INI option Main for custom binary. 2024-03-25 23:36:19 +08:00
Sorgelig
9e27f4792f print analog/digital board type. 2024-03-25 19:25:31 +08:00
Zakk
9d7f739e34 PSX: match user_io buffer size to chd hunk size 2024-03-12 19:53:45 -04:00
Rikard Bengtsson
6ab4f0036f N64: Software cheats (#882)
* N64: Implement cheats

* Remove unused function

* Corrected byte mask condition (skip if 0xffffffff)

* Meow

* Final changes to make the parser compatible with gamehacking.org's cheat files.

* Revert back to old pointer convention.
2024-03-07 19:39:20 +08:00
Rikard Bengtsson
9ba9b7febd N64: Push transfer pak save data directly to GAMEBOY folder (#871)
* N64: Implement improved save handling for Transfer Pak games.
2024-02-03 23:47:53 +08:00
Sorgelig
0419387578 video: support for direct_video=2 mode (experimental). 2023-12-20 21:37:55 +08:00
Sorgelig
4483501011 user_io: don't waste time for crc32 if cheats aren't used. 2023-12-17 00:14:34 +08:00
Rikard Bengtsson
e9340593f4 N64 improvements, save files (#859)
N64 improvements. Split N64 save files into eep, sra, fla, mpk and tpk files.
Add "wide" tag detection to database, auto-switches to widescreen if found.
Prioritize N64-database_user.txt, so that people can override games already in the regular database file.
Honor order that rpak, cpak and tpak are written in database, for p1 controller.
2023-12-05 20:55:12 +08:00
Hans Larsen
626788a319 Fix: when extensions are less than 3 characters send NUL (#849)
* Fix: when extensions are less than 3 characters send NUL

Currently if the extension is less than 3 characters the last characters
of the filename will be sent to the FPGA. These are not consistent and
would not help the core establish what kind of file it is.

There are few ROMs with less than 3 characters, but they do exist (e.g.
.ws for WonderSwan). It is unclear reading the code how those are
handled outside of this specific function.

## Security considerations
This does not fix a buffer overflow as the code to get there would fail
if the complete filename would be less than 4 characters (e.g. the root
filesystem is read only).

## Testing
This has been tested with the happy path; the code at least works with
current files.

* Apply comment
2023-11-10 03:48:40 +08:00
Sorgelig
4fab9a5aa7 IDE support for Uneon core. 2023-10-24 22:36:22 +08:00
Sorgelig
203c8a92c4 user_io: improved persistent file loading. Don't load boot.rom if user choose specific persistent file. 2023-09-10 00:55:40 +08:00
Marcoen Hirschberg
aa76842194 N64 loading improvements (#804)
* add n64 type

* use a custom loader for N64

This loader:
- converts little-endian and byte-swapped ROMs
- auto-detects ROM properties, this requires a N64-database.txt file in
  the N64 games folder
2023-08-18 19:27:46 +08:00
Sorgelig
61611e0b55 Cleanup from unused code. 2023-08-17 00:05:44 +08:00
Sorgelig
97472bc5e9 ide_cdrom: fixes and tweaks. 2023-08-16 23:16:29 +08:00
zakk4223
b29ceebf20 ide: cd audio (#800)
Co-authored-by: Zakk <zakk@rsdio.com>
2023-08-16 03:08:35 +08:00
Callan Barrett
45e46704a8 Write original core name to tmp file RBFNAME (#798)
* Write original core name to tmp

* Use more appropriate function to get original core name
2023-08-14 06:11:32 +08:00
Sorgelig
70645f505c Display INI selection menu. 2023-07-07 23:01:06 +08:00
Sorgelig
2fb0d7b0c7 Switch to main INI if OSD button is pressed on boot. 2023-07-07 00:28:20 +08:00
paulb-nl
646f96c395 Add NeoGeo CD support (#767)
support/megacdd: add Play track command for Neo Geo

neocd: use separate index for audio
2023-04-06 23:27:39 +08:00