Conversation Between colcolstyles and Shiny Quagsire
16 to 28 of 28
  1. colcolstyles
    September 19th, 2010 10:06 PM
    colcolstyles
    Well then. I'm glad I could help. :)

    Can I ask what, exactly, this "seasons" thing is? I'm intrigued.
  2. Shiny Quagsire
    September 19th, 2010 5:53 PM
    Shiny Quagsire
    Believe me, without that address, I wouldn't have found a thing. :p
  3. colcolstyles
    September 18th, 2010 7:16 PM
    colcolstyles
    Uhm, you must have done a lot on your own because I didn't really help you all that much. :)
  4. Shiny Quagsire
    September 18th, 2010 6:43 PM
    Shiny Quagsire
    Hey, thanks a lot. You really helped me figure out how ASM works, along with ZodiacDaGreat. Because of you, I've made seasons if fire red, seasons for a world map, and other great discoveries about the rom and myself. So, thanks :)
  5. Shiny Quagsire
    September 15th, 2010 5:01 PM
    Shiny Quagsire
    Sorry to bother ya again. This time, the question is more general. How exactly could I branch to my code from a routine? I've tracked it, I've written my routine, but I can't figure out how to load.
    Nevermind, just got it to work! I have seasons! :3
  6. Shiny Quagsire
    September 8th, 2010 6:19 PM
    Shiny Quagsire
    Oh. Strance, when I subtracted 8, it kept stopping. I'll try -2. :)
  7. colcolstyles
    September 8th, 2010 4:34 PM
    colcolstyles
    I've never felt the need to use any disassembler other than the ones included in the various forms of VBA that I use so I don't know of one. Sorry.

    Yeah, that's why you should backtrack until you find the routine which calls the palette loading routine when switching maps. You're on your own there because I'm an Emerald hacker.
    Oh, and I believe that PC (r15) is only one instruction (i.e., two bytes) ahead of the current instruction. :\
  8. Shiny Quagsire
    September 8th, 2010 6:26 AM
    Shiny Quagsire
    I've just got VBA-SDL-H to work for me, and found out the address you gave is used for all map loading. The pikachu intro thing stopped at my break,the oak event stopped at my break. The player's name stopped my about 20 times. I'm assuming it's used for any pallet change on the general maps. Not to mention every time you warp it loads each and every pallet, including sprites....

    edit:
    I managed to breate a reading breakpoint, at Ea1b6A (Grass pallet), and PC pointed to 1e3b68 and 059aa4 (In order). Since PC is always 8 bytes ahead (I think), then the routine must be ~8 bytes behind it. I suspect since it only stopped twice, those are the routines. I dunno why I told you, but maybe you'll use them ;)
  9. Shiny Quagsire
    September 7th, 2010 5:23 PM
    Shiny Quagsire
    Thanks. I've been studying ASM for a while now, and I've actually done a few things. But that was my biggest barrier. Oh, if it's not too much of a bother, what's a good (free) ARM7 decompiler? I've tried IDA free, but it game me problems...
  10. colcolstyles
    September 7th, 2010 2:25 PM
    colcolstyles
    It looks like the routine at '0x703EC' contains the code which loads the tileset palettes. The source is passed as an argument (r0) while the destination is calculated in the first part of the routine. The branch-and-link instruction branches to a SWI call which copies over the data from the source to the destination. However, you should be aware that this routine is used in numerous other places to copy palettes. If you want, you can trace where this routine is called from and work backwards until you find a routine which is only run twice when changing maps (once for the primary tileset, once for the secondary tileset). That would probably be a better place to put your code.
  11. Shiny Quagsire
    September 7th, 2010 1:39 PM
    Shiny Quagsire
    the Pallet loading routine for maps
  12. colcolstyles
    September 7th, 2010 1:28 PM
    colcolstyles
    "Palette loading" is a very broad term. Can you please be a little more specific?
  13. Shiny Quagsire
    September 7th, 2010 6:24 AM
    Shiny Quagsire
    Hey, would you happen to know where the pallet loading routine is in fire red, and how I could set a breach to my own code inside it?