aboutsummaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)Author
2023-01-30Adds override for deferring load state by number of framesneonloop
Fixes instant play for fake-08 and pcsx_rearmmed with bios intro
2023-01-26Forces poll for input before readingneonloop
Fixes arduous which reads input but never polls
2023-01-25Fixes emu actions not able to be repeatedneonloop
2023-01-25Fixes load new contentneonloop
Cores do not always clean up on unload content, deinit and reinit is more reliable. Some cores do not even clean up on deinit and reinit, need all statics reinitialized. On many platforms dlclose / dlopen will work. FunKey uses musl libc where dlclose is no-op, so instead will exec again with current core and new content path. Overrides decide whether easy or hard clean up is needed. Assume unknown cores need hard cleanup, otherwise specified by "needs_reopen" override. Also - FunKey will now autosave and resume during load new content - Load new content deferred until after menu responds to keypress, otherwise key release can be missed and menu seems stuck
2023-01-25Moves emu action response out of retro_runneonloop
Avoids changes to emu state in the middle of a frame, caused problem with fba and maybe rare problems with other cores
2023-01-22Fixes instant play before first autosave is createdneonloop
2023-01-22Moves save / config dir under .picoarchneonloop
Still uses old dir if exists to not need migration
2023-01-16Adds fake-08 coreneonloop
Includes resume state patch from shauninman, thanks! https://github.com/shauninman/picoarch/blob/miniui-miyoomini/patches/fake-08/001-fix-resume-state.patch
2023-01-15Fixes mame2000 vector games, changes mame2000 default to aspectneonloop
2023-01-14Defaults aspect scaling on FunKey S to smooth filterneonloop
On small screen smooth looks better as default
2023-01-14Stops fast forward before suspendingneonloop
Prevents fast forward stuck during FunKey Instant Play
2023-01-09Adds icons for FunKey and forces next scaler shortcutneonloop
Icons are downloaded when needed, for now
2023-01-09Waits to suspend until after game loopneonloop
Suspending during loop caused corrupt states
2023-01-09Uses absolute path for coreneonloop
Fixes issue with instant play on FunKey S
2023-01-09Adds initial Funkey S supportneonloop
2022-03-27Changes capacity to occupancy and return whole number as percentneonloop
Avoids float operations and redundant "1 -"
2022-03-27Adds dynamic audio rate control optionneonloop
When DRC is on, game syncs to frame rate instead of audio buffer capacity. Audio is resampled to generate more samples when buffer is low and less when buffer is high, to keep buffer 40%-60% full. Buffer size doubled to keep same avg. audio latency value. Audio can distort when buffer is out of range, not often during gameplay. Better resampler could improve but would be slower. When buffer is always out of range (heavy frameskip), it is better to leave off, DRC doesn't help anyway then. Idea from RetroArch audio_driver.c and https://near.sh/articles/audio/dynamic-rate-control
2021-09-29Fixes inability to lower audio buffer sizeneonloop
2021-09-22Skips audio writing when buffer size is 0neonloop
This keeps from hanging when audio is sent before content is loaded (pcsx_rearmed). picoarch cannot know correct frame rate / sample rate before content is loaded (incorrect to call retro_get_system_av_info then) so best to just skip it
2021-09-06Adds ips/bps softpatchingneonloop
Patches named like the content will be auto-applied in memory when the game is loaded. Example: /roms/game.gba will apply patches named /roms/game.ips, /roms/game.ips1, /roms/game.IPS2, /roms/game.bps, etc. This only happens in memory, original files are unmodified. Patches are loaded in case-insensitive alphabetical order. Note that .ips12 loads before .ips2, but after .ips02. Only supports cores that load from memory (see libretro page at https://docs.libretro.com/guides/softpatching/ for compatibility list)
2021-08-30Adds cheat supportneonloop
Cheats use RetroArch .cht file format. Cheats are loaded from [save_dir]/cheats/[name].cht, where name is the name of the ROM without extension. Cheat menu only shows when cheat file is found.
2021-08-28Fixes config override detection after loading new gameneonloop
2021-08-27Adds a standalone multi-emulator modeneonloop
When starting without arguments, can select a core in the current directory and some content (a game). Allows loading a different game from the in-game menu.
2021-08-24Adds option for CPU % displayneonloop
2021-08-21Updates message display and adds loading message to pcsxneonloop
2021-08-20Adds disc control to MinUIneonloop
2021-08-15Moves core option changes into picoarchneonloop
Keeps cores cleaner and avoids conflicts
2021-08-14Updates pcsx_rearmed core options text / defaultsneonloop
2021-08-14Adds auto-frameskip to pcsx_rearmedneonloop
2021-08-12Adds screenshot functionneonloop
2021-08-12Allows deleting game-specific config from menuneonloop
2021-08-10Fixes core options deallocated by coreneonloop
Some cores free core options after notifying libretro, picoarch cannot rely on them staying around.
2021-08-10Hides state menus if states are unsupportedneonloop
2021-08-07Adds generic nearest and smooth scalersneonloop
Smooth is slower (10-15%) than a scaler built for a specific resolution. Works well for downscaling and for odd screen ratios until a custom scaler is built. Replaces the snes smooth scaler (outperforms it) and the gba smooth scaler (looks better)
2021-08-04Initial commitneonloop