Hacking 3DS Emulator Programming

Yoshimaster96

Well-Known Member
OP
Member
Joined
Jul 16, 2014
Messages
104
Trophies
0
XP
351
Country
United States
Actually, due to most modern computers having a 32 bit address bus, that means 4G total RAM. And that's precisely the amount of RAM that the 3DS uses, if I'm correct.
 
  • Like
Reactions: GerbilSoft

Normmatt

Former AKAIO Programmer
Member
Joined
Dec 14, 2004
Messages
2,161
Trophies
1
Age
33
Website
normmatt.com
XP
2,187
Country
New Zealand
Actually, due to most modern computers having a 32 bit address bus, that means 4G total RAM. And that's precisely the amount of RAM that the 3DS uses, if I'm correct.


double-facepalm.jpg
you_are_broken_trollcat-300x300.jpg
 

Snailface

My frothing demand for 3ds homebrew is increasing
Member
Joined
Sep 20, 2010
Messages
4,324
Trophies
2
Age
40
Location
Engine Room with Cyan, watching him learn.
XP
2,255
Actually, due to most modern computers having a 32 bit address bus, that means 4G total RAM. And that's precisely the amount of RAM that the 3DS uses, if I'm correct.
My laptop is 64 bit, which obviously means it has 16777216 terabytes of memory.
 
  • Like
Reactions: GerbilSoft

Yoshimaster96

Well-Known Member
OP
Member
Joined
Jul 16, 2014
Messages
104
Trophies
0
XP
351
Country
United States
I forgot about that, sorry. Just checked, and my computer is 64 bit *facepalm*. Looks like an emulator is feasible after all.

[EDIT]
Oh, and searching Google, I can only find the mnemonics for the ARM opcodes, and not their binary values. If anyone could provide a link, that would be great!
 

Oxybelis

Well-Known Member
Member
Joined
Jan 10, 2010
Messages
350
Trophies
0
XP
383
Country
Here's my loop:

Get input
Execute game code
Process GX commands (is this necessary?)
Display GPU commands
It think better plan would be:
Code:
bool dream = false;
while(dream not_eq true) {
  sleep(31557600); // dream about 3DS emu for a year
  cin>>dream; // did someone make it?
}

Would be faster too.
 
  • Like
Reactions: setsuya

dot7z

Member
Newcomer
Joined
Sep 4, 2013
Messages
16
Trophies
0
Age
44
XP
81
Country
United States
So you can't dump it during boot up?

There was a guy (think it was Neimod) with a setup where he had removed the RAM chip and wired it to another board for dumping it. That would likely be the only way if its zeroed out after boot.

I forgot about that, sorry. Just checked, and my computer is 64 bit *facepalm*. Looks like an emulator is feasible after all.


Er, even with your original misconception it was still possible. The bigger facepalm wasn't about the 64-bit thing, it's that the 3DS only has 128 MB of RAM. That's less than most phones.
 

I pwned U!

I am pleased to beat you!
Member
Joined
Jun 14, 2013
Messages
927
Trophies
3
Age
28
Website
gbatemp.net
XP
680
Country
United States
it get's zeroed at the end of the boot process, before the main OS boots.

I might know a way to stop it from zeroing out, but I am not sure if it would work. I have a 3DS that does not load the HOME Menu after my mom accidentally removed the gamecard while it was running in sleep mode. I think that the built in ErrDisp title got corrupted, preventing it from booting the HOME Menu.

http://www.3dbrew.org/wiki/ErrDisp

Perhaps it would be possible to extract the bootrom on a 3DS having this problem.
 

Yoshimaster96

Well-Known Member
OP
Member
Joined
Jul 16, 2014
Messages
104
Trophies
0
XP
351
Country
United States
Ok, you go ahead and try that. Also, do the GX commands need to be emulated for homebrew, or are the registers accessed via ARM assembly?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: The cybertruck is a death trap.