This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
31
Chrono Trigger Modification / Re: CT breakpoint thread (Geiger's SNES9x Debugger)
« on: October 18, 2006, 12:26:31 pm »
Set a Execute breakpoint on C14658 to get the address of the 2 byte pointer for the animation script of the tech you want to edit.
Flip the bytes from your pointer around and put a CE in front of it to get directly to the animation script data for that tech.
Example:
I set an exec breakpoint for C14658. I want to find the animation data for Cyclone. The moment I do the Cyclone tech, I get this in the debugger:
So, the pointer for Cyclone begins at CE090D. At CE090D I see 2 bytes: 17 09
I flip them to get 09 17 and put a CE in front to get CE0917.
CE0917 is the start of Cyclone's animation script data.
If you don't plan on moving or expanding the data, you might not want the pointer and just want the data.
Set an exec breakpoint on C14CC4 and do your tech.
Doing Cyclone with this breakpoint gives me:
The animation script begins at CE0917.
This breakpoint also works for the regular attacks, like Crono's default sword attack. Breakpointing C14CC4 gives me:
CE038E is the animation script for Crono's sword attack.
Flip the bytes from your pointer around and put a CE in front of it to get directly to the animation script data for that tech.
Example:
I set an exec breakpoint for C14658. I want to find the animation data for Cyclone. The moment I do the Cyclone tech, I get this in the debugger:
Code: [Select]
$C1/4658 BF 00 00 CE LDA $CE0000,x[$CE:090D] A:0000 X:090D Y:0000 P:envmxdiZc
So, the pointer for Cyclone begins at CE090D. At CE090D I see 2 bytes: 17 09
I flip them to get 09 17 and put a CE in front to get CE0917.
CE0917 is the start of Cyclone's animation script data.
If you don't plan on moving or expanding the data, you might not want the pointer and just want the data.
Set an exec breakpoint on C14CC4 and do your tech.
Doing Cyclone with this breakpoint gives me:
Code: [Select]
$C1/4CC4 B7 E6 LDA [$E6],y[$CE:0917] A:0000 X:0000 Y:0000 P:envMxdiZC
The animation script begins at CE0917.
This breakpoint also works for the regular attacks, like Crono's default sword attack. Breakpointing C14CC4 gives me:
Code: [Select]
$C1/4CC4 B7 E6 LDA [$E6],y[$CE:038E] A:0000 X:0000 Y:0000 P:envMxdiZC
CE038E is the animation script for Crono's sword attack.
32
Chrono Trigger Modification / Re: I think it's time to work on the Techs
« on: October 17, 2006, 02:38:19 pm »
The following is a trace log from me doing Cyclone. It shows it loading data from the ROM concerning ALOT of different areas for the techs, including animation scripts, graphics, etc..
$C1/45BB BF A6 45 CD LDA $CD45A6,x[$CD:45AD] A:0000 X:0007 Y:0002 P:envMxdiZC
These scripts, for example, start at $CD45A6, and Cyclone begins in this area at [$CD:45AD]
It ends with FF. It looks like the first byte is the tech, the next 3 bytes determine which graphics get used...
More can be gleamed from this I'm sure.
$C1/45A0 AD 91 AE LDA $AE91 [$7E:AE91] A:0004 X:0004 Y:0002 P:envMxdizc
$C1/45A3 C9 03 CMP #$03 A:0000 X:0004 Y:0002 P:envMxdiZc
$C1/45A5 90 03 BCC $03 [$45AA] A:0000 X:0004 Y:0002 P:eNvMxdizc
$C1/45AA AD 93 AE LDA $AE93 [$7E:AE93] A:0000 X:0004 Y:0002 P:eNvMxdizc
$C1/45AD C2 20 REP #$20 A:0001 X:0004 Y:0002 P:envMxdizc
$C1/45AF 85 80 STA $80 [$00:0080] A:0001 X:0004 Y:0002 P:envmxdizc
$C1/45B1 0A ASL A A:0001 X:0004 Y:0002 P:envmxdizc
$C1/45B2 0A ASL A A:0002 X:0004 Y:0002 P:envmxdizc
$C1/45B3 0A ASL A A:0004 X:0004 Y:0002 P:envmxdizc
$C1/45B4 38 SEC A:0008 X:0004 Y:0002 P:envmxdizc
$C1/45B5 E5 80 SBC $80 [$00:0080] A:0008 X:0004 Y:0002 P:envmxdizC
$C1/45B7 AA TAX A:0007 X:0004 Y:0002 P:envmxdizC
$C1/45B8 7B TDC A:0007 X:0007 Y:0002 P:envmxdizC
$C1/45B9 E2 20 SEP #$20 A:0000 X:0007 Y:0002 P:envmxdiZC
$C1/45BB BF A6 45 CD LDA $CD45A6,x[$CD:45AD] A:0000 X:0007 Y:0002 P:envMxdiZC
$C1/45BF 8D 77 98 STA $9877 [$7E:9877] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45C2 BF A7 45 CD LDA $CD45A7,x[$CD:45AE] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45C6 8D 7A 98 STA $987A [$7E:987A] A:00DA X:0007 Y:0002 P:eNvMxdizC
$C1/45C9 BF A8 45 CD LDA $CD45A8,x[$CD:45AF] A:00DA X:0007 Y:0002 P:eNvMxdizC
$C1/45CD 8D 7B 98 STA $987B [$7E:987B] A:00EF X:0007 Y:0002 P:eNvMxdizC
$C1/45D0 BF A9 45 CD LDA $CD45A9,x[$CD:45B0] A:00EF X:0007 Y:0002 P:eNvMxdizC
$C1/45D4 8D 7E 98 STA $987E [$7E:987E] A:0020 X:0007 Y:0002 P:envMxdizC
$C1/45D7 BF AA 45 CD LDA $CD45AA,x[$CD:45B1] A:0020 X:0007 Y:0002 P:envMxdizC
$C1/45DB 8D 81 98 STA $9881 [$7E:9881] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45DE BF AB 45 CD LDA $CD45AB,x[$CD:45B2] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45E2 8D 84 98 STA $9884 [$7E:9884] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45E5 BF AC 45 CD LDA $CD45AC,x[$CD:45B3] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45E9 8D 7C 98 STA $987C [$7E:987C] A:00FF X:0007 Y:0002 P:eNvMxdizC
$C1/45EC C2 20 REP #$20 A:00FF X:0007 Y:0002 P:eNvMxdizC
$C1/45EE AD 7E 98 LDA $987E [$7E:987E] A:00FF X:0007 Y:0002 P:eNvmxdizC
$C1/45F1 0A ASL A A:0020 X:0007 Y:0002 P:envmxdizC
$C1/45F2 AA TAX A:0040 X:0007 Y:0002 P:envmxdizc
$C1/45F3 BF 60 00 D1 LDA $D10060,x[$D1:00A0] A:0040 X:0040 Y:0002 P:envmxdizc
$C1/45F7 8D 7F 98 STA $987F [$7E:987F] A:268E X:0040 Y:0002 P:envmxdizc
$C1/45FA AD 81 98 LDA $9881 [$7E:9881] A:268E X:0040 Y:0002 P:envmxdizc
$C1/45FD 0A ASL A A:0001 X:0040 Y:0002 P:envmxdizc
$C1/45FE AA TAX A:0002 X:0040 Y:0002 P:envmxdizc
$C1/45FF BF 2C 69 CD LDA $CD692C,x[$CD:692E] A:0002 X:0002 Y:0002 P:envmxdizc
$C1/4603 8D 82 98 STA $9882 [$7E:9882] A:EEED X:0002 Y:0002 P:eNvmxdizc
$C1/4606 AD 84 98 LDA $9884 [$7E:9884] A:EEED X:0002 Y:0002 P:eNvmxdizc
$C1/4609 0A ASL A A:0001 X:0002 Y:0002 P:envmxdizc
$C1/460A AA TAX A:0002 X:0002 Y:0002 P:envmxdizc
$C1/460B BF 6E 65 CD LDA $CD656E,x[$CD:6570] A:0002 X:0002 Y:0002 P:envmxdizc
$C1/460F 8D 85 98 STA $9885 [$7E:9885] A:A994 X:0002 Y:0002 P:eNvmxdizc
$C1/4612 AD 77 98 LDA $9877 [$7E:9877] A:A994 X:0002 Y:0002 P:eNvmxdizc
$C1/4615 0A ASL A A:0001 X:0002 Y:0002 P:envmxdizc
$C1/4616 AA TAX A:0002 X:0002 Y:0002 P:envmxdizc
$C1/4617 BF F0 5E CD LDA $CD5EF0,x[$CD:5EF2] A:0002 X:0002 Y:0002 P:envmxdizc
$C1/461B 8D 78 98 STA $9878 [$7E:9878] A:0909 X:0002 Y:0002 P:envmxdizc
$C1/461E AA TAX A:0909 X:0002 Y:0002 P:envmxdizc
$C1/461F A8 TAY A:0909 X:0909 Y:0002 P:envmxdizc
$C1/4620 7B TDC A:0909 X:0909 Y:0909 P:envmxdizc
$C1/4621 E2 20 SEP #$20 A:0000 X:0909 Y:0909 P:envmxdiZc
$C1/4623 BF 00 00 CE LDA $CE0000,x[$CE:0909] A:0000 X:0909 Y:0909 P:envMxdiZc
$C1/4627 85 81 STA $81 [$00:0081] A:0098 X:0909 Y:0909 P:eNvMxdizc
$C1/4629 BF 01 00 CE LDA $CE0001,x[$CE:090A] A:0098 X:0909 Y:0909 P:eNvMxdizc
$C1/462D 85 80 STA $80 [$00:0080] A:0080 X:0909 Y:0909 P:eNvMxdizc
$C1/462F BF 02 00 CE LDA $CE0002,x[$CE:090B] A:0080 X:0909 Y:0909 P:eNvMxdizc
$C1/4633 85 83 STA $83 [$00:0083] A:0080 X:0909 Y:0909 P:eNvMxdizc
$C1/4635 BF 03 00 CE LDA $CE0003,x[$CE:090C] A:0080 X:0909 Y:0909 P:eNvMxdizc
$C1/4639 85 82 STA $82 [$00:0082] A:0000 X:0909 Y:0909 P:envMxdiZc
$C1/463B C8 INY A:0000 X:0909 Y:0909 P:envMxdiZc
$C1/463C C8 INY A:0000 X:0909 Y:090A P:envMxdizc
$C1/463D C8 INY A:0000 X:0909 Y:090B P:envMxdizc
$C1/463E C8 INY A:0000 X:0909 Y:090C P:envMxdizc
$C1/463F BB TYX A:0000 X:0909 Y:090D P:envMxdizc
$C1/4640 7B TDC A:0000 X:090D Y:090D P:envMxdizc
$C1/4641 A8 TAY A:0000 X:090D Y:090D P:envMxdiZc
$C1/4642 C2 20 REP #$20 A:0000 X:090D Y:0000 P:envMxdiZc
$C1/4644 06 80 ASL $80 [$00:0080] A:0000 X:090D Y:0000 P:envmxdiZc
$C1/4646 90 20 BCC $20 [$4668] A:0000 X:090D Y:0000 P:envmxdizC
$C1/4648 AD B3 A0 LDA $A0B3 [$7E:A0B3] A:0000 X:090D Y:0000 P:envmxdizC
$C1/464B D0 19 BNE $19 [$4666] A:0000 X:090D Y:0000 P:envmxdiZC
$C1/464D A9 01 00 LDA #$0001 A:0000 X:090D Y:0000 P:envmxdiZC
$C1/4650 99 AC 5D STA $5DAC,y[$7E:5DAC] A:0001 X:090D Y:0000 P:envmxdizC
$C1/4653 5A PHY A:0001 X:090D Y:0000 P:envmxdizC
$C1/4654 98 TYA A:0001 X:090D Y:0000 P:envmxdizC
$C1/4655 0A ASL A A:0000 X:090D Y:0000 P:envmxdiZC
$C1/4656 0A ASL A A:0000 X:090D Y:0000 P:envmxdiZc
$C1/4657 A8 TAY A:0000 X:090D Y:0000 P:envmxdiZc
$C1/4658 BF 00 00 CE LDA $CE0000,x[$CE:090D] A:0000 X:090D Y:0000 P:envmxdiZc
$C1/465C 99 BD 5D STA $5DBD,y[$7E:5DBD] A:0917 X:090D Y:0000 P:envmxdizc
$C1/465F A9 CE 00 LDA #$00CE A:0917 X:090D Y:0000 P:envmxdizc
$C1/4662 99 BF 5D STA $5DBF,y[$7E:5DBF] A:00CE X:090D Y:0000 P:envmxdizc
$C1/4665 7A PLY A:00CE X:090D Y:0000 P:envmxdizc
$C1/4666 E8 INX A:00CE X:090D Y:0000 P:envmxdiZc
$C1/4667 E8 INX A:00CE X:090E Y:0000 P:envmxdizc
$C1/4668 C8 INY A:00CE X:090F Y:0000 P:envmxdizc
$C1/4669 C0 10 00 CPY #$0010 A:00CE X:090F Y:0001 P:envmxdizc
$C1/466C D0 D6 BNE $D6 [$4644] A:00CE X:090F Y:0001 P:eNvmxdizc
$C1/466E 7B TDC A:00CE X:0915 Y:0010 P:envmxdiZC
$C1/466F E2 20 SEP #$20 A:0000 X:0915 Y:0010 P:envmxdiZC
$C1/4671 AD B3 A0 LDA $A0B3 [$7E:A0B3] A:0000 X:0915 Y:0010 P:envMxdiZC
$C1/4674 F0 09 BEQ $09 [$467F] A:0000 X:0915 Y:0010 P:envMxdiZC
$C1/467F 4C 33 48 JMP $4833 [$7E:4833] A:0000 X:0915 Y:0010 P:envMxdiZC
$C1/4833 AD 7A 98 LDA $987A [$7E:987A] A:0000 X:0915 Y:0010 P:envMxdiZC
$C1/4836 22 15 00 CD JSL $CD0015[$CD:0015] A:00DA X:0915 Y:0010 P:eNvMxdizC
$C1/45BB BF A6 45 CD LDA $CD45A6,x[$CD:45AD] A:0000 X:0007 Y:0002 P:envMxdiZC
These scripts, for example, start at $CD45A6, and Cyclone begins in this area at [$CD:45AD]
It ends with FF. It looks like the first byte is the tech, the next 3 bytes determine which graphics get used...
More can be gleamed from this I'm sure.
$C1/45A0 AD 91 AE LDA $AE91 [$7E:AE91] A:0004 X:0004 Y:0002 P:envMxdizc
$C1/45A3 C9 03 CMP #$03 A:0000 X:0004 Y:0002 P:envMxdiZc
$C1/45A5 90 03 BCC $03 [$45AA] A:0000 X:0004 Y:0002 P:eNvMxdizc
$C1/45AA AD 93 AE LDA $AE93 [$7E:AE93] A:0000 X:0004 Y:0002 P:eNvMxdizc
$C1/45AD C2 20 REP #$20 A:0001 X:0004 Y:0002 P:envMxdizc
$C1/45AF 85 80 STA $80 [$00:0080] A:0001 X:0004 Y:0002 P:envmxdizc
$C1/45B1 0A ASL A A:0001 X:0004 Y:0002 P:envmxdizc
$C1/45B2 0A ASL A A:0002 X:0004 Y:0002 P:envmxdizc
$C1/45B3 0A ASL A A:0004 X:0004 Y:0002 P:envmxdizc
$C1/45B4 38 SEC A:0008 X:0004 Y:0002 P:envmxdizc
$C1/45B5 E5 80 SBC $80 [$00:0080] A:0008 X:0004 Y:0002 P:envmxdizC
$C1/45B7 AA TAX A:0007 X:0004 Y:0002 P:envmxdizC
$C1/45B8 7B TDC A:0007 X:0007 Y:0002 P:envmxdizC
$C1/45B9 E2 20 SEP #$20 A:0000 X:0007 Y:0002 P:envmxdiZC
$C1/45BB BF A6 45 CD LDA $CD45A6,x[$CD:45AD] A:0000 X:0007 Y:0002 P:envMxdiZC
$C1/45BF 8D 77 98 STA $9877 [$7E:9877] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45C2 BF A7 45 CD LDA $CD45A7,x[$CD:45AE] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45C6 8D 7A 98 STA $987A [$7E:987A] A:00DA X:0007 Y:0002 P:eNvMxdizC
$C1/45C9 BF A8 45 CD LDA $CD45A8,x[$CD:45AF] A:00DA X:0007 Y:0002 P:eNvMxdizC
$C1/45CD 8D 7B 98 STA $987B [$7E:987B] A:00EF X:0007 Y:0002 P:eNvMxdizC
$C1/45D0 BF A9 45 CD LDA $CD45A9,x[$CD:45B0] A:00EF X:0007 Y:0002 P:eNvMxdizC
$C1/45D4 8D 7E 98 STA $987E [$7E:987E] A:0020 X:0007 Y:0002 P:envMxdizC
$C1/45D7 BF AA 45 CD LDA $CD45AA,x[$CD:45B1] A:0020 X:0007 Y:0002 P:envMxdizC
$C1/45DB 8D 81 98 STA $9881 [$7E:9881] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45DE BF AB 45 CD LDA $CD45AB,x[$CD:45B2] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45E2 8D 84 98 STA $9884 [$7E:9884] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45E5 BF AC 45 CD LDA $CD45AC,x[$CD:45B3] A:0001 X:0007 Y:0002 P:envMxdizC
$C1/45E9 8D 7C 98 STA $987C [$7E:987C] A:00FF X:0007 Y:0002 P:eNvMxdizC
$C1/45EC C2 20 REP #$20 A:00FF X:0007 Y:0002 P:eNvMxdizC
$C1/45EE AD 7E 98 LDA $987E [$7E:987E] A:00FF X:0007 Y:0002 P:eNvmxdizC
$C1/45F1 0A ASL A A:0020 X:0007 Y:0002 P:envmxdizC
$C1/45F2 AA TAX A:0040 X:0007 Y:0002 P:envmxdizc
$C1/45F3 BF 60 00 D1 LDA $D10060,x[$D1:00A0] A:0040 X:0040 Y:0002 P:envmxdizc
$C1/45F7 8D 7F 98 STA $987F [$7E:987F] A:268E X:0040 Y:0002 P:envmxdizc
$C1/45FA AD 81 98 LDA $9881 [$7E:9881] A:268E X:0040 Y:0002 P:envmxdizc
$C1/45FD 0A ASL A A:0001 X:0040 Y:0002 P:envmxdizc
$C1/45FE AA TAX A:0002 X:0040 Y:0002 P:envmxdizc
$C1/45FF BF 2C 69 CD LDA $CD692C,x[$CD:692E] A:0002 X:0002 Y:0002 P:envmxdizc
$C1/4603 8D 82 98 STA $9882 [$7E:9882] A:EEED X:0002 Y:0002 P:eNvmxdizc
$C1/4606 AD 84 98 LDA $9884 [$7E:9884] A:EEED X:0002 Y:0002 P:eNvmxdizc
$C1/4609 0A ASL A A:0001 X:0002 Y:0002 P:envmxdizc
$C1/460A AA TAX A:0002 X:0002 Y:0002 P:envmxdizc
$C1/460B BF 6E 65 CD LDA $CD656E,x[$CD:6570] A:0002 X:0002 Y:0002 P:envmxdizc
$C1/460F 8D 85 98 STA $9885 [$7E:9885] A:A994 X:0002 Y:0002 P:eNvmxdizc
$C1/4612 AD 77 98 LDA $9877 [$7E:9877] A:A994 X:0002 Y:0002 P:eNvmxdizc
$C1/4615 0A ASL A A:0001 X:0002 Y:0002 P:envmxdizc
$C1/4616 AA TAX A:0002 X:0002 Y:0002 P:envmxdizc
$C1/4617 BF F0 5E CD LDA $CD5EF0,x[$CD:5EF2] A:0002 X:0002 Y:0002 P:envmxdizc
$C1/461B 8D 78 98 STA $9878 [$7E:9878] A:0909 X:0002 Y:0002 P:envmxdizc
$C1/461E AA TAX A:0909 X:0002 Y:0002 P:envmxdizc
$C1/461F A8 TAY A:0909 X:0909 Y:0002 P:envmxdizc
$C1/4620 7B TDC A:0909 X:0909 Y:0909 P:envmxdizc
$C1/4621 E2 20 SEP #$20 A:0000 X:0909 Y:0909 P:envmxdiZc
$C1/4623 BF 00 00 CE LDA $CE0000,x[$CE:0909] A:0000 X:0909 Y:0909 P:envMxdiZc
$C1/4627 85 81 STA $81 [$00:0081] A:0098 X:0909 Y:0909 P:eNvMxdizc
$C1/4629 BF 01 00 CE LDA $CE0001,x[$CE:090A] A:0098 X:0909 Y:0909 P:eNvMxdizc
$C1/462D 85 80 STA $80 [$00:0080] A:0080 X:0909 Y:0909 P:eNvMxdizc
$C1/462F BF 02 00 CE LDA $CE0002,x[$CE:090B] A:0080 X:0909 Y:0909 P:eNvMxdizc
$C1/4633 85 83 STA $83 [$00:0083] A:0080 X:0909 Y:0909 P:eNvMxdizc
$C1/4635 BF 03 00 CE LDA $CE0003,x[$CE:090C] A:0080 X:0909 Y:0909 P:eNvMxdizc
$C1/4639 85 82 STA $82 [$00:0082] A:0000 X:0909 Y:0909 P:envMxdiZc
$C1/463B C8 INY A:0000 X:0909 Y:0909 P:envMxdiZc
$C1/463C C8 INY A:0000 X:0909 Y:090A P:envMxdizc
$C1/463D C8 INY A:0000 X:0909 Y:090B P:envMxdizc
$C1/463E C8 INY A:0000 X:0909 Y:090C P:envMxdizc
$C1/463F BB TYX A:0000 X:0909 Y:090D P:envMxdizc
$C1/4640 7B TDC A:0000 X:090D Y:090D P:envMxdizc
$C1/4641 A8 TAY A:0000 X:090D Y:090D P:envMxdiZc
$C1/4642 C2 20 REP #$20 A:0000 X:090D Y:0000 P:envMxdiZc
$C1/4644 06 80 ASL $80 [$00:0080] A:0000 X:090D Y:0000 P:envmxdiZc
$C1/4646 90 20 BCC $20 [$4668] A:0000 X:090D Y:0000 P:envmxdizC
$C1/4648 AD B3 A0 LDA $A0B3 [$7E:A0B3] A:0000 X:090D Y:0000 P:envmxdizC
$C1/464B D0 19 BNE $19 [$4666] A:0000 X:090D Y:0000 P:envmxdiZC
$C1/464D A9 01 00 LDA #$0001 A:0000 X:090D Y:0000 P:envmxdiZC
$C1/4650 99 AC 5D STA $5DAC,y[$7E:5DAC] A:0001 X:090D Y:0000 P:envmxdizC
$C1/4653 5A PHY A:0001 X:090D Y:0000 P:envmxdizC
$C1/4654 98 TYA A:0001 X:090D Y:0000 P:envmxdizC
$C1/4655 0A ASL A A:0000 X:090D Y:0000 P:envmxdiZC
$C1/4656 0A ASL A A:0000 X:090D Y:0000 P:envmxdiZc
$C1/4657 A8 TAY A:0000 X:090D Y:0000 P:envmxdiZc
$C1/4658 BF 00 00 CE LDA $CE0000,x[$CE:090D] A:0000 X:090D Y:0000 P:envmxdiZc
$C1/465C 99 BD 5D STA $5DBD,y[$7E:5DBD] A:0917 X:090D Y:0000 P:envmxdizc
$C1/465F A9 CE 00 LDA #$00CE A:0917 X:090D Y:0000 P:envmxdizc
$C1/4662 99 BF 5D STA $5DBF,y[$7E:5DBF] A:00CE X:090D Y:0000 P:envmxdizc
$C1/4665 7A PLY A:00CE X:090D Y:0000 P:envmxdizc
$C1/4666 E8 INX A:00CE X:090D Y:0000 P:envmxdiZc
$C1/4667 E8 INX A:00CE X:090E Y:0000 P:envmxdizc
$C1/4668 C8 INY A:00CE X:090F Y:0000 P:envmxdizc
$C1/4669 C0 10 00 CPY #$0010 A:00CE X:090F Y:0001 P:envmxdizc
$C1/466C D0 D6 BNE $D6 [$4644] A:00CE X:090F Y:0001 P:eNvmxdizc
$C1/466E 7B TDC A:00CE X:0915 Y:0010 P:envmxdiZC
$C1/466F E2 20 SEP #$20 A:0000 X:0915 Y:0010 P:envmxdiZC
$C1/4671 AD B3 A0 LDA $A0B3 [$7E:A0B3] A:0000 X:0915 Y:0010 P:envMxdiZC
$C1/4674 F0 09 BEQ $09 [$467F] A:0000 X:0915 Y:0010 P:envMxdiZC
$C1/467F 4C 33 48 JMP $4833 [$7E:4833] A:0000 X:0915 Y:0010 P:envMxdiZC
$C1/4833 AD 7A 98 LDA $987A [$7E:987A] A:0000 X:0915 Y:0010 P:envMxdiZC
$C1/4836 22 15 00 CD JSL $CD0015[$CD:0015] A:00DA X:0915 Y:0010 P:eNvMxdizC
33
Crimson Echoes / Re: The Glenn Thread
« on: October 16, 2006, 12:54:05 pm »
Creating the attatched image was VERY easy using Tile Molester and paint. It is the complete Crono tileset from the ROM.
The only thing needed to make such tilesets useful is an overlaying grid seperating the tiles, and maybe have them numbered according to tile. I was thinking of maybe a photoshop layer that could be overlayed on top of the sheets or something. Anyone know of any way to put a grid on an image? This could be used as a basis for a sprite assembly tutorial and we could use it ourselves. TileMolester can put a grid on them, but it will not save after I export it to an image.
[attachment deleted by admin]
The only thing needed to make such tilesets useful is an overlaying grid seperating the tiles, and maybe have them numbered according to tile. I was thinking of maybe a photoshop layer that could be overlayed on top of the sheets or something. Anyone know of any way to put a grid on an image? This could be used as a basis for a sprite assembly tutorial and we could use it ourselves. TileMolester can put a grid on them, but it will not save after I export it to an image.
[attachment deleted by admin]
34
Crimson Echoes / Re: The Glenn Thread
« on: October 15, 2006, 04:05:09 pm »
Dur hur, I knew that. 
>_>
<_<
I'm writing a little tool to help out with it, though it isn't much, just a little easier than editing it by hex.
All that's left is saving and the offset from which to start reading from (though I would like the bottom textbox have the offset in it, so users can put in the offset they want instead of a fixed offset...)
Of course I can move the boxes around if they are positioned incorrectly.
You can make your own list and fill the listbox up with it, if you have the frames of animation commented (so you can skip straight to 'Running animation frame #1' instead of j'Animation Frame #45'. Just load a text file for it. Each list item is a new line in the text file, and the list will only go as far as you have items for it (so if you only have 30 frames to work with, only make a text file with 30 lines), but the default list goes to 255).
If nothing else, change the tounge graphics for slurpcut into a rope or grappling hook, and edit the sprite to reflect him tossing the spear-rope thing (think mortal kombat) and just rename the tech to something like HookPullAttack (or something much better XD).
-edit-
I'll work on this a bit more tonight.
For now, just enter the starting offset into the textbox under the listbox, then open a ROM, and then click on the list to edit that frame of animation. The default offset in the box is Crono's sprite assembly offset.
Saving should work ok, list loading is in place. Use on an unheadered ROM. I can tweak it around some, but anything better really would have to be in another editor by someone else really.
-edit 2-
Textboxes automatically highlight all the numbers upon clicking, and the numbers input into them can only go as high as 255 (any higher, and it will revert to 255).
-edit 3-
Attatched another version called SAEH, it edits in HEX, since I forgot that originally you guys were counting the tiles in HEX originally anyway. So if you perfer it that way, it's available here too.
[attachment deleted by admin]

>_>
<_<
I'm writing a little tool to help out with it, though it isn't much, just a little easier than editing it by hex.
All that's left is saving and the offset from which to start reading from (though I would like the bottom textbox have the offset in it, so users can put in the offset they want instead of a fixed offset...)
Of course I can move the boxes around if they are positioned incorrectly.
You can make your own list and fill the listbox up with it, if you have the frames of animation commented (so you can skip straight to 'Running animation frame #1' instead of j'Animation Frame #45'. Just load a text file for it. Each list item is a new line in the text file, and the list will only go as far as you have items for it (so if you only have 30 frames to work with, only make a text file with 30 lines), but the default list goes to 255).
If nothing else, change the tounge graphics for slurpcut into a rope or grappling hook, and edit the sprite to reflect him tossing the spear-rope thing (think mortal kombat) and just rename the tech to something like HookPullAttack (or something much better XD).
-edit-
I'll work on this a bit more tonight.
For now, just enter the starting offset into the textbox under the listbox, then open a ROM, and then click on the list to edit that frame of animation. The default offset in the box is Crono's sprite assembly offset.
Saving should work ok, list loading is in place. Use on an unheadered ROM. I can tweak it around some, but anything better really would have to be in another editor by someone else really.
-edit 2-
Textboxes automatically highlight all the numbers upon clicking, and the numbers input into them can only go as high as 255 (any higher, and it will revert to 255).
-edit 3-
Attatched another version called SAEH, it edits in HEX, since I forgot that originally you guys were counting the tiles in HEX originally anyway. So if you perfer it that way, it's available here too.

[attachment deleted by admin]
35
Crimson Echoes / Re: The Glenn Thread
« on: October 15, 2006, 03:45:42 pm »
Glenn is replacing Ayla, correct?
What is Ayla's starting Sprite Assembly offset?
I'm going to try to make things a little easier.
What is Ayla's starting Sprite Assembly offset?
I'm going to try to make things a little easier.
36
Chrono Trigger Modification / Re: Importing Music Tutorial
« on: June 23, 2006, 03:08:15 pm »Secret of Mana next.
I have some sad news. It appears the Secret of Mana family is incompatible with CT
*weep*
Ah well. Thanks for the heads up before I got too far into it.
37
Chrono Trigger Modification / Re: Importing Music Tutorial
« on: June 23, 2006, 02:10:02 pm »
Either they are incompatible, or I have the wrong offsets (and I suck). :/
An easy way to find spc data in the spc files is to do a compare between 2 spc files from that game. Any program that compares the 2 files and lists the differences and their offsets has helped me in many projects. Other than the headers being different between 2 spcs, they share alot of the same data, untill the actual SPC data starts. At least it will help narrow it down by quite a bit, by providing starting points of where to search, and the size of the differences can be a big giveaway as well. Perhaps once some good tips come from these threads, the tutorial can be expanded to include SNES ROMS in general (since I'm pretty sure it works just as well with all other games that don't have compressed spc's). A few hex editors have this feature, Tiny Hexer for example (you can also have 2 files open at once with it, it's an awesome hex editor). Secret of Mana next. Vargos, would you like me to start another thread for this kind of thing? I didn't mean to hijack your thread with my listings you may or may not use (or even be useable). If you wish, I can go back and delete all my posts to keep your thread clean.
An easy way to find spc data in the spc files is to do a compare between 2 spc files from that game. Any program that compares the 2 files and lists the differences and their offsets has helped me in many projects. Other than the headers being different between 2 spcs, they share alot of the same data, untill the actual SPC data starts. At least it will help narrow it down by quite a bit, by providing starting points of where to search, and the size of the differences can be a big giveaway as well. Perhaps once some good tips come from these threads, the tutorial can be expanded to include SNES ROMS in general (since I'm pretty sure it works just as well with all other games that don't have compressed spc's). A few hex editors have this feature, Tiny Hexer for example (you can also have 2 files open at once with it, it's an awesome hex editor). Secret of Mana next. Vargos, would you like me to start another thread for this kind of thing? I didn't mean to hijack your thread with my listings you may or may not use (or even be useable). If you wish, I can go back and delete all my posts to keep your thread clean.

38
Chrono Trigger Modification / Re: Importing Music Tutorial
« on: June 23, 2006, 11:00:41 am »
Even if it doesn't work, finding SPC data helps myself and others quite a bit (SPC takes up quite a bit of space, and if we are looking for something, no need to look for that something in the areas the SPC takes up. It helps romhackers narrow down their searches for data if they can rule out large portions of the ROM).
Ancient or not, FFMQ had AWESOME music, and reguardless of what most people think, it's a pretty fun game to boot.
(also added the corresponding file addresses for MQ SPC's in last post)
Ancient or not, FFMQ had AWESOME music, and reguardless of what most people think, it's a pretty fun game to boot.
(also added the corresponding file addresses for MQ SPC's in last post)
39
Chrono Trigger Modification / Re: Importing Music Tutorial
« on: June 23, 2006, 01:48:41 am »
It was early, I probably didn't know what I was doing. 
I'll need to get the pointers correctly linked with the songs, but the 3 byte pointer for the begining song is at 6BDF5 (plays at title screen). I'll have a better list here soon (compatible with CT or not).
-edit-
Pointers for FFMQ begin at 6BDAE.
6BDAE - pointers in ROM
Names based on SPC pack I downloaded.
Pointer/Track Name/(File Address)
0E 73 85 - Battle 1 (68573)
0E 69 8B - Battle 2 (68B69)
0E 21 93 - Battle 3 (69321)
0E 74 9B - Victory Fanfare (69B74)
0E 0B 9E - World (69E0B)
0E 88 9F - Fossil Labrynth (69F88)
0E 9B A2 - Dungeon of Ice (6A29B)
0E 4F A8 - Lava Dome (6A84F)
0E 4F AE - Mountain Range of Whirlwinds (6AE4F)
0E 0C B2 - Dungeon and Waterfall (6B20C)
0E 04 B5 - Middle Tower (6B504)
0E 79 B7 - Last Castle (6B779)
0E 2E BF - Beautiful Forest (6BF2E)
0E F8 C2 - Shrine of Light (6C2F8)
0E 43 C7 - City of Forest (6C743)
0E 41 CC - City of Wind (6CC41)
0E 51 D1 - City of Fire (6D151)
0E 03 DA - City of ? (6DA03)
0E 42 DF - Rock 'n' Roll (6DF42)
0E 10 E4 - Rock Theme (6E410)
0E 10 E8 - Fanfare of Friendship (6E810)
0E C2 E8 - Mystic Ballad (6E8C2)
0E AB EA - Hill of Fate (6EAAB)
0E DD EE - Mystic Quest (6EEDD)
0E 73 F4 - Ending (6F473)
0E D3 FB - The Crystal (6FBD3)

I'll need to get the pointers correctly linked with the songs, but the 3 byte pointer for the begining song is at 6BDF5 (plays at title screen). I'll have a better list here soon (compatible with CT or not).
-edit-
Pointers for FFMQ begin at 6BDAE.
6BDAE - pointers in ROM
Names based on SPC pack I downloaded.
Pointer/Track Name/(File Address)
0E 73 85 - Battle 1 (68573)
0E 69 8B - Battle 2 (68B69)
0E 21 93 - Battle 3 (69321)
0E 74 9B - Victory Fanfare (69B74)
0E 0B 9E - World (69E0B)
0E 88 9F - Fossil Labrynth (69F88)
0E 9B A2 - Dungeon of Ice (6A29B)
0E 4F A8 - Lava Dome (6A84F)
0E 4F AE - Mountain Range of Whirlwinds (6AE4F)
0E 0C B2 - Dungeon and Waterfall (6B20C)
0E 04 B5 - Middle Tower (6B504)
0E 79 B7 - Last Castle (6B779)
0E 2E BF - Beautiful Forest (6BF2E)
0E F8 C2 - Shrine of Light (6C2F8)
0E 43 C7 - City of Forest (6C743)
0E 41 CC - City of Wind (6CC41)
0E 51 D1 - City of Fire (6D151)
0E 03 DA - City of ? (6DA03)
0E 42 DF - Rock 'n' Roll (6DF42)
0E 10 E4 - Rock Theme (6E410)
0E 10 E8 - Fanfare of Friendship (6E810)
0E C2 E8 - Mystic Ballad (6E8C2)
0E AB EA - Hill of Fate (6EAAB)
0E DD EE - Mystic Quest (6EEDD)
0E 73 F4 - Ending (6F473)
0E D3 FB - The Crystal (6FBD3)
40
Chrono Trigger Modification / Re: Importing Music Tutorial
« on: June 22, 2006, 02:37:03 pm »
Final Fantasy Mystic Quest
First SPC file in FFMQ:
31F - SPC File - Same data begins here as in ROM
686B7 - ROM File - Same data begins here as in SPC file
I'm now looking for a pointer table, I don't know if it being LoROM will mess me up pointer-wise though.
I'm not sure if these will work in CT, but It wouldn't hurt to check all of Square's games.
First SPC file in FFMQ:
31F - SPC File - Same data begins here as in ROM
686B7 - ROM File - Same data begins here as in SPC file
I'm now looking for a pointer table, I don't know if it being LoROM will mess me up pointer-wise though.
I'm not sure if these will work in CT, but It wouldn't hurt to check all of Square's games.
41
Chrono Trigger Modification / Re: Question on Music Offset stuff
« on: June 22, 2006, 02:27:18 pm »
I just imagine you would follow the guide for Chrono Trigger and it would just about work for the other games as well.
42
Crimson Echoes / Re: A chance for Chickenlump to show off
« on: June 21, 2006, 03:42:26 am »I think the "blue circle" might be a good ice.....but I need to see it. As for shadow obvious choice is dark matter considering his son. Could Magic wall be a magic counter? And is adding a status affect a bit that you can change or is it built into the attack itself. I would like to see him cause some form of a status effect even if it's just poison.
--jp
I know that you can cause just about any status effect by physical attack in Chrono Tweaker. By poison, do you mean the 'HP Leak' effect? I know the prerelease had a proper poison status effect, but all I remember from CT final is the HP leak. :/
Magic counter's I could probably fumble with here shortly. I know there are counters for the individual (probably flag based) magic types, shadow, lighting, fire, ice, etc... I'm not sure about an all encompassing magic counter attack. I'm not even sure if my physical attack counter is working correctly (my tests were foiled by Zeal snuffing me out before I could get to it, despite my infinite HP codes... heh... >_> <_< )
Blue Circle is just a blue ring that expands to the radius shown in the attatched picture (not all that big, it makes a noise, the screen tints blue, and that's about it)
CFC7A - Zeal's first attack. Change to any value on the list to change his first attack to anything on the attacks list, if you wish to peruse what's available. To be edited in a Hex Editor (like XVI32). I'll look for a suitable 'newish' ice attack. Use the save game above to go directly to the battle (it was extrememly helpful).

[attachment deleted by admin]
43
Chrono Trigger Modification / Re: Sprite Assembly
« on: June 21, 2006, 03:35:49 am »Sweetness (now you dont have to post 4 times in a row.)
Gwa ha ha, I was just about to do the same thing.

Truly awesome work Vehek. FF6 characters look great in Chrono Trigger, the palettes even fit them fine. I released a Terra is Your Momma hack as my first Chrono Trigger modification, and it became a part of GoodSnes complete ROM sets, and quite a few websites have it available as well. O_o (nice, but it was just a graphic replacement... heh.. nothing advanced, like you are doing. I'm a sham!).
44
Crimson Echoes / Re: A chance for Chickenlump to show off
« on: June 21, 2006, 12:47:38 am »
Which attacks would you guys like to see swapped out with other attacks? I did like the idea of Zeal using all of the elements, which would mean I would have to give him MORE spells, including some shadow magic, but since he is the king of Zeal, the magic kingdom, he probably should have quite the arsenal of spells...
One Ice, one shadow, replace the magic wall spell (or fix it, I probably just set the targetting incorrectly on that one, I'll have a look at how that spell is written in Magus' AI list...).
One Ice, one shadow, replace the magic wall spell (or fix it, I probably just set the targetting incorrectly on that one, I'll have a look at how that spell is written in Magus' AI list...).
45
Chrono Trigger Modification / Re: RD Battle Music in CT!
« on: June 19, 2006, 12:43:30 pm »
I successfully imported Devil's Lab into Chrono Trigger. I love this song. The instruments are horrid, but it kind of makes for a neat remix. If I find a better combination of instruments, or someone else does, post it, and I will post mine later.
Apply to an unheadered ROM. I have the music playing at the title screen, after the pendulem, where you select your saved game, the music plays in that area, so you don't have to go into a fight (though it will play there too.
Woohoo!
I wonder if Final Fantasy 2/4 SPC's are compatible? I'll have to dig around and find out.
[attachment deleted by admin]
Apply to an unheadered ROM. I have the music playing at the title screen, after the pendulem, where you select your saved game, the music plays in that area, so you don't have to go into a fight (though it will play there too.
Woohoo!
I wonder if Final Fantasy 2/4 SPC's are compatible? I'll have to dig around and find out.

[attachment deleted by admin]