Custom character encoding?

0 votes
asked Aug 30, 2017 in Synalyze It! by gingerbeardman (180 points)

I reverse engineer old video game ROMs. Often they use partial character sets (missing characters that are not used) with strange offsets (often not ASCII mapped)

Anyway, it would be great to be able to specify custom .tbl character encodings. these are just lists of hex & character pairs. It seems you have had some passing interest in this already but I'm not sure you looked into the correct file type? https://www.reddit.com/r/mac/comments/1c4zav/mac_hex_editor_help/

The vintage game data that I'm currently looking at uses a custom character set of 96 characters to allow display of Japanese text: some hiragana 0xB1-0xDF (half-width kana should go here, which is what Hex Fiend shows) and some katakana 0xE0-0xFF, with other supporting characters in 0xA0-0xB0.

an example extract from my .tbl file:

...
B7=き
...
DD=ん
DE=゛
DF=゜
E0=ア
...
F0=フ
...

Ref:
http://www.chmaas.handshake.de/delphi/freeware/xvi32/xviconv.htm

https://forum.mh-nexus.de/viewtopic.php?t=717

1 Answer

0 votes
answered Aug 30, 2017 by andreas (3,300 points)

Since Hexinator and Synalyze it! both use ICU there is a way to integrate custom encodings. ICU should be powerful enough to handle any custom encoding.

Please have a look at https://hexinator.com/faq/ / "How can I integrate custom text encodings".

commented Sep 1, 2017 by gingerbeardman (180 points)
Thanks! I created the .icu file (as best I could) and installed makeconv on macOS using homebrew. Then I generated my .cnv file and copied to the "icudt53l" folder inside the Synalyze app. There might be a better location for the .cnv but this worked for me!
...