Author Topic: Tech Editor - Period  (Read 28520 times)

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #45 on: May 03, 2008, 03:13:39 pm »
Ooh! Ooh! Ozzie! You're getting into stuff justin3009 explored earlier, so you might be able to fill in the gaps in our knowledge here:
http://www.chronocompendium.com/Term/Tech_Data_Notes.html

Look under "Offsets Pertinent to Techs"

You can list your findings here and I or someone else with access could put them in the wiki or something. I think, within our framework...

0x0D45AD ~ 0x0D4925: Unknown tech data; 7 bytes each (127 techs). May point to graphics and sound data.
 The bytes are structured as follows: aa bb cc dd ee ff gg
  aa = An unknown tech index. May point to two-byte "slots" beginning at address 0x0D5EF0
  bb =
  cc =
  dd =
  ee =
  ff =
  gg =

...you've found that dd = palette index, is that correct? Awesome work. We may as well get these seven functions filled in while you're at it. Also, let us know what mistakes are in the wiki as you find them.

Man, I can't wait to see Magus use Lightning1, Fire1, and Ice1. Just because. Or maybe, with control over palette and strength data, "PhantomBolt"...

Just out of curiosity Ozzie, what value did you use for "dd" in the above framework to get that nice purplish sword slashy effect? We can put a list of values in the wiki as well for each byte.
« Last Edit: May 03, 2008, 03:24:00 pm by FaustWolf »

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #46 on: May 03, 2008, 03:22:37 pm »
One byte off eh? Looks like someone else already documented some of this stuff.
If nothing else, I narrowed it down, and specified a breakpoint for easy listings.
I suck at wikis, so anyone can feel free to replicate any findings I make here in it.

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #47 on: May 03, 2008, 03:28:57 pm »
I used '09' I think to get the nice purple. Some palettes look horrid of course, but still, this means that any graphic, any size, and colors can be used now in conjunction with jsondag's awesome tech editing program, for pretty much complete custom techs.

The breakpoint I supplied earlier only seems to apply to player techs, some of the early enemy techs I've run across have failed to trigger it, but that's ok, the editor only edits player techs for now anyway.

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #48 on: May 03, 2008, 03:30:09 pm »
I might be the one who's a byte off for all I know. I was just looking at the hex in the ROM when I compiled the "offsets pertinent to techs" stuff from everyone else's findings back in January. Please continue your work -- I certainly haven't had any time to sit down and document our understanding of this section of the CT tech data yet, and I believe it is crucially important. Justin3009 left additional notes that I haven't transcribed yet as well; I'll point you to there if I can dig them up from the forums.

It would be a *huge* help if you could find out what each byte does in the range 0x0D45AD ~ 0x0D45B4 (that should be the range for Crono's Cyclone tech), and catch any mistakes we made in the description that's currently up.

Anyway, welcome to the Compendium! Expanding technical knowledge of the games is a great way to make a start!

EDIT: Ozzie, I have a hypothesis that jsondag2's working directly with the raw tech data and the range you've been looking at most recently contains pointers to that raw data; they might be like mid-level pointers to stuff further down in the ROM. This may not be correct, however; 'tis only a guess on my part.
« Last Edit: May 03, 2008, 03:36:29 pm by FaustWolf »

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #49 on: May 03, 2008, 03:40:06 pm »
$C1/45BB   BF A6 45 CD   LDA $CD45A6,x[$CD:45AD]   
$C1/45BF   8D 77 98         STA $9877  [$7E:9877]   
$C1/45C2   BF A7 45 CD   LDA $CD45A7,x[$CD:45AE]   
$C1/45C6   8D 7A 98         STA $987A  [$7E:987A]   
$C1/45C9   BF A8 45 CD   LDA $CD45A8,x[$CD:45AF]   
$C1/45CD   8D 7B 98         STA $987B  [$7E:987B]   
$C1/45D0   BF A9 45 CD   LDA $CD45A9,x[$CD:45B0]      
$C1/45D4   8D 7E 98         STA $987E  [$7E:987E]      
$C1/45D7   BF AA 45 CD   LDA $CD45AA,x[$CD:45B1]   
$C1/45DB   8D 81 98         STA $9881  [$7E:9881]   
$C1/45DE   BF AB 45 CD   LDA $CD45AB,x[$CD:45B2]   
$C1/45E2   8D 84 98         STA $9884  [$7E:9884]      
$C1/45E5   BF AC 45 CD   LDA $CD45AC,x[$CD:45B3]   

You are correct, it seems to be 7 bytes, not 6. That'l learn me to dissasemble stuff after just waking up.  :lol:

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #50 on: May 03, 2008, 03:41:54 pm »
I'm adding in all the tech data from the D5XXX range as we speak look for an update later today  :D

This is good stuff, if we can edit this reliably it's a major milestone.  Faustwolf I'm pretty sure your hypothesis is correct.  My data edits ONLY the animations and sounds the exact same data for fire and lightning can be put in my editor and different graphics be loaded so the graphics is coming from somewhere else and it seems like we've found out where.

Ozzie, you are making quite an entrance to Kajar labs.  The compendium is on a war path right now welcome to the party.

--JP

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #51 on: May 03, 2008, 03:49:03 pm »
Can you use the debugger to get the addresses you need to edit the 7byte graphics data?
If not, I can download a save game and go through and make a list of offsets for you to plug into your editor, and then label each field as they are deciphered down the road.

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #52 on: May 03, 2008, 04:08:54 pm »
Updating with offsets, refresh occasionally for more.

Single Techs

Crono/Slash - D45B4
Crono/Lightning - D45BB
Crono/Spincut - D45C2
Crono/Lightning2 - D45C9
Crono/Life - D
Crono/Confuse - D45D7
Crono/Luminaire - D45DE






Frog/Slurp - D468D
Frog/Slurp Cut - D4694
Frog/Water - D469B
Frog/Heal - D46A2
Frog/Leap Slash - D46A9
Frog/Water2 - D46B0
Frog/Cure2 - D46B7
Frog/Frog Squash - D46BE




Magus/Lightning2 - D46FD
Magus/Ice2 - D4704
Magus/Fire2 - D470B
Magus/Dark Bomb - D4712
Magus/Magic Wall - D4719
Magus/Dark Mist - D4720
Magus/Black Hole - D4727
Magus/Dark Matter - D472E

Dual Techs
Frog&Crono/XStrike - D4774
« Last Edit: May 03, 2008, 04:26:18 pm by Ozzie »

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #53 on: May 03, 2008, 04:22:02 pm »
I'm pretty sure I got all the offsets already....

Are we sure it's 7 bytes for every single one though?

I got 7 bytes for some of the but 6 bytes for others?

Edit:  Actually I guess that would be pretty stupid huh.......i'll change it to 7 bytes each and then add an update to the front link...... (There seems to be some that like ....don't end in FF and I counted those as 7 bytes and the ones surrounded by FF i was counting as 6 bytes)

--JP
« Last Edit: May 03, 2008, 04:26:03 pm by jsondag2 »

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #54 on: May 03, 2008, 04:30:25 pm »
I'm guessing FF is like "NULL" or nothing for that graphic's property. Some graphics have animation, some do not, some glow, etc.

This saves me some time if you have the offsets already... :D


You know how some techs disable layer 3 (fog and stuff) to execute? I wonder if one of the unknowns is disable, enable layer 3? That's been bugging me, I dont' think all techs disable layer 3, just the ones that require translucency. I should look into that eventually too. [/random thought]

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #55 on: May 03, 2008, 04:42:00 pm »
jsondag2, I can confirm that the seven-byte pattern still holds at the end of the range 0x0D45AD ~ 0x0D4925

If you take 0x0D4926 and subtract 0x0D45AD, you get 0x379 or dec 889, enough for 7 bytes for 127, or 0x7F techs.

Note that there are up to 0x7F player techs in our tech list in the wiki. However, there is room for error since we haven't identified what all the techs are yet -- there seems to be some dummy techs at the end of the list. Also, there may be a dummy tech that precedes Cyclone. Given that the 7-byte pattern holds at the beginning of the range and the end of the range, I am strongly inclined to say that it's seven bytes of hex data per tech in the ROM, but the end FF byte might just be a separator and not an active pointer.

Ozzie

  • Porrean (+50)
  • *
  • Posts: 53
    • View Profile
Re: Tech Editor - Period
« Reply #56 on: May 03, 2008, 04:44:36 pm »
Given that Cyclone is the second tech in the 7byte graphics table, I wonder if the first tech is dummied?

Always wondered if there were dummied out techs...

FaustWolf

  • Guru of Time Emeritus
  • Arbiter (+8000)
  • *
  • Posts: 8972
  • Fan Power Advocate
    • View Profile
Re: Tech Editor - Period
« Reply #57 on: May 03, 2008, 04:46:04 pm »
justin3009 would know more about dummied techs than I; there may have been several if memory serves.

EDIT: Ah! In light of your update jsondag2, I guess we do know that the seventh FF byte that appears in most(?) techs is just buffer data to maintain a 7-byte stride.
« Last Edit: May 03, 2008, 04:47:46 pm by FaustWolf »

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #58 on: May 03, 2008, 05:03:40 pm »
Alrighty, update is out (front page link)

Obviously this is a very fast update so you may want to do some confirming of your own....or you can just trust my greatness  :D.

Load up the Rom and the tech and go to View-> Properties.

There's a fancy new "Graphics" section with the 7 bytes of from the D5 XXXX range.  I know this MIGHT not be solely graphics but i'm excited enough for now that I'm calling it graphics.


Most of them are unknown the only ones that are not are "tech index" which i think is the index of what animations etc to load (liek just said change Ice's 0C to 01 and it does cyclone?"  (Faustwolf this is the part that I was talking about earlier that points to my stuff). 

I also put in pallete since Ozzie seems to have confirmed that (we should do more testing on it though).

One of the annoying things about this is that it put them out of order since it sorts them alphabetically, I'll append the byte number later.  If you want to see them in order use the fancy new copy graphics hex button that I added on the right, it copies it to your clipboard so you can paste it in notepad or whatever. 

Using  that copy button it shouldn't take long to document these things and find some patterns.

--JP

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Tech Editor - Period
« Reply #59 on: May 03, 2008, 05:16:11 pm »
Here is the data excel sheet where Tech editor is grabbing it's data from... i suppose I should put this on a wiki somewhere eventually:  note that it's tab delimited and in decimal (cause in my code it's not taking hex indexes)

I've copied the D5 XXXX raw data up through lucca's flare if someone wants to finish the job and look for more patterns.

Code: [Select]
Header Start Header End Tech Start Tech End Max Bytes Target Properties MP Cost Graphics Graphics Raw Hex
Cyclone 0 14 919817 919963 146 793293 794955 795964 869805 01 DA EF 20 01 01 FF
Slash 0 24 919964 920163 199 793295 794967 795965 869812 02 E8 EC 21 02 02 FF
Lightning 0 22 920164 920497 333 793297 794979 795966 869819 03 F1 00 22 03 03 45
Spincut 0 16 920498 920723 225 793299 794991 795967 869826 04 D6 00 27 04 04 FF
Lightning 2 0 28 920724 921089 365 793301 795003 795968 869833 05 F1 00 22 05 03 02
life 0 16 921090 921237 147 793303 795015 795969 869840 06 E1 02 1B 06 06 1D
confuse 0 16 921238 921487 249 793305 795027 795970 869847 07 20 24 2D 07 07 FF
Luminaire 0 12 921488 921558 70 793307 795039 795971 869854 08 FC 00 08 08 08 01
Aura 0 16 921559 921710 151 793309 795051 795972 869861 09 E1 E5 1D 09 09 FF
Provoke 0 12 921711 921770 59 793311 795063 795973 869868 0A 0A 0E 0E 0A 0A FF
Ice 0 18 921910 922066 156 793313 795075 795974 869882 0B E1 02 1E 0B 0B FF
Cure 0 18 921771 921909 138 793315 795087 795975 869875 0C F4 00 25 3A 0C 44
Haste 0 12 922067 922172 105 793317 795099 795976 869889 0D BB 00 3E 0D 0D 56
Ice 2 0 20 922337 922461 124 793319 795111 795977 869903 0E E1 02 1F 0B 0E FF
Marle's Cure 2 0 18 922173 922336 163 793321 795123 795978 869896 0F FC 00 25 3A 0C 57
Marle's Life 2 0 22 922462 922679 217 793323 795135 795979 869910 10 E1 02 1B 06 06 35
Flame Toss 0 28 922680 922953 273 793325 795147 795980 869917 11 EB 00 23 11 11 FF
Hypno Wave 0 9 922954 922988 34 793327 795159 795981 869924 12 C9 CD 15 12 12 07
Fire 0 20 922989 923264 275 793329 795171 795982 869931 13 EB 00 23 11 13 FF
Napalm 0 30 923265 923618 353 793331 795183 795983 869938 14 F1 00 0A 14 14 49
Protect 0 18 923619 923747 128 793333 795195 795984 869945 15 CE 00 11 15 15 FF
Fire 2 0 20 923748 923897 149 793335 795207 795985 869952 16 EB 00 0B 11 13 1C
MegaBomb 0 30 923898 924323 425 793337 795219 795986 869959 17 CA 00 10 17 17 20
Lucca's Flare 0 44 924324 924850 526 793339 795231 795987 869966 18 F1 00 0A 18 18 0D
Rocket Punch 0 30 924851 925197 346 793341 795243 795988 869973
Cure Beam 0 14 925198 925357 159 793343 795255 795989 869980
Laser Spin 0 16 925546 925676 130 793345 795267 795990 869994
Robo Tackle 0 24 925358 925545 187 793347 795279 795991 869987
Heal Beam 0 20 925677 925860 183 793349 795291 795992 870001
Uzzi Punch 0 3 925861 926094 233 793351 795303 795993 870008
Area Bomb 0 24 926116 926533 417 793353 795315 795994 870015
Robo's Shock 0 12 926534 926606 72 793355 795327 795995 870022
Slurp 0 26 926607 926870 263 793357 795339 795996 870029
Slurpcut 0 45 926871 927416 545 793359 795351 795997 870036
Water 0 18 927417 927616 199 793361 795363 795998 870043
Heal 0 20 927617 927777 160 793363 795375 795999 870050
Leap Slash 0 16 927778 928016 238 793365 795387 796000 870057
Water 2 0 28 928017 928237 220 793367 795399 796001 870064
Frog's Cure 2 0 18 928238 928274 36 793369 795411 796002 870071
Frog Summon 0 14 928275 928402 127 793371 795423 796003 870078
Kiss 0 14 928403 928511 108 793373 795435 796004 870085
Rollo Kick 0 13 928512 928753 241 793375 795447 796005 870092
Cat Attack 0 12 928754 928870 116 793377 795459 796006 870099
Rock Throw 0 11 928871 929013 142 793379 795471 796007 870106
Charm 0 18 929014 929175 161 793381 795483 796008 870113
Tail Spin 0 12 929394 929528 134 793383 795495 796009 870127
Dino Tail 0 12 929529 929581 52 793385 795507 796010 870120
Triple Kick 0 26 929176 929393 217 793387 795519 796011 870127
Lightning 2 0 28 929581 929651 70 793389 795531 796012 870134
Ice 2 0 20 929955 930006 51 793391 795543 796013 870162
Fire 2 0 20 929761 929833 72 793393 795555 796014 870148
Dark Bomb 0 20 929834 929954 120 793395 795567 796015 870148
Magic Wall 0 18 930007 930094 87 793397 795579 796016 870141
Dark Mist 0 20 929652 929760 108 793399 795591 796017 870155
Black Hole 0 0 0 0 0 793401 795603 796018 870169
Dark Matter 0 53 930095 930248 153 793403 795615 796019 870176



« Last Edit: May 03, 2008, 05:19:19 pm by jsondag2 »