Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Announcement

    Sorry for the recent downtime. Still much to do but we have the site updated, secure and back online.  Expect more changes.

HyperSeeder

User
  • Posts

    25
  • Joined

  • Last visited

  • Days Won

    3

HyperSeeder last won the day on April 25

HyperSeeder had the most liked content!

Profile Information

  • Location
    London

Converted

  • Location
    London, United Kingdom

Recent Profile Visitors

2,967 profile views

HyperSeeder's Achievements

Rookie

Rookie (2/14)

  • Dedicated Rare
  • One Year In Rare
  • First Post Rare
  • Collaborator Rare
  • Week One Done

Recent Badges

23

Reputation

  1. We are now past the 6 months mark. I'm not saying this to put pressure on the Developer, but we need to prepare ourselves for the possibility that HS for Android may become abandonware. @reznnate, is there any chance that the source code for the Android version could be released under an open source license? Or would it compromise IP / Copyright from the Hyperspin Dev team and potentially Nvidia? If the code can be made open source there's a chance that it would spark enough interest to attract external contributors able to help. I fully understand if it's not possible, but would appreciate your input regardless of outcome. Kind regards,
  2. TL;DR: This is not a trivial update. Give the developer some space and let him have his saying when it's time to say something to the end users. ---- Hi folks, Give it some time. I'm not saying this to get one's hopes up. And I stand by my advice that there are other perfectly functional, well maintained front ends to choose from. Having said that, we need to contextualise the changes and understand why it may take a while, even for the original developer to be able to make things happen. The truth is that the initial port of HS to NVIDIA Shield required a somewhat different (although complementary) skill set to the one needed to make it all work with Android 11 restrictions. Plus honestly, it's not "fun" work to do. The initial port was mostly about emulating flash and being able to get custom themes to render correctly in a totally different OS and hardware architecture than the Windows x86-64 version. I have zero insights about the native side of the project, but I assume that it's written in a very low level programming language (possible even mixed with some Assembly). I would also assume that the development team was working close to NVIDIA to make it all happen. On top of the low level layer there's a very thin layer of Java / Android code that bootstraps the low level layer and enables a few user interactions + launching Android emulators. My point being: The original port was mostly a low level development effort. The Android 11 update is a somewhat different effort. Google has sandboxed Android apps and made some things very difficult for developers. They have provided several high level (as in, Java / Kotlin Android) APIs to access storage, and they have severely restricted how HS can interact with the file system (as well as what files it can interact with). The "new" Android APIs requires manual user interactions for stuff that wasn't necessary before. Retrofitting Android's high level storage API requirements in HS and making it play well with the native layer is not so easy. One still needs to be well versed with low level development and HS internals to make it happen. But there's also a lot of high level - Android specific - knowledge required. I can only guess, but I would assume a lot of messing around with badly documented (and possibly not so well thought out) integration between Android high level APIs and the low level layer where the API calls need to happen. And then, even if the author makes it happen, there's alway the possibility of further consequences to the end user given the changes to storage scope. I'm talking about possible having to change some previously hard coded paths (e.g., configuration files, resources, etc) and even the way that HS has to interact with some emulators. The sort of change that a lot of users will complain about, changes that may require guides to be rewritten, etc. What I'm trying to say is: The changes required to make HS work on Android 11 aren't a piece of cake for the developer. It requires some familiarity with modern Android development, as well as a lot of familiarity with HS internals and some non trivial modifications to make HS conform with the new "sandboxed" reality of Android applications. Give the developer some time and let him come back and say what he has to say when it's time to say it. Disclaimer: I'm not an authoritative source for any of this stuff. I'm just a guy that reversed engineered and hacked the Java / Android layer of HS a year or so ago. Everything that I just said may not be accurate, as it's based on nothing but speculation, my own experience as a developer and an unimpressive 3 LOCs patch to make HS work with modern versions of Retroarch (I have zero dealings with the dev team and the person that ported HS to Android).
  3. The current version of HS on Android isn't working with RA Plus / RA 64 bits and some other variants. I have published a moded version of the APK that works correctly with modern versions of RA (just browse the forums or Download section). The original author of HS for Android has also announced that he's working on a new version of HyperSpin meant to work with Android 11 and modern versions of RA.
  4. Hi retrodevil, you can find many guides on how to configure HyperSpin around the forums. Keep in mind that currently HS is not working on Android 11+ Devices. Given that the original developer has returned to the forums and confirmed that he's working on a new version of HS able to launch modern versions od RetroArch, for all intents and purposes my hacked APK is on its way to retirement. I'll keep the download link available to the community until @reznnate publishes the fix, but I would recommend folks that aren't already invested in the HS ecosystem to skip the custom APK and wait for an official release.
  5. Hi guys, Just letting you know that I'm aware that HyperSpin isn't working on NVIDIA Shield / Android 11. While I'm still in the process of debugging the problem(s) with it, for the reasons mentioned in my previous post, it's unlikely that I'll be able to do much about Android 11 support by hacking and reverse engineering the APK. The changes needed to keep the app alive are sophisticated and beyond my abilities as a programmer. In order to make it work with Android 11 someone would need to reverse engineer the native layer of the application and retrofit support for Storage Access Framework and Android 11 compatible API calls + permissions. As of now, the best advice that I can give to anyone that really needs HyperSpin is to stick with older versions of Android. If one of the developers with access to the source code decides to put the work to fix the app, my offer to contribute my small "patch" to fix RetroArch compatibility upstream still remains. I wish that I had better news, but unfortunately it looks like this time only the actual development team is in a position to do something about it. Kind regards,
  6. I'm glad everything is still working. I wasn't notified of the messages for some reason l. Yes, this version is still working and configurations are done within the HyperSpin folder as you have already figured out. MAME works well, but I found out that I rather stick with older roomsets + cores. Hopefully the next version of NVIDIA Shield will be backwards compatible with its existing architecture / software. I've heard that NVIDIA is going to shut down Tegra even though Nintendo Switch helped move a lot of NVIDIA hardware. It's too bad as Tegra was / is still the best SoC on Android TV hardware.
  7. Yes, the modded APK works with the website (https://www.retroarch.com/?page=platforms) 32 and 64 bits versions , F-Droid and Google Play Store versions, as well as modded / recompiled versions of RetroArch (as long as its package starts with com.retroarch). Sideloading the modded APK will work until Google permanently remove READ_EXTERNAL_STORAGE permissions and force everyone to use Storage Access Framework (SAF). They are already enforcing Scoped Storage and SAF for new Android Applications in the Google Play Store. Google will also be enforcing it for new versions of already published apps from November 1st. Despite the Play Store situation, I won't expect Android devices to stop supporting READ_EXTERNAL_STORAGE permission soon, so sideloading should be fine for a while. Nevertheless, my advice would still be for people to move on to a different Emulation Front End so that they aren't caught by surprise when it happens.
  8. Hi guys, Just giving everyone a heads up. While my version of the app is still working great, unfortunately whoever is in charge of the Play Store version ignored my emails about merging changes upstream. More than that, in a few months (November 1st deadline) Google will start enforcing Android 11 / API Level 30 as the minimum target for Play Store apps updates. Updating Hyperspin to comply with Android 11 requires non trivial changes, particularly around Scoped Storage. https://developer.android.com/about/versions/11/behavior-changes-11. I don't know if there is someone in charge for the app right now (as far I can tell, there isn't). But what I can say is that, if the person in question isn't willing to merge a 3 LoC patch, I doubt that he will be willing to do what it takes to keep HS alive. So, you have heard here first, the official Play Store version is likely dead in the water. New versions are unlikely to be released (unless things change and the official development team takes over the Android version). Also, contrary to some posts in the forum that previously led me to believe that there is active development going on and community members hacking the app to keep it alive behind closed doors, to the best of my knowledge, both official and community development efforts around the Android version of HS are basically non-existent. As far as I can tell, the modded APK in this thread is the only version that works with all modern versions of RetroArch. I couldn't find a working alternative anywhere else. I'll try my best to keep this version alive for as long as possible. Nevertheless, I feel the need to echo the message from older community members: If you are starting from scratch, don't use HS. There are great Emulator Front Ends for Android (E.g., Dig and Arc Browser).
  9. Version 0.1.8

    551 downloads

    HyperSpin v0.1.8 for Android This is an unofficial version of HyperSpin for Android able to launch all modern versions of RetroArch. Support topic: https://hyperspin-fe.com/forums/topic/42774-modified-hyperspin-apk-for-retroarch-works-with-all-modern-versions/ File Information: HyperSpin_v0.1.8_HyperSeeder.apk MD5: 4692846e4fe9a90bd0da3a6cd9f10ed3 SHA512: 2f5db6b625983c189b9f82c574bf48781921780825a38ceaf9c1094bd113545f9abdd06c5b4ac8707093e3e2ac0fc1185b9bc939f30f5ee830a41689c68e5b21 How to configure your Settings_Android ini files: Main APK from RetroArch's website and Google Play Store Version: exe=com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture RetroArch's website 32bit version: exe=com.retroarch.ra32/com.retroarch.browser.retroactivity.RetroActivityFuture RetroArch's website 64bit version and RetroArch Plus: exe=com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture Have fun! FAQ: Can I mix and match multiple RetroArch distributions? Yes, you just need to set different exe values for different systems. For instance, you can use the 64bit version of RA + Dolphin core for GameCube games (Nintendo GameCube.ini): exe=com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture parameters=cores/dolphin_libretro_android.so And the 32bit version of RA + MAME Core (MAME.ini): exe=com.retroarch.ra32/com.retroarch.browser.retroactivity.RetroActivityFuture parameters=cores/mame2010_libretro_android.so Will it load separate configuration files for 32bit and 64bit versions? Yes, it will always load the default configuration file for each version. Default configuration files are in /storage/emulated/0/Android/data/[package name]/files/retroarch.cfg For example: /storage/emulated/0/Android/data/com.retroarch.ra32/files/retroarch.cfg Can I make Hyperspin launch my own custom compiled version of RetroArch? Yes. As long as the package name starts with com.retroarch everything should work. Can I configure HyperSpin to load retroarch.cfg from a custom location? Not for now. I find that I can accomplish what I want with the default config file + settings overrides. If you have a specific use case that would benefit from this feature comment bellow and I'll see what I can do. How was this implemented? I reversed engineered the original Google Store APK using Apktool and JEB. You can find the two lines of code that I've modified bellow. You can use APK Studio to verify my changes.
  10. By the way. Looks like RA will soon have to comply with even more restrictive storage permissions from Google (https://github.com/libretro/RetroArch/issues/12181). I'm not sure if installing RA in adopted storage is a good idea at this stage.
  11. I've emailed him as well as the email address registered for HyperSpin in Google's Play Store. Hopefully someone still has the source and access to publish new official versions of HyperSpin. It would be great if someone could update the official version. Interesting stuff. RA in adoptable storage may actually be a use case that would justify implementing support to load a custom retroarch.cfg with HyperSpin. On my Shield, RetroArch APK installs directly to internal shared storage. It doesn't even give me an option to install it to my adopted SSD. More than that, once installed it also doesn't give me an option to move RetroArch outside of internal shared storage. Is installing RA in adopted storage even possible nowadays? https://github.com/libretro/RetroArch/issues/8353 If there's a guide somewhere to get RA to install outside of internal shared storage I can try to make HyperSpin work with it.
  12. To anyone following my posts lately, I have been working in modifying HyperSpin so that it can run all modern versions of RetroArch. I know that some of you have been waiting for it since 2019. Well, the wait is finally over. Download: HyperSpin_v0.1.8_HyperSeeder.apk: https://mega.nz/file/uNx0gQQA#f5ktYDOV6nMAWxatrlg6XAYz14ZMdYlkWg994s-1WDg MD5: 4692846e4fe9a90bd0da3a6cd9f10ed3 SHA512: 2f5db6b625983c189b9f82c574bf48781921780825a38ceaf9c1094bd113545f9abdd06c5b4ac8707093e3e2ac0fc1185b9bc939f30f5ee830a41689c68e5b21 How to configure your Settings_Android ini files: Main APK from RetroArch's website and Google Play Store Version: exe=com.retroarch/com.retroarch.browser.retroactivity.RetroActivityFuture RetroArch's website 32bit version: exe=com.retroarch.ra32/com.retroarch.browser.retroactivity.RetroActivityFuture RetroArch's website 64bit version and RetroArch Plus: exe=com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture Have fun! FAQ: Can I mix and match multiple RetroArch distributions? Yes, you just need to set different exe values for different systems. For instance, you can use the 64bit version of RA + Dolphin core for GameCube games (Nintendo GameCube.ini): exe=com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture parameters=cores/dolphin_libretro_android.so And the 32bit version of RA + MAME Core (MAME.ini): exe=com.retroarch.ra32/com.retroarch.browser.retroactivity.RetroActivityFuture parameters=cores/mame2010_libretro_android.so Will it load separate configuration files for 32bit and 64bit versions? Yes, it will always load the default configuration file for each version. Default configuration files are in /storage/emulated/0/Android/data/[package name]/files/retroarch.cfg For example: /storage/emulated/0/Android/data/com.retroarch.ra32/files/retroarch.cfg Can I make Hyperspin launch my own custom compiled version of RetroArch? Yes. As long as the package name starts with com.retroarch everything should work. Can I configure HyperSpin to load retroarch.cfg from a custom location? Not for now. I find that I can accomplish what I want with the default config file + settings overrides. If you have a specific use case that would benefit from this feature comment bellow and I'll see what I can do. How was this implemented? I reversed engineered the original Google Store APK using Apktool and JEB. You can find the two lines of code that I've modified bellow. You can use APK Studio to verify my changes. Has it been tested? I tested it with my NVIDIA Shield 2017 and 2019. It worked with all mentioned distributions, RA versions 1.9.0 to 1.9.8 How can I help? If you know someone able to get my two lines change integrated in the official build and published to the Google Play Store, please point the person to this topic. Acknowledgment: Many thanks to@zerojay, @yarrick and @Honosuseri for "hacking" their own versions of HyperSpin. While this version is my own work, I couldn't do it without the information that you all made available to the community.
  13. Well, DuckStation has a MainActivity that can be launched with an Intent (https://github.com/stenzek/duckstation/blob/master/android/app/src/main/AndroidManifest.xml#L63-L73). I haven't had the time to properly skim through the code to see if it takes optional arguments or has something like Dolphin's StartupHandler to properly launch roms. Since the emulator is pretty new you may be right. This is an interesting quest and I'll get to bother the developer or open a PR myself if someone else doesn't get to it first (I'm not sure if you have any interest in DuckStation yourself, if you do maybe you could ping Freelancer and ask him to have a chat with Stenzek about it). For now my focus is on trying to get a build of Hyperspin that can actually launch both RA 32 and RA 64 / Plus with proper configuration files. Honestly this has been a crippling issue since RA 1.7.8 (Aug, 2019). The fact that you and a couple other forum members produced hacks that got us halfway there by reverse engineering the APK (using nothing but primitive tools like APK Studio to basically edit hardcoded strings) shows that this would be a trivial change for someone with access to the source. Since I don't, well, I'll have to learn how to do it :D.
  14. It worked thanks. And yeah, I've been through the same drama and missed the opportunity to "buy back a new license for $1" :D. Pro is the same, but staring with org.devmiyax.yabasanshioro2.pro I also tried QuickShortcutMaker, but no joy with Duckstation's activities so far, maybe it's my lack of experience or maybe it requires some extra parameters to launch a specific game. I'm trying to reverse engineer Hyperspin for the reasons discussed in the other thread, if I can get all versions of RetroArch to launch with the proper configuration files, my next priority will be to try and make it work with Duckstation next.
  15. Sorry for resurrecting this thread. Have you managed to getYaba Sanshiro 2 pro to work? I'm also looking for Duckstation settings (standalone, not RetroArch).
×
×
  • Create New...