Register - Login
Views: 99846848
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
05-04-22 12:43:16 AM
Jul - The Cutting Room Floor - Nintendo 3DS games New poll - New thread - New reply
Pages: 1 2 3Next newer thread | Next older thread
xdaniel
980
Level: 64


Posts: 454/982
EXP: 2153761
For next: 60336

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 26 days
Last activity: 3 hours

Posted on 06-13-13 06:48:07 PM Link | Quote


>>ESTABLISHING LINK...DONE.    >>FETCHING POST DATA...DONE.    >>EXECUTING POSTDISP.BIN...


It's far more likely that Grezzo, who ported the game to the 3DS, were given the original game data, before ex. the models were converted into N64 F3DEX2 display lists, and based their work on that. I'm guessing they ported the game engine (not graphics!) to the 3DS - which was written in C to begin with -, rewrote that to use whatever formats the 3DS uses for 3D models, for music and sound effects, then added 3DS-specific stuff like touch screen support. Then somewhere along the line, the assets - models, textures, etc. - were updated or redone to have a higher resolution, more details, whatever.

Writing code to emulate N64-specific graphics commands, texture formats, etc. would not have been cheap, either. They'd need to recreate half of the N64's graphics chipset from scratch in C, just to reuse old, low-resolution, low-detail models and textures. That's another thing, texture resolution and color depth is really limited on the N64 - they just couldn't have had ex. higher resolution textures if they interpreted the original data.

What you're thinking would've been completely unreasonable from at least the business standpoint, and from common sense.


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



Cuber456

Fuzzy
Don't mind me. Just passing through.
Level: 56


Posts: 234/776
EXP: 1319637
For next: 78539

Since: 02-19-12

From: Everywhere at once.

Since last post: 4.2 years
Last activity: 131 days

Posted on 06-13-13 07:56:26 PM (last edited by Cuber456 at 06-13-13 07:57:11 PM) Link | Quote
This thread has turned into a broken record.

omega59, I think that xdaniel is the authority figure here. xdaniel has screwed around with graphics(and/or files) in OoT, MM, TWW and TP to say the least. If he says it isn't possible, then it isn't possible. Otherwise I can bet that he would have done what you say if it were that easy.

Like I said, wait for an emulator or flash cart to come out, swap files, rebuild the ROM and run it. It is the easiest thing that can be done.

____________________
"Consider this a privilege. You have been chosen."
xdaniel
980
Level: 64


Posts: 455/982
EXP: 2153761
For next: 60336

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 26 days
Last activity: 3 hours

Posted on 06-13-13 09:03:16 PM (last edited by xdaniel at 06-13-13 09:03:36 PM) Link | Quote


>>ESTABLISHING LINK...DONE.    >>FETCHING POST DATA...DONE.    >>EXECUTING POSTDISP.BIN...


I wouldn't say "authority figure" here, tho... maybe in the graphical department to an extend - F3DEX2 commands, texture formats, what have you -, but many other things are lost on me, like much of the actual game coding. I guess I could read and understand the C source code if we had it, but ex. actors disassembled into MIPS assembly? Here's the Stalfos, which is 99% Greek to me.


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



omega59
Member
Level: 29


Posts: 91/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-13-13 09:40:53 PM (last edited by omega59 at 06-13-13 09:46:03 PM) Link | Quote
Well, makes sense to me when you explained it that way. They must've used the original level and collision design (through porting or whatever) to get scaling right, but the essential coding seems to act precisely the same, as the odd crashes still work. Like heading into the void and blowing up a bombchu on yourself, the 3DS says it encountered an error and needs to restart, and the N64 brings up the red underscore, where you can use the debugger. A crash like that would've been fixed on a newer engine.
Also, from what I understand, Nintendo uses OpenGL and AL.
omega59
Member
Level: 29


Posts: 92/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-13-13 10:08:24 PM Link | Quote
Originally posted by Cuber456
This thread has turned into a broken record.

omega59, I think that xdaniel is the authority figure here. xdaniel has screwed around with graphics(and/or files) in OoT, MM, TWW and TP to say the least. If he says it isn't possible, then it isn't possible. Otherwise I can bet that he would have done what you say if it were that easy.

Like I said, wait for an emulator or flash cart to come out, swap files, rebuild the ROM and run it. It is the easiest thing that can be done.

We gotta wait on 3DBrew, so we can use the downloadable version to mess with.
Cuber456

Fuzzy
Don't mind me. Just passing through.
Level: 56


Posts: 235/776
EXP: 1319637
For next: 78539

Since: 02-19-12

From: Everywhere at once.

Since last post: 4.2 years
Last activity: 131 days

Posted on 06-13-13 10:22:16 PM (last edited by Cuber456 at 06-13-13 10:26:07 PM) Link | Quote
Originally posted by xdaniel
I wouldn't say "authority figure" here, tho...
Says the person who has experience hacking OoT, MM and has built Wind Viewer which can look into TWW and TP (and SS?)........

Originally posted by xdaniel
I guess I could read and understand the C source code if we had it, but ex. actors disassembled into MIPS assembly? Here's the Stalfos, which is 99% Greek to me.
That makes sense. When motivated, a human would be able to understand C source code since it is a high level programming language. Perhaps in better terms, it is meant to be understood by humans. Assembly, such as MIPS, is a low level language and is not readily understood by humans which means it requires more effort and motivation to understand. I've seen a fair share of assembly from Z80(GBC), to ARM(DS) and MIPS(not N64 related but where I first learned about assembly). I can say that the only legit assembly program I have ever created was a 10x10 matrix multiplier(It multiplies a matrix m by matrix n and one of the matrices has to be the identity matrix) in MIPS. It is a mess for something that would only few lines in C or Java and there are bugs in it that prevent it from being a true 10x10 multiplier. They don't call it ASSembly for nothing .



I'll keep an eye on 3DBrew to see if it ever goes anywhere.

____________________
"Consider this a privilege. You have been chosen."
Ninji

Birdo
Why did my user title say I'm a toaster anyway
Level: 88


Posts: 1936/2014
EXP: 6639027
For next: 11637

Since: 07-26-07

Pronouns: he/him or they/them
From: Glasgow, Scotland

Since last post: 114 days
Last activity: 7 days

Posted on 06-13-13 11:14:25 PM Link | Quote
Originally posted by omega59
Also, from what I understand, Nintendo uses OpenGL and AL.



Nintendo likes their special snowflake APIs. I don't expect to ever see anything like OGL on a Nintendo console. They definitely don't use it on the N64, GC, Wii, Wii U or DS. (I'm not 100% sure about the 3DS, but I would very much doubt it.)

A 3DS emulator is going to take a long, long time. The main issue at this point is that the encryption keys to decrypt ROMs are not known. Once these are figured out, you'll be able to decrypt games and extract files, and an emulator project can begin... But you can definitely expect file extraction before emulators.



On the topic of graphics emulation, this doesn't really say anything about OoT 3D, but it's definitely an interesting precedent: the original Animal Crossing (a game ported from N64 to GC) includes code which HLEs the N64 microcode. Specifically, F3DEX2 and S2DEX2. It's all located under the "emu64" namespace... I suppose they found this easier than converting the models to something else and making the game use a different rendering API?

Everything uses this except for the NES emulator, so I guess they wrote that bit specifically for the GC port...

____________________
omega59
Member
Level: 29


Posts: 93/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-14-13 05:29:10 AM Link | Quote
Interesting... They could've just taken their Gamecube files to 3DS for OoT 3D then... How does the Gamecube render OoT? I know their emulator sacrificed RSP emulation in favor of performance, but they could've already had the required tools to just keep their current filetypes. Well, this is an odd situation, one person says it's completely impossible, but now there's a legitimate chance... I guess we will see.
xdaniel
980
Level: 64


Posts: 456/982
EXP: 2153761
For next: 60336

Since: 12-04-08

Pronouns: he/they
From: Germany

Since last post: 26 days
Last activity: 3 hours

Posted on 06-14-13 09:37:25 AM (last edited by xdaniel at 06-14-13 09:38:24 AM) Link | Quote


>>ESTABLISHING LINK...DONE.    >>FETCHING POST DATA...DONE.    >>EXECUTING POSTDISP.BIN...


The difference between Animal Crossing and OoT 3D is that AC looks almost exactly the same as the original N64 game, with no obvious difference in detail, unlike OoT 3D, which certainly is more detailed than the original game.

Also, the versions of OoT on GameCube are running in an emulator - you can extract the ROMs from the ISO and run them on a PC. IIRC there's even a list of ROM titles inside some file on the OoT/MQ bonus disk (in the DOL I assume) that even included some 3rd party games... I seem to remember ex. Cruis'n USA. I take it that's a compatibility list of the emulator or something.

BTW: The 3DS does not use an NVidia graphics chip: http://en.wikipedia.org/wiki/PICA200


____________________
cu xdaniel -- Follower of the Church of Madoka -- @xdanieldzd (Twitter) -- stapled tech (YouTube)



omega59
Member
Level: 29


Posts: 95/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-14-13 02:36:10 PM (last edited by omega59 at 06-14-13 02:39:45 PM) Link | Quote
I remember that one of the prototypes did. Huh... or am I just not remembering right... Well, Ocarina of Time 3D is definitely more detailed, but there's something to do with the renderer that causes framerate issues that compared to other titles, definitely shouldn't be dropping.
Sik

Level: 23


Posts: 24/107
EXP: 64861
For next: 2862

Since: 12-07-12


Since last post: 3.3 years
Last activity: 1.2 years

Posted on 06-14-13 03:25:52 PM Link | Quote
Maybe the game just wasn't optimized well enough...
omega59
Member
Level: 29


Posts: 96/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-14-13 03:44:33 PM Link | Quote
I'm not sure how you'd do it THAT bad, that's worse than Metal Gear Solid 3D, but even the PS2 version lagged, so it's reasonable to be like that for such a tolling game.
Ninji

Birdo
Why did my user title say I'm a toaster anyway
Level: 88


Posts: 1937/2014
EXP: 6639027
For next: 11637

Since: 07-26-07

Pronouns: he/him or they/them
From: Glasgow, Scotland

Since last post: 114 days
Last activity: 7 days

Posted on 06-14-13 03:50:28 PM Link | Quote
Well, until you can actually look inside the game code and resources, all you can do is guess... which isn't the best method :x


So far we know that Nintendo has used practically every technique under the sun:

- Animal Crossing on GC: recompiled source code with stub functions mapping the N64 API to the GC API, interpreting the display lists, ...
- OoT on GC: emulated N64 ROM
- Mario 64 DS: totally rewritten

So you can't exactly say "Nintendo has always used X method, so it must be X". They've done... everything. It's definitely not an emulated ROM, which leaves the other two options. (But does it even matter? We won't be able to hack it any time soon anyway )

If I had to guess myself, I'd go for what xdaniel posted earlier, it seems like the most likely method- especially if there are bugs that can actually make the game crash. I don't think they'd have reproduced something like that on purpose :p


It would be interesting to know if entering a key combination at the crash screen would pop up debug info... might be difficult to guess, but Nintendo likes doing this in their first-party games.

____________________
Sik

Level: 23


Posts: 25/107
EXP: 64861
For next: 2862

Since: 12-07-12


Since last post: 3.3 years
Last activity: 1.2 years

Posted on 06-14-13 04:15:49 PM Link | Quote
Originally posted by omega59
I'm not sure how you'd do it THAT bad, that's worse than Metal Gear Solid 3D, but even the PS2 version lagged, so it's reasonable to be like that for such a tolling game.

1) It could have been rushed by the end 2) It's possible the meshes themselves are not optimized, not just the programming.
omega59
Member
Level: 29


Posts: 97/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-14-13 04:52:48 PM Link | Quote
There's no crash screen for the 3DS, it just freezesfor a bit, then boots you to the home menu saying it had an error and needs to restart.
Rena
I had one (1) message in Discord deleted and proceeded to make a huge, huge mess about how it was a violation of free speech and how moderators are supposed to be spam janitors and nobody should have the right to tell me not to talk about school shootings
Level: 135


Posts: 5033/5390
EXP: 29077536
For next: 257469

Since: 07-22-07

Pronouns: he/him/whatever
From: RSP Segment 6

Since last post: 343 days
Last activity: 343 days

Posted on 06-15-13 03:38:58 AM Link | Quote
Post #5033 · Fri 130614 233858
Originally posted by Treeki
If I had to guess myself, I'd go for what xdaniel posted earlier, it seems like the most likely method- especially if there are bugs that can actually make the game crash. I don't think they'd have reproduced something like that on purpose :p
That tells you that they used the original OoT source code, but doesn't tell you whether they adapted it to work with the 3DS hardware (likely) or did something like Animal Crossing and tried to make the N64 SDK functions work on another system without modifying the actual game program (unlikely since the textures are all much higher resolution).

I doubt there's any crash screen we can see either, since the 3DS has an actual OS and system software set up to handle exceptions, and display them only on dev units. On earlier consoles there was no such system; games had full control of the hardware, so there was nothing to do with exception info except display it on the screen hidden behind some button code (or not hidden at all, as in Paper Mario).

____________________
omega59
Member
Level: 29


Posts: 98/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-15-13 04:19:13 AM Link | Quote
It actually isn't too far of a graphical advancement, textures only look doubled. Models only look doubled too, as they still have meat-mittens for hands. OoT on the N64 was hardware limited, and OoT 3D is software limited. The framerate drop isn't constant either, it's like hiccups, and it looks to run a cap of 30fps, but its average is about 22-25.
omega59
Member
Level: 29


Posts: 99/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-15-13 04:23:07 AM Link | Quote
Originally posted by Rena
Originally posted by Treeki
If I had to guess myself, I'd go for what xdaniel posted earlier, it seems like the most likely method- especially if there are bugs that can actually make the game crash. I don't think they'd have reproduced something like that on purpose :p
That tells you that they used the original OoT source code, but doesn't tell you whether they adapted it to work with the 3DS hardware (likely) or did something like Animal Crossing and tried to make the N64 SDK functions work on another system without modifying the actual game program (unlikely since the textures are all much higher resolution).

I doubt there's any crash screen we can see either, since the 3DS has an actual OS and system software set up to handle exceptions, and display them only on dev units. On earlier consoles there was no such system; games had full control of the hardware, so there was nothing to do with exception info except display it on the screen hidden behind some button code (or not hidden at all, as in Paper Mario).

Try to crash a game on a GameStop 3DS, the display ones. Those are developer 3DSs (I have no idea why they'd even have these on display), and they've got dev options there, in the form of programs, usually at the end of its list to the right on the home menu. I need to look at it myself, maybe do a system transfer... hehehe...
omega59
Member
Level: 29


Posts: 100/184
EXP: 144565
For next: 3320

Since: 02-25-13


Since last post: 6.6 years
Last activity: 5.1 years

Posted on 06-15-13 08:56:56 PM Link | Quote
So, I've been playing around with wrong warping, quitting there, and leaving the grotto. Typically the game gives me an "error has occured" or went to map that has 3 different materials, and water somewhere in middle, on a black screen. Now, in Mountain, trying to do the same thing caused a crash that didn't go to the home menu, but a black screen and on the bottom screen it said

"An error has occured.
Hold down the POWER button to turn off the power, then turn it on and try again.

For help, visit support.nintendo.com."

I wonder, is there debug info stuck under or outside the black parts? Does a code combo activate this? I've literally never seen this before, but a similar screen goes on if you remove the cartridge.
Cuber456

Fuzzy
Don't mind me. Just passing through.
Level: 56


Posts: 237/776
EXP: 1319637
For next: 78539

Since: 02-19-12

From: Everywhere at once.

Since last post: 4.2 years
Last activity: 131 days

Posted on 06-16-13 12:12:49 AM Link | Quote
Originally posted by omega59
So, I've been playing around with wrong warping, quitting there, and leaving the grotto. Typically the game gives me an "error has occured" or went to map that has 3 different materials, and water somewhere in middle, on a black screen. Now, in Mountain, trying to do the same thing caused a crash that didn't go to the home menu, but a black screen and on the bottom screen it said

"An error has occured.
Hold down the POWER button to turn off the power, then turn it on and try again.

For help, visit support.nintendo.com."

I wonder, is there debug info stuck under or outside the black parts? Does a code combo activate this? I've literally never seen this before, but a similar screen goes on if you remove the cartridge.
I've never seen this screen while wrong warping although I'm not surprised by it. Eventually someone would be able to use the glitch to really break the game . Speaking personally, I am interested in trying to load Zora's Fountain (09), Cutscene 01. I don't know if it is possible with wrong warp though which sucks since I think that is an interesting unused area.

____________________
"Consider this a privilege. You have been chosen."
Pages: 1 2 3Next newer thread | Next older thread
Jul - The Cutting Room Floor - Nintendo 3DS games New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

30 database queries, 11 query cache hits.
Query execution time: 0.084648 seconds
Script execution time: 0.031004 seconds
Total render time: 0.115653 seconds