Phone that supports pc gaming

graydust153

Commendable
Apr 4, 2018
73
0
1,630
Basically I’d like to get a phone where I can play my desktop games copy game save data to my phone and play on the go no I don’t plan on playing gta v I know that’s way to much for it but say run stardew valley, dolphin and other such things on the phone also I’d really like to be able to connect it to a monitor and use a mouse and keyboard if I wanted
 
Solution
Yea. The basic idea is you have to convert everything at the lowest level (which results in a ton of combinations) in real-time, and then you have to reverse-engineer the operating system into something accurate.

This is why many emulators maintain lists of specific games they work for - these games are lucky enough to not need any of the special edge cases and so run reliably.

The trouble is that far too much data and these edge cases exists for the x86 instruction set, which is what pc games run on.

You are asking your computer to do real-time translation between languages essentially - and with how this works out, honestly, the speed is about as good as me asking you to do real time translation of Chinese (or some other language...
Sorry amigo..... the best you'll get is a phone with enough horsepower on a good enough network to provide you a proper remote connection to a PC. Or if MS ever releases their vapourware surface phones.

What you're asking, unfortunately, is just not within the realm of possibility at present - almost all mobile devices uses ARM processor arch, while almost every proper game uses x86. This means the fundamentals of the processors are completely different, and so they don't cross over very nicely. Aka, at all. It's like asking an English text to speech engine to read you a chinese website.

Dolphin, as an example, actually runs fairly poorly, all things considered. It has been coded from the ground up to emulate a specific console's operating system, processor, and other key hardware - to run that translation. However, this is quite CPU intensive. Hence one reason that the Dolphin for Android emu states it runs like trash and almost certainly will for quite some time.

Running full x86 emulation is basically beyond the tech we have right now. It's just too challenging to convert the instruction calls (x86 has a huge number of instructions, as does ARM) for all situations required for something like running a game - and to convert them at a speed that it goes unnoticed, even moreso.

Technical Explanation of why this is an awkward question, if you're interested

An instruction is the single most basic thing a processor can do. The fundamentals everything else builds on, if you would.
However, take as an example some really basic MIPS (for MIPS processors by Imagine Technologies) instructions:

addi $1, $0, 5 # add 5 to 0 and place in register 1
add $2, $1, $1 # add R1 to R1 and place in 2, res: 10
beq $2, $1, 0xFF0ABC # If R1 == R2, jump to instruction at 0xFF0ABC
addi $2, $1, 5 # If else, add 5 to $1 and put in $2

Anyhow, that's for MIPS. Keep in mind, each of these commands translates to a binary code of 32x, so like, 00110 001 000 100 might be the first one (if I could bother counting how many digits I needed. Just assume it's 32x), with the first section being something called the "op code". This tells your processor what instruction it's even doing.

Intel (x86) may repeat functionality, hell, the system may even use the same names in its programming, but here's the problem, say intel has this:

addi $1, $0, 5 # add 5 to 0 and place in register 1

The actual binary might have a different opcode, as this isn't something standard (outside of the instruction set).
10001 001 000 110

Now you have to identify and translate all that into something matching your MIPs instruction, and you have to do it accurately. There's other hiccups and tricks in machine code that don't even make it this simple, including things like undocumented instructions. However, if you take nothing else from the example: This is one instruction. x86 has several hundred, if not thousands of instructions, some for functionality that can't be replicated single-step on a different platform. The platform hosting ALSO has large quantities of instructions. These all have to be translated for emulation to work, and.... that's hard.
 

graydust153

Commendable
Apr 4, 2018
73
0
1,630
Steam version of sonic adventure 2 battle requirements are low I think the phone benches higher then a Pentium 4 right...?

MINIMUM:
OS:Windows XP/Vista/Win7
Processor Pentium 4 @ 3.2 GHz/Athlon 64 3000+ or Equivalent & above
Memory 1 GB RAM
Graphics:256 MB (NVIDIA GeForce 8600/AT Radeon HD3650) & above
DirectX® 9.0c
Hard Drive 3 GB HD space
Sound DirectX Compatible
 
^ you're missing the point.

To put canadianvice's post into simple terms - you have to emulate the entire x86 architecture first , you then have to emulate an entire windows environment inside that ,you then have to emulate the phones graphics chipsets to something that is useable with directx.

By the time you've done you need 500% of the processing power that you began with.

You're emulating an environment inside an environment inside an environment .

Its not possible on current mobile hardware , even if someone actually bothered to do it.


There are set emulators for certain games on Android , scummvm for example , there are certain games that have been natively converted , there is no free for all , all in one pc game emulator.
Just not doable on current hardware.
 
Yea. The basic idea is you have to convert everything at the lowest level (which results in a ton of combinations) in real-time, and then you have to reverse-engineer the operating system into something accurate.

This is why many emulators maintain lists of specific games they work for - these games are lucky enough to not need any of the special edge cases and so run reliably.

The trouble is that far too much data and these edge cases exists for the x86 instruction set, which is what pc games run on.

You are asking your computer to do real-time translation between languages essentially - and with how this works out, honestly, the speed is about as good as me asking you to do real time translation of Chinese (or some other language you don't know, if you happen to know Chinese) with a dictionary into english, with close to 100% accuracy.

As I'm sure you could imagine, that's pretty slow. A good point of perspective... if you've looked around, what emulators do you find?

Oh. Yea. For consoles that at this point are basically 20+ years old. And these still don't do it 100% properly. Fun fact... you know that mips example I gave? This is what they had to do for consoles like the N64, as that was written in mips.

The x86 barrier is the reason that we will not have xbox or ps3+ emulation for some time yet, and those came out on 2001. So again, we've had almost 20 years and it's still a project that won't happen until some time in the future.

Emulation is very slow. Why it works for really old stuff is that we've brute forced it with hardware that is hundreds of times more capable. We don't have that for x86 yet, as that's presently the platform that's what we're brute forcing with.

One of the reasons apps like Wine for linux emphasize not being emulators - wine is still a decade behind in handling windows, and all it has to do is convert function calls for an Os - not even the instruction set on the proc!

So, in sum: you are asking for what is presently impossible and will likely remain so for some time.
 
Solution

nmb255

Distinguished
Aug 27, 2011
213
7
18,765
The more viable approach would be for games to be coded for each platform and handle the same save-game data. So you could play a game on your Windows PC and save the progress in the cloud. Then later load the game on a Android [linux/mac/xbox] device and carry on with the game from where you left off. In the same way you can load an excel spreadsheet on multiple devices.
 

TRENDING THREADS