Author Topic: Chrono Trigger Soundtrack Expansion  (Read 4325 times)

ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10795
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
Re: Chrono Trigger - Music Expansion
« Reply #15 on: November 14, 2022, 12:04:00 am »
Amazing. I had considered it a far-off, distant goal for those PSX tracks to ever be reverse-engineered back into Chrono Trigger (ditto for Frog's theme).

We're at liberty to leverage this work in future hacks, I hope...

Thanks again.

PowerPanda

  • Guru of Time
  • Earthbound (+15)
  • *
  • Posts: 43
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #16 on: November 14, 2022, 12:15:13 am »
Amazing. I had considered it a far-off, distant goal for those PSX tracks to ever be reverse-engineered back into Chrono Trigger (ditto for Frog's theme).

We're at liberty to leverage this work in future hacks, I hope...

Thanks again.

Yes, of course! This is a community hack, and anyone can use it with or without my permission. You yourself are credited in the readme for extracting and arranging "Unknown Fanfare", which I have assigned the index number $5B, and taken the liberty of titling "Alarming Crisis".

PowerPanda

  • Guru of Time
  • Earthbound (+15)
  • *
  • Posts: 43
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #17 on: November 15, 2022, 12:54:27 am »
I'm sorry if this comes across as rude, but this doesn't appear to be accurate. I had downloaded the old version a while ago and just done nothing with it. I just patched a ROM and investigated Scattering Blossoms. The total size of the instruments is $8bd1 bytes, which would put the start of the echo buffer at $d900 (so a value of $03 in that table instead of $05). I tried that and the glitchy sounds went away. For that song at least it doesn't exceed the total size of ARAM. It just overflows into the echo buffer like I suspected. I'm gonna check A Meeting With Destiny now, but I'd bet it's the same deal.

Gi Nattak and I were able to cut an unused instrument from A Meeting With Destiny, and get it down to the $04 value. Scattering Blossoms also works at $04, unless I'm missing something.

The pointer on the global song volume was also very helpful in making Ascend to the Light less obnoxious. :)

I'm going to wait on releasing version 2.1 for a little while. I'm in the middle of a playthrough, to see if there are any other places where some new music would be welcome. I'm also coordinating with Ben on a Chrono Trigger+ release, where he is going to put out a version with the new music implemented, and I'll release an addendum patch that adds additional music cues.
« Last Edit: November 15, 2022, 12:56:30 am by PowerPanda »

Reld

  • Guru of Time
  • Porrean (+50)
  • *
  • Posts: 63
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #18 on: November 15, 2022, 01:14:57 am »
Quote
Scattering Blossoms also works at $04, unless I'm missing something.

Are you using the newer version where you dropped an instrument? With the older version a value of $04 messes up the tambourine sample causing it to randomly glitch out and loop. I did my calculations earlier with the older version because I was assuming you'd prefer not to cut out an instrument.

PowerPanda

  • Guru of Time
  • Earthbound (+15)
  • *
  • Posts: 43
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #19 on: November 15, 2022, 12:23:52 pm »
 :picardno

And you're right again. Lesson learned: always listen to Reld.

Reld

  • Guru of Time
  • Porrean (+50)
  • *
  • Posts: 63
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #20 on: November 17, 2022, 04:39:51 am »
Lesson learned: always listen to Reld.

Nah, I'm wrong about stuff way too often for that to be sound advice  :lol:

I did my own arrangement of A Meeting With Destiny. I wanted to see how much of the song I could cram in there, and also tweak a few things. There are tradeoffs no matter what you do due to the polyphony issues you mentioned before, so it's not necessarily "better". The attached zip file has the binary data for the song in case you want to use it, but if not that's cool too.

By the way, what did you do with the percussion tables? They aren't listed in the spreadsheet with all the moved stuff (unless you've added it to the new version. I've still been messing with the old one). I didn't use it for this arrangement so it didn't really matter, but I assume you must've moved them or else a bunch of the songs would be broken.
« Last Edit: November 17, 2022, 04:40:50 am by Reld »

PowerPanda

  • Guru of Time
  • Earthbound (+15)
  • *
  • Posts: 43
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #21 on: November 17, 2022, 11:26:23 pm »
That sounds good. I'll have to listen closer tomorrow to figure out what you removed during the 12-part polyphony.

I have purposely built my expansion so that people can easily drop in their own song. I left room for 9 more songs.

Regarding the drum table, I just.... didn't do anything.  8)  It seemed to be all direct-address loading, rather than loading based on the index number of the song, so I didn't touch it.

Reld

  • Guru of Time
  • Porrean (+50)
  • *
  • Posts: 63
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #22 on: November 18, 2022, 12:28:14 am »
That sounds good. I'll have to listen closer tomorrow to figure out what you removed during the 12-part polyphony.

I did a bunch of channel juggling and relied a bit on the idea that our brains kind of fill in the gaps when one sound is interrupted by another louder sound. For example, most of the time the kick and snare are on one channel together, but sometimes the snare switches over to the hi-hat channel and the kick moves to the beepy synth channel. You can hear it if you're specifically listening for it, but it's not really noticeable if you're just giving it a casual listen (or at least that's the idea). I also dropped the closed hi-hat sample and just used the open hi-hat with different release values to change the length, and I replaced the superfluous xylophone sample that was in the instrument table with the "french horns" or whatever they are.

Quote
Regarding the drum table, I just.... didn't do anything.  8)  It seemed to be all direct-address loading, rather than loading based on the index number of the song, so I didn't touch it.

Oh wow. This is kind of a problem actually. Just like the instrument table, the drum table has one entry for each song that's accessed by the song number. They're 36 bytes each, starting at $071871 in the ROM. I just tried the latest version of the patch and went to the dance exhibit where One Sunny Day When We Met plays. It tries to load the percussion table from $072441, which is past the end of the percussion table data and into the old echo buffer/volume table. This should have broken the song, but it looks like somebody (Gi Nattak?) went through the song data, removed the "Drum Mode On/Off" commands, and added in a bunch of manual instrument changes. I'm guessing they must've done this for some of the other songs too. It works, but it's kind of a bandaid solution, and it's a problem if you want people to be able to use this as a starting point for adding their own songs.

EDIT: I explained the percussion table a bit in this thread.

EDIT 2: I think this is the code that needs modifying (probably just the three lines that set the base address)
Code: [Select]
lda $05        ;C7059C Load song number
and #$00ff    ;C7059E
sta $82        ;C705A1 Multiply by 36...
asl a          ;C705A3 Multiply by 36...
clc            ;C705A4 Multiply by 36...
adc $82        ;C705A5 Multiply by 36...
asl a          ;C705A7 Multiply by 36...
asl a          ;C705A8 Multiply by 36...
sta $82        ;C705A9 Multiply by 36...
asl a          ;C705AB Multiply by 36...
clc            ;C705AC Multiply by 36...
adc $82        ;C705AD Multiply by 36...
tay            ;C705AF Transfer to Y
sep #$20      ;C705B0
lda #$71      ;C705B2 Setting the base address for the Percussion Table (C71871) at $1e12
sta $12        ;C705B4
lda #$18      ;C705B6 Setting the base address for the Percussion Table (C71871) at $1e12
sta $13        ;C705B8
lda #$c7      ;C705BA Setting the base address for the Percussion Table (C71871) at $1e12
sta $14        ;C705BC
lda #$f1      ;C705BE
sta $2143      ;C705C0
lda #$20      ;C705C3
sta $2142      ;C705C5
lda #$03      ;C705C8
sta $2141      ;C705CA
lda $84        ;C705CD
jsr $09da      ;C705CF
sta $84        ;C705D2
lda #$03      ;C705D4
cmp $2141      ;C705D6
beq $05e0      ;C705D9
ldx #$000c    ;C705E0 Number of 3-byte entries
lda [$12],y    ;C705E3 Loading percussion table data and sending to SPC
sta $2141      ;C705E5
iny            ;C705E8
lda [$12],y    ;C705E9 Loading percussion table data and sending to SPC
sta $2142      ;C705EB
iny            ;C705EE
lda [$12],y    ;C705EF Loading percussion table data and sending to SPC
sta $2143      ;C705F1
iny            ;C705F4
lda $84        ;C705F5
jsr $09da      ;C705F7
sta $84        ;C705FA
dex            ;C705FC decrement entry number
bne $05e3      ;C705FD if there are entries left, loop back to C705E3

« Last Edit: November 18, 2022, 01:42:00 am by Reld »

PowerPanda

  • Guru of Time
  • Earthbound (+15)
  • *
  • Posts: 43
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #23 on: November 18, 2022, 03:34:21 pm »
The only data I had was from Vehek, here. Here is the code he gave me for the drum table:

Code: [Select]
C7/05B2:        A971            LDA #$71
C7/05B4:        8512            STA $12
C7/05B6:        A918            LDA #$18
C7/05B8:        8513            STA $13
C7/05BA:        A9C7            LDA #$C7
C7/05BC:        8514            STA $14

From that, I thought that the drum table was a static table at $C7/1871, and that I could just leave it in place. Your explanation makes a lot more sense. Let's add it to the (somehow growing) list of things for Version 2.1, which I'm thinking might need to be renamed to 3.0.

ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10795
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
Re: Chrono Trigger - Music Expansion
« Reply #24 on: November 19, 2022, 09:38:43 pm »
I'll hold off on posting it in a site update until the next patch revision (if you feel satisfied at that point). Hm, I need to get these notes into the encyclopedia, though...

PowerPanda

  • Guru of Time
  • Earthbound (+15)
  • *
  • Posts: 43
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #25 on: November 20, 2022, 12:04:24 am »
I'll hold off on posting it in a site update until the next patch revision (if you feel satisfied at that point). Hm, I need to get these notes into the encyclopedia, though...

Yes, please hold off. There's big stuff incoming. Reld is going to town right now, and may have even made a branch of Temporal Flux that allows the placement of the new music.

ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10795
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
Re: Chrono Trigger - Music Expansion
« Reply #26 on: November 20, 2022, 12:09:41 am »
This is potentially better in a new thread, but I didn't realize you were the FF6 hacker. Do you feel like the full spectrum of FF6 hacking has been explored, at this point? (And I swear I remember that back in the day, Temporal Flux was only made by Geiger for CT because he deemed FF6 much harder to make an editor for!)

Only asking because that's still nagging at me—this feeling that the full potential of Chrono Trigger has not yet been explored. I know there's a lot of fanfare about the MSU-1 stuff to draw upon external data, but to me, it's like an artform to maximize what a single ROM can do, which for Trigger, means things like:

  • Custom Mode 7
  • Injecting custom music
  • 8th character patch
  • More overworld events
  • Near-full utilization of the ROM (so packing in as many locations, tilesets, monsters, items, etc. as the offsets will allow
  • Other tricks the CT team didn't really achieve, such as temporarily-controllable NPCs
  • Another mini-game or two, like Agent 12's colosseum

I haven't checked in on FF6, so just curious if the limits have been pushed like that. If there's any need for a new comprehensive CT hack, I feel like it's begging to be done if only to showcase the full might of what we can now do with the ROM.

PowerPanda

  • Guru of Time
  • Earthbound (+15)
  • *
  • Posts: 43
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #27 on: November 20, 2022, 12:21:52 am »
This is potentially better in a new thread, but I didn't realize you were the FF6 hacker. Do you feel like the full spectrum of FF6 hacking has been explored, at this point? (And I swear I remember that back in the day, Temporal Flux was only made by Geiger for CT because he deemed FF6 much harder to make an editor for!)

Only asking because that's still nagging at me—this feeling that the full potential of Chrono Trigger has not yet been explored.

It's an interesting question. I've pondered why FF6 seems to get so many more hacks than CT, and I think that what it comes down to is that Chrono Trigger is really good at being Chrono Trigger, whereas FF6 can be a pretty blank canvas.

FF6 hacking took off mainly because the original battle system is held together with duct tape and prayers. When Assassin wrote his disassembly, he found over 180 bugs. That gave people a clear goal and motivation: fix all the bugs. Once they learned how to do that, they knew the game backwards and forwards, and started tinkering around. These days, there are very few things left to be done, aside from cleanup and ease-of-use stuff. When CDude and I finished off the full 16-character roster patch, to me it felt like we had reached the edge of the map. We've still found stuff since then, like unused attack animations and how to create your own Esper, but it's at the point where an FF6 hack is limited mainly by imagination and skill.

When I jumped over to Chrono Compendium, I was really surprised at how far... if I can say it... BEHIND Chrono Trigger was. I think a big part of that actually is Temporal Flux. It was so good so early that it made it 80% of the way there and then stopped. But I think another part is just the game itself. Chrono Trigger didn't desperately need fixing like FF6 did. It's so good at being itself that it's hard to morph it into something else.

I see this Soundtrack Expansion hack as a way to re-open that conversation. What would happen if we stopped making tools for Chrono Trigger, and started making tools for Chrono Trigger Hacks? Would people want to play around in the game, or do we all just want to keep Chrono Trigger as it is?

ZeaLitY

  • Entity
  • End of Timer (+10000)
  • *
  • Posts: 10795
  • Spring Breeze Dancin'
    • View Profile
    • My Compendium Staff Profile
Re: Chrono Trigger - Music Expansion
« Reply #28 on: November 20, 2022, 12:32:05 am »
Got it. That's pretty exciting, and yeah, I agree; FF6 seems like a wonderful canvas for any setting in general. Chrono Trigger is very much locked into Toriyama's style, and the specific eras make them very distinctive and unmistakable. It did make Trigger stuff deceptively easy, of course (that was the logic behind Crimson Echoes—we could very easily just make a Chrono Trigger 2 scenario without needing to change a ton of location art or doing other graphics hacking). It was a pure bonus that Chrono'99 figured out how to make a faux-elements boss battle, and Agent 12 also devised so many ways to arrange the events.

I want to believe that given those limitations of CT's style, there's still one more good story to be told—but finding that story has totally escaped me the last few years. Crimson Echoes suffered from various issues of its own, but a big part was definitely trying to sandwich it between Chrono Cross and also make it completely mired in the Compendium's temporal theory (which is an achievement, but still amounts to a bandaid on a few plot holes the developers of both games overlooked). If I could make something in the future, it'd be much more of a straightforward Chrono Trigger 2. But alas, it'd have to have a perfect story in order to feel like CT all over again, and really have that sense of 16-bit adventure.

Welp, that concludes the big divergence off topic from my end, haha.

PowerPanda

  • Guru of Time
  • Earthbound (+15)
  • *
  • Posts: 43
    • View Profile
Re: Chrono Trigger - Music Expansion
« Reply #29 on: November 20, 2022, 01:11:39 am »
I agree.

Back on topic, I have coded some ASM that allows you to set the random battle theme BY MAP. So each map can now set a field theme AND a Battle Theme. I have also extracted the alternate instrumentations for Battle 1 out of the Pre-release Rom, giving me 3 distinct versions of Battle 1. This means that unless there are dungeon maps shared between time periods (still need to investigate), I can assign a different battle theme to each time period.

Heck, with the SPC data from Radical Dreamers, I could even piss everyone off and throw in Gale.  :twisted: