aboutsummaryrefslogtreecommitdiff
path: root/main.c
AgeCommit message (Collapse)Author
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