You are not logged in.

Read the FAQ and Knowledge Base before posting.
We won't make a 3DS/2DS emulator.



#1 2013-05-25 04:22:30

kid2908
Member
Registered: 2013-05-25
Posts: 4

[Linux | JIT | DeSmuME 0.9.9] Can't have battles in Pokemon Black 2.

[Linux | JIT | DeSmuME 0.9.9] Can't have battles in Pokemon Black 2.

When JIT is enabled, the game is speeded up but it will crash whenever a battle begin. Turn JIT off, everything's alright but the speed drop down.
Hope it can be fix soon.

This what on my terminal.

:~$ desmume --cpu-mode=1
Slot 2: NONE
Failed to set format: Invalid argument
Microphone init failed.
DeSmuME 0.9.9 svnr0 x64-JIT
SoftRast Initialized with cores=1
Already decrypted.

ROM game code: IREO
ROM crc: 73EEC470
ROM serial: NTR-IREO-Unknown
ROM internal name: POKEMON B2

Backup size: 3 Mbit
DEBUG_reset: 00475330
Backup size: 3 Mbit
CPU mode: JIT
JIT: max block size 100 instruction(s)
desmume: arm_jit.cpp:3939: void sync_r15(u32, bool, bool): Assertion `!instr_uses_r15(opcode)' failed.
Aborted (core dumped)

Offline

#2 2013-05-25 07:02:17

Squall Leonhart
Member
Registered: 2013-01-22
Posts: 115

Re: [Linux | JIT | DeSmuME 0.9.9] Can't have battles in Pokemon Black 2.

decrease the jit block size to 12

Offline

#3 2013-05-25 14:41:18

kid2908
Member
Registered: 2013-05-25
Posts: 4

Re: [Linux | JIT | DeSmuME 0.9.9] Can't have battles in Pokemon Black 2.

Squall Leonhart wrote:

decrease the jit block size to 12

It doesn't work. The same error.
Decrease the jit block size to 1 or 2, still the same.

The jit block size = 15 has some differences. Instead of crashing, the game freezes with black screen, repeat sound and no error report in terminal.

Last edited by kid2908 (2013-05-25 15:26:06)

Offline

#4 2013-05-25 17:03:23

rogerman
Member
Registered: 2011-06-04
Posts: 380

Re: [Linux | JIT | DeSmuME 0.9.9] Can't have battles in Pokemon Black 2.

You're experiencing an assert() termination, which is caused by emulation errors on the JIT engine. Normally, assertions are disabled in release builds, but this doesn't seem to be the case with your build. You will need to disable assertions to avoid this type of program crash.

You should be able to disable assertions by recompiling DeSmuME with #define NDEBUG.

Offline

#5 2013-05-26 02:44:50

kid2908
Member
Registered: 2013-05-25
Posts: 4

Re: [Linux | JIT | DeSmuME 0.9.9] Can't have battles in Pokemon Black 2.

I tried to add the line

#define NDEBUG

to arm_jit.h and recompiled DeSmuME.

Now I can enter battle. But when the battle's ended, I have black screen with no sound. Pause then run the game still varies the frame rate.

Offline

#6 2013-05-26 06:13:59

CrazyMax
Administrator
From: Ukraine
Registered: 2007-10-26
Posts: 121

Re: [Linux | JIT | DeSmuME 0.9.9] Can't have battles in Pokemon Black 2.

kid2908, upload savestate/ingame-save before crash

Offline

#7 2013-05-26 10:21:11

kid2908
Member
Registered: 2013-05-25
Posts: 4

Re: [Linux | JIT | DeSmuME 0.9.9] Can't have battles in Pokemon Black 2.

If I load the savestate that has been saved before the battlefield appear, I will have the black screen.
But if that savestate has been saved after the battlefield appear, there's no error when battle end.

So I have the temporary solution for myself.
1/ Begin a battle.
2/ Wait for the battlefield appear.
3/ Savestate then immediately loadstate.
4/ End the battle without problems.

These are the savestates of two battles. Each battle has 2 files, one before and one after the battlefield appear.
Pokemon Black 2 savestate

Last edited by kid2908 (2013-05-26 10:22:54)

Offline

Board footer

Powered by FluxBB