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

macOS Catalina Support #586

Open
MichaelBuckley opened this issue Oct 7, 2019 · 155 comments
Open

macOS Catalina Support #586

MichaelBuckley opened this issue Oct 7, 2019 · 155 comments

Comments

@MichaelBuckley
Copy link
Collaborator

@MichaelBuckley MichaelBuckley commented Oct 7, 2019

Apple released macOS 10.15 Catalina today, and Snes9x does not run on it.

Earlier this year, I volunteered to update Snes9x for Catalina, but I severely underestimated the amount of work this would require. Every part of the code except the audio code has required large changes, and I have not had enough free time to finish the work before Catalina's launch.

I still plan to finish the work, but it will take time. I plan to release a version with the ability to load games/freeze states, and play with keyboard/joypad as soon as I can. It still may be a few weeks before this release is done. After that, I hope to add multicart, video options, video recording, cheats, and music box back as time allows. I'll prioritize features requested by users if we get any.

Snes9x isn't the only emulator in this boat. Dolphin recently released a statement warning users to delay upgrading to macOS 10.15. https://twitter.com/Dolphin_Emu/status/1180072169339883520

If users ask about the status of Snes9x on Catalina, you can point them to this Github issue.

@pmaddox76
Copy link

@pmaddox76 pmaddox76 commented Oct 11, 2019

Thank you Michael for your time and effort. It is appreciated.

@viniciusmaltauro
Copy link

@viniciusmaltauro viniciusmaltauro commented Oct 14, 2019

Thanks for doing that Michael! I'm an user and I'm looking forward for the update.

@sgreadly
Copy link

@sgreadly sgreadly commented Nov 4, 2019

Just wanted to say thanks too! Looking forward to a 64bit release I'm happy to test for you ^_^

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 5, 2019

@pmaddox76, @viniciusmaltauro, @sgreadly, @viniciusmaltauro, @bryan-lunt, @daaku, @abderrahmane-tj, @sgreadly, @benvp, @marconett, @kethinov, @rchristi, and @johannes87

Thank you all for the encouragement. I have keyboard support, joypad support, and freeze/defrosting working, but I don't yet have UI hooked up properly for them. I'm hoping to get that done in the next week, maybe two weeks, then I'll release a build. The control configuration UI won't be pretty, but it will work, and I think it's more important to release something working.

Notably, it won't yet support any other Snes9x features, nor (probably) mouse, Super Scope and Justifier controls.

One thing that could really help me is hearing from people who use Snes9x on Mac about why they use it instead of (or in addition to) other emulators. It would really help me to prioritize what gets implemented next.

@bryan-lunt
Copy link

@bryan-lunt bryan-lunt commented Nov 5, 2019

There are other emulators?

@bearoso
Copy link
Collaborator

@bearoso bearoso commented Nov 5, 2019

Yes, OpenEmu and Retroarch can run the Snes9x and bsnes cores, and I think bsnes has a partly working standalone client.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 5, 2019

The last time I checked, the bsnes Mac UI wasn't working properly, but it's a nightly build, so that may have changed. Higan nightlies have worked for me, but they take considerably more CPU power than Snes9x. https://cirrus-ci.com/github/byuu/higan/master

@viniciusmaltauro
Copy link

@viniciusmaltauro viniciusmaltauro commented Nov 5, 2019

@kethinov
Copy link
Contributor

@kethinov kethinov commented Nov 5, 2019

Notably, it won't yet support any other Snes9x features, nor (probably) mouse, Super Scope and Justifier controls.

I'm pretty sure mouse support is already broken. I tried to run Mario Paint a month or two ago and it didn't work on the Mac version at all for me.

One thing that could really help me is hearing from people who use Snes9x on Mac about why they use it instead of (or in addition to) other emulators. It would really help me to prioritize what gets implemented next.

I use it to playtest the numerous ROM hacks I've been working on for Secret of Mana since my primary computer right now is a Mac.

Obviously Geiger's Windows version with the SNES debugger is something I have to bust out in a Windows VM every now and then to do any serious reverse engineering, but the Windows version is understandably a bit janky in a VM, so I only really use it for debugging. For actual playtesting, I prefer the buttery smooth performance of the Mac version.

@sgreadly
Copy link

@sgreadly sgreadly commented Nov 5, 2019

I wasn't aware of alternatives, but then again I didn't go out looking for any. To me, snes9x is a choice due to the excellent support, development, and loyalty over the years (since Linux days too). It worked, was easy to use, and lightweight.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 5, 2019

Obviously Geiger's Windows version with the SNES debugger is something I have to bust out in a Windows VM every now and then to do any serious reverse engineering, but the Windows version is understandably a bit janky in a VM, so I only really use it for debugging. For actual playtesting, I prefer the buttery smooth performance of the Mac version.

I originally decided to check out the Snes9x source code because I wanted to see about adding a debugger to the Mac version, to assist in homebrew development. I can't promise I'll get there, since the Cocoa rewrite is taking much longer than I expected, but maybe someday.

I know there's been talk about a cross-platform UI in some of the other github issues. Maybe if that effort gets off the ground, and it has a debugger, my time would be better spent in the long-term helping with the Mac side of it.

@marconett
Copy link
Contributor

@marconett marconett commented Nov 5, 2019

One thing that could really help me is hearing from people who use Snes9x on Mac about why they use it instead of (or in addition to) other emulators. It would really help me to prioritize what gets implemented next.

For me it's just that bsnes and higan eat through my macbook battery when playing while traveling, so I prefer snes9x when I'm on the go.

@johannes87
Copy link

@johannes87 johannes87 commented Nov 9, 2019

One thing that could really help me is hearing from people who use Snes9x on Mac about why they use it instead of (or in addition to) other emulators. It would really help me to prioritize what gets implemented next.

For me it's just that bsnes and higan eat through my macbook battery when playing while traveling, so I prefer snes9x when I'm on the go.

I also feel that Snes9x uses less computing resources. My CPU temparature is lower and my fan keeps quieter in comparison to bsnes. Haven't tried higan.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 12, 2019

Snes9x.app.zip

Here's a barebones build which works on 10.12 through 10.15. The code for this has all been uploaded to a branch called mac-minimal-changes in my GitHub fork. Please test it out. If no major problems are found, I'll submit a merge request.

A few important notes:

  • Support files (freezes and etc.) now need to live in ~/Library/Application Support/Snes9x. Catalina throws up too many warning dialogs if they live elsewhere. If your prefs were set to store those files in /Applications or next to your ROM files, you'll need to move your files.
  • The freeze/defrost screen does not scale with the window, and looks small on retina machines.
  • The freeze thumbnail bug where it would take a screenshot of the freeze screen still exists, but I know how to fix it in future releases.
  • The only video options right now are Smooth and Blocky. Because Apple has deprecated OpenGL, I need to rewrite all the rendering code, so it seemed liek a waste of effort to get the other filters working in OpenGL again.
  • The default keybindings now match the Windows port of Snes9x, but it will import your old keybindings.
  • Joypad settings are not imported, because the old joypad settings didn't allow you to reverse joypad axes. To help with this, the port will try to fill in reasonable defaults when you configure your joypads.
  • Mouse/Super Scope/Justifier don't work. Multitap should work.
  • The few games that output 239 lines will get 15 lines cut off.
  • Very few settings, and no other features are present.

Please reply to this issue with direct feedback on this build. I'll ahve a blog post in the next few days about the process of porting, and what the plan is going forward.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 12, 2019

Oh, one more thing. When you first launch on 10.15, it'll throw up a dialog asking for permission for the app to access your keyboard. I'm not sure what's causing that, but I think it might be required for joypad support. I promise the app isn't doing anything evil. It's safe to grant the app keyboard permissions.

@spotanjo3
Copy link

@spotanjo3 spotanjo3 commented Nov 29, 2019

Its working properly now on Catalina . What version is it now ? Starting with v1.0 again ? Not v1.61 ? Confusion.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 29, 2019

@azoreseuropa It is between versions. There is some code that has changed since 1.61, so it did not feel right calling it 1.61. However, 1.62 (or whatever the next release will be) is not finished yet. Therefore, I did not set a version number, and macOS is displaying it as 1.0 because it lacks a version.

When the next version is released, I will be happy to produce a build with that version number and deal with Apple's notarization process. There may be more intermediate Mac builds before then.

@spotanjo3
Copy link

@spotanjo3 spotanjo3 commented Nov 29, 2019

@TEETSmaGEETS
Copy link

@TEETSmaGEETS TEETSmaGEETS commented Dec 2, 2019

Thanks for all your work! This is working but is really choppy for some reason. Anyone else having this issue?

@spotanjo3
Copy link

@spotanjo3 spotanjo3 commented Dec 2, 2019

@TEETSmaGEETS
Copy link

@TEETSmaGEETS TEETSmaGEETS commented Dec 2, 2019

The video is stuttering, like freezing momentarily and then continuing repeatedly. The built in Frame rate display doesn't show any frame rate drops though. Have tried on several roms.

@spotanjo3
Copy link

@spotanjo3 spotanjo3 commented Dec 2, 2019

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Dec 2, 2019

It's definitely possible that the updated rendering code is slower for some games or on some hardware. I haven't had the ability to test on very many games, and have only tested on a 2014 Mac Mini and a 2015 MacBook Pro.

Knowing which games and which hardware are suffering from the studdering would be helpful for diagnosing the problem and fixing it. It would also be helpful to know how much CPU Snes9x is taking on your machine using Activity Monitor. Thanks in advance for any details you can provide.

@misatosangel
Copy link

@misatosangel misatosangel commented Dec 2, 2019

Sadly this crashes as soon as a Rom is loaded here. Running catalina (10.15.1) on a 2017 15" MBP. The app runs and the preferences screen works. Open Rom dialogue comes up and then after select it just vanishes. Doesn't seem to matter what Rom, tried several.

Starting from the terminal gives the following output:
% ./Snes9x.app/Contents/MacOS/Snes9x

Interval: 16ms, Frames: 512
Interval: 16ms, Frames: 512
Map_SDD1LoROMMap
TextureRange: enable
AUGraph started.
Illegal instruction

Machine details:

Model Identifier:       MacBookPro14,3
Processor Name:         Quad-Core Intel Core i7
Processor Speed:        3.1 GHz
Number of Processors:   1
Total Number of Cores:  4
L2 Cache (per Core):    256 KB
L3 Cache:               8 MB
Hyper-Threading:        Enabled
Memory:                 16 GB
Boot ROM Version:       202.0.0.0.0
SMC Version (system):   2.45f1

@spotanjo3
Copy link

@spotanjo3 spotanjo3 commented Dec 2, 2019

@spotanjo3
Copy link

@spotanjo3 spotanjo3 commented Dec 2, 2019

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Dec 2, 2019

@misatosangel Two things stand out from those logs. The first is the line Map_SDD1LoROMMap. That indicates that the emulator is using the S-DD1 mapper, which I believe is only used in Star Ocean and Street Figher Alpha 2. Can you confirm that you were loading one of those games? If not, it may mean there's something in the code that's misidentifying the game.

Second, is the line Illegal Instruction. I usually see that only when running on older hardware or an older than the minimum requirements. However, you're using a newer OS with newer hardware than the machine on which it was compiled. Could you please zip up the crash logs and attach them to this ticket? You can find instructions for getting to the crash logs here, just replace Day One with Snes9x.

@spotanjo3
Copy link

@spotanjo3 spotanjo3 commented Dec 2, 2019

@misatosangel
Copy link

@misatosangel misatosangel commented Dec 2, 2019

Can you confirm that you were loading one of those games?

Not sure which Rom I tried that time it probably was Alpha 2.

However, they all fail, trying some others just now (Chrono Trigger, Megaman 7) . Only difference is that the line in question is replaced by Map_HiROMMap, which makes sense.

Here's the last crash log zip'd for you.
Snes9x_2019-12-02-194953_rin.crash.zip

(I should add that all the Roms in question work fine on the old 32bit Snes9x)

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Sep 12, 2020

The frame skip UI task involves adding UI to set the macFrameSkip variable in mac-os.mm.

If you look at the bottom of that file, you'll find an Objective-C class called S9xEngine. It has methods like setVIdeoMode: which should serve as a template for how this should be set up. You'll also need to add that method to the header, mac-os.h. In both files, you can put the method adjascent to setVIdeoMode:.

The mac-os.mm file is part of the UI-agnostic backend, so you'll now need to add the combo box to the UI. The first stop is AppDelegate.m, which has its own setVideoMode: that you'll want to mimic for frame skip. You'll also need to add your new method declaration to the AppDelegate.h header.

Next, check out S9xPrefsViewController.m, which has its own setVIdeoMode: method. Again, mimic this, and note that the return type of the method is IBAction. This tells Interface builder that this a method that can be called from Interface Builder.

You'll also want to search that file for videoModePopUp. You'll notice an IBOutlet. You should make one for your new combo box, but note that you'll be using NSComboBox instead of NSButton. There's also a refresh method in the file where you should be setting the current value based on the saved preferences when the method runs. Refer to the NSComboBox documentation for its API. https://developer.apple.com/documentation/appkit/nscombobox?language=objc

The UI itself is laid out in S9xPrefsViewController.xib This is where it gets a little complicated, as we start to work with macOS's auto layout constraint system. It's a bit hard to find Mac-specific tutorials for this, but there are plenty of tutorials for iOS, and it's 99% the same. For example, here's an iOS focused video tutorial. https://www.youtube.com/watch?v=emojd8GFB0o

We should probably just add a row below the video mode setting. So you'll probably need to delete the constraint in the screenshot below, resize the view a little taller, insert your views in the space that opens up, and then add new constraints to keep them in place.

Screen Shot 2020-09-12 at 11 19 15 AM

You can add views by typing command-shift-L, typing the name of the control you want, and then dragging it from the floating window into the view where you want it. In this case, you probably want a Label and a Combo Box.

Once you have them in place, you'll need to connect them to the code. Here's Apple's documentation on how to do that. https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/Xcode_Overview/ConnectingObjectstoCode.html

And I think that's all that should be required. Please let me know if you have any questions.

@orsi
Copy link
Contributor

@orsi orsi commented Sep 12, 2020

Sounds good! I've made a few iOS storyboards before so my only difficulty now is Objective-C and integrating with what's already there.

In the future, I think I might try to layout the preferences more like the older images I've seen of Snes9x on mac:

retrogamesmac-snes9xprefs

or even update them a bit to use the toolbar such as in newer Mac apps:

Screen Shot 2020-09-12 at 7 25 53 PM

@bearoso
Copy link
Collaborator

@bearoso bearoso commented Sep 12, 2020

Don't worry about keeping the UI the same. Not all the options are required any more, like "Transparency Effects", which is mandatory now. If you can make it look better, do so.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Sep 13, 2020

@orsi I'm glad you have some storyboard experience. I find that's the hardest part to explain.

And yes, I'd like to add a modern toolbar to the preferences window. I just didn't feel like we had enough settings to justify it yet.

@orsi
Copy link
Contributor

@orsi orsi commented Sep 23, 2020

I've changed my UI pull request to ready for review and will start looking into the IPS patching soon.

@nashsauter1
Copy link

@nashsauter1 nashsauter1 commented Nov 28, 2020

I don't know if the development on this project is still active, but I've been having an issue where the emulator will run completely fine for about an hour but will crash after that.
CrashLogs.zip

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 28, 2020

@nashsauter1

Thanks for the crash reports. They do seem to show that the app is running for almsot exactly an hour before crashing every time. It's not a crash I've personally experienced, but I'll take another look through the code reports point to.

One thing I would note is that, the reports indicate that the emulator is a "translocated process". This menas that you're probably running it from your Downloads folder, and you should move it into your Applications folder. It might make the crash go away.

App Translocation is a security feature that Apple intriduced in 10.12 to prevent an attack known as dylib hijacking. It's a bit too technical to get into, but when you run an app from the folder you downloaded it to, the OS will copy it to a randomized location and launch that copy with additional restrictions.

@nashsauter1
Copy link

@nashsauter1 nashsauter1 commented Nov 29, 2020

I tested it again last night by moving the application to my applications folder and running it from there, but it still crashed. Here's the log:

Snes9x_2020-11-29-023943_Nashs-MacBook-Air.crash.zip

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 29, 2020

@nashsauter1 Thanks for trying that. It appears to be the exact same crash.

Just to cover all our bases, are you using the build posted in the reply on September 7th, or an earlier build? It looks simialr to a crash that a user reported last year.

If you are using the latest build, what games are you experiencing the crash with? I've been testing by running games in the background for a few hours and haven't seen any crashes. Though now that I think about it, I may need to be actively playing the game if the crash is happening in the code that handles input. Are you using a keyboard or a gamepad?

@nashsauter1
Copy link

@nashsauter1 nashsauter1 commented Nov 29, 2020

I've had the crashing issue with the September 7th build as well as the snes9x-rr version. The zip file of crash logs I first sent had some from both of them and the most recent one I had from last night was using the snes9x-rr version.

I'm using a USB gamepad for input, but it also seems that the crash can happen when I'm not actively playing because the crash from last night was when I was testing after putting the emulator in my Applications folder and I left it running in the background. Also, the only game that I've been testing it with is the Link to the Past Randomizer.

@dalgard
Copy link

@dalgard dalgard commented Mar 25, 2021

Hi Michael

I was thinking about importing your most recent changes in my local version of OpenEmu's SNES9x-Core and do a custom build of that, but it seems that your code from September 2020 hasn't yet been committed to your GitHub fork?

At least, it looks like the newest of your branches is 15 months old. If you could do a sync with GitHub, that would be great – don't bother if it require a lot of work, though 🙏

Thanks for all your work!

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Mar 25, 2021

@dalgard

Hi Kristian.

I started doing work out of the main repository after being given commit access, but I haven't yet checked in any changes to emulator code, only to the macOS UI code. When I do check in emulator changes, it will likely be only for debugging, which is unlikely to be of any use to the OpenEmu core. Thus, it's unlikely that any of my work will be useful to the OpenEmu core.

@dalgard
Copy link

@dalgard dalgard commented Mar 25, 2021

Understood.

I can't help thinking that it might be a good idea under all circumstances, though, to check your local code into a public repo, such as your own Snes9x fork – just for reference 💁‍♂️

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Mar 26, 2021

All of my code that's functional (and even some that is broken) is already checked into this repo, which I believe is public, and I will continue to check in code as I finish it. I definitely don't want to give the impression that I'm hoarding the code somehow.

@dalgard
Copy link

@dalgard dalgard commented Mar 26, 2021

I never actually considered the possibility that the code changes in the September build were in fact committed a number of months earlier. Makes total sense 🙂

@KungFuFurby
Copy link

@KungFuFurby KungFuFurby commented Apr 9, 2021

I'm actually going to request the cheat finder and cheat entry for Catalina's version of SNES9X. For me, these are my most frequently used features that I used in the past, particularly when it came to testing out music modifiers and conjuring up cheat codes to try to go through the games as quickly as possible for music identification purposes. Plus, the ability to watch up to a double word (4 byte) section of memory in the $7Exxxx-$7Fxxxx range worked quite nicely for me, and I've used that over the past 13+ years myself.

As for why not bsnes-plus? Well, it may be fancier, but sometimes I just need a better focus on what memory location to keep track of (plus, I actually bypass the debugger most of the time, and just look it up either via narrowing it down through the cheat finder or I look it up in a hex editor, translate it into a PAR code and enter it into the cheat editor. That's because there was no debugger beforehand that I could really use, so I improvised using SNES9X and a hex editor for lookup purposes in the long run). That, and CPU consumption. Plus, SNES9X has a nice little display somewhere in the corner giving me the values changing in real time.

@dailun
Copy link

@dailun dailun commented Apr 21, 2021

Is it possible to play snes9x online with someone remotely? I heard about a "net play" option in the menu bar but my version of snes9x for Mac Catalina running on an M1 Mac doesn't seem to have this option. If I can't do this with snes9x does anyone know of another way to play two player Super Nintendo games with someone remotely? Thanks

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Apr 22, 2021

@KungFuFurby Cheat entry and finder are high on the priority list. I'm hoping to release a build next week with other changes, then I can look at those next.

@dailun The net play option only worked with the 32-bit Snes9x, which doesn't run on M1 Macs, or on macOS 10.15 and later, and it was incompatible with the Windows version of Snex9x. It also wasn't a great experience. It worked by having the host computer constantly make freeze states and send them to the client computer. The result was pretty jerky. I tried it once with a friend playing Kirby's Dream Course, which isn't the most active of games, but we still kept missing shots because the button presses would come through too early or too late, and we were conneted over a LAN in the same room.

RetroArch has netplay ( https://retroarch.com/index.php?page=netplay ), and a quick Google search also found https://snes.party, but I haven't tried either of these myself.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Apr 26, 2021

Hey all,

It's been a while since there was a new build. This is mostly my fault. I've been busier since the start of the pandemic.

Quite a few months ago, @orsi did some work on the preferences, and I wanted to find some nicer icons to go along with it. Unfortuantely, I spent way too much time going through public domain icon packs not finding what I was looking for, so I eventually decided to make some icons myself. I hope they'll serve well enough for now.

I also spent a lot of time trying to track down @nashsauter1's crash, but was unable to reproduce it throgh many LTTP randomizer runs. I did change some code so that hopefully it doesn't crash, but I can't guarantee it's fixed.

Anyway, here's the new build. Enjoy!

Snes9x.app.zip

@nashsauter1
Copy link

@nashsauter1 nashsauter1 commented Apr 27, 2021

I've done some limited testing with the new build and it seems like the crash I was having before has gone away. I tried leaving the emulator running on a title screen of a game overnight and there was no crash, and I was also able to play ALTTPR for a few hours with no problems.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Apr 27, 2021

Glad to hear it. I hope it continues to hold up. The crash reports indicated that some code was using pthreads incorrectly, but it wasn't clear if it was snes9x or a system library. As far as I could tell, snes9x was using it correctly, but there was a mutex being intialized with an initializer that was supposed to be for static mutexes. It didn't look like it would actually make a difference in this case, but switching to the standard initializer seems to have fixed it.

@ballo
Copy link

@ballo ballo commented Jun 19, 2021

Anyone else getting a blank (black) window? I have one if those laptops where the discrete GPU died, so I'm having to use the Intel graphics. I don't have this issue except for this app and dolphin.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Jun 19, 2021

@ballo I suspect the Metal graphics framework is attempting to use the discrete GPU. Right now, Snes9x does not select a GPU to use. It leaves that decision up to the framework.

I could add a dropdown to the video preferences to force the use of a specific GPU, but I don't have any coding time available for the next couple days. so it may take some time.

@ballo
Copy link

@ballo ballo commented Jun 25, 2021

I find that explanation highly unlikely. The dGPU has no driver nor does it show up in IOKit because it has been disabled in firmware. More likely I'm the only person who has even attempted to use your app with the Intel GPU. There is a switcher app which can disable the dGPU on the fly which may help (forgot the name offhand) but simply removing the dGPU driver might replicate the issue.

Edit: I should probably downgrade to Mojave given all the issues I've had. I went from Yosemite to Catalina not knowing what a crippled OS this was :(

@nashsauter1
Copy link

@nashsauter1 nashsauter1 commented Sep 29, 2021

I'm having an issue with using a USB Pokken Tournament controller where the direction up is always being held even when I'm not pressing the up button on the dpad. When I hold left, right, or down, those individual directions will work (they will be just right or just right instead of a diagonal up right), and when I hold diagonals with up the behavior works as expected. I have tested this controller with bsnes and OpenEmu and the problem didn't occur with either of those.

@MichaelBuckley
Copy link
Collaborator Author

@MichaelBuckley MichaelBuckley commented Nov 15, 2021

Hey all,

I know it's been 7 months of silence. It's been an unexpectedly busy year for me, and an event that occured earlier this year just completely sucked away my enthusiasm for SNES emulator development.

I don't have a big update, but Tomato recently released a patch that translates a popular Japanese FF VI ROM hack into English. However, this ROM hack was developed for older versions of Snes9x, and some of the music won't work without a compatibility setting that hadn't been added back yet.

So here's a build with that setting. It's in the "Emulation" preferences tab.

Screen Shot 2021-11-15 at 11 36 49 AM

I haven't actually played this ROM hack, so there may be other issues this build doesn't solve, but I did confirm that these settings work as well as they ever did on the Mac port.

Snes9x.app.zip

Hopefully I'll be back soon with a fix for the issue ballo reported all the way back in June (sorry about that), and I'm trying to get my hands on a Pokken controller for testing.

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

No branches or pull requests