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

Author Topic: From your experience - What were the hurdles when translating Sega Saturn Games?  (Read 1669 times)

Kallisto

  • Hero Member
  • *****
  • Posts: 506
    • View Profile
My understanding that Sega Saturn was the nightmare of most Translators. What were the hurdles that had to be overcome to deal with the complicated architecture?

Also what can be done in the future to allow a easier time for people who want to do something like this? Do we need a new standard of a program to allow better editing?

Gemini

  • Hero Member
  • *****
  • Posts: 2026
  • 時を越えよう、そして彼女の元に戻ろう
    • View Profile
    • Apple of Eden
Hardware complexity has zero relevance to be honest. Most Saturn games aren't exactly that hard to hack. For example, it took me like 2 days to extract all backgrounds data and models from Deep Fear, even without a debugger. Of course, the lack of debug tools is a huge step back when you need to change code around, which would be an actual issue (shared among many systems anyways).
I am the lord, you all know my name, now. I got it all: cash, money, and fame.

FAST6191

  • Hero Member
  • *****
  • Posts: 3134
    • View Profile
I have done a bit more since this last came up ( http://www.romhacking.net/forum/index.php/topic,18335.msg263454.html#msg263454 ) but not an awful lot.

But yeah the architecture means there are not many emulators that are nice to play with and most of those do not have debuggers of the calibre that many see on other systems. At the same time is complex enough and obscure enough that few will know much compared to the ARM, z80/8080, 68K, mips, 6502 and whatever else we see in most other consoles that are common as dirt or old enough and once popular enough to be taught as examples of the assembly/embedded hardware world. A lot of the mystique/fear/perception is a bit of a legacy one as well -- time was NES mapper changing was god tier hacker territory but today it is not so much, the Saturn is not some crazy polymorphous code using software redefining the hardware system, just... big, not the most flexible (though once you know it that helps as you can narrow down what you watch) and with more you would really want to know before properly dipping a to into it. I don't doubt many here would be able to learn it readily enough but whether there are those lurking here, on Saturn boards, on yabuse boards or similar that know the instructions and quirks in their walking around knowledge rather than 3 hours study with docs.

That means if you have to step beyond basic filesystem based translation efforts (as Gemini said it is files and thus fairly obvious if you have a basic idea of how file formats and general ROM hacking concepts usually play out) and fiddle with font or text handling code you are not the best equipped and there are likely not many that will be able to help you. The hardware itself does not help -- in other systems most graphics handling is does it match the format the hardware uses, did you have enough space and did you use the right copy command? There are occasionally some trifling basics like registered that would mirror and handle alpha but compared to the Saturn... well you can read http://wiki.yabause.org/index.php5?title=VDP1 It is usually described along the lines of what would have been a fairly comprehensive 2d system with mid 90s 3d hastily bolted on late in development.

Basic translation standard tools are more or less fine, I have some issues with some of the pointer handling programs when it comes to newer systems but it is nothing that most would not expect to have to manually sort anyway and it is not terribly hard.

Future would be hackers. Better emulators if people are inclined towards that, better understanding of any common file formats or traits within them. It is old enough, and supposedly the SDK wonky enough, that many devs would roll their own stuff from the ground up compared to what we saw on the DS and Wii and such with lots of useful formats provided by the console makers, or common PC/high level formats used in the end product.