Hacking 3DS Emulation potential for 2D->3D

DaniPoo

Well-Known Member
Member
Joined
Jan 2, 2013
Messages
923
Trophies
1
Age
35
XP
2,270
Country
I'm not saying it would be for every game and I'm certainly not saying it would be easy. Nor that I think it will happen. I just don't think it's impossible, especially for fully 3D rendered games like Zelda.

Fully 3D rendered games aswell as layer based 2d games like New Super Mario Bros may be easier that Games that user 2d and 3d at the same time like Pokemon or Final fantasy III
 

Thorhian

My CPU's prefer Water
Member
Joined
May 23, 2012
Messages
355
Trophies
0
Location
Shazezar
XP
142
Country
United States
Fully 3D rendered games aswell as layer based 2d games like New Super Mario Bros may be easier that Games that user 2d and 3d at the same time like Pokemon or Final fantasy III
Well, do we exactly know how the 2d sprites are handled in the hybrid environment? Also shub, no one knows no for sure (to my knowledge, but maybe our hackers have an idea now, plus it may be game dependent) on how the 3D (stereo, not polys) works on the 3DS. However, I honestly don't think games like Kid Icarus Uprising run with a fake form of stereo 3D. Plus, only certain things like geometry need to be rerendered twice while others only need to calculated once like physics. You are being a bit ignorant shub, plus please avoid using language.
 

Shubshub

The Shubinator
Member
Joined
Oct 16, 2009
Messages
1,064
Trophies
1
Age
28
Location
The dark part of your house
XP
2,552
Country
New Zealand
Well, do we exactly know how the 2d sprites are handled in the hybrid environment? Also shub, no one knows no for sure (to my knowledge, but maybe our hackers have an idea now, plus it may be game dependent) on how the 3D (stereo, not polys) works on the 3DS. However, I honestly don't think games like Kid Icarus Uprising run with a fake form of stereo 3D. Plus, only certain things like geometry need to be rerendered twice while others only need to calculated once like physics. You are being a bit ignorant shub, plus please avoid using language.
-_- Its very easy to see how the 3D works if you tilt the 3ds slightly -_- You can see Double meaning all it does is split the images in half and The Left eye sees the left image and the Right eye sees the Right image it combines it into one and voila 3D -_-
 

Thorhian

My CPU's prefer Water
Member
Joined
May 23, 2012
Messages
355
Trophies
0
Location
Shazezar
XP
142
Country
United States
-_- Its very easy to see how the 3D works if you tilt the 3ds slightly -_- You can see Double meaning all it does is split the images in half and The Left eye sees the left image and the Right eye sees the Right image it combines it into one and voila 3D -_-
Yes, but that is how ALL forms of man made 3D works. The computer however doesn't just change a single frame and move stuff around. There are two cameras in games for the most part acting as both of your eyes. Your explaining the way the 3DS delivers these separately render frames. This is why frame rates are cut dramatically like in games like Resident Evil.
 

Shubshub

The Shubinator
Member
Joined
Oct 16, 2009
Messages
1,064
Trophies
1
Age
28
Location
The dark part of your house
XP
2,552
Country
New Zealand
Yes, but that is how ALL forms of man made 3D works. The computer however doesn't just change a single frame and move stuff around. There are two cameras in games for the most part acting as both of your eyes. Your explaining the way the 3DS delivers these separately render frames. This is why frame rates are cut dramatically like in games like Resident Evil.
How about we all just get back on topic now
 

DaniPoo

Well-Known Member
Member
Joined
Jan 2, 2013
Messages
923
Trophies
1
Age
35
XP
2,270
Country
Well, do we exactly know how the 2d sprites are handled in the hybrid environment? Also shub, no one knows no for sure (to my knowledge, but maybe our hackers have an idea now, plus it may be game dependent) on how the 3D (stereo, not polys) works on the 3DS. However, I honestly don't think games like Kid Icarus Uprising run with a fake form of stereo 3D. Plus, only certain things like geometry need to be rerendered twice while others only need to calculated once like physics. You are being a bit ignorant shub, plus please avoid using language.

I do not know exactly how is works. But in theory it would be difficult to but 2d player sprites in an 3d environment and the having them looking good with stereoscopic 3D.
 

DaniPoo

Well-Known Member
Member
Joined
Jan 2, 2013
Messages
923
Trophies
1
Age
35
XP
2,270
Country
-_- Its very easy to see how the 3D works if you tilt the 3ds slightly -_- You can see Double meaning all it does is split the images in half and The Left eye sees the left image and the Right eye sees the Right image it combines it into one and voila 3D -_-

Yeah thats the basic idea of how all stereoscopic 3D works. Its all about delivering two different images to each eye. And thats a cool hardware feature on the 3ds.
However, I think that software methods for how to make those images are much more interessting to talk about
 
  • Like
Reactions: gamefan5

Chaos Rush

Well-Known Member
Member
Joined
Jan 11, 2010
Messages
170
Trophies
0
XP
429
Country
United States
I'm not so sure they are. Beyond the custom menu each game has (which could be done with an emulator, to start the game you'd just jump to a specific location in memory), everything else is pretty much the same. It would be interesting if we could reverse engineer one to see if the game ROM is inside. My money is on ROM with heavily customized emulator.
They are recompiled. First of all, Excitebike 3D Classics has a widescreen presentation (uses all 400 (or 800 in 3D) horizontal pixels), which is impossible with a NES ROM. Kirby's Adventure, while having a 4:3 presentation, the doorway graphic has been modified and now has a "light/shadow" thingy that goes waaaaaaaaaay over the NES's color limit (its like that even in 2D mode). Also some stages that take place in the sky have a gradient effect on the bottom, which wasn't in the NES version, not to mention that gradient color effect is clearly impossible on the NES. To create the 3D effect, the screen has to be rendered twice, and tiles have to be shifted left and right for each screen. If you did that with a NES ROM, then there would be blank tile space, but there isn't, because Kirby's Adventure 3D Classics isn't a NES ROM, meaning they added tile layers that weren't there in the original game in order to create the 3D effect. Also, with the NES's limited sound channels, when certain sound effects are played on the original game, parts of the music would temporarily cut out. This doesn't happen on the 3D Classics version, because the 3DS obviously doesn't have the same sound restrictions of the NES.

That being said, it's pretty obvious that 3D Classics are NOT emulated ROMs (I mean, seriously, just look at the new door graphic in Kirby), more like they took the original source code and actually ported (not emulated, ported) it to 3DS, then made changes as necessary. The reason why some 3D Classics (like Kid Icarus and Kirby's Adventure) still have a 4:3 presentation is because many things boss fights and minigames take place on backgrounds meant for a 4:3 viewing area, so it would be more work to draw areas that weren't there previously; also boss fights would feel weird if you could only move around towards the center of the screen.
 

McHaggis

Fackin' Troller
OP
Member
Joined
Oct 24, 2008
Messages
1,749
Trophies
0
XP
1,466
Country
They are recompiled. First of all, Excitebike 3D Classics has a widescreen presentation (uses all 400 (or 800 in 3D) horizontal pixels), which is impossible with a NES ROM. Kirby's Adventure, while having a 4:3 presentation, the doorway graphic has been modified and now has a "light/shadow" thingy that goes waaaaaaaaaay over the NES's color limit (its like that even in 2D mode). Also some stages that take place in the sky have a gradient effect on the bottom, which wasn't in the NES version, not to mention that gradient color effect is clearly impossible on the NES. To create the 3D effect, the screen has to be rendered twice, and tiles have to be shifted left and right for each screen. If you did that with a NES ROM, then there would be blank tile space, but there isn't, because Kirby's Adventure 3D Classics isn't a NES ROM, meaning they added tile layers that weren't there in the original game in order to create the 3D effect. Also, with the NES's limited sound channels, when certain sound effects are played on the original game, parts of the music would temporarily cut out. This doesn't happen on the 3D Classics version, because the 3DS obviously doesn't have the same sound restrictions of the NES.

That being said, it's pretty obvious that 3D Classics are NOT emulated ROMs (I mean, seriously, just look at the new door graphic in Kirby), more like they took the original source code and actually ported (not emulated, ported) it to 3DS, then made changes as necessary. The reason why some 3D Classics (like Kid Icarus and Kirby's Adventure) still have a 4:3 presentation is because many things boss fights and minigames take place on backgrounds meant for a 4:3 viewing area, so it would be more work to draw areas that weren't there previously; also boss fights would feel weird if you could only move around towards the center of the screen.
Hmm... the thought did occur to me that Excitebike was widescreen, but I couldn't verify it on my own 3DS because it's away for repair, and I guess I forgot to look at it while I was examining some of the other games. Good show, I guess they're ports, then. A port does sound like a lot of work, though. No wonder they're not churning them out quicker.
 

Thorhian

My CPU's prefer Water
Member
Joined
May 23, 2012
Messages
355
Trophies
0
Location
Shazezar
XP
142
Country
United States
Hmm... the thought did occur to me that Excitebike was widescreen, but I couldn't verify it on my own 3DS because it's away for repair, and I guess I forgot to look at it while I was examining some of the other games. Good show, I guess they're ports, then. A port does sound like a lot of work, though. No wonder they're not churning them out quicker.
Well, those are the 3D classics, the VC content should be churned out faster though.
 

Maxternal

Peanut Gallery Spokesman
Member
Joined
Nov 15, 2011
Messages
5,210
Trophies
0
Age
40
Location
Deep in GBAtemp addiction
Website
gbadev.googlecode.com
XP
1,709
Country
Wow, interesting thread ... SOO much to comment on here.

First, just to clarify, computer's that work with 3D monitors aren't exactly the same as the 3D used in a 3DS. On a computer, for example, you run any game that uses Direct3D and it's either the HARDWARE that's doing the extra work, re-rendering everything from a second angle for the second eye's point of view or it's the driver that's taking care of that. One way or another, the program itself doesn't have to do any of that work. It just asks for a polygon to be placed in a certain position with certain effects, texture, etc and the rest is done for it.
With a DS game, on the other hand, it's accessing the hardware directly and the hardware DOESN'T do the 2ND eye rendering automatically (even on a 3DS)

(This is actually why WINE works so well. Windows programs don't need to and usually aren't allowed to access the hardware directly. They do EVERYTHING through system calls to the OS. No hardware virtulaization is needed because there's no hardware to access. A DS games that DOES try to access the hardware DOES need virtualization to get it working because it DOES try to access directly and since there's NO hardware virtualization, it WILL access the hardware just fine. You can't block and redirect it to do the 2nd eye rendering for it.)

As far as stretching vs just shifting, I think since it's an emulator there could be an option to chose which one to use (or to use no 3D effect at all) stretching eliminates the gaps at the sides but creates blurring or distortion so the user could just choose which of those problems he dislikes more.

Even in a real world situation pushing one layer of something farther back makes you be able to see more of a gap.
(Imagine those circles are eyes :P )
drawing-25080.jpg

and you can kinda see from my drawing how stretching would help it. I just got kinda lazy by the time I got to that part.

EDIT : Of course, if the emulator is ALSO able to see parts of the layers that are off screen before and after they scroll onto the screen then it might also be able to fill those in gaps without stretching
(kinda like the widescreen gamecube hack. There's some things that are off screen ... they're there but you just can't see them. It might depend on the game, too.)
 

Pleng

Custom Title
Member
Joined
Sep 14, 2011
Messages
2,439
Trophies
2
XP
2,810
Country
Thailand
Japanese people, people who aren't Japanese that have taken the time to learn Japanese, people that want to play that one game that was released in America that switched to anaglyph and people who can hack the ROMs to translate them. Who else?

And thats like shit all people


Wait? There's no Japanese people????
 

elisherer

I ♥ 3DS
Member
Joined
Dec 16, 2009
Messages
778
Trophies
0
Location
3dbrew.org
Website
www.sherer.co.il
XP
392
Country
Iceland
If the emulation (I don't know how it works) of NES / SNES is drawing the layers one by one, for ALL the games like it some kind of a standard for all the games then it would be rather easy to
manipulate it to be 3d as giving each layer a different (constant) x-offset so it would seem further or closer.. but I'm guessing that's not the issue..
For each open source project, porting to 3d might be easier, knowing how the layers are made.
Super Mario and Megaman are very good candidates..
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: Good morning