|
|
Line 44: |
Line 44: |
| }} | | }} |
|
| |
|
| == Installation == | | == About == |
| There are two possible formats to be used: 3DSX and CIA.
| | ScummVM has been ported to the Nintendo 3DS. |
| The 3DSX format is considered more ethical because it does not make use of
| |
| invalid title IDs, which get logged. It is also compatible with homebrew loading
| |
| methods that do not involve CFW.
| |
| The 3DSX format is exclusively used by the Homebrew Launcher and its derivatives.
| |
| The CIA format can be installed directly to the 3DS home menu and can be launched
| |
| using any CFW (Custom Firmware) of your choice.
| |
|
| |
|
| Installing the Homebrew Launcher or any CFW is beyond the scope of this page.
| | For more information, including how to install and use ScummVM, see the [https://docs.scummvm.org/en/latest/other_platforms/nintendo_3ds.html Nintendo 3DS user documentation]. |
|
| |
|
| === 3DSX installation === | | == Developer information == |
| You need to merely extract the ScummVM 3DSX files to your SD card so that all
| |
| files reside in the <code>/3ds/scummvm/</code> directory. It can then be launched by Homebrew Launcher
| |
| or a similar implementation.
| |
|
| |
|
| === CIA installation === | | === Compiling ScummVM === |
| The CIA format requires a DSP binary dump saved on your SD card as <code>/3ds/dspfirm.cdc</code>
| | ==== Prerequisites ==== |
| for proper audio support. You can search online to find software to dump this.
| |
| Not having this file will cause many problems with games that need audio, sometimes
| |
| even crashing, so this is NOT considered optional.
| |
| | |
| Using any CIA installation software (search elsewhere for that), you need to install
| |
| the <code>scummvm.cia</code> file.
| |
| | |
| == Controls == | |
| === Default key mappings ===
| |
| | |
| The key mappings can be customized in the options dialog for the global mappings,
| |
| and in the edit game dialog for per-game mappings. Per-game mappings overlay the
| |
| global mappings, so if a button is bound to an action twice, the per-game mapping
| |
| wins.
| |
| | |
| The default keymap is:
| |
| {{3DSControls}}
| |
| | |
| === Hover mode ===
| |
| When you use the touchscreen, you are simulating the mere moving of the mouse. You
| |
| can click only with taps, meaning it is impossible to drag stuff or hold down a
| |
| mouse button without using buttons mapped to right/left-click.
| |
| | |
| === Drag mode ===
| |
| Every time you touch and release the touchscreen, you are simulating the click and
| |
| release of the mouse buttons. At the moment, this is only a left-click.
| |
| | |
| === Magnify mode ===
| |
| Due to the low resolutions of the 3DS's two screens (400x240 for the top, and 320x240
| |
| for the bottom), games that run at a higher resolution will inevitably lose some visual
| |
| detail from being scaled down. This can result in situations where essential information
| |
| is undiscernable, such as text. Magnify mode increases the scale factor of the top screen
| |
| back to 1; the bottom screen remains unchanged. The touchscreen can then be used to change
| |
| which part of the game display is being magnified. This can all be done even in situations
| |
| where the cursor is disabled, such as during full-motion video (FMV) segments.
| |
| | |
| When activating magnify mode, touchscreen controls are automatically switched to hover
| |
| mode; this is to reduce the risk of the user accidentally inputting a click when changing
| |
| the magnified area via dragging the stylus. Clicking can still be done at will as in normal
| |
| hover mode. Turning off magnify mode will revert controls back to what was being used
| |
| previously (ex: if drag mode was in use prior to activating magnify mode, drag mode will
| |
| be reactivated upon exiting magnify mode), as well as restore the top screen's previous
| |
| scale factor.
| |
| | |
| Currently magnify mode can only be used when the following conditions are met:
| |
| * In the 3DS config menu, "Use Screen" is set to "Both"
| |
| * A game is currently being played
| |
| * The horizontal and/or vertical resolution in-game is greater than that of the top screen
| |
| | |
| Magnify mode cannot be used in the Launcher menu.
| |
| | |
| == Supported Games ==
| |
| While all the games should run on the 3DS (report if they do not), there are
| |
| many games which are unplayable due to the lack of CPU speed on the 3DS. So if
| |
| you play any games that run really slow, this is not considered a bug, but rather
| |
| a hardware limitation.
| |
| | |
| The New 3DS console has much better performance, but there are still many newer and
| |
| high-resolution games that cannot be played. A list of these unplayable games and
| |
| game engines will eventually be listed here.
| |
| | |
| == Compiling ==
| |
| === Prerequisites ===
| |
| * Latest version of devkitPro, which comes with devkitARM and <code>libctru</code> | | * Latest version of devkitPro, which comes with devkitARM and <code>libctru</code> |
| * <code>citro3d</code> thorugh devkitPro's pacman | | * <code>citro3d</code> thorugh devkitPro's pacman |
| * Optional: You should compile third-party libraries for the 3ds (commonly referred to as portlibs in the devkitPRO community). Some games requires these to operate properly. | | * Optional: You should compile third-party libraries for the 3ds (commonly referred to as portlibs in the devkitPRO community). Some games requires these to operate properly. |
|
| |
|
| === Compiling third-party libraries === | | ==== Compiling third-party libraries ==== |
| It is strongly recommended that you use devkitPro's pacman in order to get the most recent | | It is strongly recommended that you use devkitPro's pacman in order to get the most recent |
| portlibs for your build. | | portlibs for your build. |
Line 195: |
Line 123: |
| Most libraries used can be compiled with same commands and configuration flags. | | Most libraries used can be compiled with same commands and configuration flags. |
|
| |
|
| === Manually setting up the environment === | | ==== Manually setting up the environment ==== |
| In case you don't have the helpers package downloaded, you can use the following to set-up | | In case you don't have the helpers package downloaded, you can use the following to set-up |
| your environment variables. | | your environment variables. |
Line 220: |
Line 148: |
| </syntaxhighlight> | | </syntaxhighlight> |
|
| |
|
| == Compiling ScummVM == | | ==== Compiling ScummVM ==== |
| Do the following in a fresh terminal. | | Do the following in a fresh terminal. |
|
| |
|