Age | Commit message (Collapse) | Author |
|
Fixes arduous which reads input but never polls
|
|
|
|
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
|
|
Avoids changes to emu state in the middle of a frame, caused problem
with fba and maybe rare problems with other cores
|
|
|
|
Still uses old dir if exists to not need migration
|
|
Includes resume state patch from shauninman, thanks!
https://github.com/shauninman/picoarch/blob/miniui-miyoomini/patches/fake-08/001-fix-resume-state.patch
|
|
|
|
On small screen smooth looks better as default
|
|
Prevents fast forward stuck during FunKey Instant Play
|
|
Icons are downloaded when needed, for now
|
|
Suspending during loop caused corrupt states
|
|
Fixes issue with instant play on FunKey S
|
|
|
|
Avoids float operations and redundant "1 -"
|
|
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
|
|
|
|
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
|
|
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)
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Keeps cores cleaner and avoids conflicts
|
|
|
|
|
|
|
|
|
|
Some cores free core options after notifying libretro, picoarch cannot
rely on them staying around.
|
|
|
|
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)
|
|
|