cap32 core Nintendo 3ds: load state and custom aspect ratio

Hello,

I will report two issues:

In cap32 core for Nintendo 3DS (Using NEW nintendo 3DS XL, LUMA CFW LATEST UPDATED ON MAY 2020), I’ve detected two problems: save states and custom aspect ratio.

The same core works well in Windows 10.

In the 3DS, I am using the cap32 core included in STABLE retroarch for 3ds, the latest version at 06/24/2020: retroarch 1.8.9

FIRST ISSUE: States: the SAVE state seems to work but every time I choose LOAD state, it crashes:

“An exception occurred” (in red letters)

Processor: Arm11 (core 0) Exception type: data abort Fault status: Permission - Section

(And the Stack dump appears on the lower 3ds’ screen)

These are the last lines that appear in the retroarch’s log file, where you can see how I save the state, and then I try to load it: the log just ends abruptly:

[INFO] Saving state: “sdmc:/retroarch/cores/savestates/Fruity Frank (UK) (1984) [Original] BO.state2”. [INFO] State size: 131329 bytes. [INFO] State size: 131329 bytes. [INFO] [INFO] [INFO] Loading state: “sdmc:/retroarch/cores/savestates/Fruity Frank (UK) (1984) [Original] BO.state2”. [INFO] State size: 131329 bytes. [INFO] Saving state: “RAM”. [INFO] State size: 131329 bytes. [INFO] State size: 131329 bytes. Timings deviate too much. Will not adjus

(The load state feature works on the other existing CPC core for the 3DS, CrocoDS, but I don’t want to use it because the framerate is slow as hell with the video Vertical Sync on, and if I turn off it, the screen flickers and is a pain for the eyes. The sound is buggy there, too…)

SECOND ISSUE:

If I choose Aspect ratio Custom, the emulator starts correctly, but if after that I choose to load content (i.e. a .dsk game), the upper screen is BLACK and nothing appears there.

BUT, if I choose the aspect ratio = Core provided, then the game loads correctly, and then, if (with the game running) change again the aspect ratio to custom, it works !!!

So the problem seems to happen when aspect ratio is selected initially, because it works when you change it when the game is already running.

VERY Thanks in advance for your attention and patience to read everything and for your great work.