< >

 sonic1's Profile

Notices

# sonic1

## ASM is my life now...

#### Visitor Messages

Showing Visitor Messages 46 to 60 of 138
1. March 30th, 2012 4:56 PM
droomph
:D soon we can just talk in Portuguese (like in German II at our school) and I'll learn so much faster then Thanks!
2. March 30th, 2012 4:42 PM
droomph
Well I wanna learn it because I just want to. Not much more than that.

Multicultural week at our school is this week, and I feel now is a great time to start. I literally only know "você" and "não" (or something), and I don't even know what "você" means. Besides, books don't really get along with me so a book or school course would teach me nothing
3. March 30th, 2012 4:23 PM
droomph
First things primero...COMIC SAAAAAAAAAANNNSSSSSSSSSSSSSSSBLARAGAGHAHGAH

But otherwise, I need to ask you, since you know Portugese, if you could teach me that.

4. March 25th, 2012 12:49 PM
redriders180
Awesome! I thought a table would be a fairly simple idea, otherwise you'd need lots of checks and subtractions and whatnot. Good idea about the encoder! I was thinking about making an Excel Spreadsheet to assist me, but I'm not good with Excel anyway. I only wish I could help...But thanks a ton!
5. March 24th, 2012 6:20 PM
knizz
Seems correct.
6. March 24th, 2012 2:55 AM
knizz
I just realized something.

a=16
b=bignum>>4
c=bignum&15

lol, that was easy
7. March 24th, 2012 2:47 AM
knizz
What you want to do is HARD: http://en.wikipedia.org/wiki/Integer_factorization

But your domain is small. Only 1280 cases!
And only the end result has to be in less than 0x49. Right?
You can just pre-calculate all situations and put the table into your software
uint a = table1[bignum];
uint b = bignum/a;
int c = bignum-a*b;
8. March 18th, 2012 12:52 AM
Bond697
it doesn't have to be slower. copy that routine and put it into IWRAM(0x3000000 area) in an open spot and do it that way. IWRAM can handle 32-bit reads.
9. March 17th, 2012 8:33 AM
Bond697

the arm cpu doesn't do division, right? so.. if someone was to throw:

u32 doDiv(u32 x, u32 y)
{
return (x/y);
}

at the cpu, what would it do? short answer: it would do what you're seeing in that routine, with a lot of wasted cycles. It's also in thumb, which means it's going to be even bulkier. same thing for the modulus routine right under it. they're huge.

that's as opposed to the divmod in dppt, hgss, and bw that is done in arm, is very fast, and returns both the result and the remainder.

http://pastebin.com/u9CG4VCZ

basically, gamefreak could've done a lot better in that regard. the size and speed of the division and modulus routines in emerald are both good examples of why you shouldn't just use division in arm and should actively look for another way.

e: dunno how much you know about pokemon generation in gen3, but stuff like this is what causes methods 2 and 4 to happen.
10. March 16th, 2012 9:50 PM
Bond697
division: r0/r1, return the result in r0.

e: unsigned division, and a great example of why you shouldn't use it on an ARM cpu.
11. March 15th, 2012 2:28 PM
Speedster
Yeah long time no see. I'm glad you haven't forgotten the hack. Hopefully I'll be ready for you when you come back. I'll try to make a list of ASM that needs to be done.

~Speedster
12. March 13th, 2012 1:39 PM
Spherical Ice
Awesome! Thanks again for all your epic work!
13. March 13th, 2012 12:56 PM
Spherical Ice
Okay, so I added one to the asm part and the script works, but all it does is start a battle with a different animation. Maybe I wasn't being clear but I was wondering how to get the animation to take place and that's it; no battle after. Sorry for all this hassle!
14. March 13th, 2012 12:16 PM
Spherical Ice
Haha yeah, thanks. Though the actual code itself doesn't work unfortunately.

At least, as this:

#dynamic 0x800000
#include stditems.rbh
#include stdpoke.rbh

'---------------
#org @start
setwildbattle PKMN_BULBASAUR 0x5 ITEM_NONE
writebytetooffset 0x0 0x2022B4C
writebytetooffset 0x0 0x2022B4D
writebytetooffset 0x0 0x2022B4E
writebytetooffset 0x0 0x2022B4F
callasm 0x8003a0
release
end

I copied the contents of the .bin file at 8003a0, but when this script activates the game just freezes.
15. March 13th, 2012 11:23 AM
Spherical Ice
Hey dude, thanks a lot for the help. I am a noob when it comes to ASM, so I apologise for my stupidity. When compiling the code, cmd gives some error codes saying that:
"warning: end of file not at end of line; newline inserted
error: invalid immediate: 134739601 is out of range
error: value at 134739601 too large for field of 2 bytes at 6"

I'm sure I'm missing something out of the .asm file but I'm so inept at this that I can't figure out what. Sorry for bugging you so much but I hope you could help :D

Biography
Hi everyone!! I'm Miguel, an Adoloescent Portuguese boy. I'm a Pokemon big fan, specially in the games part (not that i dont like the anime, that rocks indeed!!xD ). I like to play pokemon a lot (i play since 5 years old :D ), and i'm learning Japonese because of it. I like to hack and make pokemon games (i'm quite experienced in this part), as i do it almost everyday i come to my computer :D
Interests
Rom hacking,Game creating,web page designing
Location
Portugal
Gender
Male ♂
Occupation
Pokemon Trainer
Nature
Timid
Favorite Pokémon
Shaymin-S
Dragonite
Rayquaza
• Signature
This signature has been disabled.
over 350px high

You must edit it to meet the limits set by the rules before you may remove the [sig-reason] code from your signature. Removing this tag will re-enable it.

Do not remove the tag until you fix the issues in your signature. You may be infracted for removing this tag if you do not fix the specified issues. Do not use this tag for decoration purposes.

#### Statistics

Total Posts
Activity by Forum
Visitor Messages
Blog
General Information
• Last Activity: January 9th, 2016 10:59 AM
• Join Date: May 29th, 2008
• Referrals: 0

#### Friends

Showing Friends 1 to 12 of 12
•  Derlo Working on Essence of light...
•  droomph mmm gurl that 90s
•  Eagledelt =)?
•  googol TEEHEE
•  JJK The chase is about to begin...
•  redriders180 Mastermind of Pokemon Glazed
•  Scarex Beautyfool.