Hi there! I recently got an idea for a translation hack of japanese Final Fantasy I, and after looking online for a bit I found that Cartographer and Atlas seem to be the most reccomended tools for script extraction and insertion.
When you download Cartographer it includes some example doccuments ready to be used for extraction on American Final Fantasy I. I had some trouble at first (if you're wondering how I had trouble when all I had to do was download the rom and click on the .bat, that's a great question), but after playing around with the commands I seemed to have the basics down. Feeling a bit emboldened, I decided to see if I could alter the example doccuments and use them to extract the text from the Japanese Final Fantasy, since that was one of the steps for my project. So I changed the tables and the commands doc, and it worked! Except... there's something odd.
I produced two dump files: a raw dump of the game's text, and a pointers dump to be used with Atlas. The pointers dump seems to be a perfect extraction with no issues, and the first lines, for the record, look like this:
//GAME NAME: Final Fantasy 1 (NES)
//BLOCK #001 NAME: Dialogue Block (POINTER_RELATIVE)
//POINTER #0 @ $28010 - STRING #0 @ $28210
#W16($28010)
//そこには なにも ありません。[END]
//POINTER #1 @ $28012 - STRING #1 @ $28220
#W16($28012)
//ひかりのせんしたち‥‥よげんしゃ ルカ―ンの[LINE]
//いったとおりだ。わしの たのみをきいてくれ。[LINE]
//おうじょが ガ―ランドに さらわれたのだ‥‥[LINE]
//たのむ たすけだしてくれ![END]
//POINTER #2 @ $28014 - STRING #2 @ $28273
#W16($28014)
//よくぞ おうじょを たすけだしてくれた。 さあ[LINE]
//この きたに はしを かけよう。わしにできるのは[LINE]
//これくらいのことしかない。 たいりくに わたり[LINE]
//クリスタルの かがやきを とりもどすのだ!![END]
//POINTER #3 @ $28016 - STRING #3 @ $282D3
#W16($28016)
//セ―ラは いつも そなたたちのことを[LINE]
//きにかけている。[END]
//POINTER #4 @ $28018 - STRING #4 @ $282EF
#W16($28018)
//おうじょは おれのものだ! だれにも わたさん![LINE]
//ひかりのせんしだと。こざかしいやつらよ![LINE]
//この ガ―ランドが けちらしてくれよう![END]
The raw dump, however, seems to be missing some random huge chunks of text and seems way messier:
//GAME NAME: Final Fantasy 1 (NES)
//BLOCK #000 NAME: Dialogue Block (RAW)
//Block Range: $28210 - $2B590
//そこには なにも ありません。[END]
と。こざかしいやつらよ![LINE]
//この ガ―ランドが けちらしてくれよう![END]
いどきょうしてるじゃねえか。[LINE]
//やろうども やっちまえ!![END]
めざめになったぞ!![END]
はてて[LINE]
//しまった。たのむ みなみにある ぬまの[LINE]
//どうくつ から クラウンを とってきてくれ。[LINE]
//そうすれば この しろも もとどおりになる‥‥[END]
かやく じゃ。[LINE]
//これで うんが が できるぞ。[LINE]
//さあ しごとに でかけるか![END]
![END]
とける!![LINE]
//さあ おまえたちにも おしえてやろう。[END]
だ![END]
‥‥[LINE]
//おれいに いずみの そこに わく[LINE]
//くうきのみずを くんできましょう![END]
んなの すがたは まぼろしのように きえさった[END]
あ このカヌ―をつかい グルグかざんにゆけ![END]
プさせ かこに よみがえったのだ![END]
このコ―ネリアじょうを[LINE]
//まもるという たいやくを おおせつかって[LINE]
//いますデスッ![END]
かりのせんし‥‥?[LINE]
//あの クリスタルのでんせつの?![END]
My doubt is: why does this happen? For the reccord, the commands file looks like this right now:
#GAME NAME: Final Fantasy 1 (NES)
#BLOCK NAME: Dialogue Block (RAW)
#TYPE: NORMAL
#METHOD: RAW
#SCRIPT START: $28210
#SCRIPT STOP: $2B590
#TABLE: ff1_raw.tbl
#COMMENTS: Yes //start first line with //
#END BLOCK //remainder of comment placement
//is handled by control codes
#BLOCK NAME: Dialogue Block (POINTER_RELATIVE)
#TYPE: NORMAL
#METHOD: POINTER_RELATIVE
#POINTER ENDIAN: LITTLE
#POINTER TABLE START: $28010
#POINTER TABLE STOP: $28210
#POINTER SIZE: $02
#POINTER SPACE: $00
#ATLAS PTRS: Yes
#BASE POINTER: $20010 //add $20010 to each pointer to get
#TABLE: ff1_ptr.tbl //the string address
#COMMENTS: Yes
#END BLOCK
I assume there must be something wrong and I should be able to make it not look messy? Thanks so much in advance, and all help is appreciated.