Just how do they do it??

  • Thread starter Deleted User
  • Start date
  • Views 2,220
  • Replies 31
D

Deleted User

Guest
OP
How does one go about porting an emulator to other consoles? Like gPSP was ported to 3DS, and I think a PS1 emulator got an unofficial port, too. Any professionals in the room? :huh:
 
D

Deleted User

Guest
OP
They use their skills.
YOU_DONT_SAY.png
 

Seriel

Doing her best
Member
Joined
Aug 18, 2015
Messages
3,298
Trophies
3
Age
24
Location
UK
XP
5,986
Country
United Kingdom
My guess is that its written in a programming language thats universal and then compiled to all the different formats.
 
  • Like
Reactions: Deleted User
D

Deleted User

Guest
OP
My guess is that its written in a programming language thats universal and then compiled to all the different formats.
Is Dolphin written in a universal language? From what I'm seeing in the source, it's written in C++, C, and Header files, along with some other libs like libpng and zlib.
 

Seriel

Doing her best
Member
Joined
Aug 18, 2015
Messages
3,298
Trophies
3
Age
24
Location
UK
XP
5,986
Country
United Kingdom
Is Dolphin written in a universal language? From what I'm seeing in the source, it's written in C++, C, and Header files, along with some other libs like libpng and zlib.
If that's true, it should be port-able. It would need adgjusting though.
 
  • Like
Reactions: Deleted User

zoogie

playing around in the end of life
Developer
Joined
Nov 30, 2014
Messages
8,560
Trophies
2
XP
15,000
Country
Micronesia, Federated States of
They rewrite the platform specific functions like for control input and visual output while leaving the core emulation logic largely untouched. But it depends on if the target system has lower specs. If that is the case, then the core will need some tuning as well.
 
Last edited by zoogie,

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
Broadly speaking, you recompile it (meaning you rebuild the source code for the platform/system you're targeting, for example, the 3DS), and then adapt the output of the emulator (sound, graphics) accordingly, so that you can see and hear the game, while also giving the emulator the things it needs (controller inputs, ROM/ISO), so you can actually play the game. How much work that involves depends on the emulator in question, how different the platform you're targeting is from the platform(s) the emulator usually runs on, if there are other emulators on that same platform you can use code from to save reproducing work that's already done, etc.

Looks like @zoogie beat me to the condensed version, but yeah.
 

mashers

Stubborn ape
Member
Joined
Jun 10, 2015
Messages
3,837
Trophies
0
Age
40
Location
Kongo Jungle
XP
5,074
Country
They rewrite the platform specific functions like for control input and visual output while largely leaving the core emulation logic largely untouched. But it depends on if the target system has lower specs. If that is the case, then the core will need some tuning as well.
Are you sure it's that simple? The emulator core maps hardware functions from the system being emulated to the host platform's hardware or API. So porting an emulator written for one platform (lets say x86) to another (say, ARM) would surely require a rewrite of the emulator core.
 
D

Deleted User

Guest
OP
I don't have a team with me, or anything at the moment. However, would people want to actually do it? Are they familiar with the PSP2 SDK? I think the Vita (being a quad-core console) would do a reasonably good job emulating a Wii/GC game, if you get the coding and stability right.
 

daxtsu

Well-Known Member
Member
Joined
Jun 9, 2007
Messages
5,627
Trophies
2
XP
5,194
Country
Antarctica
Are you sure it's that simple? The emulator core maps hardware functions from the system being emulated to the host platform's hardware or API. So porting an emulator written for one platform (lets say x86) to another (say, ARM) would surely require a rewrite of the emulator core.

Not always. If it's written in a neutral language like C and not assembly, as well as refraining from bringing in platform-specific stuff into the core, then it should build just fine. Loading games, handling input/output, etc., should always be abstracted away from the core emulation into front-ends/higher layers.
 

boomario

Well-Known Member
Member
Joined
Oct 31, 2012
Messages
449
Trophies
1
XP
2,242
Country
Brazil
It's not that easy port a emulator to another platform, example: In specific case of dolphin there is many things they use in windows version that in not available in android like DirectX (obviously) and Some OpenGL Features only available in certain devices at android, not to count if he is capable of running at acceptable speeds.
If the emulator is complex, complex will be to port.
 
  • Like
Reactions: Deleted User

mashers

Stubborn ape
Member
Joined
Jun 10, 2015
Messages
3,837
Trophies
0
Age
40
Location
Kongo Jungle
XP
5,074
Country
Not always. If it's written in a neutral language like C and not assembly, as well as refraining from bringing in platform-specific stuff into the core, then it should build just fine. Loading games, handling input/output, etc., should always be abstracted away from the core emulation into front-ends/higher layers.
So do you mean using something like SDL as an intermediary library between the emulator core and the host OS?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    cearp @ cearp: Welcome hazbeans