Hacking gelu AKmenu3in1 10_e14

VatoLoco

Don't crush that dwarf, hand me the pliers.
OP
Member
Joined
Jan 29, 2008
Messages
2,330
Trophies
1
Age
51
Location
Ya Cant Get There From Here
Website
www.backwoodzstudioz.com
XP
2,727
Country
United States
QUOTE said:
changes in 4.10e14:

!!!ATTENTION!!! THIS IS VERY EXPERIMENTAL FIRMWARE. BACKUP YOUR SAVES AND USE
AT YOUR OWN RISK.

- added support of 64mbit saves in "daigassou! band-brothers dx".
the necessary conditions:
/- game must be runned from microsd card.
/- cluster size at microsd card must be at least 4096 bytes.
/- card speed must be fast or medium. on slow cards possible freezes in game.

- if save type set to no_save, save dont' allocated.
- gba internal sleep: mother 3 support added.
- gba internal sleep: hp - quidditch world cup support added.
- gba internal sleep: prince of persia support added.
- dq5 fix (from official fw)

You can find the download here
 

logical thinker

Well-Known Member
Member
Joined
Jul 18, 2008
Messages
556
Trophies
0
Age
12
Website
Visit site
XP
112
Country
Worked here, too!
I think the "not blinking dots between the clock numbers" bug of the previous versions of the AKAIO is from gelu's firmware. Can you confirm, VatoLoco?

Tested with:
- AKRPG;
- 4GB MicroSDHC Kingston class4 Taiwan (SD speed 4000);
- 1GB MicroSD Kingston Japan (SD Speed 1300).

GAMEDATA.BIN for AKRPG with gelu fw - updated until 2513
http://rapidshare.com/files/139439693/GAME...l_2513.rar.html
 

VatoLoco

Don't crush that dwarf, hand me the pliers.
OP
Member
Joined
Jan 29, 2008
Messages
2,330
Trophies
1
Age
51
Location
Ya Cant Get There From Here
Website
www.backwoodzstudioz.com
XP
2,727
Country
United States
QUOTE said:
logical thinker Posted Today, 02:10 AM

I think the "not blinking dots between the clock numbers" bug of the previous versions of the AKAIO is from gelu's firmware. Can you confirm, VatoLoco?

Hey, that's weird. You are right, there is no blink in the ':' with the gelu OS.
 

Smiths

AKAIO Person of Interest TAGS ARE THE BEST
Developer
Joined
Feb 24, 2003
Messages
1,458
Trophies
2
Location
The land of Dairy Queen
Website
www.gamergeddon.com
XP
2,012
Country
United States
the no blink is the latest devkitarm. we've reverted to an earlier version which fixed that. i noticed it too.
sleep function is in for official games that have it. his generic patching routine (from dwedit) doesn't work (it's supposed to enable sleep in any game with L+R+Select).
But games that officially have sleep support seem to work.
Gelu's code is based on his own loading routines, obviously. in porting this code to AKAIO i've hit a snag with the savefilename stuff (his is still based on it all being .nds.sav, as you know we've changed it to a user setting). Also I have a slow MicroSD card so, while the SAV is being created, I cannot confirm if my loading is messed up due to bad code or if it's just my card. I get past the loading screens and then am faced with a black screen.
Norm, wanna take a stab at merging the code?
 

Normmatt

Former AKAIO Programmer
Member
Joined
Dec 14, 2004
Messages
2,159
Trophies
1
Age
32
Website
normmatt.com
XP
1,959
Country
New Zealand
Smiths said:
the no blink is the latest devkitarm. we've reverted to an earlier version which fixed that. i noticed it too.
sleep function is in for official games that have it. his generic patching routine (from dwedit) doesn't work (it's supposed to enable sleep in any game with L+R+Select).
But games that officially have sleep support seem to work.
Gelu's code is based on his own loading routines, obviously. in porting this code to AKAIO i've hit a snag with the savefilename stuff (his is still based on it all being .nds.sav, as you know we've changed it to a user setting). Also I have a slow MicroSD card so, while the SAV is being created, I cannot confirm if my loading is messed up due to bad code or if it's just my card. I get past the loading screens and then am faced with a black screen.
Norm, wanna take a stab at merging the code?

Want to commit your latest code so i can fix yours
tongue.gif
 

Normmatt

Former AKAIO Programmer
Member
Joined
Dec 14, 2004
Messages
2,159
Trophies
1
Age
32
Website
normmatt.com
XP
1,959
Country
New Zealand
z.g. the code in question is valid code, and compiles to less code than the code in revision 213.

Gelu, why use code like
Code:
patchEntry=(u32*)0x238b598; //2
ÂÂÂÂÂÂÂÂpatchEntry[0]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry=(u32*)0x238b604; //9
ÂÂÂÂÂÂÂÂpatchEntry[0]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry=(u32*)0x238b614; //11
ÂÂÂÂÂÂÂÂpatchEntry[0]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry=(u32*)0x238b62c; //12
ÂÂÂÂÂÂÂÂpatchEntry[0]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry=(u32*)0x238b634; //13
ÂÂÂÂÂÂÂÂpatchEntry[0]=0xe3a00000; // mov r0, #0
ÂÂÂÂÂÂÂÂpatchEntry=(u32*)0x238b650; //14
ÂÂÂÂÂÂÂÂpatchEntry[0]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry=(u32*)0x238b624; //15
ÂÂÂÂÂÂÂÂpatchEntry[0]=0xe1a00000; // nop

when

Code:
patchEntry=(u32*)0x238b598; //2
ÂÂÂÂÂÂÂÂpatchEntry[0x00]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x1B]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x1F]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x23]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x25]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x27]=0xe3a00000; // mov r0, #0
ÂÂÂÂÂÂÂÂpatchEntry[0x2E]=0xe1a00000; // nop

would be more efficient?
 

z.g

Well-Known Member
Member
Joined
Jun 21, 2007
Messages
169
Trophies
0
XP
271
Country
Normmatt said:
z.g. the code in question is valid codereally? of course using uninitialized variable is a valid code, because it compiled by compiler. but it is not correct code.
Normmatt said:
Gelu, why use code like
{skipped}
when
{skipped}
would be more efficient?Normmatt' why use code like
Code:
patchEntry=(u32*)0x238b598; //2
ÂÂÂÂÂÂÂÂpatchEntry[0x00]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x1B]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x1F]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x23]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x25]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x27]=0xe3a00000; // mov r0, #0
ÂÂÂÂÂÂÂÂpatchEntry[0x2E]=0xe1a00000; // nop
when
CODE
patchEntry=(u32*)0x238b598; //2
const u8 shifts[]={0x00,0x1B,0x1F,0x23,0x25,0x2E};
for(u32 ii=0;ii
 

Smiths

AKAIO Person of Interest TAGS ARE THE BEST
Developer
Joined
Feb 24, 2003
Messages
1,458
Trophies
2
Location
The land of Dairy Queen
Website
www.gamergeddon.com
XP
2,012
Country
United States
gelu- i dunno if the blinking was truly in the code. we did not have blinking for a while either... and i downgraded to r21 and it was fine.
was odd.
but good work on the BBDX thing.
I don't even play the game or try to care, but I did notice it doesn't let you download songs. says "this card cannot download songs".
rom protection or what?
 

Minox

Thanks for the fish
Former Staff
Joined
Aug 27, 2007
Messages
6,985
Trophies
2
XP
6,083
Country
Japan
Smiths said:
gelu- i dunno if the blinking was truly in the code. we did not have blinking for a while either... and i downgraded to r21 and it was fine.
was odd.
but good work on the BBDX thing.
I don't even play the game or try to care, but I did notice it doesn't let you download songs. says "this card cannot download songs".
rom protection or what?
Each BBDX has a unique ID and each ID is entitled to download 100 songs. The unique ID is in fact not a piracy prevention, it's simply a Copyright issue regarding how many songs you're allowed to download.
 

z.g

Well-Known Member
Member
Joined
Jun 21, 2007
Messages
169
Trophies
0
XP
271
Country
Smiths said:
gelu- i dunno if the blinking was truly in the code. we did not have blinking for a while either... and i downgraded to r21 and it was fine.
was odd.
you mean that using old version of devkit for support buggy code is better then correct code?
 

Smiths

AKAIO Person of Interest TAGS ARE THE BEST
Developer
Joined
Feb 24, 2003
Messages
1,458
Trophies
2
Location
The land of Dairy Queen
Website
www.gamergeddon.com
XP
2,012
Country
United States
z.g said:
Smiths said:
gelu- i dunno if the blinking was truly in the code. we did not have blinking for a while either... and i downgraded to r21 and it was fine.
was odd.
you mean that using old version of devkit for support buggy code is better then correct code?

nope not even close. but we have to use the old devkit for AKAIO compiling because for some reason unicode fonts are broken with the latest. correct code is always better and i saw that you did and yes, it's definitely more correct.
but until devkitarm 24 is out, we have to use 21 for AKAIO compiling
 

Normmatt

Former AKAIO Programmer
Member
Joined
Dec 14, 2004
Messages
2,159
Trophies
1
Age
32
Website
normmatt.com
XP
1,959
Country
New Zealand
z.g said:
Normmatt said:
z.g. the code in question is valid codereally? of course using uninitialized variable is a valid code, because it compiled by compiler. but it is not correct code.
Normmatt said:
Gelu, why use code like
{skipped}
when
{skipped}
would be more efficient?Normmatt' why use code like
Code:
patchEntry=(u32*)0x238b598; //2
ÂÂÂÂÂÂÂÂpatchEntry[0x00]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x1B]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x1F]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x23]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x25]=0xe1a00000; // nop
ÂÂÂÂÂÂÂÂpatchEntry[0x27]=0xe3a00000; // mov r0, #0
ÂÂÂÂÂÂÂÂpatchEntry[0x2E]=0xe1a00000; // nop
when
CODE
patchEntry=(u32*)0x238b598; //2
const u8 shifts[]={0x00,0x1B,0x1F,0x23,0x25,0x2E};
for(u32 ii=0;ii
 

z.g

Well-Known Member
Member
Joined
Jun 21, 2007
Messages
169
Trophies
0
XP
271
Country
Normmatt said:
Because that code is worse than mine. It has too do more reading and has to look the addreses up in a lookup table, it shouldn't be in a loop anyway the loop is small enough to unbundle which gives a nice optimisation and mine takes up less space than your new code and thus produces faster code.really?
result of your code:
Code:
ÂÂÂÂldrÂÂÂÂr1, .L3
ÂÂÂÂldrÂÂÂÂr3, .L3+4
ÂÂÂÂstrÂÂÂÂr1, [r3]
ÂÂÂÂaddÂÂÂÂr3, r3, #108
ÂÂÂÂstrÂÂÂÂr1, [r3]
ÂÂÂÂaddÂÂÂÂr3, r3, #16
ÂÂÂÂstrÂÂÂÂr1, [r3]
ÂÂÂÂaddÂÂÂÂr3, r3, #16
ÂÂÂÂstrÂÂÂÂr1, [r3]
ÂÂÂÂldrÂÂÂÂr2, .L3+8
ÂÂÂÂaddÂÂÂÂr3, r3, #8
ÂÂÂÂstrÂÂÂÂr1, [r3]
ÂÂÂÂaddÂÂÂÂr3, r3, #8
ÂÂÂÂstrÂÂÂÂr2, [r3]
ÂÂÂÂaddÂÂÂÂr3, r3, #28
ÂÂÂÂstrÂÂÂÂr1, [r3]
ÂÂÂÂbxÂÂÂÂlr
.L4:
ÂÂÂÂ.alignÂÂÂÂ2
.L3:
ÂÂÂÂ.wordÂÂÂÂ-509607936
ÂÂÂÂ.wordÂÂÂÂ37270936
ÂÂÂÂ.wordÂÂÂÂ-476053504
mine:
Code:
ÂÂÂÂldrÂÂÂÂr3, .L7
ÂÂÂÂldrÂÂÂÂr1, .L7+4
ÂÂÂÂmovÂÂÂÂr2, r3
ÂÂÂÂaddÂÂÂÂr2, r2, #140
ÂÂÂÂstrÂÂÂÂr1, [r3]
ÂÂÂÂstrÂÂÂÂr1, [r3, #108]
ÂÂÂÂstrÂÂÂÂr1, [r3, #124]
ÂÂÂÂstrÂÂÂÂr1, [r2]
ÂÂÂÂaddÂÂÂÂr2, r2, #8
ÂÂÂÂstrÂÂÂÂr1, [r2]
ÂÂÂÂaddÂÂÂÂr3, r3, #184
ÂÂÂÂldrÂÂÂÂr2, .L7+8
ÂÂÂÂstrÂÂÂÂr1, [r3]
ÂÂÂÂsubÂÂÂÂr3, r3, #28
ÂÂÂÂstrÂÂÂÂr2, [r3]
ÂÂÂÂbxÂÂÂÂlr
.L8:
ÂÂÂÂ.alignÂÂÂÂ2
.L7:
ÂÂÂÂ.wordÂÂÂÂ37270936
ÂÂÂÂ.wordÂÂÂÂ-509607936
ÂÂÂÂ.wordÂÂÂÂ-476053504

QUOTEBy the way whats the main problem with adding NAND support? that ECC crap?
i dont' know. you can try implement, why not?
 
General chit-chat
Help Users
    Skelletonike @ Skelletonike: 1H left, such a slow week.