Lunar SSS English Patch

Translating Lunar Silver Star Story 1.5.1

I wouldnt worry too much about the bromides appearing/disappearing. Those are all script commands that we will end up reverting to the original when we finish scrubbing through the original SSS script. It seems pretty clear that the autoconvert from SSSC wasnt a perfect match for the game. The important thing to fix for the beta were the dragon wings as those can REALLY mess up the sequencing.
 
I finally finished it again. Only issue, (known issue) is the bromides. I was able to get 9 of them, but they are basically collected like in the Playstation version order. Except Ramus selling them (Mia's Bromide 3 & Jessica's Bromide 3) during the epilogue isn't working.

Looking forward to the MPEG version.
 
Thanks for the update. Bromides in SSS will be fixed by the script update when we make it. WD disabled the Ramus shop calls in the script for those bromides.
So far the asm updates for MPEG edition seem good, just need to test a few more things to make sure. The hard part will be adjusting the mpegs.
 
The MPEG edition is only if you have the extra card, correct? Also are the larger videos shown earlier going to be put into the regular one?

Lunar on SCD was the first RPG I ever beat (I only bought it when it was first released because the guy at the store showed me the intro cut scene on the TV in the store). I got the PSX version of Complete but never finished it... It feels right playing it on a Sega console so I am pumped for this to be finished. Thanks for all of the work being put into this project.
 
Thats right. MPEG SSSC requires the vcd card and is full screen, higher quality videos, and has all the bromides. Trekkies is working on the videos posted earlier and those are slated for the regular SSS edition.
 
^I was hoping they were being sourced from the pc/psp or mobile port. Whichever one has the highest quality videos. The MPEG versions are nice, but still have some artifacting and top and bottom borders. With that said, is it possible to make the MPEG versions even better? At least get rid of the top and bottom borders?
 
The goal would be to use the best source available. Before we get to that though we need to figure out how to rebuild the disc with different mpegs properly which may take a while.
 
^I was hoping they were being sourced from the pc/psp or mobile port. Whichever one has the highest quality videos. The MPEG versions are nice, but still have some artifacting and top and bottom borders. With that said, is it possible to make the MPEG versions even better? At least get rid of the top and bottom borders?

For the MPEG version my plan was to just remux the audio. For the Cinepak one I'm using the PC/PSP versions videos. The MPEG version's FMVs actually have a border around the entire image, you just don't see the one on the sides as it's cut off. The bottom ones I'd assume would be cut off on certain CRTs due to overscan. That said, the PC versions files really aren't much better in some cases. The Audio for one is higher quality in the Saturn MPEG files, and in some cases there's actually worse artifacts in the PC verison. There's also cases where the English audio still gets out of sync with the PC version, though it perfectly syncs with the MPEG version and PSP version. The PSP versions are probably the ones with the least amount of artifacts, but aren't as crisp looking as the PC versions, but the colors are closer to the Saturn MPEG versions.

Honestly with how much of a pain the MPEG version is being to get an image to build properly, I really don't want to mess with the files much more than I have to.
 
So I went through and converted all the PS1 voice samples, and oh boy are there some size issues. There's about 5-6 files that just absolutely will not fit into the Saturn's audio RAM as they are. Basically Working Designs really took a lot of liberties on some of these lines and drew them out. For example Ghaleon's death speech is about 25 seconds in the Japanese version, while it's been extended to a whopping 1:05 in the English version. This makes the clip almost a 1MB in size and there's no real way to trim it down or clip it from what I can see. On the PS1 this isn't much of a problem as the sound chip can play compressed samples, but on the Saturn this is going to be a big issue as samples have to be decompressed in memory last I checked.

Other issues are a bunch of additional sound effects added that bring clips like the other characters singing the "La-La" Song up to about 800K. Another is Luna and Alex's exchange getting on the boat. Lines for Nall were added in the English version as well as more lines between Alex and Luna to draw it out. This brings this file to about 520K.

Some of these I think can be worked around though. The Singing ones you could just stick with the Japanese clips or use the XSeed clips. The boat sequence could have Nall's bit and Alex's additional lines cut. But Ghaleon's death is going to be a real issue to deal with.

But I've attached the converted files either way. There's one I wasn't able to find the corresponding Japanese clip for, it's one of Ghaleon saying "Time to Die". I think it's a battle clip. It seemed to not be in the correct order in the PS1 audio files.
I noticed the playback time for the opening speech isn't a very big difference. The [M62.PCM] original audio length is 0:27:604 and the one included in this pack is 0:28:587. A small pitch adjustment (~97%) will make it the same length and will sound virtually identical (at least for this one; ones that carry on much longer will need different editing).
I think the majority of PCM voiceovers could be fixed in this manner; I can't seem to encode anything properly to get it to play on my Saturn, so I'm still trying to be able to test this theory (I get static). What are you using to encode these?
Also, the files here do sound rather distorted. Is this the same way they're encoded on the PS release, or is this a result of resampling or something? I don't recall them sounding so compressed when I played the PS version last; if it's a conversion problem, perhaps we can try making a recording of the audio output into the proper format to get a better render...
 
I noticed the playback time for the opening speech isn't a very big difference. The [M62.PCM] original audio length is 0:27:604 and the one included in this pack is 0:28:587. A small pitch adjustment (~97%) will make it the same length and will sound virtually identical (at least for this one; ones that carry on much longer will need different editing).
I think the majority of PCM voiceovers could be fixed in this manner; I can't seem to encode anything properly to get it to play on my Saturn, so I'm still trying to be able to test this theory (I get static). What are you using to encode these?
Also, the files here do sound rather distorted. Is this the same way they're encoded on the PS release, or is this a result of resampling or something? I don't recall them sounding so compressed when I played the PS version last; if it's a conversion problem, perhaps we can try making a recording of the audio output into the proper format to get a better render...

Those were cut down already to try and get them to fit, but they're still too big. And there's other lines that have similar issues. Changing the pitch will introduce additional distortions and will just sound off as well. And there's still no guarantee that will get the size down. Honestly it's just easier to use the XSeed dub as it fits almost perfectly for the in game voices and it syncs properly in the cutscenes. XSeed's dub in general seems to be higher quality and they didn't really take too many liberties with the script.

As for the distortion, did you play them back properly? They're encoded for the Saturn version's format which is signed 8-bit Mono 16000Hz PCM. I used Audacity to convert them.
 
Those were cut down already to try and get them to fit, but they're still too big. And there's other lines that have similar issues. Changing the pitch will introduce additional distortions and will just sound off as well. And there's still no guarantee that will get the size down. Honestly it's just easier to use the XSeed dub as it fits almost perfectly for the in game voices and it syncs properly in the cutscenes. XSeed's dub in general seems to be higher quality and they didn't really take too many liberties with the script.

As for the distortion, did you play them back properly? They're encoded for the Saturn version's format which is signed 8-bit Mono 16000Hz PCM. I used Audacity to convert them.

I saved it as a 16-bit mono 8000Hz PCM xD

So my current M62.PCM is actually 1KB larger than the original (but the audio length is the same). It successfully starts M63.PCM immediately afterwards and cuts off around the 3rd word and the game continues playing the music and showing the sprite animation normally but is otherwise "frozen" like that. I had the idea to try to make a 30000Hz PCM and as I expected the saturn did indeed play it at 16000Hz, however the same exact problem occurred in the same exact spot, suggesting to me there might be some kind of instruction the game has that knows how long the PCM file should play (otherwise the 1KB file difference should've caused an error, and it wouldn't play 1.9904 seconds of audio before panic).
 
Last edited:
I'm not sure where to begin looking for what I'm looking for (if that makes any sense, haha). I didn't notice anything that suggests there's a table/list of how long each file is supposed to be. From a programming standpoint I thought that each time the game has the instruction to play a certain file, it also gets an instruction to pause (ie [trigger happens], play MXX.PCM, wait 28 seconds, play MXX.PCM, wait 2 seconds, etc). I burned another copy with M62.PCM being shorter than it should be and seeing if it gave a delay before loading M63.PCM, and it did not. Instead, it immediately loaded M63.PCM, which leads me to think it doesn't have a "wait" instruction and has something in place to keep track of when a file has finished playing. This is definitely perplexing, and really begs the question of why it can't play the longer files if shorter ones perform seamlessly.

I went a step further and burned a copy where all I did was swap M62 and M63 to see if the game would still proceed past the opening (since they'd add up to the same length and they're GA's original files). No dice. Perhaps it's something like when it loads a PCM file it also pre-allocates a certain amount of memory for it, so if the file is shorter it's fine because it has more than enough memory, but the other way around, it'll cut off at the point the memory allocation runs out.

The PSX version of the game seems like all the audios are grouped together, so the way it plays them might be different. Like the Playstation might be something like:

[trigger happens]
play LUNAR_DA.PCM from X:XX:XXX to Y:YY:YYY
do next thing

This is totally an assumption of mine, though I'm sure that's obvious xD

Another oddity is that M01.PCM-M61.PCM are in both the root directory and the battle files directory on the Saturn disc (though it's possible they simply didn't clean up all the redundancies when they published it).
 
Last edited:
448kB is the magic maximum file size for the pcm files. Anything larger will crash the saturn because you end up overwriting other data. The game copies the entire file to a buffer in LWRAM and then streams it to sound RAM.
Another issue you may be hitting is if you are on an emulator pcm#2 will crash mednafen. Why pcm #2 i have no clue, but you could end up making another pcm file with the same properties on accident, so something to look out for.
 
448kB is the magic maximum file size for the pcm files. Anything larger will crash the saturn because you end up overwriting other data. The game copies the entire file to a buffer in LWRAM and then streams it to sound RAM.
Another issue you may be hitting is if you are on an emulator pcm#2 will crash mednafen. Why pcm #2 i have no clue, but you could end up making another pcm file with the same properties on accident, so something to look out for.

I'm doing all my testing on a US model 2 Saturn (booting w/ Pseudo Saturn). I'm currently comparing PCM files in a hex editor to see if there's any kind of header/tag that might indicate file properties, but I haven't noticed anything so far, and I'm thinking maybe that's why these are imported into something like audacity as 'raw'.
 
The saturn files are raw, no headers, just raw audio samples.

I have some messy notes on the script commands that ill clean up at some point. Basically you can play 2 files back to back if you want it to be preceieved that you have a longer clip. The JP saturn uses this trick with PCM 63 and 62 at the beginning.
 
Honestly I don't think it's worth working with those clips. The intro scene isn't the only area where Working Designs made the clip significantly longer. There's a few other spots such as Ghaleon's death and what not where Working designs took a clip that was only say 20-30 seconds in the JP version and made it a whopping 1:05 or something if I remember correctly. That one is over 1MB in size and just wont fit, and there's not another existing file to split it into so you'd have to try and hack something in.

The XSeed dub's files are about the same length and file size as the original JP Saturn files so they all should just fit and work for the most part. The ones that are bigger will still fit into the buffer size if I remember correctly, they just wont work for just dropping it in with something like CDMage. There's also the fact that I'm using XSeed's dub in the FMVs since their dub matches the Japanese animation, unlike Working Design's dub which actually edited the animation to fit their dub. So there's also that aspect that works in the XSeed dubs favor along with the fact it's just easier to work with.

The converted XSeed clips can be found here: Translating Lunar Silver Star Story
 
Last edited:
Honestly I don't think it's worth working with those clips. The intro scene isn't the only area where Working Designs made the clip significantly longer. There's a few other spots such as Ghaleon's death and what not where Working designs took a clip that was only say 20-30 seconds in the JP version and made it a whopping 1:05 or something if I remember correctly. That one is over 1MB in size and just wont fit, and there's not another existing file to split it into so you'd have to try and hack something in.

The XSeed dub's files are about the same length and file size as the original JP Saturn files so they all should just fit and work for the most part. The ones that are bigger will still fit into the buffer size if I remember correctly, they just wont work for just dropping it in with something like CDMage. There's also the fact that I'm using XSeed's dub in the FMVs since their dub matches the Japanese animation, unlike Working Design's dub which actually edited the animation to fit their dub. So there's also that aspect that works in the XSeed dubs favor along with the fact it's just easier to work with.

The converted XSeed clips can be found here: Translating Lunar Silver Star Story

I can understand that; A part of me wants to pull out my G4 and try and do some encoding, but another part of me knows how time consuming it's gonna be just to get started haha (although that doesn't mean I won't try and play with it at some time). On my current setup it'd probably be easier since I do some other video editing with it anyway, but I think an earlier post mentioned that you need a legacy setup (but otherwise it's not too difficult to extend footage via loops).

I do really like the idea of importing as many WD aspects as possible into this release, seeing as how they promised it for so long only to have to reneg, but again I appreciate that the Xseed version is more of a fitted glove for the project.
 
The big issue you will likely run into if you go down that path is running out of space on the CD. Saturn specs claim the most the saturn can read is 63 minutes (about 566MB of data). I dont know if larger cds work or not, or if there are compatibility issues between Saturns even if they do (no saturn retail game was made to exceed 63 minutes). Assuming you're stuck at 566MB -- The PCM data is raw and uncompressed, so thats going to take a bit of space. By editing the script you can squeeze in an additional 20 or so PCM files for longer audio segments. (01-99 are already taken, but files A0 to A9 and B0 to B9 are possible due to the way the filename is calculated based on script inputs). Then you will need to basically keep playing with the cinepak compression settings until you make some sort of compromise to fit within the space thats left. You might want to play with the cinepak encoding for now on the mac, figure out if its worth the hassle (its annoying), then wait for our final release to make your changes.
 
I don't know if 566MB is correct. I think I remember reading that 650MB is the max. DragonForce is the largest I know of and it comes in at 634MB. Sakura Wars Disc 1 is 611MB, Grandia Disc 1 is 591MB, etc.
 
Back
Top