this post was submitted on 06 Apr 2024
228 points (98.7% liked)

Games

32736 readers
2941 users here now

Welcome to the largest gaming community on Lemmy! Discussion for all kinds of games. Video games, tabletop games, card games etc.

Weekly Threads:

What Are You Playing?

The Weekly Discussion Topic

Rules:

  1. Submissions have to be related to games

  2. No bigotry or harassment, be civil

  3. No excessive self-promotion

  4. Stay on-topic; no memes, funny videos, giveaways, reposts, or low-effort posts

  5. Mark Spoilers and NSFW

  6. No linking to piracy

More information about the community rules can be found here.

founded 1 year ago
MODERATORS
all 32 comments
sorted by: hot top controversial new old
[–] Alexstarfire 48 points 7 months ago (1 children)

Didn't know hell froze over.

[–] laxe 4 points 7 months ago

This is app store competition does. Apple didn’t want an emulator-friendly app store to become super popular.

[–] kadu 34 points 7 months ago (3 children)

Do we know if these emulators will support JIT? JIT has always been prohibited on iOS (which is why there are no browsers other than Safari - Firefox and Chrome on iOS are just a Safari WebView plus a crappy interface on top).

Even when sideloading emulators, you only get JIT by paying for a special developer license or using exploits on very specific iOS versions.

Without JIT, sure, go nuts emulating the NES... But forget about anything more demanding than a GameCube, or using this to run a VM or something.

[–] [email protected] 13 points 7 months ago* (last edited 7 months ago) (2 children)

you only get JIT by paying for a special developer license or using exploits on very specific iOS versions.

Actually Altstore has AltJIT which works on all iOS versions altstore supports but requires you to be connected to the same network as a computer running altstore.

run a VM or something

UTM (which is based on QEMU) is already available on iOS.

[–] kadu 6 points 7 months ago* (last edited 7 months ago) (2 children)

but requires you to be connected to the same network as a computer running altstore.

So you mean iOS doesn't natively support JIT for App Store apps and requires hacky workarounds?

[–] [email protected] 1 points 7 months ago (1 children)

iOS natively supports JIT (by which we mean writable and executable memory) but Apple locks it down to only two use cases:

  1. The JavaScript engine in Safari
  2. Support for running a debugger

AltStore launches a debugger and connects it to your phone. Even though it’s not actually doing anything with a debugger, that’s enough to convince iOS to let your app use memory that’s both writable and executable (the key feature needed for JIT).

Without JIT you need to either resort to a slower form of emulation or do something creative.

[–] [email protected] 0 points 7 months ago* (last edited 7 months ago)

I was just pointing out that OPs list was incomplete. Also theoretically someone could include altjit in their app because the App Store guidelines don’t explicitly say you can’t (ofc this would most likely not work).

[–] [email protected] 1 points 7 months ago (1 children)

Sadly jail breaking is required after iOS 11

[–] [email protected] 4 points 7 months ago (1 children)
[–] [email protected] 1 points 7 months ago (1 children)
[–] [email protected] 1 points 7 months ago (1 children)

No I believe it also works with altstore (though I haven’t personally tried it).

[–] [email protected] 1 points 7 months ago

Hmm. I’ll give that a shot.

[–] [email protected] 4 points 7 months ago* (last edited 7 months ago) (1 children)

which is why there are no browsers other than Safari

Wasn't that explicitly forbidden? Browsers don't need jit to be fast enough

Edit: was jit explicitly forbidden? Or is it that running dynamically loaded code was forbidden in general and jit falls under that category? If they're letting emulators and other browser engines in that ban seems to be at least partially lifted

[–] echo64 4 points 7 months ago

Yes, op is a little confused.

  • Browsers (were, still are in many regions) forbidden from using any engine other than the iOS provided webkit.
  • Dynamic recompilation is not possible on iOS because of how iOS does code signing. This basically blocks the entire concept of executing instructions that weren't part of the original signed code.
[–] pivot_root 1 points 7 months ago

The GameCube also needs a JIT for decent performance. On a phone, that will especially hurt to emulate the CPU in software.

[–] [email protected] 23 points 7 months ago* (last edited 7 months ago) (2 children)

Apple warns that developers are “responsible for all such software offered in your app, including ensuring that such software complies with these Guidelines and all applicable laws.” This raises the question of whether anyone can release a game emulator or only the companies that own the rights to the games distributed for it.

A good move, and great for distribution, but this does look like it’s difficult to publish an emulator unless you could control the games too. I don’t see this clearly permitting a general purpose emulator. It’s possible, but knowing Apple, I would expect that this could let Nintendo publish an emulator but not necessarily an open source project.

I’m glad to see it, but this to me feels more like testing the water then jumping into the deep end.

[–] [email protected] 17 points 7 months ago

Man that rule is such bullcrap. Imagine a photo editor that only allowed you to edit your own pictures and only those matching the app's content rating.

[–] [email protected] 9 points 7 months ago

I really don't see Nintendo publishing an emulator that runs on hardware they didn't make (yay unnecessary e-waste).

[–] [email protected] 18 points 7 months ago (1 children)

Android Market: hey we did that too!....in 2010.

[–] toxicbubble 17 points 7 months ago (1 children)
[–] fluxion 7 points 7 months ago

5 B.E. (Before Enshittification)

[–] Floufym 1 points 7 months ago (1 children)

Is there any good game boy emulator ? I want to play Pokémon.

[–] [email protected] 1 points 7 months ago

Drastic is a fantastic DS emulator for android, it recently became free. I bought it over a decade ago and has been a blast.

[–] cyanners -1 points 7 months ago

Looks like my next phone will be an SE. Literally the one and only reason I swapped to Android was to have easy access to GBA games.