Hypothetical question: What would happen if you emulated a system... on that same system?

DutchyDutch

COPYRIGHT LOLOLOLOL
OP
Member
Joined
Nov 16, 2014
Messages
954
Trophies
0
Age
22
XP
817
Country
Netherlands
I don't know, this is something I've been wondering for a while now. What would happen if you took a console (3DS, for example) and then created an 3DS emulator for the 3DS. Would it run perfectly? Or would it not run at all? Is it even possible? Sorry for such a stupid question, this stuff just kinda interests me. :P
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
22,124
Trophies
3
Location
Space
XP
11,459
Country
Norway
I don't know, this is something I've been wondering for a while now. What would happen if you took a console (3DS, for example) and then created an 3DS emulator for the 3DS. Would it run perfectly? Or would it not run at all? Is it even possible? Sorry for such a stupid question, this stuff just kinda interests me. :P
It would run poorly (1-2fps) if it ran at all. Just look at 3DeSmuME. The 3DS is way more powerful than the DS and it still runs poorly.
Generally it would probably not even run because the emulator itself would need more RAM than running the games natively and there probably wouldn't be enough RAM to run the emulator.
 
  • Like
Reactions: Deleted User

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,064
Trophies
1
XP
4,657
Country
Japan
It would run poorly (1-2fps) if it ran at all. Just look at 3DeSmuME. The 3DS is way more powerful than the DS and it still runs poorly.
I'm not sure I understand how that applies to the OP's question.

It sounds essentially impossible because the emulator would be 'translating' system calls that already exist in the system, thus no translating would actually need to be done. I mean, you could create a close 'emulation' sandbox, but no actual emulation would be taking place.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
22,124
Trophies
3
Location
Space
XP
11,459
Country
Norway
I'm not sure I understand how that applies to the OP's question.

It sounds essentially impossible because the emulator would be 'translating' system calls that already exist in the system, thus no translating would actually need to be done. I mean, you could create a close 'emulation' sandbox, but no actual emulation would be taking place.
That's why I mentioned 3DesMuME. It's emulating an architecture on the same architecture, so it's the closest example of what OP is asking about. It's still emulation as it's still doing all the same things that emulating on a PC or a mobile device would do, it's just redundant and a waste of CPU cycles.
 

DutchyDutch

COPYRIGHT LOLOLOLOL
OP
Member
Joined
Nov 16, 2014
Messages
954
Trophies
0
Age
22
XP
817
Country
Netherlands
I thought that since emulation works best if the system has a similar architecture, the emulation could be near perfect since everything is exactly the same. But then again, the Wii can't emulate the Gamecube, and the Wii's basically an overclocked gamecube.
 

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,064
Trophies
1
XP
4,657
Country
Japan
I thought that since emulation works best if the system has a similar architecture, the emulation could be near perfect since everything is exactly the same. But then again, the Wii can't emulate the Gamecube, and the Wii's basically an overclocked gamecube.
I'm not sure what you mean. The Wii can execute GameCube calls natively. That's what Nintendont does.
 

gamesquest1

Nabnut
Global Moderator
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,226
like dosbox or vmware running windows7 in windows 7

i think it would just depend on the system and how the emulator is made, but for it to work decent i assume it would have to be more of a virtual machine setup rather than actual emulation
 

DutchyDutch

COPYRIGHT LOLOLOLOL
OP
Member
Joined
Nov 16, 2014
Messages
954
Trophies
0
Age
22
XP
817
Country
Netherlands
I'm not sure what you mean. The Wii can execute GameCube calls natively. That's what Nintendont does.
Yeah but I mean that the Wii isn't strong enough to emulate the Gamecube, despite having similar architectures. Just like how the 3DS isn't strong enough to emulate the DS, but it can run DS games natively.
 

gbaboy123

Banned!
Banned
Joined
May 14, 2011
Messages
412
Trophies
0
Location
tree with wi fi
XP
321
Country
United States
so you mean like emulating snes on a emulated wii on pc right? I mean its possible but first of all you will get poor performance so any emulator developer would prefer to work on emulating only one console at a time instead of emulating another console through the console he is currently emulating. it may be possible but its not smart at all
 

gamesquest1

Nabnut
Global Moderator
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,226
so you mean like emulating snes on a emulated wii on pc right? I mean its possible but first of all you will get poor performance so any emulator developer would prefer to work on emulating only one console at a time instead of emulating another console through the console he is currently emulating. it may be possible but its not smart at all
i think he means actually emulating the system your already on i.e like running citra on a 3ds, as stupid as that may be :wtf:
 
  • Like
Reactions: DutchyDutch

Coto

-
Member
Joined
Jun 4, 2010
Messages
2,929
Trophies
1
XP
2,348
Country
Chile
well if you take the dynarec way, its emulation, on the other hand if you extend opcode properties (such as the opcode offset out of a table of opcodes), then it redirects to hardware opcodes, then its closer to virtualization. On each isolated case you have your own set of packed registers, not mixable, unless you swap emulation-virtualization context, pretty much like gbaemu4ds does when entering bios swi opcodes (software irq (literally) -> swap stacks -> hardware irq (irq handler) -> exit -> restore software irq ). This is made specifically so if the assembler routine (virtualized) ever triggers a swi , it falls back to a dynarec handler (for emulation side), and then the hardware IRQ handler comes in so whatever opcode decided from swi makes use of hardware resources. (edit: also the IRQ handler redirects to a bios irq software opcode as well (for mapping vba bios opcodes), but this would make the explanation a tad more confusing. :P
 
Last edited by Coto,

sj33

Well-Known Member
Member
Joined
Oct 22, 2013
Messages
4,064
Trophies
1
XP
4,657
Country
Japan
Yeah but I mean that the Wii isn't strong enough to emulate the Gamecube, despite having similar architectures. Just like how the 3DS isn't strong enough to emulate the DS, but it can run DS games natively.
Do you need to translate English into English? French into French? German into German?

Both the Wii and GameCube use PPC instructions that are, for the most part, the same.
 

gbaboy123

Banned!
Banned
Joined
May 14, 2011
Messages
412
Trophies
0
Location
tree with wi fi
XP
321
Country
United States
i think he means actually emulating the system your already on i.e like running citra on a 3ds, as stupid as that may be :wtf:
ohhh well there's no point on that considering the 3ds itself would run better, but how can you emulate a console that's already doing what you are trying to archive in the emulation ok I don't understand the question so am out, peace :nayps3:
 
Last edited by gbaboy123,
  • Like
Reactions: gamesquest1

DutchyDutch

COPYRIGHT LOLOLOLOL
OP
Member
Joined
Nov 16, 2014
Messages
954
Trophies
0
Age
22
XP
817
Country
Netherlands
ohhh well there's no point on that considering the 3ds itself would run better, but how can you emulate a console that's already doing what you are trying to archive in the emulation ok I don't understand the question so am out, peace :nayps3:
That's the thing, it's a hypothetical quesiton, there's no point into doing this, but I was wondering if it's even possible. I guess it could have some use if it were to run good, like being
able to play 3DS games using an emulator in the homebrew launcher, but that wouldn't even be worth the effort.
 

Kameryn

Active Member
Newcomer
Joined
Jun 18, 2007
Messages
43
Trophies
0
XP
989
Country
Canada
Not really no.

The platform used to emulate needs to be considerably more powerful to do the emulation, let alone run a game on top of it at a decent fps.
 
Last edited by Kameryn,

gbaboy123

Banned!
Banned
Joined
May 14, 2011
Messages
412
Trophies
0
Location
tree with wi fi
XP
321
Country
United States
That's the thing, it's a hypothetical quesiton, there's no point into doing this, but I was wondering if it's even possible. I guess it could have some use if it were to run good, like being
able to play 3DS games using an emulator in the homebrew launcher, but that wouldn't even be worth the effort.
I really don't think you can do that then, the best answer we could get you is that nobody has ever tried doing this so we really don't know exactly what will happen but I think It would run really bad if you attempted to do that, I don't really see how for example the 3ds would handle the emulation of itself I really don't think it will handle it considering he already has what you are trying to emulate but when attempting to emulate the same console on the console there would be some kind of software running and I think that the 3ds would no be able to handle that
 
Last edited by gbaboy123,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
35,512
Trophies
2
Website
trastindustries.com
XP
25,370
Country
United Kingdom
There are virtual machines on the PC, and things like dosbox which will run on what is still an X86 system. Depending upon the type of emulation you would end up with a kind of hypervisor, which would be lovely for injecting cheats and mods remapping controls and possibly making savestates. If you have a more modern system that actually runs an operating system worth speaking of (the DS does not, the 3ds does, the 360 does, the wii does not really but it is more than the DS) then it is probably easier to attack the OS of the computer in question -- there were control remapping things for the 360 that went down that path.
As others said though emulation is a process known for its rather impressive overheads and more than a few games on more than a few systems peg the CPU and memory more or less throughout. To that end unless you managed to boost the RAM and have overclocked the thing it is probably not going to do you much good, and instead if I wanted cheats I would think about how I could inject my code aka hook the game instead -- it is how things like GBAATM and DSATM work, also how a lot of flash carts do things. Savestates from within a system without external hardware is considered an impressive trick to be able to pull off, generally you would want to halt a system and read everything out, hope any write only areas of memory can live without what you can't get (else you have to figure out a basic will almost always work setup or somehow hook the writes to it and note them down at all points) and then somehow write it somewhere you control and can keep for however long you need it for, restoring, assuming you want to do it*, is the reverse of this really.

*you might not as you might just want the memory dumps for debugging/cheating/hacking purposes.
 
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: Well new hocus pocus already looks like shit