mgba-emu / mgba

mGBA Game Boy Advance Emulator
https://mgba.io/
Mozilla Public License 2.0
5.42k stars 747 forks source link

Some issues for Summon Night - Craft Sword Monogatari - Hajimari no Ishi Chinese translational rom #3143

Closed leoxxx closed 1 month ago

leoxxx commented 3 months ago

ROM Info Game name:(unknown) Internal name:CRAFTSWORD H Game ID:AGB-B3CJ File size:33554432 bytes CRC32:6a5b099a

My boy is O.K.

VBA: Bgm have some issue at beginnig of the battle.

https://github.com/mgba-emu/mgba/assets/5364709/5639a573-c784-4fa5-b1e4-d87dd41f1419

mgba: It will lag when enemies ≥3. Missing some voice when battle with a character.

https://github.com/mgba-emu/mgba/assets/5364709/9fa154d0-3e45-497c-aef5-2a41b71e9547

endrift commented 3 months ago

Don't upload ROMs. Also you need to describe the issues.

leoxxx commented 3 months ago

Don't upload ROMs. Also you need to describe the issues.

I am sorry.I see.

leoxxx commented 3 months ago

Upload the videos which have issues.

Cofflag commented 2 months ago

This is possibly because the translation rom changes the reg_waitcnt by accident. I am doing the game's decomp project and here is where the translated rom changes: https://github.com/Cofflag/csm3/blob/a1a80a8a3e46b6da3dab6f5ef4a6ee1b0dba614f/src/main.c#L372 in the binary, the original constant is 0x4014 and the translated version is 0x4000, and the offset of the literal pool is 0x1ba0 the problem should get fixed by editing the rom to recover the original value.

leoxxx commented 2 months ago

Can you fix it, Cofflag? I found mgba force close when playing it once.

Hambaka commented 1 month ago

I mean Cofflag already provided the solution, and it works. This problem can be fixed by editing the rom, you can use a hex editor like HxD to change this value from 00 to its original value in Japanese version: 14.

HxD_1BA0

就照着 Cofflag 说的做,用HxD这类的十六进制编辑器把汉化版的1BA0的值从00改成日版原始值14就修好了。

至少我这边修改后简单测试的结果,3个及以上敌人的战斗没有再遇到卡顿问题,你可以试试。

Hambaka commented 1 month ago

Before(mGBA 0.10.3):

https://github.com/mgba-emu/mgba/assets/20476755/9b7b54e4-393b-4fdb-95e5-b2c15245cee1

After(mGBA 0.10.3):

https://github.com/mgba-emu/mgba/assets/20476755/79f99053-7d53-4007-8152-8134beb02e40

endrift commented 1 month ago

I finally tested this on a real GBA and can confirm that the issue is the ROM hack itself, not mGBA.

leoxxx commented 1 month ago

I mean Cofflag already provided the solution, and it works. This problem can be fixed by editing the rom, you can use a hex editor like HxD to change this value from 00 to its original value in Japanese version: 14.

HxD_1BA0

就照着 Cofflag 说的做,用HxD这类的十六进制编辑器把汉化版的1BA0的值从00改成日版原始值14就修好了。

至少我这边修改后简单测试的结果,3个及以上敌人的战斗没有再遇到卡顿问题,你可以试试。

谢谢,我去试试。 有效。

leoxxx commented 1 month ago

@Hambaka 你好,请问有没有其它的联系方试。有一个和这里不相关的汉化问题想请教一下。

Woainiyade commented 1 month ago

thank you