Add shared game asset resolution for cheats and game docs, preserving the existing cheat-compatible lookup order while allowing asset-specific validation. Use it to find PDF manuals under docs/<core>/Manuals and keep cheat loading aligned with the same matching rules.
Show a synthetic Manual row above Cheats in the generic menu when a matching manual is available, and open it through the existing document viewer. Update manual state when games/images are loaded.
* docs: search USB/CIFS/network for per-core doc folders
Introduces findDocsDir and findGamesDir. findGamesDir replaces the old findPrefixDir keeping the behavior intact. findPrefixDir is now an internal helper used by findGamesDir and findDocsDir.
* Cleaned comment.
* Cleaned comment.
When video_off_hdmi=1 is set in MiSTer.ini, the ADV7513 HDMI
transmitter is powered down via I2C when the video_off timeout
expires, allowing the connected monitor to enter sleep mode.
HDMI is restored when user activity is detected (OSD opens).
* 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
* 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
- Fixes games not loading after inserting audio CDs
CD-i: Disc type transfer to core
- Audio CD or CD-i sent via status flags
CD-i: Adopt folder select behavior of PSX and Saturn
A single image in a folder is loaded when a folder is selected
Gun sends a mix of keyboard presses, mouse button presses and EV_ABS position data.
Added a QUIRK_LIGHTGUN_MOUSE quirk which passes the mouse button presses through the input system like other EV_KEY events instead of using them for mouse updates. This allows the mouse buttons to be mapped like regular joystick or keyboard buttons.
Added the left mouse button as a keycode that is accepted by the lightgun calibration menu.
Assign player if mouse button is pressed.
* 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.
* 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
Add osd_lock and osd_lock_time config options
When osd_lock is set it specifies a sequence of button pressed that must be pressed in order to gain access to the OSD while running a core.
osd_lock_time is the time (in seconds) before you will be prompted again for the unlock code after you have closes the OSD.
Co-authored-by: Martin Donlon <github-martin@donlons.com>