Commit Graph

326 Commits

Author SHA1 Message Date
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
Sorgelig
b5ea246ffe Add v option to CONF_STR. 2023-03-08 01:57:51 +08:00
MikeS11
60c9f806ea Video: Y/C Update (#743)
Update Y/C Parser
- Added the Y/C tuned phase inc's into the yc.txt file.
- Fixed an issue with the parser handling spaces in the core name
Removed force SOG on CVBS / SVIDEO Modes
2023-02-19 04:22:32 +08:00
Erik Scheffers
52237c4d36 C128: Extend C64 disk routines to support 1571 drive (dual-sided disks and MFM formats) (#742)
* C128: add support for .d71 and .g71 disk images

* C128: add creating or resizing tracks in .g64/.g71 images

* C128: change "1571" flag from bit 8 of lba to bit 10

* C128: fix second side of d71 images

* C128: small fix for gcr track end position detection

* C128: set track speed to 8 for MFM tracks

* C128: provide detected disk image type to core

* C128: add bit to indicate disk image GCR support
2023-02-15 22:49:01 +08:00
Sorgelig
8d735d4e77 Add control for S-Video/CVBS module. Add vga_mode parameter into INI. 2023-02-08 10:22:50 +08:00
Sorgelig
f95046edaf Debug print of current config. 2022-11-24 20:52:05 +08:00
Aitor Gómez
f202336c36 pcxt: Overrides Win hotkey in the core (#708) 2022-11-14 00:45:25 +08:00
Sorgelig
434cce3a14 input: fix ALT/GUI sticky keys when OSD opened. 2022-11-13 08:33:36 +08:00
Sorgelig
9b64fb67f2 input: prevent key releases and F12 code from passing to core when OSD is opened. 2022-11-13 08:06:23 +08:00
Sorgelig
aee51e107d x86: some fixes and tweaks after merge. 2022-11-11 18:27:35 +08:00
Aitor Gómez
598e3d755f pcxt: HDD support, based on AO486 (#706) 2022-11-11 17:46:18 +08:00
Sorgelig
62375504aa atarist: update cartridge support. 2022-10-07 23:54:43 +08:00
Aitor Gómez
d0961588e1 pcxt: FDD support, based on AO486 (#700) 2022-10-06 14:39:33 +08:00
Martin Donlon
801a5ea0d2 If errors are detected in INI settings display an info message for 5 seconds at core startup. (#696)
Added `cfg_error` function for reporting errors in the ini.
Report errors when parsing video_mode information.
Report out of bounds settings.
Report unknown settings.
Detect numeric parse failures.
2022-09-25 04:32:39 +08:00
Martin Donlon
a845f8407f video: Add support for [arcade_vertical] section (#691) 2022-09-11 15:12:46 +08:00
Sorgelig
6df55ba7f9 Reset for is_pcxt_type. 2022-08-19 22:58:38 +08:00