Homebrew Homebrew Development

pistone

Well-Known Member
Member
Joined
Feb 18, 2010
Messages
503
Trophies
0
Age
35
Location
in your heart...coz secretly you love me !!!!
XP
232
Country
Albania
upload("Launcher.dat")
Comment out that line in build.py ( ex. #upload("Launcher.dat") )

done it now it shows up
Code:
sh: 1: del: not found
source/bootloader.s: Assembler messages:
source/bootloader.s:7: Error: junk at end of line, first unrecognized character is `/'
sh: 1: xcopy: not found
arm-none-eabi-ld: cannot find bootloader.o
sh: 1: copy: not found
arm-none-eabi-objcopy: 'a.out': No such file
sh: 1: /home/p3rand0r/Desktop/nintendo3ds/3DS_Homebrew_Stuff2-masterlibp3ds3dsploit.py: not found
sh: 1: del: not found
sh: 1: del: not found
sh: 1: del: not found
i think i may have a install a virtual machine with xp on it :(
 
  • Like
Reactions: Snailface

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
done it now it shows up
Code:
sh: 1: del: not found
source/bootloader.s: Assembler messages:
source/bootloader.s:7: Error: junk at end of line, first unrecognized character is `/'
sh: 1: xcopy: not found
arm-none-eabi-ld: cannot find bootloader.o
sh: 1: copy: not found
arm-none-eabi-objcopy: 'a.out': No such file
sh: 1: /home/p3rand0r/Desktop/nintendo3ds/3DS_Homebrew_Stuff2-masterlibp3ds3dsploit.py: not found
sh: 1: del: not found
sh: 1: del: not found
sh: 1: del: not found
i think i may have a install a virtual machine with xp on it :(
Another thing I see is (look at the bold part):
sh: 1: /home/p3rand0r/Desktop/nintendo3ds/3DS_Homebrew_Stuff2-master_Missing"/"_libp3ds_Missing"/"_3dsploit.py: not found
 

justinkb

Well-Known Member
Member
Joined
Oct 7, 2012
Messages
625
Trophies
1
XP
347
Country
Netherlands
Interesting stuff, I may try messing around with this. Not running anyone else's code tho, unless I have a way to unbrick.
 

gamesquest1

Nabnut
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
Yeah the whole bricking fiasco has kinda made me a bit paranoid in terms of homebrew, no offence to the coders, I don't actually think this is advanced enough yet for doing the level of damage the brick code does.....but you can't be too careful :ph34r:
 

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,130
Country
United States
Anyway, try it at your own risk. I don't take any resposability.


OMG fffffff, my 3DS exploded!

;)

Well, my compiler exploded since it seems you probably didn't update the git repo with your latest files.

For instance: https://github.com/nop90/3DS_Homebrew/blob/master/HID.h

Code:
ifndef HID_H
#define MEMORY_H

Looks like a quick copy & paste from memory.h lol and forgot the #

Also, you changed the names of some of your constants:

Code:
src/draw.c:59:10: error: 'BOTTOM_FRAME0' undeclared

Thanks a lot though, I'm toying with it right now. But I'm also struggling to figure other things out. Where did you get the addresses for your framebuffers? I'm looking at the 3dsbrew.org documentation and I'm not seeing some of these things.
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
827
Country
United States
Thanks a lot though, I'm toying with it right now. But I'm also struggling to figure other things out. Where did you get the addresses for your framebuffers? I'm looking at the 3dsbrew.org documentation and I'm not seeing some of these things.


http://3dbrew.org/wiki/LCD#Framebuffers
http://3dbrew.org/wiki/GPU
http://3dbrew.org/wiki/IO
http://3dbrew.org/wiki/PXI

I think some more 3dsBrew links should be in the main page as we learn more about what information is useful.
 
  • Like
Reactions: Cyberdrive

TheCruel

Developer
Banned
Joined
Dec 6, 2013
Messages
1,350
Trophies
2
XP
3,130
Country
United States
I think some more 3dsBrew links should be in the main page as we learn more about what information is useful.

Yeah, but what I meant was that the information wasn't anywhere on 3dsbrew. His addresses are different than the ones documented. He has these address:

Code:
#define TOP_LEFT_FRAME1 0x20184E60
#define TOP_LEFT_FRAME2 0x201CB370
#define TOP_RIGHT_FRAME1 0x20282160 
#define TOP_RIGHT_FRAME2 0x202C8670
#define BOTTOM_FRAME1 0x202118E0
#define BOTTOM_FRAME2 539039968

Is there a base address that is offsetting these or something?
 

Abcdfv

What comes around goes around.
Member
Joined
Dec 24, 2013
Messages
1,455
Trophies
0
XP
827
Country
United States
Yeah, but what I meant was that the information wasn't anywhere on 3dsbrew. His addresses are different than the ones documented. He has these address:

Code:
#define TOP_LEFT_FRAME1 0x20184E60
#define TOP_LEFT_FRAME2 0x201CB370
#define TOP_RIGHT_FRAME1 0x20282160
#define TOP_RIGHT_FRAME2 0x202C8670
#define BOTTOM_FRAME1 0x202118E0
#define BOTTOM_FRAME2 539039968

Is there a base address that is offsetting these or something?

From the "Python Tools for 3DS" thread.

0x5d, 0x87, 0x8d, 0x59, 0x83, 0x88

search this patten from 0x20000000, you will find the framebuffer for bottom screen.
 

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
Yeah, but what I meant was that the information wasn't anywhere on 3dsbrew. His addresses are different than the ones documented. He has these address:

Code:
#define TOP_LEFT_FRAME1 0x20184E60
#define TOP_LEFT_FRAME2 0x201CB370
#define TOP_RIGHT_FRAME1 0x20282160
#define TOP_RIGHT_FRAME2 0x202C8670
#define BOTTOM_FRAME1 0x202118E0
#define BOTTOM_FRAME2 539039968

Is there a base address that is offsetting these or something?
(I think what 3dbrew shows is the registers that give the addresses not the addresses themselves. Those addresses are correct though except the last one)

Sort of unrelated to your question but noteworthy:
There is a bug in the paint_pixel function that is causing it to draw 3 bytes past the addresses.

as it is:
int coord = 720 * x + 720 - (y * 3);
as it should be:
int coord = 720 * x + 720 - (3*y+3);

Also the BOTTOM_FRAME1 frame address is the same as BOTTOM_FRAME2 address.
BOTTOM_FRAME2 should read:
0x20249CF0
 

tomiga

Well-Known Member
Member
Joined
Dec 4, 2013
Messages
125
Trophies
0
Age
30
XP
145
Country
United States
I uploaded on github a small update with:
- Buttons management
- Fixed pointers for all six buffers

No buffer swapping at the moment, but now the program draws to both framebuffer to avoid blank screens if the second buffer is active.

I attached the executable for people who are not able to compile the sources. You should not execute it (I would not!) because it's very easy for a bad guy to brick your 3DS, how GW did.

Obviusly I'm not a bad guy :-) , but every bad guy would say this :-/

Anyway, try it at your own risk. I don't take any resposability.

nop90

Nice job nop90, works perfectly on my 3DS (after formatting it twice because the ROP loader is bugged...). Also shows some nice starting points for 3D rendering.
 

aliak11

Pokemon Master
OP
Member
Joined
Dec 5, 2010
Messages
195
Trophies
1
Age
29
Location
Florida
XP
1,108
Country
United States
(I think what 3dbrew shows is the registers that give the addresses not the addresses themselves. Those addresses are correct though except the last one)

Sort of unrelated to your question but noteworthy:
There is a bug in the paint_pixel function that is causing it to draw 3 bytes past the addresses.

as it is:
int coord = 720 * x + 720 - (y * 3);
as it should be:
int coord = 720 * x + 720 - (3*y+3);

Also the BOTTOM_FRAME1 frame address is the same as BOTTOM_FRAME2 address.
BOTTOM_FRAME2 should read:
0x20249CF0


How are you finding the addresses?
 

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
How are you finding the addresses?
From other people smarter than me. :P

I figured the BOTTOM_FRAME2 address by just adding (240*320*3 bytes)+16 to the previous framebuffer. Same pattern as the others. Then I test them to make sure no grey dots on the corners or wrong overall colors, both of which signify an incorrect framebuffer address.
 
  • Like
Reactions: Cyberdrive

nop90

Well-Known Member
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
Some of the file on github wasn't updated. Sorry, I uploaded them at late night (in Italy) after a hard working day.

Now they are ok (I compiled them and checked on the 3DS).

 

T3GZdev

head of T3GZdev
Member
Joined
Apr 21, 2010
Messages
1,034
Trophies
1
Website
sites.google.com
XP
434
Country
United States
so which github has the best version for a standard one? or newest. i seen snailface, insancekane, nop90, aliak11 & i think a few others. currently using snailface's latest one.
 

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
so which github has the best version for a standard one? or newest. i seen snailface, insancekane, nop90, aliak11 & i think a few others. currently using snailface's latest one.
I think nop90's version is the best tbo -- its very extensive and even has controller support. You might want to take his source's and combine them with my latest build environment (haven't updated my github yet):
http://gbatemp.net/threads/homebrew-development.360646/page-3#post-4889201
 

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

Attachments

  • 3DS_Homebrew_nop90edition.zip
    56.6 KB · Views: 619

nop90

Well-Known Member
Member
Joined
Jan 11, 2014
Messages
1,556
Trophies
0
Location
Rome
XP
3,036
Country
Italy
so which github has the best version for a standard one? or newest. i seen snailface, insancekane, nop90, aliak11 & i think a few others. currently using snailface's latest one.

None is better or standard at the moment. I'm studing the GPU and as soon as I'll learn how to make GPU command calls, I'll change all the drawing functions.

Not to say that I used other people code and made some change.Other people will do the same with mine. Slowly ther will be something like the libnds for writing standard code without thinking at the low level things.

I like playing with low level programming, that's why I'm expering with 3ds and not coding on DS or Android.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtu.be/MddR6PTmGKg?si=mU2EO5hoE7XXSbSr