News:

11 March 2016 - Forum Rules

Main Menu

How to uncompress an NES Rom

Started by Century-Coloured Zeta, August 20, 2019, 03:17:47 AM

Previous topic - Next topic

Century-Coloured Zeta

Hi. I'm a romhacking newbie and I wanted to start trying to make table files to train because I want to start translating Japanese games to English. So I wanted to use monkey moore with the original Legend of Zelda (USA ver.) to make a table file (just to see how it works). I can't though because the ROM needs to be uncompressed so that monkey moore can find the words I'm searching for. How do I uncompress a NES game?

KingMike

Assuming you have unzipped the ROM, there's nothing left to decompress. :P

Zelda's text is stored pretty normally for ROMs (that is, it's not ASCII), with the only exception being that the last character of each line has extra bits set to indicate if a newline or end of message should follow. (that is, it will be the normal character + 0x40 for a newline or + 0x80 (I think) for an end marker.)
"My watch says 30 chickens" Google, 2018

FAST6191

If you are thinking like DS ROMs where you explode the ROM into its component files then that was a concept not really seen in commercial games before the DS outside of things that used floppy discs or optical media. In the case of the NES this does mean the Famicom disc system (FDS) stuff has some stuff here but the ROM chip based stuff for the NES would use what would otherwise be known as the incbin (included in binary) method where it is all smooshed together.

Individual aspects of a ROM might be compressed but, as mentioned, if it is already not in your ROM site's archive format of choice then it is good to play with.


Looking at http://datacrystal.romhacking.net/wiki/The_Legend_of_Zelda:TBL and http://datacrystal.romhacking.net/wiki/The_Legend_of_Zelda:ROM_map (I am assuming it would have mentioned section level compression in the unlikely event it used it) you should have been able to find something though -- that table might well be the best general case example of a relative table I have ever seen.

Century-Coloured Zeta

Alright Fast I'll check out your links