Master System 2 Asterix translation text problems

Started by Kyoichi, April 02, 2021, 11:04:47 AM

Previous topic - Next topic

Kyoichi

Hi, I'm working on the translation of the Asterix game into Spanish (Master System).
I have been able to translate the introduction quite simply, as you can see in this image:



But when I continue with the translation I have encountered the following problem, I find the text, but in a different way than the previously translated text, look at this image:



But when I try to change the letter A for R, all the A's of this piece become R, and I don't understand why:



Does anyone know what could be the reason?

Thanks

wave

The main text in 'Asterix' and 'Asterix and the Secret Mission' SMS games is compressed you can't change them unless somebody makes a uncompressor/compressor.


FAST6191

Have you tried figuring out the compression in use?

Generally speaking most compression amounts to "go back here and grab this many bytes" (the other, though still noted in games for many things, is substitute this long section for a smaller one and replace at runtime). https://ece.uwaterloo.ca/~ece611/LempelZiv.pdf I usually use as an intro to such things.

Anyway if you changed something earlier in the file the later parts of the file that reference it will dutifully go back and copy it in regardless of what it is and then you have your problem you have in the pictures.

I am not particularly familiar with master system compression routines, though it is a weaker system so probably more limited than later stuff. Which is to say I would look first at RLE rather than something fun like LZSS.

Your choices then are
1) Figure out the compression and play to it. Many ROM hackers before you have gone there, it is tedious but if it is the thing that needs doing... Bonus is you have either the game or in some cases system (I don't think the SMS BIOS has decompression routines like some later devices but this is why we have documents detailing hardware functionality) providing an example of how everything gets decompressed if you want it.
or
2) decompress it, find space in the ROM*, and get the game to read plain text or faked compression instead. Faked compression is simply that as well as "go back here and read this much data" then you also have "nothing to see here, move to next section", if all your text instead of trying to compress has "nothing to see here, go to next section" flags interspersed in all the right locations (far easier to make a program slice up a file every few bytes and insert it, can probably even do it with a batch file and a program to slice a file up at a given location if you really wanted). Faked compression is crude but usually easier than changing a game's read commands to just go grab the raw data rather than use the decompression. I doubt there will be an "is compressed" flag like we see on later systems sometimes for some things but you might be lucky.


*if you were a game company cranking out a niche comic tie in game (Asterix was slightly more popular outside the French speaking world at that point in time but not enough that you can spend that big RPG money on cartridges when you did not have to) then you paid by the kilobit for ROM chips. Today the dedication in the readme to your dead goldfish probably takes up more bandwidth, whether that translates to ease of expansion in a game is a different matter. I am not so familiar with how the SMS rolls here and being 3am as I write this I am not up for a crash course in whatever passes for mappers, mbcs, cartridge formats, bankswitching and the like for the master system.