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

Author Topic: For the life of me I cannot figure out how to script dump  (Read 6711 times)

Jorpho

  • Hero Member
  • *****
  • Posts: 4670
  • The cat screams with the voice of a man.
    • View Profile
Re: For the life of me I cannot figure out how to script dump
« Reply #20 on: January 25, 2015, 09:30:26 pm »
The part of script dumping that's always confused me is that we often talk about it as if it's some sort of automated process
Actually, I was not aware people spoke of it in that manner.

Quote
or is "dumping" for many 8-bit games really...less systematic and automatic than that term makes it sound?
Anything can be made systematic and automatic if you're willing to go to excruciating lengths to code a custom tool, I reckon.
This signature is an illusion and is a trap devised by Satan. Go ahead dauntlessly! Make rapid progres!

henke37

  • Hero Member
  • *****
  • Posts: 643
    • View Profile
Re: For the life of me I cannot figure out how to script dump
« Reply #21 on: January 26, 2015, 01:42:24 am »
The problem is that games didn't have standard text rendering engines to use. They all had to do their own. And many still do in this age and day.

The end result is that it's a pain to find every instance of text being rendered. Each renderer can use its own character set. And there is no rule against a game using more than one renderer.

BlackDog61

  • Hero Member
  • *****
  • Posts: 784
    • View Profile
    • Super Robot Wars A Portable translation thread
Re: For the life of me I cannot figure out how to script dump
« Reply #22 on: January 26, 2015, 03:51:52 pm »
I recall someone like Kingcom saying that the GBA SRW games use some kind of dictionary compression. This makes building a table more complicated when the script is partly compressed.
SRW A doesn't, but I cannot speak for others.

And if you've got Shift-JIS stored in plain sight, sure, I can imagine how a program can automatically find all occurences of Shift-JIS and the boundaries of each chunk that has them. As a Mac user, SJIS Dump isn't an option, so I just use a hex editor and a Shift-JIS chart, and have found a couple scripts that way.

But in ROMs for older (8-bit) systems it seems like text can be just about anywhere in the ROM, especially if there isn't much text at all (as with arcade-style games) and it's stored as single-byte references to tile blocks that may only be used in one or two screens each. In the games I've worked on it's been a painstaking process of tracking down one or two strings at a time -- nothing I could automate, even if I knew how. I have no trouble finding text I already know exists, but I have no idea how I'd go about finding text I don't know about.

Is there some clever way to deal with this, or is "dumping" for many 8-bit games really...less systematic and automatic than that term makes it sound?
Others will have better ways, but...
Once you have a table (which is manual work indeed) then you could do the same as sjis dump with that table. (sjis dump offers code with its exe, by the way, so recompiling on Mac or changing it to use tables with Klarth's tablelib should be easy.)
Of course you can improve by (manually) looking for a pointer and dump a pointers table. I should solve part of the need.
Or you can also enter a pointer format, and have a program check if the "candidate" pointer it finds points to something that has at leas X characters from the table you made.
Too many possibilities, not enough time. ;)
Of course none of that is perfect. But it helps.
« Last Edit: January 26, 2015, 03:58:32 pm by BlackDog61 »

shadowdorothy

  • Jr. Member
  • **
  • Posts: 29
    • View Profile
Re: For the life of me I cannot figure out how to script dump
« Reply #23 on: January 27, 2015, 02:26:09 am »
I think I'm finally getting an idea of how script dumping works. And I sincerely hope I can figure it out. I'll try longer words in monkey moore to narrow down my results. But how do I make an English character table if all values I search in the rom still come up with 41=A 42=B and so on?

Seihen

  • Sr. Member
  • ****
  • Posts: 404
    • View Profile
Re: For the life of me I cannot figure out how to script dump
« Reply #24 on: January 27, 2015, 05:00:53 am »
I think I'm finally getting an idea of how script dumping works. And I sincerely hope I can figure it out. I'll try longer words in monkey moore to narrow down my results. But how do I make an English character table if all values I search in the rom still come up with 41=A 42=B and so on?

I hate to be rude, but I think you're misunderstanding. What you're reading is hex values that end up reading as A, B, etc. and have nothing to do with the script itself. Using critical thinking skills, it's important to consider that a Japanese GBA game would not, for any logical reason, contain the roman alphabet spread through it in no readable manner (random letters) in the data. What you need to find is what the game uses to mean A and B. NOT what you're seeing in the hex editor.

I cannot stress enough that the letter matching you are seeing in the text editor is almost definitively not the character table.

shadowdorothy

  • Jr. Member
  • **
  • Posts: 29
    • View Profile
Re: For the life of me I cannot figure out how to script dump
« Reply #25 on: January 27, 2015, 05:41:43 am »
I guess I didn't explain that well enough. I used monkey moore to do a relative search for the English characters. One of the robots in SRWD is called THEビグオー. And a pilot in the games says "Yeah yeah" in English when dodging attacks. I used monkey moore, with wild card enabled, and looked up both of these, and the results where 41=A 42=B and so on.

At this point I'm not using a hex editor to find values, I'm using a relative search application, but I'm getting results back that look like typical ASCII values. When I search strings in Japanese I got at least get 20 results back, some similar and some different. This isn't happening when I try to search for English strings.

Seihen

  • Sr. Member
  • ****
  • Posts: 404
    • View Profile
Re: For the life of me I cannot figure out how to script dump
« Reply #26 on: January 27, 2015, 07:07:34 am »
If that's the case, and assuming that you found T, H, and E correctly, then it should follow logically that the hex values going after THE are for ビ , グ , オ , and ー . Use that as a base to start building your table?