SachinVin / citra_android

An Android frontend for the Citra Emulator
GNU General Public License v3.0
575 stars 89 forks source link

Add support for x86 Processor architecture #121

Open HexerTPB opened 5 years ago

HexerTPB commented 5 years ago

I have an x86 architecture (ARMv7-A) and I would like you to support it so I can use citra android.

HelloOO7 commented 5 years ago

Do you have a 32-bit or a 64-bit x86 CPU? If it's 64-bit, that's probably possible (and would run nice if executed properly as Citra is made for 64-bit x86 CPUs originally), if not, no.

PS: Tip - it's generally a good idea to include your hardware's specifications when opening issues about hardware compatibility.

HexerTPB commented 5 years ago

I have ARMv7-A

HelloOO7 commented 5 years ago

ARMv7-A is something completely different from x86. It also can't run citra by the way. Where did you get the idea that armv7 is x86? I'm genuinely curious.

ghost commented 5 years ago

@HexerTPB just so you know Arm and X86 are different :/

The primary difference between ARM and X86 processors is that ARM processors follow a RISC (Reduced Instruction Set Computer) architecture, while x86 processors are CISC (Complex Instruction set Architecture). This means that the ARM ISA is relatively simple and most instructions execute in one clock cycle.while CISC instructions are mostly complex, taking up multiple CPU cycles to execute each instruction. ARM processors follow the explicit load-and-store model, meaning any operation between two data objects in memory require explicitly loading the data from memory to processor registers, performing the operation and explicitly storing the data back into memory. In x86. the load-and-store-into-register logic is inbuilt into the more complex instructions thus allowing lesser instructions. Of course, this means that CISC processors need to have more hardware logic to decode and execute the complex instructions that they have, while put lesser effort on the compiler.

BreadFish64 commented 5 years ago

ARMv7 is a 32 bit architecture (which is not the same thing as x86), which Citra has no plans to support