Users browsing this thread: 2 Guest(s)
Music Player
02-09-2017, 02:06 AM
(11-03-2016, 08:52 PM)Madsiur Wrote:(11-03-2016, 08:25 PM)Rodimus Primal Wrote: Very cool. I downloaded your release on RHDN and went to test it on Woolsey Uncensored but they aren't compatible. I think it might have to do with where some of the extra things I have are in free space.
Yes depending which implementation you choose the patch will use $910 to $930 bytes of free space in bank $C3. You could increase the free space base offset in any of the two music player (Config or Main menu ASM file). Just increase the following org command. The approximate limit would however be something like org $C3F6C0 to not overflow in bank $C4.
Code:org $C3F091 ;Free $C3 bank space used for rest of code
If you lack the free space you can put the song names and pointers in another bank. The coding itself is tied to other $C3 functions so it's not a possibility to move it. You could save a good $500 bytes this way in bank $C3. The procedure is the same in both implementations.
As an example, taking the end of ff6_music_main.asm:
Code:incsrc mplayercore.asm ;Music player (need to remain in bank $C3)
incsrc mplayerdata.asm ;Music player data (could be moved outside bank $C3)
incsrc soundresume.asm ;SPC code changes (bank $C5)
You could do the following:
Code:incsrc mplayercore.asm ;Music player (need to remain in bank $C3)
incsrc soundresume.asm ;SPC code changes (bank $C5)
org $F35000
incsrc mplayerdata.asm ;Music player data (now in bank $F3)
The extra final step would be to modify one line to LDA $F30000,X in mplayercore.asm:
Code:LDA $C30000,X ;load letter. Since pointers are bank relative
;no need to use the MUSIC_NAMES label defined in mplayerdata.asm.
;Do not forget to change the LDA bank if mplayerdata.asm is outside bank $C3.
To be honest, I'm not exactly sure what is using up what space at this point being Woolsey Uncensored is kind of Frankenstein at this point. What seems to happen is that if applied, it seems to work just fine. But if you go to switch characters out and create a party, let's say on the airship, it will bring me back to the wheel of the airship with no character on screen.
Experience is the benchmark to maturity.
Final Fantasy VI - Ted Woolsey Uncensored Edition:
http://www.romhacking.net/hacks/1386
Final Fantasy IV - Namingway Edition:
http://www.romhacking.net/hacks/2337
« Next Oldest | Next Newest »
|
||||
Users browsing this thread: 2 Guest(s)