News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: Sega Saturn Castlevania Symphony of th Night Translation.  (Read 73762 times)

TrekkiesUnite118

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #80 on: June 09, 2020, 11:56:46 am »
Let me talk about the key points of the ss version hack
1 Speed up menu opening
2 The speed of looking at the map is increased, and shortcut keys are added
3 Use the portal or go to the library to speed up (no need to read files)
4 Game over read speed up (only need to re-read the stage file)
5 game over, restart the game and the reading speed is accelerated (only need to re-read the level file)
6 After a soft reset ((a+b+c+start)*1 or *2), restarting the game will speed up the reading (only need to re-read the level file)

Right, while those are nice, people need to realize this isn't going to fix any of the slowdown issues in the game. There's videos circulating of people showing this running at at constant 60fps and people need to be aware that those are emulated. On real hardware this hack still slows down to a crawl at about the same points as the original disc.

7 Character fluency (the original game uses lzss to compress every action frame, and lzss needs to be initialized before starting to decompress, and the hack version directly uses the original data to speed up the reading speed)

Compression itself isn't bad, but decompressing every frame on the fly is just dumb if that's what the game is actually doing. That said, I didn't really see any changes or improvements in performance on real hardware using this hack.

btw, the way ss is read in this game is not the same as ps. ps is read in a room, and ss is read in the entire stage, and it is read at a time, so it is slower than ps
The hacked version of the ss only compresses the stage file and does not put it in the accelerator card (4m is too small), so the reading speed is only slightly improved, or it is not as good as the ps version.

The loading speed going between areas was worse in the hacked version though. And are you entirely sure that's how the PS1 version works? Because then that begs the question of why there's loading corridors between areas. From what I've seen the main issue is that the Saturn version doesn't really use the loading corridors to start pre-loading the next area like the PS1 version does.

Because the file is compressed, although it becomes smaller, it needs to be decompressed, but the ss cpu is too slow, so the decompression process is 2 seconds slower than the CD reading

Then that's a bad form of compression then. A lot of Saturn games use compression to speed up loading. Grandia for example uses multiple forms of compression extensively and it loads significantly faster than Symphony of the Night while streaming ADX audio off the disc at the same time.

GhaleonUnlimited

  • Jr. Member
  • **
  • Posts: 37
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #81 on: June 09, 2020, 12:07:48 pm »
I just finished playing through it (real hardware), and the menu load time improvement alone makes this worth playing.

The load to a new area is still worse than PSX, but it's not long enough to keep you from playing the game, IMO. And how often do you switch areas?

The only times where I really hated the slowdown was in the couple rooms where there's like 20 sprites on the screen at once.

This is all obviously subjective.

If you can read kana, and have played through SOTN before, that's enough for me to make this my preferred version, despite its flaws (although the new areas are pretty short).

I'm curious about translating this to EN, but I looked at the files and have no idea what I'm doing. If someone can figure things out from the programming angle, I can get the writing/editing done.

The fact that this guy has figured out how to add any functionary to Saturn games using the cart is pretty amazing IMO and hopefully we'll see more use of it.

TrekkiesUnite118

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #82 on: June 09, 2020, 12:14:49 pm »
The fact that this guy has figured out how to add any functionary to Saturn games using the cart is pretty amazing IMO and hopefully we'll see more use of it.

Right and I'm not trying to bash that. There's just a lot of misinformation floating around about this hack that I think needs to be cleared up.

paul_met

  • Full Member
  • ***
  • Posts: 219
    • View Profile
    • Meduza Team
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #83 on: June 09, 2020, 05:23:16 pm »
Because the file is compressed, although it becomes smaller, it needs to be decompressed, but the ss cpu is too slow, so the decompression process is 2 seconds slower than the CD reading
If this were the case, then why would the game developers need to compress data? I found the data decompression procedure and it's pretty simple. To finally make sure whether the decompression process is a bottleneck in performance, you can just completely abandon it. But in this case, you will need to unpack all the files, which is a problem, since the addresses of compressed blocks and their size are scattered across different files and have a different format (somewhere the addresses of blocks follow each other, and somewhere they are mixed with the size of blocks).

kof888

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #84 on: June 09, 2020, 10:53:59 pm »
Right, while those are nice, people need to realize this isn't going to fix any of the slowdown issues in the game. There's videos circulating of people showing this running at at constant 60fps and people need to be aware that those are emulated. On real hardware this hack still slows down to a crawl at about the same points as the original disc.

Compression itself isn't bad, but decompressing every frame on the fly is just dumb if that's what the game is actually doing. That said, I didn't really see any changes or improvements in performance on real hardware using this hack.

The loading speed going between areas was worse in the hacked version though. And are you entirely sure that's how the PS1 version works? Because then that begs the question of why there's loading corridors between areas. From what I've seen the main issue is that the Saturn version doesn't really use the loading corridors to start pre-loading the next area like the PS1 version does.

Then that's a bad form of compression then. A lot of Saturn games use compression to speed up loading. Grandia for example uses multiple forms of compression extensively and it loads significantly faster than Symphony of the Night while streaming ADX audio off the disc at the same time.

No, it’s not like that, there is no result without comparison
Grandia, all you see is the result of decompression, but reading the file directly without compression will be faster


If this were the case, then why would the game developers need to compress data? I found the data decompression procedure and it's pretty simple. To finally make sure whether the decompression process is a bottleneck in performance, you can just completely abandon it. But in this case, you will need to unpack all the files, which is a problem, since the addresses of compressed blocks and their size are scattered across different files and have a different format (somewhere the addresses of blocks follow each other, and somewhere they are mixed with the size of blocks).

Because the ss memory space is gone, there is no extra memory space to put the decompressed data, so it can only be compressed, and it is decompressed when used

BTW, Before unzipping, the entire area stage .map .chr .prg .ptn file has been copied to memory

pirate_sephiroth

  • Jr. Member
  • **
  • Posts: 15
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #85 on: June 10, 2020, 03:10:18 am »
If this were the case, then why would the game developers need to compress data? I found the data decompression procedure and it's pretty simple. To finally make sure whether the decompression process is a bottleneck in performance, you can just completely abandon it. But in this case, you will need to unpack all the files, which is a problem, since the addresses of compressed blocks and their size are scattered across different files and have a different format (somewhere the addresses of blocks follow each other, and somewhere they are mixed with the size of blocks).
Yep, the decompression code is simple and the sprites are small. Plus even though it runs EVERY frame, it's only used for the playable character and their graphics that are needed at that specific frame. Enemies and NPCs are stored raw.
I'm sure it has very little to no impact on performance.

TrekkiesUnite118

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #86 on: June 10, 2020, 10:02:51 am »
No, it’s not like that, there is no result without comparison
Grandia, all you see is the result of decompression, but reading the file directly without compression will be faster

Not necessarily, if the time to decompress + load your compressed file overall comes out faster than it takes to read all the data uncompressed off the disc I'd say the compression is helping to reduce load times.

When Grandia loads in a battle, it loads in an entirely new executable, the BBG file, the character and enemy sprites, text info, etc. Of this, the Battle Background Graphics, HUD Graphics, and much of the Sprites are compressed. The HUD Graphics are decompressed on the fly. The Background and Compressed Sprites are decompressed during the load sequence as far as I can tell. Looking at SotN's data, it looks like Grandia is loading in a similar amount if not a little more data when it goes to do this. And again a good chunk of that data is compressed. And as you can see, the battles load in very quickly:

https://www.youtube.com/watch?v=eHAsiNm4dts

The Field portion behaves in a similar fashion in Grandia. Going from say Parm into a House loads in an entirely new area. This loads in a new MDT file which is what stores basically everything that defines an area including it's script. Much of the graphical data in these files is compressed, and again it loads and decompresses it quickly while continuing to stream and decompress ADX audio from the disc uninterrupted.

So with Grandia we're not seeing only the result of decompression. We're seeing loading + decompression in many cases.

Back to SotN, I don't think the Saturn is really too slow to decompress data in a situation like this. I don't think it's enough to explain an entire 7-10 second load time. I'm guessing it's a combination of KCEN not doing things properly like using the loading hallways to pre-load data, not organizing the disc in a fashion that optimizes load times, etc.

paul_met

  • Full Member
  • ***
  • Posts: 219
    • View Profile
    • Meduza Team
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #87 on: June 10, 2020, 02:20:19 pm »
Because the ss memory space is gone, there is no extra memory space to put the decompressed data, so it can only be compressed, and it is decompressed when used
BTW, Before unzipping, the entire area stage .map .chr .prg .ptn file has been copied to memory
It sounds strange. PS1 has the same amount of RAM as Saturn. The first one has enough space to load the entire level without using data compression (the exception is the textures of save, teleport and load rooms).

TrekkiesUnite118

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #88 on: June 11, 2020, 12:37:35 am »
It sounds strange. PS1 has the same amount of RAM as Saturn. The first one has enough space to load the entire level without using data compression (the exception is the textures of save, teleport and load rooms).

Comparing the discs, it looks like on PS1 things are neatly organized into directories, with all the files for an area in one folder for that area. Music is stored in one giant STR file, etc. On Saturn just about everything is hastily thrown into the root directory. Then the audio data is stored as separate files in another directory called SD. This has the ADPCM files but also .CRT files which I'm guessing correspond to the Audio header and data files that are in the area directories on the PS1. So on Saturn the game has to search through all these files in the root directory to find what it needs, then jump to a different directory and search through it for the files it needs there. So the game ends up loading about 3-4 files in one common directory on PS1, while on Saturn it has to load about 4-5 spread across multiple directories. On top of that, it looks like the Saturn files might be a tad larger.

So that's probably why the load times are so bad. Especially if it doesn't really use the loading hallways to pre-load data which seems to be the case.

kof888

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #89 on: June 12, 2020, 09:56:28 am »
Not necessarily, if the time to decompress + load your compressed file overall comes out faster than it takes to read all the data uncompressed off the disc I'd say the compression is helping to reduce load times.

When Grandia loads in a battle, it loads in an entirely new executable, the BBG file, the character and enemy sprites, text info, etc. Of this, the Battle Background Graphics, HUD Graphics, and much of the Sprites are compressed. The HUD Graphics are decompressed on the fly. The Background and Compressed Sprites are decompressed during the load sequence as far as I can tell. Looking at SotN's data, it looks like Grandia is loading in a similar amount if not a little more data when it goes to do this. And again a good chunk of that data is compressed. And as you can see, the battles load in very quickly:

https://www.youtube.com/watch?v=eHAsiNm4dts

The Field portion behaves in a similar fashion in Grandia. Going from say Parm into a House loads in an entirely new area. This loads in a new MDT file which is what stores basically everything that defines an area including it's script. Much of the graphical data in these files is compressed, and again it loads and decompresses it quickly while continuing to stream and decompress ADX audio from the disc uninterrupted.

So with Grandia we're not seeing only the result of decompression. We're seeing loading + decompression in many cases.

Back to SotN, I don't think the Saturn is really too slow to decompress data in a situation like this. I don't think it's enough to explain an entire 7-10 second load time. I'm guessing it's a combination of KCEN not doing things properly like using the loading hallways to pre-load data, not organizing the disc in a fashion that optimizes load times, etc.

My yabause simulator simulates that this game is not normal and is not convenient for debugging. You can say a few more games that will be decompressed in the game. We can test whether the optical drive reads 200kb of data and the optical drive reads 100kb of compressed data. Unzip with cpu and see which one is faster

btw, SotN not only read the data but also decompress the map file several times



Comparing the discs, it looks like on PS1 things are neatly organized into directories, with all the files for an area in one folder for that area. Music is stored in one giant STR file, etc. On Saturn just about everything is hastily thrown into the root directory. Then the audio data is stored as separate files in another directory called SD. This has the ADPCM files but also .CRT files which I'm guessing correspond to the Audio header and data files that are in the area directories on the PS1. So on Saturn the game has to search through all these files in the root directory to find what it needs, then jump to a different directory and search through it for the files it needs there. So the game ends up loading about 3-4 files in one common directory on PS1, while on Saturn it has to load about 4-5 spread across multiple directories. On top of that, it looks like the Saturn files might be a tad larger.

So that's probably why the load times are so bad. Especially if it doesn't really use the loading hallways to pre-load data which seems to be the case.

Although I have not debugged the ps version, I have played the ps version many times before. After the ps version passes through the area, not all the files of the entire stage level are read into the memory. It seems that it should be read in stages. You are interested. You can debug the ps version and see if it is all loaded into the entire stage level file at once

btw: The ss version of the file is sorted by sort

TrekkiesUnite118

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #90 on: June 13, 2020, 12:19:39 am »
My yabause simulator simulates that this game is not normal and is not convenient for debugging. You can say a few more games that will be decompressed in the game. We can test whether the optical drive reads 200kb of data and the optical drive reads 100kb of compressed data. Unzip with cpu and see which one is faster

btw, SotN not only read the data but also decompress the map file several times

Again, I don't think any decompression is really the issue here. Not enough to explain a ~9 second load time. If the decompression was truly whats taking so long, then we should see improved load times in emulators that run too fast like Mednafen. In these emulators the game exhibits no slowdown as the emulators run faster than the real hardware. So if it's truly a CPU issue accounting for these long load times, we should see an improvement here. But we see no improvement in these emulators when it comes to loading.

The one thing these emulators do emulate somewhat properly when it comes to speed is the disc drive speed, because if they didn't you'd have some terrible issues with games that stream data off the disc and expect it to come at a certain rate.

Although I have not debugged the ps version, I have played the ps version many times before. After the ps version passes through the area, not all the files of the entire stage level are read into the memory. It seems that it should be read in stages. You are interested. You can debug the ps version and see if it is all loaded into the entire stage level file at once

The file sizes for the areas aren't that big in either version. Were looking at maybe 400-600KB max from what I'm seeing. Both systems have 2MB of RAM and 2x Speed disc drives that can read ~300KB/s. So loading that data in should only take 2-3 seconds once the laser gets to that part of the disc. Which is about what we see on PS1 when you reach the end of the hallway. It actually looks like the PS1 isn't doing any preloading watching the Memory viewer in Mednafen. Data doesn't start to load in until you reach the end of the hallway and try to exit out the door, where the game will pause for 2-3 seconds.

And looking at memory dumps of the PS1 version, all the files for that area are loaded in. For example if I open up the up a Main RAM dump from when I enter the Alchemy Lab in a hex editor and also open up NZ0.BIN (Alchemy Lab) I can see the entire file is loaded in at offset 0x180000. F_NZ0.bin is loaded into VRAM, not in one big continuous go, but it's broken up and loaded into different spots, which makes sense since that's the tile data.

btw: The ss version of the file is sorted by sort

Yes they're sorted alphabetically, but they're all in a root directory, and other files it needs are in other directories. So the game has to traverse large directories and go looking for things in different parts of the disc. When it comes to load times the thing that causes it to take longer isn't just reading the data, it's the time it takes for the drive to seek to the right part of the disc.

kof888

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #91 on: June 13, 2020, 10:06:57 am »
Again, I don't think any decompression is really the issue here. Not enough to explain a ~9 second load time. If the decompression was truly whats taking so long, then we should see improved load times in emulators that run too fast like Mednafen. In these emulators the game exhibits no slowdown as the emulators run faster than the real hardware. So if it's truly a CPU issue accounting for these long load times, we should see an improvement here. But we see no improvement in these emulators when it comes to loading.

I have tested on real hosts and emu, without compressing the stage file, it can reduce the waiting time of about 2 seconds (4MB RAM cart hack version)

I haven’t seen the ps version yet. If I’m free, I’ll check it out.

TrekkiesUnite118

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #92 on: June 14, 2020, 12:14:16 pm »
I have tested on real hosts and emu, without compressing the stage file, it can reduce the waiting time of about 2 seconds (4MB RAM cart hack version)

I haven’t seen the ps version yet. If I’m free, I’ll check it out.

Are you referring to compression that was done in the original game or for the 4MB RAM cart hack? Because the 4MB RAM cart hack takes about 2 seconds longer to load than the original. So if your change to that made it take 2 seconds less to load then that just means you're back to matching the original versions load times.

Again, I don't think compression is the issue here. Talking with people over at SegaXtreme it's looking more likely that KCEN used SGL's CD libraries instead of the older but better ones from SBL. SGL's CD libraries for some odd reason are very slow. Where as SBLs are a little more tricky to use, but when used properly they can load data very quickly.

kof888

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #93 on: June 28, 2020, 08:31:43 am »
Are you referring to compression that was done in the original game or for the 4MB RAM cart hack? Because the 4MB RAM cart hack takes about 2 seconds longer to load than the original. So if your change to that made it take 2 seconds less to load then that just means you're back to matching the original versions load times.

Again, I don't think compression is the issue here. Talking with people over at SegaXtreme it's looking more likely that KCEN used SGL's CD libraries instead of the older but better ones from SBL. SGL's CD libraries for some odd reason are very slow. Where as SBLs are a little more tricky to use, but when used properly they can load data very quickly.

I recently did an experiment
Skip the prompt image of NOWLOADING
You can see that it will be about a second faster
The video below is a picture of nowloading
https://www.bilibili.com/video/BV1oZ4y1M7Y5/
Reading time is about 4.70 seconds

The video below is a picture without nowloading
https://www.bilibili.com/video/BV12C4y187YP/
Reading time is about 3.70 seconds





The video below is a picture of nowloading
https://www.bilibili.com/video/BV1tf4y117ju/
Reading time is about 4.40 seconds


The video below is a picture without nowloading
https://www.bilibili.com/video/BV1H54y1z7Bv/
Reading time is about 3.40 seconds



btw: The method of reading the ss switching area is indeed very cumbersome. I tried to change it, which is about 0.5~1 second faster :( (the above videos have been modified)

zarkon

  • Jr. Member
  • **
  • Posts: 7
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #94 on: July 01, 2020, 08:10:50 am »
I have a fondness for the Saturn version of Symphony due to the unique "Maria Mode" it has, which is totally different (and better imo) to the PSP version.  It's a lot of fun, so I love that there's people working on stuff for this weird game.

I hope some day that Aterburst's ongoing translation, Paul_Met's dialogue translucency and kof888's fast menu work can all be combined into a single patch.  Though I'm not sure if Paul's work was just proof of concept or not.

Aterbust

  • Jr. Member
  • **
  • Posts: 9
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #95 on: July 03, 2020, 08:30:23 am »
Hello everyone, thank you for your messages of encouragement. I'm still working on translation. Thanks to the help of draculax350 the translation is well advanced. There is still more to do, it is essentially research for modify the size of some window in the System menu and to successfully modify the compressed images.

MathUser2929

  • Hero Member
  • *****
  • Posts: 1608
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #96 on: July 03, 2020, 01:43:54 pm »
I hope you get this finished. I would love to play a english version of this game.

draculax350

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #97 on: July 05, 2020, 07:04:21 pm »
I need help with Nocturne in the moonlight compression, I'm sent a sample of compression method, if someone can help with a tool, so we can translate the menu and logo to eng, pt-br and spa...

The 4mb patch uses the same compression method.




https://mega.nz/file/DEknAZIZ#hG2pxYB6fxgNkhHEqH89DfNC6oi_49CfSeOARWBuMDI

TrekkiesUnite118

  • Jr. Member
  • **
  • Posts: 55
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #98 on: July 07, 2020, 07:12:33 pm »
I need help with Nocturne in the moonlight compression, I'm sent a sample of compression method, if someone can help with a tool, so we can translate the menu and logo to eng, pt-br and spa...

The 4mb patch uses the same compression method.




https://mega.nz/file/DEknAZIZ#hG2pxYB6fxgNkhHEqH89DfNC6oi_49CfSeOARWBuMDI

Have you tried any of the common Saturn compression formats like PRS and Sega's RLE based scheme the CMP library did? From what I can tell it looks like KCEN stuck pretty closely to the tools and libraries Sega provided with Saturn devkits.

draculax350

  • Jr. Member
  • **
  • Posts: 8
    • View Profile
Re: Sega Saturn Castlevania Symphony of th Night Translation.
« Reply #99 on: July 07, 2020, 07:57:14 pm »
Have you tried any of the common Saturn compression formats like PRS and Sega's RLE based scheme the CMP library did? From what I can tell it looks like KCEN stuck pretty closely to the tools and libraries Sega provided with Saturn devkits.
Yes, the most similar compression is the lzkn2 of genesis mega drive.