(06-12-2015, 02:43 PM)Deferf Wrote: [ -> ]So if JIT isn't really an option. How GBA4iOS manages to emulate games? Can the system it uses be applied to Dolphin?
I assume it just runs an interpreter. The GBA requires massively less processing power to emulate than the Gamecube does. Dolphin absolutely requires a JiT to have any chance of being playable.
Anyways, JiT IS an option, you just need a jailbroken device. (Although I haven't been keeping up with the jailbreak scene. Can the latest, fastest iOS devices still be jailbroken?)
Assuming you were able to port graphics accordingly (e.g. all the necessary features were available in Metal or such), the drivers are good enough as to not cripple it, and the phone is jailbroken, an iPhone 6 or iPad Air 2 would probably be the fastest mobile platform for Dolphin. The A8 CPU prboably has the best singlethreaded performance of any phone CPU so it's pretty ideal for emulators. PPSSPP goes really really fast on it.
I make the first disclaimers not because I expect it to fail, but because you really can't be that certain without trying it.
I'd assume their OpenGL ES backend is fine. I guess it's based on the same as on all OSX desktops. So it's much worse than Nvidia or AMD, but by far better than any mobile driver...
There may still be some issues with the lower part of the GPU itself, but this parts are usually easier to implement to a full OpenGL API.
Hi,
I'm only a web developer as far as programming skills go so please excuse my ignorance.
But with the new side loading ability in iOS 9, arn't you allowed to just break the rules of the app store as you're not actually sending it to Apple? Or does xcode impose the rules at build?
And excuse me again if I'm just talking nonsense? That said...
I know Apple has beefed up the OpenGL alternative Metal, to allow game designers to build their own engines at much lower level, it sounds to me like if the game makers can get low level access, should we be able to run the JIT at a similar level?
The inability to JIT code is enforced by the kernel, not the App Store.
Metal has nothing to do with this; Metal is a graphics API, like OpenGL.
(07-04-2015, 01:58 AM)Fiora Wrote: [ -> ]The inability to JIT code is enforced by the kernel, not the App Store.
Metal has nothing to do with this; Metal is a graphics API, like OpenGL.
Oh well, at least we have side loading, baby steps, maybe iOS 10 we'll get some kind of user permitted kernel access. They seem to be slowly opening it up more and more for power users who know what they are risking by side loading. Kernel level access might seem ways off, but so did non-developer side loading last year.
But when I see a problem there is only one thing on my mind, how to get around it.
I was thinking about the PS3 other day, how Sony removed the PS2 backwards compatibility chip and thought it was just like an old console I had that let me plug in a card to play games from a rival console. Coleco & Atari I think it was.
Is there anyway to put a chip that could run JIT code on an external device connected over Lightning? If such a thing is even possible and I'm guessing that USB isn't nearly fast enough to accommodate such a task, there would be more than one use for this, other emulators and tasks it would be useful for? Or should I just leave quietly while I still have some dignity....?
Apple is pretty unlikely to open up that sort of access; a lot of what they've been doing in more recent releases (e.g. with rootless, etc) is trying to make it more and more difficult to compromise the kernel. The kind of access that jailbreaks enable tends to be an Enormous Gaping Security Hole.
I could imagine in the future that they might find a way to open the JIT used by Safari to wider use, but even that sounds iffy, since it'd mean they'd have to validate the Safari JIT well enough that they feel confident giving people arbitrary external access.
Of course, you can still just jailbreak it if you really want, I suppose?
iOS 8.4, the version released a few days ago, is jailbroken (shared a lot of similarities with 8.3 jailbreak)