Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Retroarch 1.9.6 is bugged with latest versions core #5

Open
wants to merge 473 commits into
base: master
Choose a base branch
from

Conversation

Cauptain
Copy link

I have been trying to get the X68000 to work without success.

Retroarch opens a white screen and then closes.

All bios have the correct MD5 and are in the Retroarch/system/keropi folder

Tested with all DIM, HDF and M3U files. Same error.

I tested all the latest colors from versions 1.9.1 to 1.9.6 and the error is the same.

Tested on 3 different computers.

inactive123 and others added 30 commits December 28, 2020 03:23
This reverts commit 1094d9e.
Most of the options are saved to an external file (keropi/config), But majority of the options are either only set to defaults, or is not used or relevant for libretro. This PR reduces the reliance to this external config file by only saving what is commonly should be manually set is some cases, aka StartDir="" for example.
…me. This will allow safer core exit on loading errrors
Change core speed throttling code to get elapsed time from the frontend
via the frame time callback, this allows fastforward (and slowmo?) to
work properly when NoWaitMode is disabled.

Add core option to toggle between using actual(new) or
compatible(?)(old) framerates, option defaults to using the old values.
Add core option to prioritize reducing video latency over audio latency
and/or potential stuttering by pushing video before audio, old behavior
is left as the default.
Add core option to address the problem of audio desynchronizing when
NoWaitMode is enabled. It works by simply discarding any audio samples
generated past the requested amount per frame slice, which from my tests
isn't many and my ears can't notice a difference. Forces NoWaitMode to
enabled regardless of its setting, thus leaving speed throttling up to
the frontend by way of some combination of its various sync options
(video, audio, and/or exact content framerate/time sync) - which is "the
right way" for a libretro core.

AFAICT NoWaitMode set to disabled avoids this problem by periodically
oversleeping and thereby starving the audio buffer. This hack is no less
ugly of a fix, sure it's not the right way but neither is throttling in
the core in the way NoWaitMode disabled does, IMO. If/when the root
problem is addressed this option (and NoWaitMode) will no longer be
needed.
LibretroAdmin and others added 30 commits August 8, 2024 22:06
Redundant with m68000/m68000.h
COMPOSE + F1 = XF1
COMPOSE + F2 = XF2
COMPOSE + F3 = XF3
COMPOSE + F4 = XF4
COMPOSE + F5 = XF5
COMPOSE + F6 = KANA
COMPOSE + F7 = ROMAN
COMPOSE + F8 = ENTER CODE:
COMPOSE + F9 = HIRAGANA
COMPOSE + F10 = FULL-WIDTH
Consider this work in progress. wait times is suppose to be in
microseconds per data read. Using counters here instead which appears to still work in known titles that uses it. Its basically a variant of Genesis' cyberstick controller support.
Some notes to consider:
- consider this wip. some vars might not be necessary.
- only for C68K cpu core
- minimally tested. it works on HD files, and multi-disks but have not
  tested on anything that switches to another disk yet or drive letter.
- M3U/CMD platlist format is necessary to keep track of what content the
  state is for (filename for .statex tracking for example). Switching
  disk or switching to another game through ingame menu will break
  currently loaded state.
- in core is use to run in content-less mode, the savestate will be
  universal or system state (PX68K.state) and will not be based on what
  content is loaded.
- MIDI: Loading patchsets and other midi params from a state file is not
  implemented. It may take a while to refresh instruments sets until
  next time MIDI sends new data. Its also required that only load a
  state after selecting the correct MIDI device from the ingame menu.
- requires new px68k_libretro.info file, with savestate support enabled
some comments to English and cleanup

- covert encoding from jis/euc-jp to utf-8
- translate a few comments to english
- gvram: unroll gvram read/write function
- minor cleanups
* Fix fra timing when loading state

---------

Co-authored-by: negativeExponent <[email protected]>
Backported from beetle-psx, using new api callback instead of RETRO_ENVIRONMENT_GET_AUDIO_VIDEO_ENABLE
libretro/beetle-psx-libretro@32fc5d3

RE:
* Savestate Performance Fix - no longer does giant memory allocations and copies
* Loadstate Performance Fix - no longer does N^2 string comparisons
* Fast Savestates (excludes text labels from the savestates, 20% speedup)
* Minor Savestate Performance Fix, no longer uses snprintf when strncpy will do.  Only applies to the text labels, no effect on fast savestates.
ios/tvos: properly set min supported version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.