Homebrew Homebrew Development

CalebW

Fellow Temper
Member
Joined
Jun 29, 2012
Messages
638
Trophies
0
Location
Texas
XP
545
Country
United States
What makes you think it'll take a while?
Mainly because everybody is so worried about protecting against backup loaders that they won't release it. Sure, someone could come along tomorrow who will open ARM11 code execution, but it's not probable.

Related to the binary loader: That looks great, would it be possible to exit out of a program and back into the loader?
 

fierce waffle

Well-Known Member
Member
Joined
Sep 15, 2012
Messages
108
Trophies
1
XP
216
Country
United States
Mainly because everybody is so worried about protecting against backup loaders that they won't release it. Sure, someone could come along tomorrow who will open ARM11 code execution, but it's not probable.

Related to the binary loader: That looks great, would it be possible to exit out of a program and back into the loader?


It is. Still need to clean up the reloading however. You can also reload the loader itself with an updating version from the SD(that's go.bin on the SD in the vid).
 

Searinox

"Dances" with Dragons
Member
Joined
Dec 16, 2007
Messages
2,073
Trophies
1
Age
36
Location
Bucharest
XP
2,203
Country
Romania
unrelated to that ^

Here's a binary loader I've been working on:

At this point it would be nice to standardize a small memory area that's "safe" prior to passing control to the binary, one that homebrews can "leave alone" where code could be put for soft reset, possibly the same area used for the home menu during normal game execution. If respected from this early age of development it would be nice because we could finally have a working soft reset from within all homebrew, something that was missing during the DS age. Would be nice to not have to keep shutting down the console to quit an app.
 

YoshiInAVoid

Banned!
Banned
Joined
Jan 10, 2011
Messages
560
Trophies
1
Website
google.com
XP
465
Country
Downloading OpenSSL, changing Makefile to produce ROPLauncher.dat and then adding an extra stage to build.bat:

Code:
make
openssl enc -aes-128-cbc -K 580006192800C5F0FBFB04E06A682088 -iv 00000000000000000000000000000000 -in ROPLauncher.dat -out Launcher.dat
pause

We can produce Launcher.dats which will run on Gateway 2.01b loader.

Is this ARM 11 mode?

Don't kill me for the noob question please!
 

Slashmolder

Well-Known Member
Newcomer
Joined
Jul 5, 2008
Messages
66
Trophies
0
XP
205
Country
United States
The arm9 CPU has pretty much full access to the system's memory. Overwriting something and getting the arm11 CPU to reach that code isn't hard.
 

Kane49

Well-Known Member
Member
Joined
Nov 4, 2013
Messages
446
Trophies
0
Age
36
XP
343
Country
Gambia, The
The arm9 CPU has pretty much full access to the system's memory. Overwriting something and getting the arm11 CPU to reach that code isn't hard.3


No argument there, if only someone would publicly release the way to enter arm9 privileged mode.
 

profi200

Banned!
Banned
Joined
Sep 3, 2011
Messages
330
Trophies
0
XP
282
Country
Gambia, The
:nds:
nlk3b6i9.jpg

That's just a RAM edit and means something like "Unhealthiness".
 
  • Like
Reactions: Roxas75

CalebW

Fellow Temper
Member
Joined
Jun 29, 2012
Messages
638
Trophies
0
Location
Texas
XP
545
Country
United States
I have been having so much trouble trying to get 3D working on by Breakout game.

Here's the function I'm using from Snailface:
Code:
void draw_fill3Drect(int x, int y,int w,int h, char r, char g, char b, int offset3D) {
 
    int lcoord = 720 * (x - offset3D) + 720 - (3 * y + 3);
    int rcoord = 720 * (x + offset3D) + 720 - (3 * y + 3);
 
 
    char* L1 = (char*) (lcoord + TOP_LEFT_FRAME0);
    char* L2 = (char*) (lcoord + TOP_LEFT_FRAME1);
    char* R1 = (char*) (rcoord + TOP_RIGHT_FRAME0);
    char* R2 = (char*) (rcoord + TOP_RIGHT_FRAME1);
    char* L1temp;
    char* L2temp;
    char* R1temp;
    char* R2temp;
    L1temp = L1;
    L2temp = L2;
    R1temp = R1;
    R2temp = R2;
 
    for (x = 0; x < w; x++) {
 
        for (y = 0; y < h; y++) {
            * L1 = b;
            *(L1 + 1) = g;
            *(L1 + 2) = r;
 
            * L2 = b;
            *(L2 + 1) = g;
            *(L2 + 2) = r;
 
            * R1 = b;
            *(R1 + 1) = g;
            *(R1 + 2) = r;
 
            * R2 = b;
            *(R2 + 1) = g;
            *(R2 + 2) = r;
       
            L1 += 3;
            L2 += 3;
            R1 += 3;
            R2 += 3;
        }
        L1temp += 720;
        L2temp += 720;
        R1temp += 720;
        R2temp += 720;
        L1 = L1temp;
        L2 = L2temp;
        R1 = R1temp;
        R2 = R2temp;
    }
}
I refer to the function with
Code:
draw_fill3Drect(x*BRICK_WIDTH,y*BRICK_HEIGHT,BRICK_WIDTH-1,BRICK_HEIGHT-1,0,255,0,offset3D);
The "-1" used to be a -2 which is the amount of space between the bricks, but for some reason, this function wants to double that value so I had to drop it down, the offset3D is set at five. This function will draw 3D boxes, but it writes most of the top layer of bricks to the bottom of the screen and I can't figure out why...here's a very bad photo (sorry!, I think the lens had a fingerprint on it and there was really bad lighting):
DSCF8963.JPG

So why are the bricks being written to the bottom of the screen and what can I do to fix the problem?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: @AncientBoi, yes