diff --git a/CMake/ctr/n3ds_defs.cmake b/CMake/ctr/n3ds_defs.cmake
index 1e4679800..3a50c91a2 100644
--- a/CMake/ctr/n3ds_defs.cmake
+++ b/CMake/ctr/n3ds_defs.cmake
@@ -25,11 +25,11 @@ set(SDL1_VIDEO_MODE_HEIGHT 480)
#SDL Joystick axis mapping (circle-pad)
set(JOY_AXIS_LEFTX 0)
set(JOY_AXIS_LEFTY 1)
-#SDL Joystick button mapping (A / B inverted)
+#SDL Joystick button mapping (A / B and X / Y inverted)
set(JOY_BUTTON_A 2)
set(JOY_BUTTON_B 1)
-set(JOY_BUTTON_X 3)
-set(JOY_BUTTON_Y 4)
+set(JOY_BUTTON_X 4)
+set(JOY_BUTTON_Y 3)
set(JOY_BUTTON_LEFTSHOULDER 5)
set(JOY_BUTTON_RIGHTSHOULDER 6)
set(JOY_BUTTON_BACK 7)
diff --git a/docs/manual/platforms/n3ds.md b/docs/manual/platforms/n3ds.md
new file mode 100644
index 000000000..fb5e7ebcb
--- /dev/null
+++ b/docs/manual/platforms/n3ds.md
@@ -0,0 +1,73 @@
+# DevilutionX (Diablo 1) for Nintendo 3DS*
+*New3DS only
+
+## Installation
+
+.3dsx installation
+
+#### Install DevilutionX: Diablo
+1. Download [devilutionx.3dsx](https://github.com/MrHuu/devilutionX-3ds/releases/latest/download/devilutionx.3dsx).
+2. Put `devilutionx.3dsx` into `sd:/3ds/devilutionx/`.
+3. Copy `diabdat.mpq` from your Diablo CD (or GoG install folder) to `sd:/3ds/devilutionx/`.
+
+#### Install DevilutionX: Diablo - Hellfire
+1. Download [hellfire.3dsx](https://github.com/MrHuu/devilutionX-3ds/releases/latest/download/hellfire.3dsx).
+2. Put `hellfire.3dsx` into `sd:/3ds/devilutionx/`.
+3. Copy `diabdat.mpq` from your Diablo CD (or GoG install folder) to `sd:/3ds/devilutionx/`.
+4. Copy `hellfire.mpq` `hfmonk.mpq` `hfmusic.mpq` and `hfvoice.mpq` from your Hellfire CD (or GoG install folder) to `sd:/3ds/devilutionx/`.
+
+*Note:* When both `devilutionx.3dsx` and `hellfire.3dsx` are copied to `sd:/3ds/devilutionx/`,
+ an .xml shortcut must be used to launch Hellfire.
+ For now, use either `devilutionx.3dsx` or `hellfire.3dsx`.
+
+
+.cia installation
+
+### Install DevilutionX: Diablo
+1. Download [devilutionx.cia](https://github.com/MrHuu/devilutionX-3ds/releases/latest/download/devilutionx.cia).
+2. Put `devilutionx.cia` on your SD card and install with a title manager, e.g. [FBI](https://github.com/Steveice10/FBI).
+ `devilutionx.cia` can be removed after being installed.
+3. Copy `diabdat.mpq` from your Diablo CD (or GoG install folder) to `sd:/3ds/devilutionx/`.
+
+### Install DevilutionX: Diablo - Hellfire
+1. Download [hellfire.cia](https://github.com/MrHuu/devilutionX-3ds/releases/latest/download/hellfire.cia).
+2. Put `hellfire.cia` on your SD card and install with a title manager, e.g. [FBI](https://github.com/Steveice10/FBI).
+ `hellfire.cia` can be removed after being installed.
+3. Copy `diabdat.mpq` from your Diablo CD (or GoG install folder) to `sd:/3ds/devilutionx/`.
+4. Copy `hellfire.mpq` `hfmonk.mpq` `hfmusic.mpq` and `hfvoice.mpq` from your Hellfire CD (or GoG install folder) to `sd:/3ds/devilutionx/`.
+
+
+## Usage
+
+- Launch `devilutionx.3dsx` or `hellfire.3dsx` with the [Homebrew Launcher](https://github.com/fincs/new-hbmenu).
+
+or, when using .cia:
+
+- Launch Diablo or Diablo: Hellfire from your 3DS Homemenu.
+
+## Controls
+
+- Circle-Pad or D-Pad: move hero
+- A: attack nearby enemies, talk to townspeople and merchants, pickup/place items in the inventory, OK while in main menu
+- B: select spell, back while in menus
+- X: pickup items, open nearby chests and doors, use item in the inventory
+- Y: cast spell, delete character while in main menu
+- L: use health item from belt
+- R: use mana potion from belt
+- ZL: character sheet (alt: Start + L or ←)
+- ZR: inventory (alt: Start + R or →)
+- Start + ↓: toggle automap
+- Start + Select: game menu (alt: Start + ↑)
+- Select + A/B/X/Y: Spell hotkeys
+- Select + ZL: quest log (alt: Start + Y)
+- Select + ZR: spell book (alt: Start + B)
+
+## Touchpad
+
+- Single finger drag: move the mouse pointer (pointer jumps to finger)
+- Single short tap: left mouse click
+
+## Resources
+
+* Discord: https://discord.gg/aQBQdDe
+* GitHub: https://github.com/diasurgical/devilutionX