Homebrew Homebrew Development

  • Thread starter Thread starter aliak11
  • Start date Start date
  • Views Views 1,475,250
  • Replies Replies 6,048
  • Likes Likes 54
If you mean that you're on OFW 1.0.x, then you'll need to update the console via a game cart to within the 4.1.x-4.5.x range.
After that, you'll be able to use the ROP exploit installer on your acekard, assuming it has the ability to run on 4.5.x.
Im not sure what firmware acekard was blocked, might have to buy another cart then :/
 
Im not sure what firmware acekard was blocked, might have to buy another cart then :/

If your 3DS's firmware is higher than 4.5.x (like 5.0) then not even the newest carts will help you. 4.5.x is the newest firmware that allows to run 3DS code.
 
I dumped the memory pages near from 0x1014470C(3D slider?) and all are clean (filled with 00). So i don't think the 3D Slider can be read without ARM11 code execution...

My mistake, there was a bug in the address translation code. the right one is:

Code:
#define SLIDER3D 0x10144000

I tested it.

And just for information I found the register for the touchscreen, but I have some problems to figure out how is its coordinate system. Stay tuned for more progresses.
 
If your 3DS's firmware is higher than 4.5.x (like 5.0) then not even the newest carts will help you. 4.5.x is the newest firmware that allows to run 3DS code.
I am on 1.0, or w/e launch 3ds came with.

Acekard was blocked at 4.4
Ah ok, guess I will have to see if there are any games with 4.1-4.3 firmware then?
 
I am on 1.0, or w/e launch 3ds came with.


Ah ok, guess I will have to see if there are any games with 4.1-4.3 firmware then?

New Super Mario Bros. 2 will update to 4.1, or check this link, you may be able to borrow/buy one from the list

http://www.eurasia.nu/wiki/index.php/3DS_Games_with_firmware_updates_in_the_4.1_-_4.5_range

just make sure you the version applies to your region, as animal crossing for example updates to 4.5 on european versions, but 5.0 on US release....so just double check before you update :D
 
[...] animal crossing for example updates to 4.5 on european versions, but 5.0 on US release [...].

It updates to 4.5.0 in the U.S. release as well. I play it often on my 4.5 SysNAND.

You might be thinking of the 5.0 firmware the AC-themed 3DS XL comes with.
 
It updates to 4.5.0 in the U.S. release as well. I play it often on my 4.5 SysNAND.

You might be thinking of the 5.0 firmware the AC-themed 3DS XL comes with.

well idk, im just going from what its listed as on that site.

Firmware 5.1.0

WARNING: Do not update using these games if you want to use Gateway 3DS!
Animal Crossing - New Leaf (USA)
Mario & Luigi - Dream Team Bros. (Europe + USA)
Disney Planes (Europe)
+ Almost all 3DS Games released in or after July 2013.


still the message is the same, some games in eur have diffrent updates than US releases....so just double check your looking at games for your specific region :D
 
My mistake, there was a bug in the address translation code. the right one is:

Code:
#define SLIDER3D 0x10144000

I tested it.
Now i see correctly, the dumps follows that structur 90% at the time:
0x10144000: 61XX 0003 0500 0000…
XX it's slider value, when 3D is off it's set to 0x04 ~ 0x05, and when is fully on 0xFA ~ 0xFB.
So i think in 0x03 and 0x05 are the 3D config (this makes sense to me, 0x00 + 0x03 to 0xFF - 0x05). And sometimes the 0x61 is 0x52, but idk why.
Can be implemented in C like this:
Code:
struct st_3D_slider{
u8 unk1;
u8 _3D_eff;
u8 unk2;
u8 min_3D_eff;
u8 max_3D_eff;
};
/*...*/
st_3D_slider *Slider = (st_3D_slider*)0x10144000;
/*...*/
// I didn't test it
 
The value at 0x1014280C is related to the state of the touch pad but I really can't understand how to get the coordinates of the touched position.

Do you have any ideas?
 
The value at 0x1014280C is related to the state of the touch pad but I really can't understand how to get the coordinates of the touched position.

Do you have any ideas?
When is IDLE are set to 0xFF7F, and i see loook likes this:
u8 rand_num1;
u8 offset_fix;
u8 rand_num2;
u8 offset_fix2

The offset fix are the same, but rand numbers, it's just that, so random lol
 
When is IDLE are set to 0xFF7F, and i see loook likes this:
u8 rand_num1;
u8 offset_fix;
u8 rand_num2; :lol:
u8 offset_fix2
:lol:
The offset fix are the same, but rand numbers, it's just that, so random lol

The two offset_fix range from 0 to F on the x axis, but oly 16 values are not enough for us.

The other two ar not random: the same point give the same value, but there isn't a linear relation with coordinates.

The upper and lover 16 bit give almost the same value and i think they are related to the width of the area pressed.

It's like a tech version of Professor Layton
 
0x1014280C
This address is for x coordinate raw data.

Well, now CelebW can update his Breakout to control the paddle with the touchscreen :toot:

0xAB0DAB0D

x coordinate = 0x0DAB (little endian)

I was thinkig that when I was already in my bed yesterday night, but I was too tired to back to PC. But from the values I collected I think there is something more...

Now where is the y coordinate. :P

I scanned a large area of memory (I dont make memory dump, I show the memory content on the screen changing the offeset using keys) and there is no Y coordinate .

But I noticed some strange values from 0x1014280C. With the coordinate value in the form 0x0xCDAB , the C byte is 7 when the touchscreen is not pressed, and almost always C is 0, and in this case we have the X coordinate.

Very seldom the C byte is F, and the other values are not related to the X position. So probably in this case we have the Y coordinate , but I have only few records to check.

If this is true, there must be some sync mechanism to get both values. I can't make other experiments before the week end, If you make any progress let me know please.
 
  • Like
Reactions: Snailface
I wish I was far enough along to help out more. But hey, by the time I know C there will probably be libraries for it lol.
 
0x1014280C
This address is for x coordinate raw data.

0xAB0DAB0D

x coordinate = 0x0DAB (little endian)
where 0x0000=0 and 0x0FFF = 319

Now where is the y coordinate. :P
What's the 0x0D in front of the 0x0DAB(x coordinate) for?

So in order to get the x coordinate you would need to use (xCoord = read_word(0x1014280C) >> 8) in order to remove the two bytes on the end, but how would I remove the t3wo bytes on the beginning(the 0xAB) ?
 
I just finished my Snake 2.0, I added some improvements since last release:
  • Added more colour to everything
  • Dynamic 3D added!
  • Win screen when you complet all levels
  • Random food, if you eat a golden apple you will grown by 2, and if is poisoned apple you will decrease by 1
  • Added cheat menu with a secret button combination
  • Fixed bug of the game that didn't load 50% of times
  • Fixed some minor bugs
Download link:
Launcher(Snake2).dat 31 KB
 
  • Like
Reactions: tjexp
I just finished my Snake 2.0, I added some improvements since last release:
  • Added more colour to everything
  • Dynamic 3D added!
  • Win screen when you complet all levels
  • Random food, if you eat a golden apple you will grown by 2, and if is poisoned apple you will decrease by 1
  • Added cheat menu with a secret button combination
  • Fixed bug of the game that didn't load 50% of times
  • Fixed some minor bugs
Download link:
Launcher(Snake2).dat 31 KB

Do you mind sharing the source? I'm learning C and want to code for the DS/3DS, and looking at sources is a great help for understanding more of how what is accomplished.

If not the code, did you write your own libraries that you'd want to show? Right now I feel like the more people share what they've done the faster the scene will evolve.
 
Do you mind sharing the source? I'm learning C and want to code for the DS/3DS, and looking at sources is a great help for understanding more of how what is accomplished.
Yes, please share the source, I would love to look at your 3d code. I understand you might not want to because of the cheats, but I could care less about them, I just want to see the source.
 

Site & Scene News

Popular threads in this forum