Re: [Hack Tool] Denjuu Editor SP

Discuss anything related to hacking ROMs of the Telefang games here.
IIMarckus(imported)
Posts: 27
Joined: Tue Dec 25, 2007 4:30 pm

Re: [Hack Tool] Denjuu Editor SP

Post by IIMarckus(imported) »

Blaziken257 wrote:bytes in the $02E5C5-$02E651 range
That area is without a doubt part of a pointer table, leading to, for the most part, 0x0A8000 and later. I am however confused about the bytes prior (unless I’m missing something it actually starts at 0x02E5A1) and at 0x02E5E6–0x02E5EB, which are not valid pointers.
Blaziken257
Posts: 983
Joined: Fri Dec 22, 2006 11:52 am

Re: [Hack Tool] Denjuu Editor SP

Post by Blaziken257 »

It looks like those pointers are three bytes long. Why is that? I thought pointers were two bytes long (such as the ones used for text in this game). And where in the game does it say to go to 0x0A8000?
IIMarckus(imported)
Posts: 27
Joined: Tue Dec 25, 2007 4:30 pm

Re: [Hack Tool] Denjuu Editor SP

Post by IIMarckus(imported) »

Blaziken257 wrote:It looks like those pointers are three bytes long. Why is that? I thought pointers were two bytes long (such as the ones used for text in this game). And where in the game does it say to go to 0x0A8000?
Pointers can be two or three bytes long. Two‐byte pointers can be used inline with ASM and are thus more common, while three‐byte pointers are generally stored as a contiguous block and parsed separately (pointer tables, though two‐byte tables are frequently seen as well). The third (or in this case first) byte is the bank number, which multiplied by 0x4000 gives the offset of the address. E.g., 0x2A 0x00 0x40 is equivalent to offset 0x0A8000.
Blaziken257
Posts: 983
Joined: Fri Dec 22, 2006 11:52 am

Re: [Hack Tool] Denjuu Editor SP

Post by Blaziken257 »

Oh, I see. I've never seen that before... weird. Now I'm going to corrupt the 0xA8000 bank and see where that takes me.

Come to think of it, are the pointers from $19C000-$19C09E 3-byte pointers too? That's weird, because I know for a fact that the pointers in THIS range point within the ROM bank (I know, I've tried).

EDIT: When I corrupted 0xAA000-0xAA7FF, I gave Cryptoride an R-Gun and it wouldn't evolve!
IIMarckus(imported)
Posts: 27
Joined: Tue Dec 25, 2007 4:30 pm

Re: [Hack Tool] Denjuu Editor SP

Post by IIMarckus(imported) »

Blaziken257 wrote: Come to think of it, are the pointers from $19C000-$19C09E 3-byte pointers too? That's weird, because I know for a fact that the pointers in THIS range point within the ROM bank (I know, I've tried).
They look like three‐byte pointers at first, but if you say they’re within that bank then the 00–03‐valued bytes are more likely some sort of control code. This makes sense because you will never come across a three‐byte pointer with 00 as the bank.
Blaziken257
Posts: 983
Joined: Fri Dec 22, 2006 11:52 am

Re: [Hack Tool] Denjuu Editor SP

Post by Blaziken257 »

Oh, I see. That confused me. I guess that makes sense. I haven't tried changing those control bytes, though...

Also, another update: I corrupted the same bytes (0xAA000-AA7FF), this time adding 1 to every value instead of giving them random bytes. I gave Cryptoride a Mo-gun (a.k.a Machine Gun) (the item that comes after R-Gun a.k.a. Bazooka), and it evolved into Shellsterra (the Denjuu that comes after Cryptoarm)!
IIMarckus(imported)
Posts: 27
Joined: Tue Dec 25, 2007 4:30 pm

Re: [Hack Tool] Denjuu Editor SP

Post by IIMarckus(imported) »

Blaziken257 wrote: Oh, I see. That confused me. I guess that makes sense. I haven't tried changing those control bytes, though...

Also, another update: I corrupted the same bytes (0xAA000-AA7FF), this time adding 1 to every value instead of giving them random bytes. I gave Cryptoride a Mo-gun (a.k.a Machine Gun) (the item that comes after R-Gun a.k.a. Bazooka), and it evolved into Shellsterra (the Denjuu that comes after Cryptoarm)!
Excellent!
swampert22 wrote:IIMarckus, glad to see you've joined this forum! What made you decide to come on over? How dod you find out about the forum?
Saw the link at Pokécommunity. I was aware of the Telefang wiki but not that there was a board alongside it (Invisionboard though it may be… Image)
User avatar
andwhyisit
Site Admin
Posts: 1197
Joined: Fri Dec 14, 2007 9:24 pm

Re: [Hack Tool] Denjuu Editor SP

Post by andwhyisit »

As I said earlier, just convert each to the quadary (base 4) numbering system.
01010101 in binary becomes 1111 in quadary.
00110011 in binary becomes 0303 in quadary.
01110010 in binary becomes 1302 in quadary.
Blaziken257
Posts: 983
Joined: Fri Dec 22, 2006 11:52 am

Re: [Hack Tool] Denjuu Editor SP

Post by Blaziken257 »

Guess what... I finally found the data! Conveniently, the mod (reform) and experimental (test) evolutions are in the same place. Here is where it is and how it's formatted:

The data is located from 0AA0B1-0AA368.

Code: Select all

Format of data is 4 bytes for each Denjuu and is as follows:
 
 aa bb cc dd
 aa = Item 1 used to mod evolve/experimentally evolve
      If a value from 00-39 is used, the evolution will be a mod evolution. If
      a value from 40-42 is used, the evolution will be a experimental evolution.
      No other value will cause a Denjuu to evolve either of these two ways.
      However, the value FF is used if a Denjuu doesn't evolve these two ways.
      (Note: This list currently uses the badly translated names from the 
      bootleg Pokémon Diamond/Jade)
      Mod items:
      00 = A-gun
      01 = Gun
      02 = Revolver
      03 = R-gun
      04 = Mo-gun
      05 = Missile
      06 = Bomb  
      07 = Ma-gun
      08 = Sabre
      09 = Drill
      0A = Jet
      0B = Propelle
      0C = Dart
      0D = Battery
      0E = Shooter
      0F = Range
      10 = Flatiron
      11 = Blender
      12 = Phone
      13 = Antenna
      14 = Spanner
      15 = Saw
      16 = ChainSaw
      17 = L-gun
      18 = Axe
      19 = Screwdri
      1A = Screw
      1B = Spring
      1C = Gear
      1D = P-card
      1E = Spear
      1F = Crane
      20 = Dagger
      21 = Sickle
      22 = Computer
      23 = Moving
      24 = Hammer
      25 = Injector
      26 = Camera
      27 = Video
      28 = Flying
      29 = Pencil
      2A = Tire
      2B = O-bottle
      2C = Tap
      2D = Bucket
      2E = Cleaner
      2F = Mouse
      30 = Key
      31 = Game
      32 = Toy
      33 = Pengpeng
      34 = Racket
      35 = Tsita
      36 = Luna
      37 = Diamond
      38 = L-medal
      39 = Tayta
      Experimental items:
      40 = Baolan
      41 = Gulap
      42 = Jigay
 bb = Item 2 used to mod evolve/experimentally evolve
      If a value from 00-39 is used, the evolution will be a mod evolution. If
      a value from 40-42 is used, the evolution will be a experimental evolution.
      No other value will cause a Denjuu to evolve either of these two ways.
      However, the value FF is used if a Denjuu doesn't evolve these two ways.
      The same item list for above also applies here.
 cc = Denjuu 1 it mod/experimentally evolves into
      This is the Denjuu that the current Denjuu will evolve into if Item 1 is
      used. If Item 1 is FF (unused), this value will be 00.
 dd = Denjuu 2 it mod/experimentally evolves into
      This is the Denjuu that the current Denjuu will evolve into if Item 2 is
      used. If Item 1 is FF (unused), this value will be 00.
First, I'll use #21 Angios as an example. Its data is located from 0xAA101-0xAA104. Its data is:

Code: Select all

40 FF 4C 00
And here's what it means:

40 = Angios experimentally evolves with the "Baolan" item.
FF = Angios does not have a second non-natural way of evolving.
4C = With the first item, Angios evolves into #76 Angioon.
00 = Since Angios does not evolve a second way, this "Denjuu" is 00.

Next, I'll use #60 Cryptoride as an example. Its data is located from 0xAA19D-0xAA1A0. Its data is:

Code: Select all

03 FF 28 00
Here's what it means:

03 = Cryptoride mod evolves with R-Gun (Item #03).
FF = Cryptoride does not have a second non-natural way of evolving.
28 = With the first item, Cryptoride evolves into #40 Cryptoarm.
00 = Since Cryptoride does not evolve a second way, this "Denjuu" is 00.

And finally, let's use #84 Gust as an example, since it evolves both ways. Its data is located from 0xAA1FD-0xAA200. Its data is:

Code: Select all

1A 41 63 90
Here's what it means:

1A = Gust mod evolves with a Screw (Item #26).
41 = Gust experimentally evolves with a Gulap (weird name, I know).
63 = With the first item, Screw, Gust evolves into #99 Tempest.
90 = With the second item, Gulap, Gust evolves into #144 Storm.

Worth noting is that it is possible to make a Denjuu evolve with two Mod items or two Experimental items, even though no Denjuu currently evolve this way (at least in Telefang 1, anyway). There doesn't seem to be any limitation other than the fact that Baolan, Gulap, and Jigay will always be experimental, and the other items will always be mod. Happy hacking!

Wow -- this was a long post!

And here are some screenshots!

Image Image

EDIT: Made the information more accurate.

EDIT 2: Added a little note at the bottom.
swampert22(imported)
Posts: 54
Joined: Sun Dec 23, 2007 4:04 am

Re: [Hack Tool] Denjuu Editor SP

Post by swampert22(imported) »

Wow Blaziken257, you have been busy. I wake up, check the thread and there's loads of new posts! This really is great information, and I shall add it to the program as soon as possible. You'll have to wait until wednesday though, as I am busy today... :(

Fantastic work though, I'm very impressed!

For the record, I shall not be added an image editor. This is the last I'll say on it. TLP works fine with it, uncompressed, you can even just lay a new bitmap over it. When it's this easy, there is no point implementing a feature that would take me ages to work out. :o
Post Reply