Difference between revisions of "Nintendo 3DS"
Ccawley2011 (talk | contribs) |
Ccawley2011 (talk | contribs) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 13: | Line 13: | ||
buildbot=yes| | buildbot=yes| | ||
firstversion=2.1.1| | firstversion=2.1.1| | ||
maintainer=[[User: | maintainer=[[User:phcoder|phcoder]]| | ||
packager=[[User: | packager=[[User:phcoder|phcoder]]| | ||
pkgend=-3ds.zip| | pkgend=-3ds.zip| | ||
icon=3ds| | icon=3ds| | ||
Line 52: | Line 52: | ||
=== Compiling ScummVM === | === Compiling ScummVM === | ||
Instructions on how to compile ScummVM for the 3DS can be found [[Compiling ScummVM/Nintendo 3DS|here]]. | |||
==== | === Debugging ScummVM === | ||
''This section is based on information from [https://bugs.scummvm.org/ticket/11292#comment:4 Trac #11292].'' | |||
When reporting crashes to the issue tracker, it is recommended that you capture a backtrace of the crash? It's a bit of a convoluted process but it's not possible to do much without it. It's described here if you are not familiar: | |||
* Create a build of ScummVM using "./configure --host=3ds --disable-all-engines --enable-engines=scumm_7_8,he,sci32 --enable-all-engines --enable-debug" | |||
* Get devkitARM from here: https://devkitpro.org/wiki/Getting_Started. You don't need to get the whole thing working, just the GDB debugger. | |||
* Start ScummVM on your 3DS, go to the Rosalina menu (L+Down+Select), enable the debugger (Debugger options > enable debugger), go to the process list and select ScummVM (3dsx_app if you used the homebrew launcher). Take note of the IP address of your 3DS and the debugger port. They are displayed in the menu. For example, it might look like 192.168.1.87:4000. Close the Rosalina menu. If it closes ScummVM, try again, but open a dialog in ScummVM before opening the Rosalina menu (The keypress to close Rosalina is sometimes passed to ScummVM). | |||
* On your computer in the devkitARM shell, run "arm-none-eabi-gdb /path/to/scummvm.elf" (with the location where you downloaded that file). Then, in GDB, enter "target remote 192.168.1.87:4000" (with your IP and port) to connect to the 3DS. Enter 'c' to resume execution. | |||
* On the 3DS, reproduce the crash. | |||
* On the computer, GDB should have trapped the error. Enter "thread apply all bt" to print a backtrace. | |||
Please copy the backtrace into the ticket as well as other warnings or messages you may see in the debugger output. | |||
In case you don't succeed in capturing a backtrace, please attach the crash dump from the Luma error screen (they are saved on the SD card in /luma/dumps). | |||
It's also recommended that you attach a copy of the log file, which can be found at "sdmc:/3ds/scummvm/scummvm.log". | |||
It | |||
Latest revision as of 21:56, 23 April 2024
Nintendo 3DS Port | |
Latest Released Version | 2.8.1 |
Supported Audio Options | MP3, OGG, FLAC, Uncompressed |
Additional Webpage(s) | None |
Maintainer(s) | phcoder |
Packager(s) | phcoder |
Forum | Port Forum |
Status | Maintained |
First Official Version | 2.1.1 |
About
ScummVM has been ported to the Nintendo 3DS.
For more information, including how to install and use ScummVM, see the Nintendo 3DS user documentation.
Developer information
Compiling ScummVM
Instructions on how to compile ScummVM for the 3DS can be found here.
Debugging ScummVM
This section is based on information from Trac #11292.
When reporting crashes to the issue tracker, it is recommended that you capture a backtrace of the crash? It's a bit of a convoluted process but it's not possible to do much without it. It's described here if you are not familiar:
- Create a build of ScummVM using "./configure --host=3ds --disable-all-engines --enable-engines=scumm_7_8,he,sci32 --enable-all-engines --enable-debug"
- Get devkitARM from here: https://devkitpro.org/wiki/Getting_Started. You don't need to get the whole thing working, just the GDB debugger.
- Start ScummVM on your 3DS, go to the Rosalina menu (L+Down+Select), enable the debugger (Debugger options > enable debugger), go to the process list and select ScummVM (3dsx_app if you used the homebrew launcher). Take note of the IP address of your 3DS and the debugger port. They are displayed in the menu. For example, it might look like 192.168.1.87:4000. Close the Rosalina menu. If it closes ScummVM, try again, but open a dialog in ScummVM before opening the Rosalina menu (The keypress to close Rosalina is sometimes passed to ScummVM).
- On your computer in the devkitARM shell, run "arm-none-eabi-gdb /path/to/scummvm.elf" (with the location where you downloaded that file). Then, in GDB, enter "target remote 192.168.1.87:4000" (with your IP and port) to connect to the 3DS. Enter 'c' to resume execution.
- On the 3DS, reproduce the crash.
- On the computer, GDB should have trapped the error. Enter "thread apply all bt" to print a backtrace.
Please copy the backtrace into the ticket as well as other warnings or messages you may see in the debugger output.
In case you don't succeed in capturing a backtrace, please attach the crash dump from the Luma error screen (they are saved on the SD card in /luma/dumps).
It's also recommended that you attach a copy of the log file, which can be found at "sdmc:/3ds/scummvm/scummvm.log".