’Cause all games were better on the GBC

You are not logged in.

#1 2016-08-24 15:48:58

Kuroko Aizawa
Registered: 2011-12-01
Post 351/501

Question about some music assembly

This question is for the music savvy guys here. I was looking through some of FroggestSpirit's tracks in his Crystal Complete source, and I noticed that the TCG and TCG2 tracks he (or dannye?) has converted do not work in Pokecrystal by themselves. … akuni2.asm

If you try to add any of the tracks in these folders, the notetypes aren't defined. Is that supposed to happen or did I miss something? Looking at other tracks in the ROM, they don't use these notetypes as far as I can tell.

Last edited by Kuroko Aizawa (2016-08-24 15:49:41)


#2 2016-08-24 17:45:06

Danny-E 33
Registered: 2012-06-09
Post 979/1,205

Re: Question about some music assembly

Yeah, we added some music commands to make them work.

The major difference is that the TCG music engine has a "increase octave" and "decrease octave" command which is of course relative to the current octave. This makes a difference in music "sub branches" which change the octave with "arbitrary" starting octaves. Whereas the Crystal engine only sets the the octave to explicit values.

The other change is that Crystal's 'notetype' command takes three args: speed, volume, fade

Any time one of these three values is changed for some channel, a new notetype command is used and all three values are given, even if only one of the three is "new"

Again the TCG engine sometimes changes one of these values without changing the other two, and in sub branches, the value of the other two is arbitrary so the original 'notetype' cannot be used.

Lucky for me, music commands $f4 through $f8 are unused in Crystal, so I used them to implement inc_octave, dec_octave, notetype0, notetype1 and notetype2.

I implemented those music commands here and here.


#3 2016-08-24 19:18:26

Kuroko Aizawa
Registered: 2011-12-01
Post 352/501

Re: Question about some music assembly

Thanks much, Danny-E, as usual it is deeply appreciated :)


Board footer

Powered by FluxBB