Age | Commit message (Collapse) | Author |
|
|
|
|
|
Fixes showing Next page when no visible options are left
|
|
Now that FunKey runs at 60Hz, smooth video is more meaningful
|
|
Fixes dosbox-pure and other cores with varying state sizes
|
|
|
|
|
|
|
|
|
|
Instant Play needs savestates and savestate resume on startup, and not
all cores support those. Better to warn than surprise by not resuming.
|
|
|
|
|
|
Fixes instant play for fake-08 and pcsx_rearmmed with bios intro
|
|
After first combo keybinding, mods_bound is still empty so mod key
release is missed. Instead, keep combos enabled until binding menu is
exited.
|
|
dosbox-pure does not support resume states, because it loads puremenu
before loading game. Savestates can also glitch loaded game.
|
|
Simple version, conversion can still be optimized
|
|
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
|
|
Fixes in-game quit for prboom, tyrquake, scummvm
|
|
|
|
|
|
On some devices, buttons are mapped to letter keys. During file
selection, libpicofe would respond to the button press and the letter
press, this could cause a freeze. Instead, button presses should never
be treated as letter presses.
|
|
|
|
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
|
|
libpicofe handles emu keys differently, no need to delay them.
|
|
|
|
|
|
When resuming instant play, FunKey S saves path of executable after
launching executable in background. If this happens fast enough,
process will still be /bin/busybox, not /opt/picoarch, saving wrong
path, failing next launch. To workaround, should save path again
before suspending.
|
|
On small screen smooth looks better as default
|
|
Prevents fast forward stuck during FunKey Instant Play
|
|
|
|
Does not prevent buttons when no combo is bound, delays keyup of mod
key to allow normal handling, ignores combo key handling when no combo
keys are bound
|
|
Makes crop scaler more useful for PlayStation / SNES games that use
high horizontal resolution
|
|
|
|
Icons are downloaded when needed, for now
|
|
Suspending during loop caused corrupt states
|
|
Fixes issue with instant play on FunKey S
|
|
|
|
|
|
|
|
|
|
|
|
Original version was reverted, now more similar to new snes9x2002
version, allows fixed_interval when buffer status callback is missing.
|
|
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
|