Chrono Trigger
Zeldix :: MSU-1 Hacking :: MSU-1 Hacks Database :: RPG :: Action
Page 8 of 12
Page 8 of 12 • 1, 2, 3 ... 7, 8, 9, 10, 11, 12
20150630

Chrono Trigger
Patch:
Chrono Trigger Original Patch (without FMV, original game intro) by Qwertymodo:
- Code:
Download: https://mega.nz/file/TqBADBIJ#1dZvVdMR2kBidt32ojZW4KQvGpa4wgf8XioDyKNJc2M
Mirror Download: https://www.mediafire.com/file/l5dq6hsynnuf0ox/CT_MSU-1_Patch.zip/file
Chrono Trigger Patch and FMV intro (video intro replaces original opening):
- Code:
Download: https://mega.nz/file/imAlwYII#0PzgvjXIzGYwmp_DiASZCzNuEJdddmgf1bBdOlefbFc
Mirror Download: https://www.mediafire.com/file/inzllfydh8pw7k1/CT_MSU-1_Patch_and_FMV_Intro.zip/file
This patch developed by qwertymodo will allow the intro FMV video to be played that was created by Ramsis/smkdan. This download has the patch, the FMV, and the extra track to go along with the video.
Cthulhu's patch (1.1.4):
- Code:
https://mega.nz/folder/wIE1gQ5S#rbpeeX5pcNFAXfV9XVt2bA
PCM Sets:
Blake Robinson PCM Set:
Important Note: Before using this pcm set, read this appeal carefully: https://drive.google.com/open?id=1g68fSCN1W7lfB249VGNtRR6ARP42DyHI
- Code:
https://mega.nz/#!mHpyDQwS!B2AsH0Zr-lGcTBJBTXqxYTepertNGGWMl0ch0bMpL98
JUD6MENT's Orchestral Chrono Trigger Set (Accurate Tempo, Volume Level, and Music Style):
Important Note: Before using this pcm set, read this appeal carefully: https://docs.google.com/document/d/1l_hOrosm-duR-jFOST9i-Fia56uJ-sVoVI9W867wRRE/edit?usp=sharing
- Code:
Download: https://mega.nz/file/OjIAWDSZ#e3u5IceI_W6kxzuRLXvvlHKojOmhVPO1gaC00QHcsjU
Mirror Link: https://www.mediafire.com/file/l4iu0vp0txhn7ae/JUD6MENT%2527s_Chrono_Trigger_Orchestral_Set.zip/file
Musician Track Credit: Click Here
This PCM set features music mostly by Blake Robinson, Malcolm Robison, and a few others. Minor music edits have been done to tracks for accurate tempo and volume level.
Dracula9AntiChapel PCM Set:
An alternative audio pack has been graciously provided for free by Youtube user Dracula9AntiChapel, and it can be downloaded here:
- Code:
http://www.mediafire.com/file/ihtymj4tret4520
Synthetic Origins PCMs ('uncompressed' versions of the music by tssf), pack Sara:
- Code:
https://saralene.tv/ctso/Chrono%20Trigger%20Synthetic%20Origins%20-%20MSU-1.7z
Chrono Trigger Plus Patch:
Patch by ThegreatBen:
- Code:
https://www.romhacking.net/hacks/3691/
Missing tracks by edale:
- Code:
https://mega.nz/#!mNAX2ApQ!A_agtCA158jVJXOQ1mOBeJwuPW0aSuOeIgxFiiKe_-8
Discussion Thread:
- Code:
http://www.romhacking.net/forum/index.php?topic=23115.0
Important Side Note: If you have seen the qwertymodo preview that is on his YouTube Channel that has all the FMV cutscenes, that project is not finished yet. We do not know when it will be finish but please respect qwertmodo and there is no need for him to be asked frequently about it.
Last edited by Conn on Sun 25 Dec 2022 - 17:19; edited 46 times in total
Conn- Since : 2013-06-30
Chrono Trigger :: Comments

Brutapode89 wrote:Cthulhu wrote:Brutapode89 wrote:Ah, I see the tuto. But in this link, there's only the .GZ file bass_v14.tar instead the bass.exe.
bass_v14.tar.gz\bass_v14.tar\bass\bass.exe
7-zip can open both .gz and .tar, I don't know about other programs such as WinRAR.
We can open it with WinRAR, I tried itBy the way, what a text editor can I use to open make.bat, please? Olympus? Translhextion?
Use Notepad++

Conn wrote:Also, out of curiosity, why are some CT versions lorom and others hirom?
There are no LoROM versions for Chrono Trigger, they are all HiROM. Temporal Flux has an "expand ROM" option that appends an extra 2 MB at the end of the ROM's image and then change its mapping mode to ExHiROM to make those extra 2 MB addressable.
The problem with this conversion is that the ExHiROM portion of the ROM is mapped to banks 00-3F and 40-7D, which forces Temporal Flux to move some of that data to the ExHiROM region. One example is the interrupt vector table that is required to be at bank 00 aswell as the 16-bits vectors set in there.
What happens when you force-apply a HiROM patch into an ExHiROM is that the old NMI location is no longer executed; the new NMI vector registration at bank 00 is located at 0x40FFEA (ROM image), which in turn points to 0x40FF10. The patch hooked the one at 0x00FF10, which is no longer used.
For DarkShock's, qwertymodo's and my hack, NMI is used to fade in/out tracks by changing the volume at every vblank, which happens once every frame. Without NMI, some parts of the game will have silent tracks while other parts will have the song stop abruptly.
I've repacked the source code to include bass.exe (and its license). I've also added two make scripts, one for HiROM (make.bat, ROM size = 4 MB) and one for ExHiROM (make - ExHiROM.bat, ROM size = 6 MB).
Assuming the required regions of the ROM are free, all one is required to do now is to change the name of the ROM to "Chrono Trigger (USA).sfc", without the quotes, and move it to where make.bat is located. The cross-assembled ROM will be named "chrono_msu1.sfc".
You can still place checksum.exe (to fix the SNES checksum post-assemble) and/or flips.exe (to auto-generate a BPS patch) together with make.bat, but they are optional.
The vanilla ROM will always have the required regions free, so no need to check for it, as for other hacks, one should load it into a hex editor and check addresses 0x0D5D20 and 0x0DF9D0.
If they are free, you will see them initialized to 0XFFs.
If they are not free, you will have to find some free space and then set their addresses and max sizes in scopes Tracklist and Patch within the .asm file.
I can't do much here other than what I already did to make it as simple as possible to change the addresses within the code. This is hack-dependent and I can't predict when a hack will use the same space as my code.
Download repacked: https://mega.nz/file/Md83wajZ#-F7RmJ2WirtK_VDj6OW9dG4hcmCHhfvPNlSyGBmBUg8
Brutapode89 wrote:By the way, what a text editor can I use to open make.bat, please? Olympus? Translhextion?
You can just use the notepad that comes packed with every version of Windows.

Alright, I added your patch on first post. Please correct me if I did something wrong at the description 


Conn wrote:Alright, I added your patch on first post. Please correct me if I did something wrong at the description
It's fine, thanks.
Brutapode89 wrote:Now, I patched it but there is a black screen.
Have you checked before patching that addresses 0x0D5D20-0x0D5D75 and 0x0DF9D0-0x0DFD9A are free?

If you've Python or is willing to install it, you can use its interactive interpreter to easily check that.
Just paste this into the interpreter:
Then type check_if_free("my rom.sfc"), replacing "my rom.sfc" with the name of your CT ROM.
If it's free, it will print True, otherwise it will print False.
Example:
Guess you can do it with a Powershell script aswell, but I am kind of lazy to write one right now.
Just paste this into the interpreter:
- Code:
def check_if_free(rom):
with open(rom, "rb") as f:
f.seek(0x0D5D20)
if f.read(85).count(0xFF) != 85:
return False
f.seek(0x0DF9D0)
if f.read(970).count(0xFF) != 970:
return False
return True
Then type check_if_free("my rom.sfc"), replacing "my rom.sfc" with the name of your CT ROM.
If it's free, it will print True, otherwise it will print False.
Example:
- Code:
E:\Users\Roberto\Desktop\New folder>python
Python 3.7.8 (tags/v3.7.8:4b47a5b6ba, Jun 28 2020, 08:53:46) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> def check_if_free(rom):
... with open(rom, "rb") as f:
... f.seek(0x0D5D20)
... if f.read(85).count(0xFF) != 85:
... return False
... f.seek(0x0DF9D0)
... if f.read(970).count(0xFF) != 970:
... return False
... return True
...
>>> check_if_free("Chrono Trigger (USA).sfc")
True
Guess you can do it with a Powershell script aswell, but I am kind of lazy to write one right now.

May a new thread be a possibility, like BP:s urgent question? I think it may take a while until he manages. Or you pm, and if you are generous, simply provide him a link to a patched french r...m there (please not public due to legal stuff).
Just a thought that here in this thread should more important stuff be discussed
Just a thought that here in this thread should more important stuff be discussed

More urgent appeal to take my above message serious, teaching python clearly is no subject of this thread (not even this forum).

I love the new PCM set, though I still have some songs I worked on myself which will continue using but all the new songs in the PCM fit the mood much better.

DhaosM wrote:I love the new PCM set, though I still have some songs I worked on myself which will continue using but all the new songs in the PCM fit the mood much better.
Super happy to hear. I ran every last sound through audacity back to back with the original sound track to make sure that that the new orchestra track had a perfect tempo, and i tried to change out a few blake robinson for a couple that i thought would be a better fit in music style (i love that tecno Ocean Palace)

Does anyone know if the ASM for the non-FMV version of this patch is available?
I'm working with ThegreatBen on the romhacking.net forums on his Chrono Trigger Plus patch, and we need a copy of the MSU code with track 15 set to loop.
We're hoping that'll resolve an issue he's having due to track 15 being his choice for the worldmap theme in his pre-apocalypse 1999 AD, though we need to test that it doesn't mess things up in the location track 1 is normally used.
I'm working with ThegreatBen on the romhacking.net forums on his Chrono Trigger Plus patch, and we need a copy of the MSU code with track 15 set to loop.
We're hoping that'll resolve an issue he's having due to track 15 being his choice for the worldmap theme in his pre-apocalypse 1999 AD, though we need to test that it doesn't mess things up in the location track 1 is normally used.

edale wrote:Does anyone know if the ASM for the non-FMV version of this patch is available?
I'm working with ThegreatBen on the romhacking.net forums on his Chrono Trigger Plus patch, and we need a copy of the MSU code with track 15 set to loop.
We're hoping that'll resolve an issue he's having due to track 15 being his choice for the worldmap theme in his pre-apocalypse 1999 AD, though we need to test that it doesn't mess things up in the location track 1 is normally used.
https://www.zeldix.net/t808p150-chrono-trigger#39338
and
https://www.zeldix.net/t808p175-chrono-trigger#39384
Track list array is at the bottom of the source code.

Specifically, I need the ASM code for Qwertymodo's Native Chrono Trigger Patch (without FMV), given that's the one ThegreatBen used in his mod. Given one of the things you talk about in those posts is the differences between your code and Qwertymodo's, it means that's not the ASM code I need.Cthulhu wrote:edale wrote:Does anyone know if the ASM for the non-FMV version of this patch is available?
I'm working with ThegreatBen on the romhacking.net forums on his Chrono Trigger Plus patch, and we need a copy of the MSU code with track 15 set to loop.
We're hoping that'll resolve an issue he's having due to track 15 being his choice for the worldmap theme in his pre-apocalypse 1999 AD, though we need to test that it doesn't mess things up in the location track 1 is normally used.
https://www.zeldix.net/t808p150-chrono-trigger#39338
and
https://www.zeldix.net/t808p175-chrono-trigger#39384
Track list array is at the bottom of the source code.
Thanks anyways.
*edit- yea, I ran your script to make a ROM, then edited the ASM to loop track 15, used script to make another ROM, then used LunarIPS to create an IPS patch to get just the differences (which accurately came out to one byte changed to a value of '3', which denotes a looping track on the loop table), and tried applying that to the Chrono Trigger Plus patched ROM.
I tried this with both the normal script and the ExHiROM script. In neither case did it cause track 15 to loop in Chrono Trigger Plus, which means your loop table is located at a different memory address from Qwertymodo's.

edale wrote:Specifically, I need the ASM code for Qwertymodo's Native Chrono Trigger Patch (without FMV), given that's the one ThegreatBen used in his mod. Given one of the things you talk about in those posts is the differences between your code and Qwertymodo's, it means that's not the ASM code I need.Cthulhu wrote:edale wrote:Does anyone know if the ASM for the non-FMV version of this patch is available?
I'm working with ThegreatBen on the romhacking.net forums on his Chrono Trigger Plus patch, and we need a copy of the MSU code with track 15 set to loop.
We're hoping that'll resolve an issue he's having due to track 15 being his choice for the worldmap theme in his pre-apocalypse 1999 AD, though we need to test that it doesn't mess things up in the location track 1 is normally used.
https://www.zeldix.net/t808p150-chrono-trigger#39338
and
https://www.zeldix.net/t808p175-chrono-trigger#39384
Track list array is at the bottom of the source code.
Thanks anyways.
*edit- yea, I ran your script to make a ROM, then edited the ASM to loop track 15, used script to make another ROM, then used LunarIPS to create an IPS patch to get just the differences (which accurately came out to one byte changed to a value of '3', which denotes a looping track on the loop table), and tried applying that to the Chrono Trigger Plus patched ROM.
I tried this with both the normal script and the ExHiROM script. In neither case did it cause track 15 to loop in Chrono Trigger Plus, which means your loop table is located at a different memory address from Qwertymodo's.
qwertymodo's code needs to be stripped anyway.
Even if you do what you are doing with qwertymodo's code, you will still fail because Chrono Trigger Plus applies qwertymodo's code at different regions than the original (among other changes).
And yes, the track list is completely different from each other because our codes are quite different. He uses a 16-bytes bitpacked track list, while I use an array of bytes track list, with each byte representing one track.

So... The french translation has two issues.
1: The ROM has a SMC header. It's imperative that you remove any SMC header before cross-assembling my hack. You can easily remove the SMC header by simply deleting the first 512 bytes out of the ROM.
2: The translation alters the clock scene when the game starts via Temporal Flux. This causes one of the "wait track to start" event to be moved elsewhere and this specific event is hooked by MSU-1 hacks to prevent the game from deadlocking waiting for a SPC track that will never start.
I've added a new code branch that hooks at a different address when the FRENCH macro is defined (also a new "make - French.bat" that assembles with the FRENCH macro defined).
Download (1.1.4 revised for the french translation): https://mega.nz/file/VNkmEDTB#eJLkS6l-iJyVyUW5kOWxgSdRRH0CVxBZHUmjHGy6-ag
Please, make sure to update the OP when possible.
1: The ROM has a SMC header. It's imperative that you remove any SMC header before cross-assembling my hack. You can easily remove the SMC header by simply deleting the first 512 bytes out of the ROM.
2: The translation alters the clock scene when the game starts via Temporal Flux. This causes one of the "wait track to start" event to be moved elsewhere and this specific event is hooked by MSU-1 hacks to prevent the game from deadlocking waiting for a SPC track that will never start.
I've added a new code branch that hooks at a different address when the FRENCH macro is defined (also a new "make - French.bat" that assembles with the FRENCH macro defined).
Download (1.1.4 revised for the french translation): https://mega.nz/file/VNkmEDTB#eJLkS6l-iJyVyUW5kOWxgSdRRH0CVxBZHUmjHGy6-ag
Please, make sure to update the OP when possible.

Updated op 
I know that mega.nz requires a new link. If you use Google drive I think links remain the same. If I may give a suggestion, please add a short readme to your files how to use (step by step if possible, with possible adjustments to make inside the code). People here are used to have a patch rather than an ASM to compile themselves (for both of us it is self-explaining, but the majority of people here never dealt with it).
All in all Highly appreciate your work, I'm not sure how long qwerty will take to update his patch. If you ever consider adding a video, this might be of interest:
https://www.zeldix.net/t1737-videoplayer-by-ikari-asm-source-code

I know that mega.nz requires a new link. If you use Google drive I think links remain the same. If I may give a suggestion, please add a short readme to your files how to use (step by step if possible, with possible adjustments to make inside the code). People here are used to have a patch rather than an ASM to compile themselves (for both of us it is self-explaining, but the majority of people here never dealt with it).
All in all Highly appreciate your work, I'm not sure how long qwerty will take to update his patch. If you ever consider adding a video, this might be of interest:
https://www.zeldix.net/t1737-videoplayer-by-ikari-asm-source-code

Conn wrote:Updated op
I know that mega.nz requires a new link. If you use Google drive I think links remain the same.
I do not use any Google services; my policy since 2019.
Conn wrote:If I may give a suggestion, please add a short readme to your files how to use (step by step if possible, with possible adjustments to make inside the code). People here are used to have a patch rather than an ASM to compile themselves (for both of us it is self-explaining, but the majority of people here never dealt with it).
Right now you just put your "Chrono Trigger (USA).sfc" ROM into the same folder and execute the make.bat specific to your ROM.
I've already written pretty much everything necessary; if you want to pick parts of it and attach them under the download link inside a spoiler tag, feel free to. Currently I do not have the time to write a more detailed README.
The current pitfalls of cross-assembling would be the same as applying an IPS/BPS to a ROM that isn't compatible with them; the difference is that you can more easily change this with cross-assembling.
People can always PM me if my hack isn't working for a specific hack. If I have the time, I'll look it up and ad hoc it out. Much easier than having to share a different file for each specific version.
Conn wrote:All in all Highly appreciate your work, I'm not sure how long qwerty will take to update his patch. If you ever consider adding a video, this might be of interest:
https://www.zeldix.net/t1737-videoplayer-by-ikari-asm-source-code
Yeah, I know how to do it, I simply have no reason to pursue that route.
I gave JUD6MENT a rundown on the reasons on why it's a fool's errand to implement the FMVs for the SNES version. Feel free to ask him to forward it to you.

If you're sharing a Mega link to a file that may get updated, you can put the file into a folder on Mega, then share a link to the folder.Cthulhu wrote:I do not use any Google services; my policy since 2019.Conn wrote:I know that mega.nz requires a new link. If you use Google drive I think links remain the same.
The link to the folder won't change despite any changes to the contents of that folder.

edale wrote:If you're sharing a Mega link to a file that may get updated, you can put the file into a folder on Mega, then share a link to the folder.
The link to the folder won't change despite any changes to the contents of that folder.
I'll probably do that if I update it again. Thanks!
If anyone wants to write a README from the information previously written in my posts, feel free to. I'll include that in the folder too.
A README needs to include detailed information on how to find whether your ROM has the default hack addresses free, how to find a free block for each address and how to change them in the source code.
Basic/Default usage doesn't need a README in my opinion; a note is enough.
NOTE: Move your ROM (must be named "Chrono Trigger (USA).sfc") inside the hack's folder and double-click the make.bat script specific to your ROM type.
^^^ If possible, please add this note for my hack to the OP.
P.S. If I have the time today, I'll write a simple ROM checker script that checks for free addresses, strip possible SMC headers and check whether the hooked codes have the correct byte signatures.
Last edited by Cthulhu on Sun 29 Aug 2021 - 7:06; edited 1 time in total (Reason for editing : postscript)

BP: I think relikk told you already 5 times to read previous posts, I asked the very same question 4 posts above and cthulhu replied 3 posts above with "I simply don't want to add fmv".
Again, just READ! Then there's still qwertymodo patch, bug him for an update of his patch... Much luck
Again, just READ! Then there's still qwertymodo patch, bug him for an update of his patch... Much luck


Copy and paste from my response to JUD6MENT:
Cthulhu wrote:There are many issues with FMVs that make me have zero interest in implementing them, I'll split these issues into sections.
Hardware limitations: The SNES only supports up to 256 colors with the game's internal resolution being 256x224, which means we have to downscale the FMVs, but not only that, the SNES does not support common video format streaming like later consoles did, which means we have to convert each frame to tiles, further losing quality.
I know qwertymodo ended up ripping the FMVs from the Steam version and used ffmpeg to dump each frame as png and then converted those pngs to tiles.
No matter what you do, you will never reach the same FMV quality as the PSX/DS/Steam FMVs.
Compatibility: Adding the in-game FMVs requires you to edit the game scripts to trigger an unused event (qwertymodo uses the Color Crash event). The problem with this is that Temporal Flux will be forced to rearrange the script data to ROM locations that can fit them, effectively killing any compatibility with anything other than the ROM you are working with, since other hacks, including translations, will cause Temporal Flux to do the same thing.
Better quality FMVs available through the web: Already talked about the lower quality on the SNES, but why would one choose to watch them at lower quality when they can watch them anytime, from any device, at a much better quality?
Low effort FMVs: The FMVs are too short, too sparse and too low effort.
You can notice that FMVs don't exist after Crono dies because Square couldn't bother to commission different FMVs for different party combinations.
I've watched them online a total of ONE time and I haven't had the desire to watch them again.
Lots of work to implement them: After everything that has been said, it also requires a sizeable amount of work to implement them. From properly converting the FMVs into images (it isn't a simple matter of just dumping each frame as an image), converting each image to tiles, writing code to pull the frames from the msu file and into VRAM, writing code to update the VRAM correctly when needed, writing code to capture the script event and going through Temporal Flux to add the events to the correct scripts.
As you can see, there are plenty of reasons I'll likely never implement them myself. qwertymodo probably figured it wasn't worth his time aswell.

» Chrono Trigger MSU-1 All FMV's (WIP)
» Chrono Trigger MSU 1 for MAC
» Chrono Trigger MSU-1
» Here's an alternative soundtrack for Chrono Trigger
» Chrono Trigger MSU-1 Audio + Video
» Chrono Trigger MSU 1 for MAC
» Chrono Trigger MSU-1
» Here's an alternative soundtrack for Chrono Trigger
» Chrono Trigger MSU-1 Audio + Video
Permissions in this forum:
You cannot reply to topics in this forum