$07/8EDF FINIS (appears 2x for some reason)
$07/8F6E SLEEP (appears 3x for some reason)
$07/8FEC ROOKS
$07/9020 EFRITE
$07/903A SALAH
$002fc8, $000e bytes
$00310f, $000a bytes
$0032f2, $0020 bytes
I don't know the game or the code base, but from looking at the patch I would roughly guess that the graphics are in bank $00, and if so at addresses no greater than $8000.
The left panel in your screenshot says it's parsing as 4bpp, not 2bpp. But I don't know this program. It could be lying.
Since the Portuguese patch is good, use it to identify which parts of the ROM are relevant and narrow your search to those and vicinity. The first few areas touched by the Portuguese patch are:If I understood you right (I repeat, I have not studied properly programation, just learning by doing) the first lines of the Portuguese IPS (the lines I think are the ones I am looking for) modify Arcana's ROM in spot $002fc8 for 0e (14) bytes; $00310f for 0a (10) bytes; and $0032f2 for 20 (32) bytes, is this right? Sorry if I misunderstood.Code: [Select]$002fc8, $000e bytes
$00310f, $000a bytes
$0032f2, $0020 bytes
00ad14 = font table
80bd21 lda $80ac2b,x [80ac2b] A:0000 X:0000 Y:0000 S:1fed D:1dc6 DB:7e nvmxdIZC V:195 H:1308 F:48
80bd25 sta $00 [001dc6] A:ad14 X:0000 Y:0000 S:1fed D:1dc6 DB:7e NvmxdIzC V:195 H:1356 F:48
00ac34 = width table
80bd27 lda $80ac2d,x [80ac2d] A:ad14 X:0000 Y:0000 S:1fed D:1dc6 DB:7e NvmxdIzC V:196 H: 30 F:48
80bd2b sta $02 [001dc8] A:3400 X:0000 Y:0000 S:1fed D:1dc6 DB:7e nvmxdIzC V:196 H: 78 F:48
80bd2d lda $80ac2f,x [80ac2f] A:3400 X:0000 Y:0000 S:1fed D:1dc6 DB:7e nvmxdIzC V:196 H: 116 F:48
80bd31 sta $04 [001dca] A:00ac X:0000 Y:0000 S:1fed D:1dc6 DB:7e nvmxdIzC V:196 H: 164 F:48
font data
80bd8a lda [$00],y [00ad14] A:0000 X:0000 Y:0000 S:1fed D:1dc6 DB:7e nvmxdIZC V:196 H:1048 F:48
80bd8c and #$f0ff A:0000 X:0000 Y:0000 S:1fed D:1dc6 DB:7e nvmxdIZC V:196 H:1110 F:48
80bd8f sta $7e6800,x [7e6800] A:0000 X:0000 Y:0000 S:1fed D:1dc6 DB:7e nvmxdIZC V:196 H:1134 F:48
80bd93 iny A:0000 X:0000 Y:0000 S:1fed D:1dc6 DB:7e nvmxdIZC V:196 H:1182 F:48
80bd94 inx A:0000 X:0000 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIzC V:196 H:1196 F:48
80bd95 inx A:0000 X:0001 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIzC V:196 H:1210 F:48
80bd96 lda #$0000 A:0000 X:0002 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIzC V:196 H:1224 F:48
80bd99 sta $7e6800,x [7e6802] A:0000 X:0002 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZC V:196 H:1248 F:48
80bd9d inx A:0000 X:0002 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZC V:196 H:1296 F:48
80bd9e lda [$00],y [00ad15] A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIzC V:196 H:1310 F:48
80bda0 xba A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZC V:197 H: 8 F:48
80bda1 asl a A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZC V:197 H: 28 F:48
80bda2 asl a A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZc V:197 H: 42 F:48
80bda3 asl a A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZc V:197 H: 56 F:48
80bda4 asl a A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZc V:197 H: 70 F:48
80bda5 xba A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZc V:197 H: 84 F:48
80bda6 sta $7e6800,x [7e6803] A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZc V:197 H: 104 F:48
80bdaa iny A:0000 X:0003 Y:0001 S:1fed D:1dc6 DB:7e nvmxdIZc V:197 H: 152 F:48
80bdab iny A:0000 X:0003 Y:0002 S:1fed D:1dc6 DB:7e nvmxdIzc V:197 H: 166 F:48
80bdac inx A:0000 X:0003 Y:0003 S:1fed D:1dc6 DB:7e nvmxdIzc V:197 H: 180 F:48
80bdad inx A:0000 X:0004 Y:0003 S:1fed D:1dc6 DB:7e nvmxdIzc V:197 H: 194 F:48
80bdae lda #$0000 A:0000 X:0005 Y:0003 S:1fed D:1dc6 DB:7e nvmxdIzc V:197 H: 208 F:48
80bdb1 sta $7e6800,x [7e6805] A:0000 X:0005 Y:0003 S:1fed D:1dc6 DB:7e nvmxdIZc V:197 H: 232 F:48
80bdb5 inx A:0000 X:0005 Y:0003 S:1fed D:1dc6 DB:7e nvmxdIZc V:197 H: 280 F:48
80bdb6 cpx $08 [001dce] A:0000 X:0006 Y:0003 S:1fed D:1dc6 DB:7e nvmxdIzc V:197 H: 294 F:48
80bdb8 bcc $bd8a [80bd8a] A:0000 X:0006 Y:0003 S:1fed D:1dc6 DB:7e NvmxdIzc V:197 H: 332 F:48
80bdba bra $bdd1 [80bdd1] A:0000 X:0024 Y:0012 S:1fed D:1dc6 DB:7e nvmxdIZC V:199 H:1090 F:48
¡¿
áéíóúñ
ÁÉÍÓÚÑ
• Solve minor problems (for instance, in the .gif I attach sometimes the first paragraf, "Según las antiguas leyendas, hombres valerosos [...]" sometimes just display "S" and jumps directly to "Las disputas entre [...]"; this happens randomly each time I reset or reload the ROM, even if I do not modify anything on the code in between.Whoa that is weird. I've seen lots of display errors from corrupting text opcodes, but usually that's like changing the text speed or the spacing between lines.
(https://i.imgur.com/9zqz3MA.png)
• Also aside, doing some minor changes not related with translation but music, but this is really out of place of what we have been discussing, hehehe.Curious, what did you have in mind? Music is loaded into RAM $1064, and sound effects are loaded into $1066. Just trace them if you want to change a song ID. Here's a list of the IDs (http://datacrystal.romhacking.net/wiki/Arcana:Music) :thumbsup: (I got carried away naming the unnamed sfx and music lol)
Curious, what did you have in mind? Music is loaded into RAM $1064, and sound effects are loaded into $1066. Just trace them if you want to change a song ID. Here's a list of the IDs (http://datacrystal.romhacking.net/wiki/Arcana:Music) :thumbsup: (I got carried away naming the unnamed sfx and music lol)
• Put these changes not in a ROM but in a IPS file. I have been taking notes carefully of each byte and area of bytes I modified so I have trace of what I did and where.Hand-writing an IPS patch is a useful exercise that everyone should do exactly once, before moving on to utilities like this one (http://www.romhacking.net/utilities/1040/) that do the patch tracking for you.
• Solve minor problems (for instance, in the .gif I attach sometimes the first paragraf, "Según las antiguas leyendas, hombres valerosos [...]" sometimes just display "S" and jumps directly to "Las disputas entre [...]"; this happens randomly each time I reset or reload the ROM, even if I do not modify anything on the code in between.
The screenshot with the weird text shows snes9x, which has some emulation timing bugs that will never be fixed. Check the behavior in bsnes. If it works correctly, then your text is fine and the problem is one of the snes9x bugs.
• Changing states "SLEEP" and "FINIS" to more Spanish-friendly words (like "YACE_"/"CAIDO" and "R.I.P"/"D.E.P"); I did not find the tiles, nor the lines that rule that. Kind of uncool.
(https://i.imgur.com/wxByUWz.png)
Appart from that, and talking about forum rules:Might want to ask KingMike or another mod to move it, but this definitely qualifies as a project!
♣ I do not know if I may open a new topic for asking these questions, since they are not related with the original topic ("tile modification", but "tile management"), so not sure if I am maintaining the forum clean of unnecesary topics or just messing up one with miscelanous questions.
♣ I do not know if I should open a topic in "Personal Projects" area to make an official announcement, since it is not as finished as I want, and expose the remaining issues there.
Any advice is welcome, btw ::)
The tile numbers for FINIS is at 0x38EDF. Tiles for SLEEP are at 0x38F6E. They're repeated a few other places for some reason, but format is like this (reading every other byte and skipping the 10's):
16 13 18 13 0A: F I N I S
0A 0C 15 15 02: S L E E P
This pattern also holds true for character NAMES, HP, MP, LV. The tiles I've logged are as follows, may have to find how to add more that aren't listed. I'll be a sweetie and alphabetize them for ya.
A: 11
D: 0F
E: 15
F: 16
H: 01
H: 0E (SYLPH)
I: 13
L: 0C
K: 09
M: 03
M: 12
N: 18
O: 08
P: 02
P: 0D (SYLPH)
R: 07
S: 0A
T: 14
X: 17
Y: 0B
0: 30
1: 31
2: 32...
: 06 or 10
(DARWIN and EFRITE's tiles 21+ are all blended together and not reusable)
Might want to ask KingMike or another mod to move it, but this definitely qualifies as a project!
EDIT: Oh, I emailed ya a little something. Trying to be more efficient at automating stuff so I'm not spending all day writing things by hand!
Some of the byte 5's are 01 or 02 btw.
The tile numbers for FINIS is at 0x38EDF. Tiles for SLEEP are at 0x38F6E. They're repeated a few other places for some reason, but format is like this (reading every other byte and skipping the 10's):
16 13 18 13 0A: F I N I S
0A 0C 15 15 02: S L E E P
00 Return from code (End of text/stop reading)
01 XX XX Moves to a position XX hori, XX vert
03 0E Normal vertical spacing (03 0D less spacing, 03 0F more spacing)
06 0E Change font color to yellow
06 0D Change font color to white
08 XX Tabs to a position XX
10 XX YY 00 Continue reading from RAM YY XX (10 81 15 00 → Loads from ram $1581)
10 XX YY ZZ Continue reading from ROM ZZ YY XX (10 01 86 08 → Loads from rom $08/8601) (Basically a subroutine)
11 01 XX YY 00 Continue reading from RAM YY XX and convert to text (11 01 E7 16 00 → Loads from ram $16E7) (Turns 0D "thirteen" into text 31 33)
1C Text appears immediately
1D Text scrolls 1 line at a time
1E Text scrolls quickly by character
I found a minor display bug (https://i.ibb.co/mNWqtrK/Arcana-1-00000.png) in shops when buying and the GP loses a digit, 100GP -> 90GPP.
Did you want to change the title "Licensed by"? Oh and I meant that I changed the "battle" Cards menu to Arcana in SOR, but it's really cool you drew a VWF for the menu!
(https://i.imgur.com/iKqghJR.png)
(https://i.imgur.com/Op0PsxM.png)
Yeah SOR's level up screen took me quite awhile to port from Card Master; I'm really proud of it. But since it's displayed differently, it would need to be patched on top of the Spanish translation. Not difficult now that I know how, lol.
In the title screen wanted to change "New Game" to "Nuevo"; "Continue" to "Continuar" and "File 1-2-3" to "Fila 1-2-3"... but it is tricky as hell, if I modify some specific bytes it messes up the whole screen, and the bad part is that those untouchable bytes are part of the tile so seems quite impossible for me.Yeah those parts are VWF tiles, so you would need to re-draw them! Or use exclusively the non-VWF tiles, which doesn't seem practical. But VWF is used for NEW, TINU (continue), INC., FILE1-3, and some thin tiles like 1.
I liked you could add the subtitle "Seal of Rimsala" in your project ;D so I thought it wouldn't be difficult to translate that screen, but yeah it is :P and in kind of bad since for instance "File" just need to change an "a" to is already displayed in the tiles seen in bsnes to become "Fila", but couldn't find the way.
The licensed part is ok the way it is, English in there is kind of official :police: and after having the troubles I had I preffer not even try that part :-X
About opcodes, thanks for the detailing, I actually figured out most of them thanks (that is why I needed to solve so many bug since sometimes a portrait was displayed with wrong color palette, or monstrosities things (like half Salah - half lower part of somebody with the mouth talking in a non spected part and dark blue palette... that was REALLY scary!)I wrote that on TCRF :beer:
♠ In Chapter 2, when facing an entrance with fog, if you turn left you can see briefly that there are a repeated tile of the floor on air. In emulator, if you remove BG1 you can see is already loaded this way.
(https://i.imgur.com/zkTqyth.png)