Full Code of Universal-Team/db for AI

master a1e4311be15e cached
822 files
4.1 MB
1.1M tokens
64 symbols
1 requests
Download .txt
Showing preview only (4,486K chars total). Download the full file or copy to clipboard to get everything.
Repository: Universal-Team/db
Branch: master
Commit: a1e4311be15e
Files: 822
Total size: 4.1 MB

Directory structure:
gitextract_k2s6ea5w/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── app-request.yml
│   │   ├── config.yml
│   │   └── site-request.md
│   └── workflows/
│       ├── crowdin-commit.yml
│       ├── crowdin-upload.yml
│       ├── pull-request.yml
│       ├── update-priority.yml
│       └── update.yml
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── crowdin-pull.sh
├── crowdin.yml
├── docker/
│   ├── .gitignore
│   ├── Dockerfile
│   ├── Dockerfile.server
│   └── compose.yaml
├── docs/
│   ├── 3ds/
│   │   ├── category/
│   │   │   ├── app.md
│   │   │   ├── emulator.md
│   │   │   ├── firm.md
│   │   │   ├── game.md
│   │   │   ├── save-tool.md
│   │   │   ├── translation.md
│   │   │   └── utility.md
│   │   └── index.md
│   ├── 3ds.rss
│   ├── 404.md
│   ├── CNAME
│   ├── Gemfile
│   ├── _3ds/
│   │   ├── -hackez-i.md
│   │   ├── 2048---3ds-port.md
│   │   ├── 3d-pinball---space-cadet.md
│   │   ├── 3deins.md
│   │   ├── 3delf.md
│   │   ├── 3dfetch.md
│   │   ├── 3diceroller.md
│   │   ├── 3ds-button-tester.md
│   │   ├── 3ds-controller.md
│   │   ├── 3ds-donut.md
│   │   ├── 3ds-ebook-reader.md
│   │   ├── 3ds-fbge-installer.md
│   │   ├── 3ds-filebrowser.md
│   │   ├── 3ds-google-maps.md
│   │   ├── 3ds-hbmenu.md
│   │   ├── 3ds-httpd.md
│   │   ├── 3ds-parentalunlock.md
│   │   ├── 3ds-random-game-launcher.md
│   │   ├── 3ds-recovery-tool.md
│   │   ├── 3ds-sorting.md
│   │   ├── 3ds-vgmstream.md
│   │   ├── 3ds-vjoy-controller.md
│   │   ├── 3ds1010.md
│   │   ├── 3ds_codedit.md
│   │   ├── 3ds_quick_reboot.md
│   │   ├── 3dsbank.md
│   │   ├── 3dscontroller.md
│   │   ├── 3dscookieclicker.md
│   │   ├── 3dscreen.md
│   │   ├── 3dsdi.md
│   │   ├── 3dshell.md
│   │   ├── 3dsident.md
│   │   ├── 3dslibris.md
│   │   ├── 3dsoundboard.md
│   │   ├── 3dsx-play-coin-setter-mod.md
│   │   ├── 3dvier.md
│   │   ├── 3dweb.md
│   │   ├── 3dzwei.md
│   │   ├── able-atelier-3ds.md
│   │   ├── anarch.md
│   │   ├── anemone3ds.md
│   │   ├── angband.md
│   │   ├── antibounce.md
│   │   ├── apotris.md
│   │   ├── artic-base-server.md
│   │   ├── atari800-randomman25xx.md
│   │   ├── atari800.md
│   │   ├── audioswitcher3ds.md
│   │   ├── aurorachat.md
│   │   ├── b9s_check.md
│   │   ├── balatro3ds.md
│   │   ├── ballcopter.md
│   │   ├── bandolero-3ds.md
│   │   ├── bart-bash.md
│   │   ├── battery_mark_for_3ds.md
│   │   ├── bcstm-player.md
│   │   ├── better-nfcreader.md
│   │   ├── biniax2-3ds.md
│   │   ├── blargspc.md
│   │   ├── blockamok-remix.md
│   │   ├── bootntr.md
│   │   ├── bottomless-block-barrage.md
│   │   ├── breakup-simulator-portable.md
│   │   ├── budgiessh.md
│   │   ├── bugdom.md
│   │   ├── bullets.md
│   │   ├── buttonpresser3ds.md
│   │   ├── calculathreeds.md
│   │   ├── captureassistant.md
│   │   ├── cec-tool.md
│   │   ├── chatgpt3ds.md
│   │   ├── checkpoint.md
│   │   ├── cia-installer.md
│   │   ├── citrahold-3ds.md
│   │   ├── class-of-09.md
│   │   ├── classicube.md
│   │   ├── cpymo.md
│   │   ├── craftus-reloaded.md
│   │   ├── cro-mag-rally.md
│   │   ├── crosscraft-classic.md
│   │   ├── cs3ds.md
│   │   ├── cstimer-3ds.md
│   │   ├── ctgp-7-downloader.md
│   │   ├── ctgp7-savetransfer.md
│   │   ├── cthulhu.md
│   │   ├── ctr-alarmo.md
│   │   ├── ctrmus.md
│   │   ├── ctroller.md
│   │   ├── ctrquake.md
│   │   ├── ctrrgbpat2.md
│   │   ├── ctrxplorer.md
│   │   ├── cube-adventures.md
│   │   ├── custom-yacht-3ds.md
│   │   ├── daedalusx64-3ds.md
│   │   ├── ddlc-love.md
│   │   ├── dead-pixel-checker.md
│   │   ├── demo-reset.md
│   │   ├── devilutionx.md
│   │   ├── doodle.md
│   │   ├── doors-3ds.md
│   │   ├── dosbox.md
│   │   ├── drawattack.md
│   │   ├── drider.md
│   │   ├── ds-forwarder-packs.md
│   │   ├── dses.md
│   │   ├── dsp1.md
│   │   ├── dungeons-of-daggorath-3ds.md
│   │   ├── easyrpgdlre.md
│   │   ├── eduke3d.md
│   │   ├── evolution_sav3d_me.md
│   │   ├── ezb9supdater.md
│   │   ├── faketik.md
│   │   ├── falling-blocks-watch-out.md
│   │   ├── fastplaycoin.md
│   │   ├── fbi-nh.md
│   │   ├── flappy-bird.md
│   │   ├── fmsx3ds.md
│   │   ├── forecast.md
│   │   ├── fourthtube.md
│   │   ├── friendmii.md
│   │   ├── ftpd.md
│   │   ├── game-tipper.md
│   │   ├── gameyob-3ds.md
│   │   ├── gemini3ds.md
│   │   ├── github3ds.md
│   │   ├── godmode9.md
│   │   ├── graphcalc3ds.md
│   │   ├── griffon-legend-3ds.md
│   │   ├── gytb.md
│   │   ├── halo-renewed-solitude.md
│   │   ├── halo-revamped.md
│   │   ├── hax0r.md
│   │   ├── hexisopath.md
│   │   ├── hokakuctr.md
│   │   ├── homebrew_launcher_dummy.md
│   │   ├── horihd-gallery.md
│   │   ├── hrt3ds.md
│   │   ├── inpost3ds.md
│   │   ├── ioquake3ds.md
│   │   ├── ip-cam-viewer.md
│   │   ├── jksm.md
│   │   ├── kartdlphax.md
│   │   ├── kavita-3ds.md
│   │   ├── leafedit-pattern-editor.md
│   │   ├── leafedit.md
│   │   ├── lego-island.md
│   │   ├── level256-installer.md
│   │   ├── limeplayer3ds.md
│   │   ├── line-for-3ds.md
│   │   ├── ludo3ds.md
│   │   ├── luma3ds.md
│   │   ├── luma3dsweather.md
│   │   ├── lumalocaleswitcher.md
│   │   ├── magic-draw.md
│   │   ├── mars.md
│   │   ├── mcu-bricker.md
│   │   ├── mgba.md
│   │   ├── mk7-plugin-dx.md
│   │   ├── modmoon.md
│   │   ├── moonlight-streaming-client.md
│   │   ├── multi-pokemon-framework.md
│   │   ├── multidownload.md
│   │   ├── nazi-zombies-portable.md
│   │   ├── ndsforwarder.md
│   │   ├── neopop-sdl.md
│   │   ├── netpass.md
│   │   ├── nexus3ds.md
│   │   ├── nfcheckrem.md
│   │   ├── nimbus.md
│   │   ├── noise-commander-3ds-demo.md
│   │   ├── notebook3ds.md
│   │   ├── notepad3ds.md
│   │   ├── noteroom.md
│   │   ├── notifymii.md
│   │   ├── ntr-hr.md
│   │   ├── off.md
│   │   ├── ollama3ds.md
│   │   ├── omega.md
│   │   ├── omnispeak-3ds.md
│   │   ├── oot3d_randomizer.md
│   │   ├── open_agb_firm.md
│   │   ├── openagblauncher.md
│   │   ├── openbor-3ds.md
│   │   ├── opensyobon3ds.md
│   │   ├── opentitus-3ds.md
│   │   ├── opentyrian-3ds.md
│   │   ├── orchestrina.md
│   │   ├── payloadspinner3ds.md
│   │   ├── pdrpse.md
│   │   ├── picodrive.md
│   │   ├── pie3ds.md
│   │   ├── pkcount.md
│   │   ├── pksm.md
│   │   ├── pomegranate.md
│   │   ├── pong-pokemon.md
│   │   ├── potatostream.md
│   │   ├── powder-3ds.md
│   │   ├── prboom.md
│   │   ├── prboom3ds.md
│   │   ├── qtmstub.md
│   │   ├── quake2ctr.md
│   │   ├── r3ddragon.md
│   │   ├── random-title-picker.md
│   │   ├── rangen-3ds.md
│   │   ├── raptor-ds3ds.md
│   │   ├── ravimid.md
│   │   ├── red-viper.md
│   │   ├── rehid.md
│   │   ├── retroarch.md
│   │   ├── rollthedice-3ds.md
│   │   ├── romfs-explorer.md
│   │   ├── rtchanger.md
│   │   ├── safeb9sinstaller.md
│   │   ├── satellazone.md
│   │   ├── save-data-copy-tool.md
│   │   ├── savesync.md
│   │   ├── savvymanager.md
│   │   ├── scratch-everywhere.md
│   │   ├── screenshot-merge.md
│   │   ├── scummvm.md
│   │   ├── seedminer.md
│   │   ├── sharedfonttool.md
│   │   ├── shut-the-cam-up.md
│   │   ├── sliderpong.md
│   │   ├── smash-amiibo-cheat-tool.md
│   │   ├── smilebasic-file-manager.md
│   │   ├── snake-for-3ds.md
│   │   ├── snake2ds.md
│   │   ├── snakes.md
│   │   ├── snes9x-updated-fork.md
│   │   ├── sonic-1--2.md
│   │   ├── sonic-cd.md
│   │   ├── sonic-mania.md
│   │   ├── sonic-robo-blast-2.md
│   │   ├── space-invaders.md
│   │   ├── specializemii.md
│   │   ├── srau.md
│   │   ├── stackmill.md
│   │   ├── starcruiser7.md
│   │   ├── streamu.md
│   │   ├── stuff.md
│   │   ├── sudokul.md
│   │   ├── super-haxagon.md
│   │   ├── super-photo-studio.md
│   │   ├── superml.md
│   │   ├── supertux.md
│   │   ├── tasmanquest.md
│   │   ├── temperpce.md
│   │   ├── terminal-clicker.md
│   │   ├── the-pirate-launcher.md
│   │   ├── thextech.md
│   │   ├── tiksweep.md
│   │   ├── tinyvnc.md
│   │   ├── tjap_3ds.md
│   │   ├── topos_3ds-video-player.md
│   │   ├── touch-keys.md
│   │   ├── trekt_3d.md
│   │   ├── tricord.md
│   │   ├── trogdor-reburninated.md
│   │   ├── tunez3ds.md
│   │   ├── turtleinvaders.md
│   │   ├── twlfix-cfw.md
│   │   ├── twlsavetool.md
│   │   ├── twpatch.md
│   │   ├── uae3ds.md
│   │   ├── universal-edit.md
│   │   ├── universal-updater.md
│   │   ├── updatesuppressor.md
│   │   ├── uxnds.md
│   │   ├── vapecord-achhd-plugin.md
│   │   ├── vapecord-acnl-plugin.md
│   │   ├── vconv.md
│   │   ├── vice3ds.md
│   │   ├── video-player-for-3ds.md
│   │   ├── virtuanes.md
│   │   ├── wifimanager.md
│   │   ├── witb_3d.md
│   │   ├── wordle-terminal-3ds.md
│   │   ├── wumiibo.md
│   │   ├── xash3ds.md
│   │   ├── xrick-3ds.md
│   │   ├── yahtzee3ds.md
│   │   ├── yanbf.md
│   │   ├── yet-another-flappy-bird.md
│   │   ├── yet-another-mario-kart-clone-3ds.md
│   │   ├── zappka3ds.md
│   │   ├── zelda3t.md
│   │   ├── zeldaolb.md
│   │   ├── zeldapicross.md
│   │   ├── zeldaroth-1-0-3-beta.md
│   │   └── zeldaroth.md
│   ├── _config.yml
│   ├── _data/
│   │   ├── i18n/
│   │   │   ├── bruh-US.json
│   │   │   ├── de-DE.json
│   │   │   ├── en-US.json
│   │   │   ├── es-ES.json
│   │   │   ├── fr-FR.json
│   │   │   ├── he-IL.json
│   │   │   ├── hu-HU.json
│   │   │   ├── ic-IC.json
│   │   │   ├── it-IT.json
│   │   │   ├── ja-JP.json
│   │   │   ├── ko-KR.json
│   │   │   ├── no-NO.json
│   │   │   ├── pl-PL.json
│   │   │   ├── pt-BR.json
│   │   │   ├── ro-RO.json
│   │   │   ├── ru-RU.json
│   │   │   ├── ry-JP.json
│   │   │   ├── tr-TR.json
│   │   │   ├── uk-UA.json
│   │   │   ├── zh-CN.json
│   │   │   └── zh-TW.json
│   │   ├── languages.json
│   │   └── nav.json
│   ├── _ds/
│   │   ├── a5200ds.md
│   │   ├── a7800ds.md
│   │   ├── a8ds.md
│   │   ├── angband.md
│   │   ├── better-call-saul-ds.md
│   │   ├── box.md
│   │   ├── breaking-bad-ds.md
│   │   ├── cerealboxsnow.md
│   │   ├── colecods.md
│   │   ├── colors.md
│   │   ├── counter-strike-nintendo-ds.md
│   │   ├── d-elusion.md
│   │   ├── derailed.md
│   │   ├── ds-forwarder-packs.md
│   │   ├── ds-micpassthrough.md
│   │   ├── dscraft.md
│   │   ├── dsi-camera.md
│   │   ├── dsidl.md
│   │   ├── dslibris.md
│   │   ├── fspds.md
│   │   ├── ftpd.md
│   │   ├── gameyob.md
│   │   ├── gbarunner2.md
│   │   ├── godmode9i.md
│   │   ├── gravity.md
│   │   ├── hiyacfw.md
│   │   ├── ikachands.md
│   │   ├── ikureader.md
│   │   ├── jenesisds.md
│   │   ├── kekatsu.md
│   │   ├── kirikou.md
│   │   ├── lolsnes.md
│   │   ├── ludonds.md
│   │   ├── microcitynds.md
│   │   ├── monty-hall-ds.md
│   │   ├── mpeg4-player.md
│   │   ├── nds-bootstrap.md
│   │   ├── ndsforwarder-dsi.md
│   │   ├── ndsi-savedumper.md
│   │   ├── nesds.md
│   │   ├── nintellivision.md
│   │   ├── nitrohax.md
│   │   ├── nitrohax3ds.md
│   │   ├── nitroswan.md
│   │   ├── ntm.md
│   │   ├── ntr-launcher.md
│   │   ├── parkinrampage.md
│   │   ├── picodrivetwl.md
│   │   ├── pistol-pong-ds.md
│   │   ├── pkcount.md
│   │   ├── pkmn-chest.md
│   │   ├── portalds.md
│   │   ├── protista.md
│   │   ├── raptor-ds3ds.md
│   │   ├── relaunch.md
│   │   ├── s8ds.md
│   │   ├── safe-nand-manager.md
│   │   ├── scummvm.md
│   │   ├── snemulds.md
│   │   ├── spiritedds.md
│   │   ├── stellads.md
│   │   ├── super-photo-studio.md
│   │   ├── terrariads.md
│   │   ├── tic-tac-ds.md
│   │   ├── tmfh.md
│   │   ├── toolchaingenericds-multimediaplayer.md
│   │   ├── twilight-menu.md
│   │   ├── uxnds.md
│   │   ├── white-space-ds.md
│   │   └── wordle-ds.md
│   ├── _includes/
│   │   ├── app-request.html
│   │   ├── common-js.html
│   │   ├── favicon.html
│   │   ├── footer.html
│   │   ├── head.html
│   │   ├── modal.html
│   │   ├── nav.html
│   │   ├── script-show.html
│   │   └── seo.html
│   ├── _layouts/
│   │   ├── app.html
│   │   ├── cards.html
│   │   ├── compress.html
│   │   └── default.html
│   ├── _sass/
│   │   └── base.scss
│   ├── app-request.md
│   ├── assets/
│   │   ├── css/
│   │   │   ├── 83-percent.scss
│   │   │   ├── dark.scss
│   │   │   ├── light.scss
│   │   │   └── style.css
│   │   ├── files/
│   │   │   ├── Protista.nds
│   │   │   └── databases.txt
│   │   └── js/
│   │       ├── 404.js
│   │       ├── app-request.js
│   │       ├── i18n.js
│   │       ├── modal.js
│   │       ├── relativeTime.js
│   │       ├── rescript.js
│   │       ├── search.js
│   │       ├── sort.js
│   │       └── theme.js
│   ├── data/
│   │   └── full.json
│   ├── ds/
│   │   ├── category/
│   │   │   ├── emulator.md
│   │   │   ├── extra.md
│   │   │   ├── game.md
│   │   │   ├── save-tool.md
│   │   │   ├── translation.md
│   │   │   └── utility.md
│   │   └── index.md
│   ├── ds.rss
│   ├── index.md
│   ├── index.rss
│   └── unistore/
│       ├── retroarch.t3x
│       ├── retroarch.unistore
│       ├── universal-db-0.t3x
│       ├── universal-db-info.json
│       ├── universal-db.t3x
│       ├── universal-db.tdx
│       └── universal-db.unistore
├── resources/
│   └── template.xcf
└── source/
    ├── apps/
    │   ├── 2048-3ds-port.json
    │   ├── 3d-pinball-space-cadet.json
    │   ├── 3deins.json
    │   ├── 3delf.json
    │   ├── 3dfetch.json
    │   ├── 3diceroller.json
    │   ├── 3ds-button-tester.json
    │   ├── 3ds-controller.json
    │   ├── 3ds-donut.json
    │   ├── 3ds-ebook-reader.json
    │   ├── 3ds-fbge-installer.json
    │   ├── 3ds-filebrowser.json
    │   ├── 3ds-google-maps.json
    │   ├── 3ds-httpd.json
    │   ├── 3ds-parentalunlock.json
    │   ├── 3ds-random-game-laucher.json
    │   ├── 3ds-recovery-tool.json
    │   ├── 3ds-savesync.json
    │   ├── 3ds-sorting.json
    │   ├── 3ds-streetpass.json
    │   ├── 3ds-vgmstream.json
    │   ├── 3ds-vjoy-controller.json
    │   ├── 3ds1010.json
    │   ├── 3ds_codedit.json
    │   ├── 3ds_quick_reboot.json
    │   ├── 3dsbank.json
    │   ├── 3dscontroller.json
    │   ├── 3dscookieclicker.json
    │   ├── 3dscreen.json
    │   ├── 3dsdi.json
    │   ├── 3dshell.json
    │   ├── 3dsident.json
    │   ├── 3dslibris.json
    │   ├── 3dsoundboard.json
    │   ├── 3dsx-play-coin-setter-mod.json
    │   ├── 3dvier.json
    │   ├── 3dweb.json
    │   ├── 3dzwei.json
    │   ├── NoteRoom.json
    │   ├── a5200ds.json
    │   ├── a7800ds.json
    │   ├── a8ds.json
    │   ├── able-atelier-3DS.json
    │   ├── anarch.json
    │   ├── anemone3ds.json
    │   ├── angband.json
    │   ├── antibounce.json
    │   ├── apotris.json
    │   ├── artic-base-server.json
    │   ├── atari800-randomman25xx.json
    │   ├── atari800.json
    │   ├── audioswitcher3ds.json
    │   ├── aurorachat.json
    │   ├── b9s_check.json
    │   ├── balatro3ds.json
    │   ├── ballcopter.json
    │   ├── bandolero-3ds.json
    │   ├── bart-bash.json
    │   ├── battery_mark_for_3ds.json
    │   ├── bcstm-player.json
    │   ├── better-call-saul-ds.json
    │   ├── better-nfcreader.json
    │   ├── biniax2-3ds.json
    │   ├── blargspc.json
    │   ├── blockamok-remix.json
    │   ├── bootntr.json
    │   ├── bottomless-block-barrage.json
    │   ├── box.json
    │   ├── breaking-bad-ds.json
    │   ├── breakup-simulator-portable.json
    │   ├── budgiessh.json
    │   ├── bugdom.json
    │   ├── bullets.json
    │   ├── buttonpresser3ds.json
    │   ├── calculathreeds.json
    │   ├── captureassistant.json
    │   ├── cectool.json
    │   ├── cerealboxsnow.json
    │   ├── chatgpt3ds.json
    │   ├── checkpoint.json
    │   ├── cia-installer.json
    │   ├── citrahold.json
    │   ├── class-of-09.json
    │   ├── classicube.json
    │   ├── colecods.json
    │   ├── colors.json
    │   ├── counter-strike-nintendo-ds.json
    │   ├── cpymo.json
    │   ├── craftus-reloaded.json
    │   ├── cro-mag-rally.json
    │   ├── crosscraft-classic.json
    │   ├── cs3ds.json
    │   ├── cstimer-3ds.json
    │   ├── ctgp-7-downloader.json
    │   ├── ctgp7-savetransfer.json
    │   ├── cthulhu.json
    │   ├── ctr-alarmo.json
    │   ├── ctrmus.json
    │   ├── ctroller.json
    │   ├── ctrquake.json
    │   ├── ctrrgbpat2.json
    │   ├── ctrxplorer.json
    │   ├── cube-adventures.json
    │   ├── custom-yacht-3ds.json
    │   ├── d-elusion.json
    │   ├── daedalusx64-3ds.json
    │   ├── ddlc-love.json
    │   ├── dead-pixel-checker.json
    │   ├── demo-reset.json
    │   ├── derailed.json
    │   ├── devilutionx.json
    │   ├── doodle.json
    │   ├── doors-3ds.json
    │   ├── dosbox.json
    │   ├── drawattack.json
    │   ├── drider.json
    │   ├── ds-forwarder-packs.json
    │   ├── ds-micpassthrough.json
    │   ├── dscraft.json
    │   ├── dses.json
    │   ├── dsi-camera.json
    │   ├── dsidl.json
    │   ├── dslibris.json
    │   ├── dsp1.json
    │   ├── dungeons-of-daggorath-3ds.json
    │   ├── easyrpgdlre.json
    │   ├── eduke3d.json
    │   ├── evolution_sav3d_me.json
    │   ├── ezb9supdater.json
    │   ├── faketik.json
    │   ├── falling-blocks-watch-out.json
    │   ├── fastplaycoin.json
    │   ├── fbi-nh.json
    │   ├── flappy-bird.json
    │   ├── fmsx3ds.json
    │   ├── forecast.json
    │   ├── fourthtube.json
    │   ├── friendmii.json
    │   ├── fspds.json
    │   ├── ftpd.json
    │   ├── game-tipper.json
    │   ├── gameyob-3ds.json
    │   ├── gameyob.json
    │   ├── gbarunner2.json
    │   ├── gemini3ds.json
    │   ├── github3ds.json
    │   ├── godmode9.json
    │   ├── godmode9i.json
    │   ├── graphcalc3ds.json
    │   ├── gravity.json
    │   ├── griffon-legend-3ds.json
    │   ├── gytb.json
    │   ├── hackezi.json
    │   ├── halo-renewed-solitude.json
    │   ├── halo-revamped.json
    │   ├── hax0r.json
    │   ├── hexisopath.json
    │   ├── hiyacfw.json
    │   ├── hokakuctr.json
    │   ├── homebrew_launcher_dummy.json
    │   ├── horihd-gallery.json
    │   ├── hrt3ds.json
    │   ├── ikachands.json
    │   ├── ikureader.json
    │   ├── inpost3ds.json
    │   ├── ioquake3ds.json
    │   ├── ip-cam-viewer.json
    │   ├── jenesisds.json
    │   ├── jksm.json
    │   ├── kartdlphax.json
    │   ├── kavita-3ds.json
    │   ├── kekatsu.json
    │   ├── kirikou.json
    │   ├── leafedit-pattern-editor.json
    │   ├── leafedit.json
    │   ├── lego-island.json
    │   ├── level256-installer.json
    │   ├── limeplayer3ds.json
    │   ├── line-for-3ds.json
    │   ├── lolsnes.json
    │   ├── ludo3ds.json
    │   ├── ludonds.json
    │   ├── luma3ds.json
    │   ├── luma3dsweather.json
    │   ├── lumalocaleswitcher.json
    │   ├── magic-draw.json
    │   ├── mars3ds.json
    │   ├── mcu-bricker.json
    │   ├── mgba.json
    │   ├── microcitynds.json
    │   ├── mk7-plugin-dx.json
    │   ├── modmoon.json
    │   ├── monty-hall-ds.json
    │   ├── moonlight-streaming-client.json
    │   ├── mpeg4-player.json
    │   ├── multi-pokemon-framework.json
    │   ├── multidownload.json
    │   ├── nazi-zombies-portable.json
    │   ├── nds-bootstrap.json
    │   ├── ndsforwarder-dsi.json
    │   ├── ndsforwarder.json
    │   ├── ndsi-savedumper.json
    │   ├── neopop-sdl.json
    │   ├── nesds.json
    │   ├── new-hbmenu.json
    │   ├── nexus3ds.json
    │   ├── nfcheckrem.json
    │   ├── nimbus.json
    │   ├── nintellivision.json
    │   ├── nitrohax.json
    │   ├── nitrohax3ds.json
    │   ├── nitroswan.json
    │   ├── noisecommander.json
    │   ├── notebook3ds.json
    │   ├── notepad3ds.json
    │   ├── notifymii.json
    │   ├── ntm.json
    │   ├── ntr-hr.json
    │   ├── ntr-launcher.json
    │   ├── off.json
    │   ├── ollama3ds.json
    │   ├── omega.json
    │   ├── omnispeak-3ds.json
    │   ├── oot3d_randomizer.json
    │   ├── open_agb_firm.json
    │   ├── openagblauncher.json
    │   ├── openbor-3ds.json
    │   ├── opensyobon3ds.json
    │   ├── opentitus-3ds.json
    │   ├── opentyrian-3ds.json
    │   ├── orchestrina.json
    │   ├── parkinrampage.json
    │   ├── payloadspinner3ds.json
    │   ├── pdrpse.json
    │   ├── picodrive.json
    │   ├── picodrivetwl.json
    │   ├── pie3ds.json
    │   ├── pistol-pong-ds.json
    │   ├── pkcount.json
    │   ├── pkmn-chest.json
    │   ├── pksm.json
    │   ├── pomegranate.json
    │   ├── pong-pokemon.json
    │   ├── portalds.json
    │   ├── potatostream.json
    │   ├── powder-3ds.json
    │   ├── prboom-plus.json
    │   ├── prboom3ds.json
    │   ├── protista.json
    │   ├── qtmStub.json
    │   ├── quake2ctr.json
    │   ├── r3ddragon.json
    │   ├── random-title-picker.json
    │   ├── rangen-3ds.json
    │   ├── raptor-ds-3ds.json
    │   ├── ravimid.json
    │   ├── red-viper.json
    │   ├── rehid.json
    │   ├── relaunch.json
    │   ├── retroarch.json
    │   ├── rollthedice-3ds.json
    │   ├── romfs-explorer.json
    │   ├── rtchanger.json
    │   ├── s8ds.json
    │   ├── safe-nand-manager.json
    │   ├── safeb9sinstaller.json
    │   ├── satellazone.json
    │   ├── save-data-copy-tool.json
    │   ├── savvymanager.json
    │   ├── scratch-3ds.json
    │   ├── screenshot-merge.json
    │   ├── scummvm.json
    │   ├── seedminer.json
    │   ├── sharedfonttool.json
    │   ├── shut-the-cam-up.json
    │   ├── sliderpong.json
    │   ├── smash-amiibo-cheat-tool.json
    │   ├── smilebasic-file-manager.json
    │   ├── snake-for-3ds.json
    │   ├── snake2ds.json
    │   ├── snakes.json
    │   ├── snemulds.json
    │   ├── snes9x.json
    │   ├── sonic-1--2.json
    │   ├── sonic-cd.json
    │   ├── sonic-mania.json
    │   ├── sonic-robo-blast-2.json
    │   ├── space-invaders.json
    │   ├── specializemii.json
    │   ├── spirited-ds.json
    │   ├── srau.json
    │   ├── stackmill.json
    │   ├── starcruiser7.json
    │   ├── stellads.json
    │   ├── streamu.json
    │   ├── stuff.json
    │   ├── sudokul.json
    │   ├── super-haxagon.json
    │   ├── super-photo-studio.json
    │   ├── superml.json
    │   ├── supertux.json
    │   ├── tasmanquest.json
    │   ├── temperpce.json
    │   ├── terminal-clicker.json
    │   ├── terrariads.json
    │   ├── the-pirate-launcher.json
    │   ├── thextech.json
    │   ├── tic-tac-ds.json
    │   ├── tiksweep.json
    │   ├── tinyvnc.json
    │   ├── tjaplayer_for_3ds.json
    │   ├── tmfh.json
    │   ├── toolchaingenericds-multimediaplayer.json
    │   ├── topos_3ds-video-player.json
    │   ├── touch-keys.json
    │   ├── trekt_3d.json
    │   ├── tricord.json
    │   ├── trogdor-reburninated.json
    │   ├── tunez-3ds.json
    │   ├── turtleinvaders.json
    │   ├── twilight-menu.json
    │   ├── twlfix-cfw.json
    │   ├── twlsavetool.json
    │   ├── twpatch.json
    │   ├── uae3ds.json
    │   ├── universal-edit.json
    │   ├── universal-updater.json
    │   ├── updatesuppressor.json
    │   ├── uxnds.json
    │   ├── vapecord-achhd-plugin.json
    │   ├── vapecord-acnl-plugin.json
    │   ├── vconv.json
    │   ├── vice3ds.json
    │   ├── video-player-for-3ds.json
    │   ├── virtuanes.json
    │   ├── white-space-ds.json
    │   ├── wifimanager.json
    │   ├── witb_3d.json
    │   ├── wordle-ds.json
    │   ├── wordle-terminal-3ds.json
    │   ├── wumiibo.json
    │   ├── xash3ds.json
    │   ├── xrick-3ds.json
    │   ├── yahtzee3ds.json
    │   ├── yanbf.json
    │   ├── yet-another-flappy-bird.json
    │   ├── yet-another-mario-kart-clone-3ds.json
    │   ├── zappka3ds.json
    │   ├── zelda3t.json
    │   ├── zeldaolb.json
    │   ├── zeldapicross.json
    │   ├── zeldaroth-1-0-3-beta.json
    │   └── zeldaroth.json
    ├── generate.py
    ├── img2tdx.py
    ├── requirements.txt
    ├── unistore.py
    └── utils.py

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/ISSUE_TEMPLATE/app-request.yml
================================================
name: App request
description: Request an app on GitHub be added to Universal-DB
labels: ["app request"]
assignees: ["Epicpkmn11"]
body:
  - type: markdown
    attributes:
      value: "**Please ensure your app complies with the [Universal-DB guidelines](https://github.com/Universal-Team/db/blob/master/CONTRIBUTING.md#app-requests) before submitting a request.**"
  - type: markdown
    attributes:
      value: "Go to [the app request web page](https://db.universal-team.net/app-request) and fill out the form to create a JSON for submission then come back here to submit it. Note that rarely used features are currently missing from the form, see [the wiki](https://github.com/Universal-Team/db/wiki/App-Template) for more information."
  - type: markdown
    attributes:
      value: "Know how to use git? Consider submitting a pull request instead. (this is a hobby project, as simple as it is we don't have time to sit down and review everything all the time. Pull requests will be reviewed much faster)"
  - type: textarea
    attributes:
      label: Submission form
      description: Upload your JSON file here. You can also upload screenshots here.
  - type: checkboxes
    attributes:
      label: Developer permission
      description: If you aren't a developer of the app, then please actually check it's alright with them.
      options:
        - label: I am the app developer or have permission from the app developer to make this request; my request is compliant with the [Universal-DB guidelines](https://github.com/Universal-Team/db/blob/da0f7076fa5632294af0c597efe315bcc86acab4/CONTRIBUTING.md#app-requests)
          required: true


================================================
FILE: .github/ISSUE_TEMPLATE/config.yml
================================================
blank_issues_enabled: true
contact_links:
  - name: Universal-Updater issue
    url: https://github.com/Universal-Team/Universal-Updater/issues/new/choose
    about: Issues with the 3DS app should go in the Universal-Updater repository
  - name: Support (on Discord)
    url: https://universal-team.net/discord
    about: "Please use #support on the Discord server to for support-related questions"


================================================
FILE: .github/ISSUE_TEMPLATE/site-request.md
================================================
---
name: Site request
about: Request a change to the site
title: ''
labels: site request
assignees: ''

---


================================================
FILE: .github/workflows/crowdin-commit.yml
================================================
name: Import translations from Crowdin

on:
  schedule:
    - cron: "0 0 1,15 * *"
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
        with:
          persist-credentials: false
          submodules: recursive

      - uses: actions/setup-node@v4
        with:
          node-version: lts/*

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.2'
          bundler-cache: true
  
      - name: Setup Crowdin CLI
        run: |
          npm i -g @crowdin/cli

      - name: Install dependencies
        run: |
          cd docs
          bundle install

      - name: Pull from Crowdin
        env:
          CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }}
        run: |
          ./crowdin-pull.sh

      - name: Build test
        run: |
          cd docs
          bundle exec jekyll build
  
      - name: Commit changes
        continue-on-error: true
        run: |
          git config user.email "twlbot@flashcarts.net"
          git config user.name "TWLBot"

          git checkout master
          git commit -a -m "Automatic translation import"

      - name: Push changes
        uses: ad-m/github-push-action@master
        with:
          branch: master
          github_token: ${{ secrets.TWLBOT_TOKEN }}


================================================
FILE: .github/workflows/crowdin-upload.yml
================================================
name: Upload source files to Crowdin

on:
  push:
    branches: [ master ]
    paths:
      - 'docs/_data/i18n/en-US.json'
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v6
        with:
          persist-credentials: false
          submodules: recursive

      - uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.2'
          bundler-cache: true

      - name: Install dependencies
        run: |
          cd docs
          bundle install

      - name: Build test
        run: |
          cd docs
          bundle exec jekyll build

      - name: Push to Crowdin
        uses: crowdin/github-action@v2
        with:
          upload_sources: true
        env:
          CROWDIN_TOKEN: ${{ secrets.CROWDIN_TOKEN }}


================================================
FILE: .github/workflows/pull-request.yml
================================================
name: Pull request check
on:
  pull_request:

jobs:
  run:
    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v6
      with:
        fetch-depth: 2

    - name: Prepare environment
      run: |
        pip3 install --break-system-packages -r source/requirements.txt

    - name: Run generate.py
      env:
        TOKEN: ${{ secrets.GITHUB_TOKEN }}
      run: |
        UPDATED_APPS=$(git diff --name-only HEAD~1 | grep source/apps || true)

        echo $UPDATED_APPS
        if [ -n "$UPDATED_APPS" ]; then
          echo '<details><summary>Test Results</summary>' > results.txt
          echo '' >> results.txt
          echo '```json' >> results.txt
          source/generate.py app-test $UPDATED_APPS >> results.txt
          if [ $? -eq 0 ]; then
            echo yes
            echo '```' >> results.txt
            cat results.txt | grep -o 'https://.*\.png' >> results.txt
            echo '</details>' >> results.txt
          else
            echo no
            rm results.txt
          fi
        fi

        cat results.txt

    - name: Comment results
      if: ${{ hashFiles('results.txt') != '' }}
      uses: thollander/actions-comment-pull-request@v3
      with:
        file-path: results.txt

================================================
FILE: .github/workflows/update-priority.yml
================================================
name: Update priority sources

# Run hourly except when the real update runs
on:
  schedule:
    - cron: 0 1-5,7-11,13-17,19-23 * * *
  push:
    branches: [ master ]
    paths: [ source/apps/*, source/generate.py, source/requirements.txt, .github/workflows/update-priority.yml ]
  workflow_dispatch:

jobs:
  run:
    runs-on: ubuntu-latest
    container: universalteam/db

    steps:
    - uses: actions/checkout@v6

    - name: Delete old pages
      run: rm -rf docs/_3ds/* docs/_ds/*

    - name: Run generate.py
      env:
        TOKEN: ${{ secrets.GITHUB_TOKEN }}
        WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }}
      run: |
        export PATH=$PATH:/opt/devkitpro/tools/bin

        # Check for background images
        BG_DIR=source/bg/$(date +%m)
        COUNT=$(ls $BG_DIR | wc -l)
        if [ $COUNT -ne 0 ]; then
          SELECTED=$(( $(date +%-j) / 3 % $COUNT + 1 ))
          BG="$BG_DIR/$(ls $BG_DIR | head -n$SELECTED | tail -n1)"

          python3 source/generate.py all --priority --background "$BG"
        else
          python3 source/generate.py all --priority
        fi

      # Pull origin in case a commit has been done while updating
    - name: Pull origin
      run: |
        git config --global --add safe.directory /__w/db/db
        git pull origin master --ff-only

    - name: Push changes
      run: |
        git config user.email "twlbot@flashcarts.net"
        git config user.name "TWLBot"

        echo "machine github.com" > "$HOME/.netrc"
        echo "  login TWLBot" >> "$HOME/.netrc"
        echo "  password ${{ secrets.GITHUB_TOKEN }}" >> "$HOME/.netrc"

        echo "machine api.github.com" >> "$HOME/.netrc"
        echo "  login TWLBot" >> "$HOME/.netrc"
        echo "  password ${{ secrets.GITHUB_TOKEN }}" >> "$HOME/.netrc"

        git checkout master
        if git diff --name-only | grep full.json; then
          git stage .
          if git commit -m "Update priority sources"; then
            git push origin master
          fi
        fi


================================================
FILE: .github/workflows/update.yml
================================================
name: Update sources

# Run on push and 4 times per day
on:
  schedule:
    - cron: 0 0,6,12,18 * * *
  workflow_dispatch:

jobs:
  run:
    runs-on: ubuntu-latest
    container: universalteam/db

    steps:
    - uses: actions/checkout@v6

    - name: Delete old pages and QRs
      run: rm -rf docs/_3ds/* docs/_ds/* docs/assets/images/qr/*.png docs/assets/images/qr/git/*.png docs/assets/images/qr/prerelease/*.png

    - name: Run generate.py
      env:
        TOKEN: ${{ secrets.GITHUB_TOKEN }}
        WEBHOOK_URL: ${{ secrets.WEBHOOK_URL }}
      run: |
        export PATH=$PATH:/opt/devkitpro/tools/bin

        # Check for background images
        BG_DIR=source/bg/$(date +%m)
        COUNT=$(ls $BG_DIR | wc -l)
        if [ $COUNT -ne 0 ]; then
          SELECTED=$(( $(date +%-j) / 3 % $COUNT + 1 ))
          BG="$BG_DIR/$(ls $BG_DIR | head -n$SELECTED | tail -n1)"

          python3 source/generate.py all --background "$BG"
        else
          python3 source/generate.py all
        fi


      # Pull origin in case a commit has been done while updating
    - name: Pull origin
      run: |
        git config --global --add safe.directory /__w/db/db
        git pull origin master --ff-only

    - name: Push changes
      run: |
        git config user.email "twlbot@flashcarts.net"
        git config user.name "TWLBot"

        echo "machine github.com" > "$HOME/.netrc"
        echo "  login TWLBot" >> "$HOME/.netrc"
        echo "  password ${{ secrets.GITHUB_TOKEN }}" >> "$HOME/.netrc"

        echo "machine api.github.com" >> "$HOME/.netrc"
        echo "  login TWLBot" >> "$HOME/.netrc"
        echo "  password ${{ secrets.GITHUB_TOKEN }}" >> "$HOME/.netrc"

        git checkout master
        git stage .
        if git commit -m "Update sources"; then
          git push origin master
        fi


================================================
FILE: .gitignore
================================================
*.DS_Store
*__pycache__
*.venv

*_site
*.sass-cache
*.jekyll-cache
*.jekyll-metadata
*Gemfile.lock
*/vendor/bundle
*.bundle

*temp/


================================================
FILE: CONTRIBUTING.md
================================================
## App Requests

NOTE: Even if your app complies with our rules, we (Universal-Team members) reserve the right to remove your app from our database for any reason at any time.

### Rules
Any app requests must conform to the following rules before they can be added to the database:
1. Do not include any copyrighted content that you don't have the rights to use (i.e. piracy)
   - This includes apps developed with Unity as "Unity for 3DS" can only be legally acquired by signing an NDA that prevents you from developing homebrew with it
   - Loading copyrighted assets externally from the SD card is fine as long as it's not shipped with the application, whether from the script or in the app itself
1. There should be no NSFW content
1. Must have some description of what the app does, whether in the README or in the submitted app description
1. Must have some meaningful functionality (e.g. not just a testing app or a utility that works on outdated ideas)
1. Any forks of existing apps must achieve a different goal/target audience than their base app
    - Ideally, forks that only add "more functionality" or different translations should be Pull Requests into the original project's repository rather than being a separate app.
    - If the project that you're forking doesn't have translations, chances are it's not needed.
1. App must be for the 3DS or DS (e.g. not a VC inject)

### Recommendations
These are not strict requirements, but are strongly recommended:
1. The source code should be publicly accessible
1. Use GitHub Releases for app downloads. This makes update tracking and downloads much easier
   - Bitbucket is also supported but not as well. Other sites can be added if they have a good API for it
1. Have a place for public discussion of your app (e.g GitHub Discussions, GBAtemp, Discord server, etc)
1. If a online service component exists, try to make it open source and allow the URL which the apps connects with to be changed, in case the service goes down


================================================
FILE: LICENSE
================================================
                    GNU GENERAL PUBLIC LICENSE
                       Version 3, 29 June 2007

 Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

                            Preamble

  The GNU General Public License is a free, copyleft license for
software and other kinds of works.

  The licenses for most software and other practical works are designed
to take away your freedom to share and change the works.  By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users.  We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors.  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.

  To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights.  Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received.  You must make sure that they, too, receive
or can get the source code.  And you must show them these terms so they
know their rights.

  Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.

  For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software.  For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.

  Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so.  This is fundamentally incompatible with the aim of
protecting users' freedom to change the software.  The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable.  Therefore, we
have designed this version of the GPL to prohibit the practice for those
products.  If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.

  Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary.  To prevent this, the GPL assures that
patents cannot be used to render the program non-free.

  The precise terms and conditions for copying, distribution and
modification follow.

                       TERMS AND CONDITIONS

  0. Definitions.

  "This License" refers to version 3 of the GNU General Public License.

  "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.

  "The Program" refers to any copyrightable work licensed under this
License.  Each licensee is addressed as "you".  "Licensees" and
"recipients" may be individuals or organizations.

  To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy.  The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.

  A "covered work" means either the unmodified Program or a work based
on the Program.

  To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy.  Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.

  To "convey" a work means any kind of propagation that enables other
parties to make or receive copies.  Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.

  An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License.  If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.

  1. Source Code.

  The "source code" for a work means the preferred form of the work
for making modifications to it.  "Object code" means any non-source
form of a work.

  A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.

  The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form.  A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.

  The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities.  However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work.  For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.

  The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.

  The Corresponding Source for a work in source code form is that
same work.

  2. Basic Permissions.

  All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met.  This License explicitly affirms your unlimited
permission to run the unmodified Program.  The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work.  This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.

  You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force.  You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright.  Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.

  Conveying under any other circumstances is permitted solely under
the conditions stated below.  Sublicensing is not allowed; section 10
makes it unnecessary.

  3. Protecting Users' Legal Rights From Anti-Circumvention Law.

  No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.

  When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.

  4. Conveying Verbatim Copies.

  You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.

  You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.

  5. Conveying Modified Source Versions.

  You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:

    a) The work must carry prominent notices stating that you modified
    it, and giving a relevant date.

    b) The work must carry prominent notices stating that it is
    released under this License and any conditions added under section
    7.  This requirement modifies the requirement in section 4 to
    "keep intact all notices".

    c) You must license the entire work, as a whole, under this
    License to anyone who comes into possession of a copy.  This
    License will therefore apply, along with any applicable section 7
    additional terms, to the whole of the work, and all its parts,
    regardless of how they are packaged.  This License gives no
    permission to license the work in any other way, but it does not
    invalidate such permission if you have separately received it.

    d) If the work has interactive user interfaces, each must display
    Appropriate Legal Notices; however, if the Program has interactive
    interfaces that do not display Appropriate Legal Notices, your
    work need not make them do so.

  A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit.  Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.

  6. Conveying Non-Source Forms.

  You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:

    a) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by the
    Corresponding Source fixed on a durable physical medium
    customarily used for software interchange.

    b) Convey the object code in, or embodied in, a physical product
    (including a physical distribution medium), accompanied by a
    written offer, valid for at least three years and valid for as
    long as you offer spare parts or customer support for that product
    model, to give anyone who possesses the object code either (1) a
    copy of the Corresponding Source for all the software in the
    product that is covered by this License, on a durable physical
    medium customarily used for software interchange, for a price no
    more than your reasonable cost of physically performing this
    conveying of source, or (2) access to copy the
    Corresponding Source from a network server at no charge.

    c) Convey individual copies of the object code with a copy of the
    written offer to provide the Corresponding Source.  This
    alternative is allowed only occasionally and noncommercially, and
    only if you received the object code with such an offer, in accord
    with subsection 6b.

    d) Convey the object code by offering access from a designated
    place (gratis or for a charge), and offer equivalent access to the
    Corresponding Source in the same way through the same place at no
    further charge.  You need not require recipients to copy the
    Corresponding Source along with the object code.  If the place to
    copy the object code is a network server, the Corresponding Source
    may be on a different server (operated by you or a third party)
    that supports equivalent copying facilities, provided you maintain
    clear directions next to the object code saying where to find the
    Corresponding Source.  Regardless of what server hosts the
    Corresponding Source, you remain obligated to ensure that it is
    available for as long as needed to satisfy these requirements.

    e) Convey the object code using peer-to-peer transmission, provided
    you inform other peers where the object code and Corresponding
    Source of the work are being offered to the general public at no
    charge under subsection 6d.

  A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.

  A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling.  In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage.  For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product.  A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.

  "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source.  The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.

  If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information.  But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).

  The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed.  Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.

  Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.

  7. Additional Terms.

  "Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law.  If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.

  When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it.  (Additional permissions may be written to require their own
removal in certain cases when you modify the work.)  You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.

  Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:

    a) Disclaiming warranty or limiting liability differently from the
    terms of sections 15 and 16 of this License; or

    b) Requiring preservation of specified reasonable legal notices or
    author attributions in that material or in the Appropriate Legal
    Notices displayed by works containing it; or

    c) Prohibiting misrepresentation of the origin of that material, or
    requiring that modified versions of such material be marked in
    reasonable ways as different from the original version; or

    d) Limiting the use for publicity purposes of names of licensors or
    authors of the material; or

    e) Declining to grant rights under trademark law for use of some
    trade names, trademarks, or service marks; or

    f) Requiring indemnification of licensors and authors of that
    material by anyone who conveys the material (or modified versions of
    it) with contractual assumptions of liability to the recipient, for
    any liability that these contractual assumptions directly impose on
    those licensors and authors.

  All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10.  If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term.  If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.

  If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.

  Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.

  8. Termination.

  You may not propagate or modify a covered work except as expressly
provided under this License.  Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).

  However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.

  Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.

  Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License.  If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.

  9. Acceptance Not Required for Having Copies.

  You are not required to accept this License in order to receive or
run a copy of the Program.  Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance.  However,
nothing other than this License grants you permission to propagate or
modify any covered work.  These actions infringe copyright if you do
not accept this License.  Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.

  10. Automatic Licensing of Downstream Recipients.

  Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License.  You are not responsible
for enforcing compliance by third parties with this License.

  An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations.  If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.

  You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License.  For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.

  11. Patents.

  A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.  The
work thus licensed is called the contributor's "contributor version".

  A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version.  For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.

  Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.

  In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement).  To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.

  If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients.  "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.

  If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.

  A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License.  You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.

  Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.

  12. No Surrender of Others' Freedom.

  If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all.  For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.

  13. Use with the GNU Affero General Public License.

  Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work.  The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.

  14. Revised Versions of this License.

  The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

  Each version is given a distinguishing version number.  If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation.  If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.

  If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.

  Later license versions may give you additional or different
permissions.  However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.

  15. Disclaimer of Warranty.

  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

  16. Limitation of Liability.

  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.

  17. Interpretation of Sections 15 and 16.

  If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.

                     END OF TERMS AND CONDITIONS

            How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <https://www.gnu.org/licenses/>.

Also add information on how to contact you by electronic and paper mail.

  If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:

    <program>  Copyright (C) <year>  <name of author>
    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".

  You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<https://www.gnu.org/licenses/>.

  The GNU General Public License does not permit incorporating your program
into proprietary programs.  If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library.  If this is what you want to do, use the GNU Lesser General
Public License instead of this License.  But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.


================================================
FILE: README.md
================================================
# Universal-DB
> An online database of 3DS and DS homebrew

[![Crowdin](https://badges.crowdin.net/universal-db/localized.svg)](https://crowdin.com/project/universal-db)

## Uses
- https://db.universal-team.net, hosted from this repository with GitHub Pages this is the official Universal-DB website
- [Universal-Updater](https://github.com/Universal-Team/Universal-Updater), Universal-DB is the default UniStore of Universal-Updater
- [Universal-Bot](https://github.com/Universal-Team/Universal-Bot), our Discord bot, with `?db` you can search for apps on Universal-DB
- [UDB-API](https://github.com/LightSage/UDB-API) by [LightSage](https://github.com/LightSage), a proper API for Universal-DB

## Supported sites for automatic data collection
These sites are the preferred places to host your downloads as Universal-DB can automatically fetch most of the info about it. More sites can be added provided they have sufficient info about it and are easy enough to get that info from, prefereably having some kind of API for it.

- [GitHub](https://github.com): Full support
- [Bitbucket](https://bitbucket.org): Partial support
- [Gitlab](https://gitlab.com): Partial support

## Using the data
As Universal-DB is hosted by GitHub pages we're not able to have a proper API, but you can use `docs/data/full.json` to get all the data we collect from the GitHub API and such all in one place or LightSage's [UDB-API](https://udb-api.lightsage.dev) for an unofficial proper API. If using `full.json`, it can be accessed from https://db.universal-team.net/data/full.json.
Please make an issue here or ask on [our Discord server](https://universal-team.net/discord) if you would like anything to be added to `full.json`, if possible we will try add it.

It would be nice if you credit us if you use our data, just a link to this repo or the official website with something like "Data from [Universal-DB](https://github.com/Universal-Team/db)" or so would be fine.

## Running the data collection
Universal-DB is updated automatically every hour / 6 hours (depending on the app's priority) using GitHub Actions, however if you would like to run the data collection and file generation yourself then you will need to:
1. Install `tex3ds` and `grit` using [devkitPro's pacman](https://devkitpro.org/wiki/Getting_Started)
   - These are needed to generate the t3x files for the Universal-Updater's UniStore
1. Install a recent version of [Python 3](https://www.python.org)
1. Open a terminal window in the `source` folder of this repository
1. Run `pip3 install -r requirements.txt` to install the needed Python libraries
1. Run `python3 generate.py`
   - You can pass a GitHub API token as the first argument to expand your API rate limit, this is needed with the default apps
   - You can pass `priority` as the second argument to only update apps updated in the last 30 days

The JSON files in `source/apps` is where the base data comes from, all apps should have a `github` (user/repo string), `systems` (string array), `categories` (string array), `image` (url string), and `icon` (url string). If the app isn't on GitHub then you will need to fill out most of the other information too. Some info can be pulled from the Bitbucket API too, but it's a bit more complicated than GitHub, look for examples in the current files. If `priority` is `true` then the app will be checked hourly by actions instead of every 6 hours, technically everything could be done hourly but due to the amount of apps that rarely update it's done every 6 to reduce spam on GitHub's API.
All info in `full.json` can override the GitHub API by specifying it in a source JSON, for example if you want an app title to have a space instead of a hyphen.

Running `generate.py` will generate the following files:
- A markdown file for each 3DS app in `docs/_3ds`
- A markdown file for each DS app in `docs/_ds`
- `docs/data/full.json`, a JSON with all collected info
- `docs/unistore/universal-db.unistore`, a UniStore format file for Universal-Updater
- `docs/unistore/universal-db.t3x`, a t3x format spritesheet for Universal-Updater

## Running the site locally
All of the website files are stored in the `docs` folder. To test the site locally, install Jekyll by running:
```
gem install bundler jekyll
```
Then run
```
bundle install
```
Then you can run the site by running this in the `docs` folder:
```
bundle exec jekyll serve
```

# Credits
- [Pk11](https://github.com/Epicpkmn11): Most website design and data collection code
- [TrianguloY](https://github.com/TrianguloY): Many of the background images, one per month
- [devkitPro](https://github.com/devkitPro): tex3ds


================================================
FILE: crowdin-pull.sh
================================================
#!/bin/bash

# Add new languages here, space separated and using the ID for `crowdin pull`
LANGUAGES="bruh de es-ES fr he hu in-context it ja ko no pl pt-BR ro ru ry tr uk zh-CN zh-TW"

ARG=''
for LANGUAGE in $LANGUAGES; do
	ARG+="-l $LANGUAGE "
done
crowdin pull $ARG


================================================
FILE: crowdin.yml
================================================
project_id: 461174
api_token_env: CROWDIN_TOKEN
preserve_hierarchy: true

files:
  - source: /docs/_data/i18n/en-US.json
    translation: /docs/_data/i18n/%locale%.json


================================================
FILE: docker/.gitignore
================================================
.env


================================================
FILE: docker/Dockerfile
================================================
FROM python:3.9 AS compiler
ENV PYTHONUNBUFFERED 1

WORKDIR /app
RUN python -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
COPY /source/requirements.txt /app/requirements.txt
RUN pip install -Ur requirements.txt

# Recreate the python symlink since python:3.9 puts it in
# a different location than devkitpro/devkitarm
RUN rm /opt/venv/bin/python && \
    ln -s /usr/bin/python /opt/venv/bin/python

FROM devkitpro/devkitarm

MAINTAINER Pk11 <epicpkmn11@outlook.com>

WORKDIR /app
ENV VIRTUAL_ENV "/opt/venv"
ENV PATH="/opt/venv/bin:$PATH"
COPY --from=compiler /opt/venv /opt/venv


================================================
FILE: docker/Dockerfile.server
================================================
FROM ruby:3.3

WORKDIR /app/docs
COPY /docs/Gemfile* .
RUN gem install bundler jekyll && bundle install


================================================
FILE: docker/compose.yaml
================================================
# How to use this file:

# Step 1: Token
#   If you plan on compiling the full database, you'll need a GH access token
#   Copy the .env.example to .env and fill out TOKEN= with your own.
#   (You can alternatively delete the .json files that are not yours in source/apps)
# Step 2: Generate the DB
#   Run `docker compose up --build db
# Step 3: Run the server
#   Run `docker compose up --build server

services:
  db:
    build:
      dockerfile: docker/Dockerfile
      context: ../
    image: docker.io/universalteam/db
    container_name: universal-db
    hostname: universal-db
    command: python3 source/generate.py all --priority
    environment:
      TOKEN: ${TOKEN}
      WEBHOOK_URL: ${WEBHOOK_URL}
    volumes:
      - ../:/app:z
  server:
    build:
      dockerfile: docker/Dockerfile.server
      context: ../
    container_name: server
    hostname: server
    command: bundle exec jekyll serve --host 0.0.0.0
    volumes:
      - ../:/app:z
    ports:
      - "4000:4000"


================================================
FILE: docs/3ds/category/app.md
================================================
---
layout: cards
title: 3DS - Apps
description:
system: 3ds
category: app
---


================================================
FILE: docs/3ds/category/emulator.md
================================================
---
layout: cards
title: 3DS - Emulators & Hypervisors
description: Emulators, hypervisors, and anything else that helps run other apps
system: 3ds
category: emulator
---


================================================
FILE: docs/3ds/category/firm.md
================================================
---
layout: cards
title: 3DS - FIRMs
description: Low level apps that run outside the normal 3DS OS
system: 3ds
category: firm
---


================================================
FILE: docs/3ds/category/game.md
================================================
---
layout: cards
title: 3DS - Games
description: Games! Play them and have some fun
system: 3ds
category: game
---


================================================
FILE: docs/3ds/category/save-tool.md
================================================
---
layout: cards
title: 3DS - Save Tools
description: Apps for editing or backing up/restoring save files
system: 3ds
category: save-tool
---


================================================
FILE: docs/3ds/category/translation.md
================================================
---
layout: cards
title: 3DS - Translations
description: Translations of existing apps into other languages
system: 3ds
category: translation
---


================================================
FILE: docs/3ds/category/utility.md
================================================
---
layout: cards
title: 3DS - Utilities
description: Utilities to help manage your DS, from file managers to save editors
system: 3ds
category: utility
---


================================================
FILE: docs/3ds/index.md
================================================
---
layout: cards
title: 3DS
system: 3ds
---


================================================
FILE: docs/3ds.rss
================================================
---
layout: compress
---

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>3DS | {{ site.title }}</title>
		<link>{{ site.url }}</link>
		<atom:link href="{{ page.url | absolute_url | replace: "http://", "https://" }}" rel="self" type="application/rss+xml" />
		<description>{{ site.description }}</description>
		<lastBuildDate>{{ site.time | date_to_rfc822 }}</lastBuildDate>
		<language>en-us</language>
		{% assign apps = site["3ds"] | uniq | sort: "updated" | reverse %}
		{% for app in apps limit: 8 %}
			<item>
				{% if app.version == nil or app.version == "v1.0.0" %}
					<title>{{ app.title }} {{ app.version }} released</title>
				{% else %}
					<title>{{ app.title }} updated to {{ app.version }}</title>
				{% endif %}
				<link>{{ app.url | absolute_url | remove: ".html" | replace: "http://", "https://" | escape }}</link>
				<description>
					{% if app.version_title and app.version_title != app.version %}
						&lt;h1&gt;{{ app.version_title }}&lt;/h1&gt;
						{% if app.update_notes %}
							&lt;hr /&gt;
						{% endif %}
					{% endif %}
					{{ app.update_notes | escape }}
				</description>
				<author>{{ app.author }}</author>
				<pubDate>{{ app.updated | date_to_rfc822 }}</pubDate>
				<guid isPermaLink="false">{{ app.title }} - {{ app.version }}</guid>
				{% if app.image %}
					<enclosure url="{{ app.image | escape }}" length="{{ app.image_length }}" type="image/png"></enclosure>
				{% endif %}
			</item>
		{% endfor %}
	</channel>
</rss>


================================================
FILE: docs/404.md
================================================
---
title: Error 404
description: Oh no! This page doesn't exist!
permalink: /404.html
layout: default
---

# Error! 404!
{:.i18n .innerHTML-error-404}

Return to the [home page](/) or <span class="a" onclick="window.history.back()">go back</span> to the previous page.
{:.i18n .innerHTML-return-to-home}

<form id="search-form" action="/3ds/" method="get">
	<div class="input-group">
		<input type="text" id="search" name="q" class="form-control">
		<input type="submit" value="Search" class="i18n value-search-btn btn btn-secondary">
	</div>
</form>

<script src="/assets/js/404.js"></script>


================================================
FILE: docs/CNAME
================================================
db.universal-team.net

================================================
FILE: docs/Gemfile
================================================
source "https://rubygems.org"

# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
#     bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.3.3"

# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins

# If you have any plugins, put them here!

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
  gem "tzinfo", "~> 1.2"
  gem "tzinfo-data"
end

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.0", :install_if => Gem.win_platform?

gem "webrick", "~> 1.8.1"
gem "csv", "~> 3.3.5"
gem 'base64', '~> 0.1.0'
gem 'erb', '~> 6.0'
gem 'logger', '~> 1.7'


================================================
FILE: docs/_3ds/-hackez-i.md
================================================
---
author: Twilight Games Studio
avatar: https://avatars.githubusercontent.com/u/5776225?v=4
categories:
- game
color: '#a4684f'
color_bg: '#80513d'
created: '2025-11-15T16:20:25Z'
description: Kite, a beginner in 'The World', is playing with his real-life friend
  Orca when they are attacked by a monster chasing a secretive girl, Aura. Orca's
  death from the monster's attack puts him in a coma and now Kite must find Aura and
  bring his friend back!
download_page: https://github.com/CrackedPixel/hackezi-3ds/releases
downloads:
  hackezi.3dsx:
    size: 1017416
    size_str: 993 KiB
    url: https://github.com/CrackedPixel/hackezi-3ds/releases/download/1.0.4/hackezi.3dsx
github: CrackedPixel/hackezi-3ds
icon: https://raw.githubusercontent.com/CrackedPixel/hackezi-3ds/refs/heads/main/icon_48.png
image: https://raw.githubusercontent.com/CrackedPixel/hackezi-3ds/refs/heads/main/hackezi_banner.png
image_length: 12482
layout: app
source: https://github.com/CrackedPixel/hackezi-3ds
stars: 0
systems:
- 3DS
title: .hack//ez-i
unique_ids:
- '0x88B962'
updated: '2025-11-16T00:48:25Z'
version: 1.0.4
version_title: 1.0.4
---
Kite, a beginner in the game The World, is playing with his real-life friend known in-game as Orca when they are attacked by an unidentified monster chasing Aura, a secretive girl. Afterwards, Orca, who died from the monsters attack, enters a coma in the real world. Unable to understand the reason for Orcas coma, Kite joins two new characters to find Aura and bring his friend back.

================================================
FILE: docs/_3ds/2048---3ds-port.md
================================================
---
author: Carlos '0rientd' Henrique
avatar: https://avatars.githubusercontent.com/u/10491532?v=4
categories:
- game
color: '#eee8dd'
color_bg: '#807c76'
created: '2026-02-27T22:12:54Z'
description: This is a 3DS version of the game 2048, originally created for Linux.
download_page: https://github.com/0rientd/2048-port-3ds/releases
downloads:
  2048-port-3ds.3dsx:
    size: 136500
    size_str: 133 KiB
    url: https://github.com/0rientd/2048-port-3ds/releases/download/v1.1.1/2048-port-3ds.3dsx
github: 0rientd/2048-port-3ds
icon: https://raw.githubusercontent.com/0rientd/2048-port-3ds/main/2048-3ds-port-icon.png
image: https://raw.githubusercontent.com/0rientd/2048-port-3ds/main/2048-3ds-port-icon.png
image_length: 2770
layout: app
license: mit
license_name: MIT License
source: https://github.com/0rientd/2048-port-3ds
stars: 2
systems:
- 3DS
title: 2048 - 3DS Port
update_notes: '<p dir="auto">Codebase was refactored and was introduced Leaderboards
  for record your points!</p>

  <h2 dir="auto">What''s Changed</h2>

  <ul dir="auto">

  <li>Implement 2048 game for Nintendo 3DS with UI and leaderboard by <a class="user-mention
  notranslate" data-hovercard-type="user" data-hovercard-url="/users/0rientd/hovercard"
  data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0rientd">@0rientd</a>
  in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4104321331"
  data-permission-text="Title is private" data-url="https://github.com/0rientd/2048-port-3ds/issues/2"
  data-hovercard-type="pull_request" data-hovercard-url="/0rientd/2048-port-3ds/pull/2/hovercard"
  href="https://github.com/0rientd/2048-port-3ds/pull/2">#2</a></li>

  <li>Update game version to 1.1.1 and adjust README badges by <a class="user-mention
  notranslate" data-hovercard-type="user" data-hovercard-url="/users/0rientd/hovercard"
  data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/0rientd">@0rientd</a>
  in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4104352852"
  data-permission-text="Title is private" data-url="https://github.com/0rientd/2048-port-3ds/issues/3"
  data-hovercard-type="pull_request" data-hovercard-url="/0rientd/2048-port-3ds/pull/3/hovercard"
  href="https://github.com/0rientd/2048-port-3ds/pull/3">#3</a></li>

  </ul>

  <p dir="auto"><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/0rientd/2048-port-3ds/compare/v1.0.1...v1.1.1"><tt>v1.0.1...v1.1.1</tt></a></p>'
updated: '2026-03-19T21:43:32Z'
version: v1.1.1
version_title: Introduces Leaderboard
---
This project is an unofficial Nintendo 3DS port of the excellent 2048.c implementation by Maurits van der Schee.
The original game is a minimalist implementation of the popular 2048 puzzle for Linux terminals, and now you can play it on your 3DS console!

✨ Features
    🎯 Faithful gameplay to the original
    💾 Score system
    🎮 Native 3DS controls
    ⚡ Optimized performance
    📱 Interface adapted for 3DS screens


================================================
FILE: docs/_3ds/3d-pinball---space-cadet.md
================================================
---
author: MaikelChan
avatar: https://avatars.githubusercontent.com/u/7031754?v=4
categories:
- game
color: '#77819a'
color_bg: '#636b80'
created: '2021-10-15T11:13:15Z'
description: Wii and 3DS ports of  3D Pinball - Space Cadet
download_page: https://github.com/MaikelChan/SpaceCadetPinball/releases
downloads:
  SpaceCadetPinball-3DS-v0.6.7z:
    size: 422160
    size_str: 412 KiB
    url: https://github.com/MaikelChan/SpaceCadetPinball/releases/download/v0.6-3ds/SpaceCadetPinball-3DS-v0.6.7z
github: MaikelChan/SpaceCadetPinball
icon: https://github.com/MaikelChan/SpaceCadetPinball/raw/3ds/ctr/icon.png
image: https://github.com/MaikelChan/SpaceCadetPinball/raw/3ds/ctr/banner.png
image_length: 17484
layout: app
license: mit
license_name: MIT License
screenshots:
- description: Awaiting deployment
  url: https://db.universal-team.net/assets/images/screenshots/3d-pinball---space-cadet/awaiting-deployment.png
script_message: 'Note: You will need the game data files from

  an actual copy of 3D pinball or "Full Tilt!".'
source: https://github.com/MaikelChan/SpaceCadetPinball/tree/3ds
stars: 114
systems:
- 3DS
title: 3D Pinball - Space Cadet
unique_ids:
- '0x21A39'
update_notes: '<h2 dir="auto">What''s Changed</h2>

  <ul dir="auto">

  <li>Replace PC Related text by <a class="user-mention notranslate" data-hovercard-type="user"
  data-hovercard-url="/users/korbosoft/hovercard" data-octo-click="hovercard-link-click"
  data-octo-dimensions="link_type:self" href="https://github.com/korbosoft">@korbosoft</a>
  in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1141628588"
  data-permission-text="Title is private" data-url="https://github.com/MaikelChan/SpaceCadetPinball/issues/12"
  data-hovercard-type="pull_request" data-hovercard-url="/MaikelChan/SpaceCadetPinball/pull/12/hovercard"
  href="https://github.com/MaikelChan/SpaceCadetPinball/pull/12">#12</a></li>

  <li>Add banner Sound Effect for the 3DS home menu by <a class="user-mention notranslate"
  data-hovercard-type="user" data-hovercard-url="/users/korbosoft/hovercard" data-octo-click="hovercard-link-click"
  data-octo-dimensions="link_type:self" href="https://github.com/korbosoft">@korbosoft</a>
  in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1241034277"
  data-permission-text="Title is private" data-url="https://github.com/MaikelChan/SpaceCadetPinball/issues/17"
  data-hovercard-type="pull_request" data-hovercard-url="/MaikelChan/SpaceCadetPinball/pull/17/hovercard"
  href="https://github.com/MaikelChan/SpaceCadetPinball/pull/17">#17</a></li>

  </ul>

  <p dir="auto"><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/MaikelChan/SpaceCadetPinball/compare/v0.5-3ds...v0.6-3ds"><tt>v0.5-3ds...v0.6-3ds</tt></a></p>'
updated: '2024-02-08T04:33:50Z'
version: v0.6-3ds
version_title: v0.6 3DS
website: https://pacochan.net/software/3d-pinball-space-cadet/
---
# 3D Pinball - Space Cadet for 3DS

This is a port of 3D Pinball - Space Cadet for Nintendo 3DS. It's originally a game that came bundled with Windows from Windows 95 up to Windows XP. This is the current state of the project:

- No menus, options, or results screen.
- It plays sound effects and music (if the player supplies the music in OGG format).
- There are still some bugs here and there.
- It should be running fine on New 3DS, but on a regular 3DS it runs slow.

It is based on the PC decompilation made by [k4zmu2a](https://github.com/k4zmu2a): https://github.com/k4zmu2a/SpaceCadetPinball

The PC decompilation uses SDL2 to render the game. This 3DS port has been changed to use native GPU rendering with the Citro3D library.

## How to build

The main requirement is to have [devkitPro](https://devkitpro.org).

Follow the instructions to install devkitPro here: https://devkitpro.org/wiki/Getting_Started
You will also need the 3DS development package, and also the libraries 3ds-sdl and 3ds-sdl_mixer.

If you use Windows or Ubuntu, here are more detailed instructions.

### Windows

Even though devkitPro offers a Windows installer, I've had some issues setting it up. It's easier to use WSL. If you want to use the Windows installer anyway, check the link above for instructions.

1. Install [WSL](https://docs.microsoft.com/en-us/windows/wsl/install). By default it will install Ubuntu, which is fine.
2. Open a WSL terminal and just follow the Ubuntu instructions below. With the difference that, if you want to clone the project into, for example, the `C:\` folder, you will need move to that folder inside the terminal with the command `cd /mnt/c/`.

### Ubuntu and other Debian based linux distros

1. Open the terminal in the folder where you want to clone the project.
2. Clone it with the command `git clone --branch 3ds https://github.com/MaikelChan/SpaceCadetPinball`. A subfolder called `SpaceCadetPinball` will be created containing the project.
3. Move to that subfolder with `cd SpaceCadetPinball`.
4. Download the latest version of the [custom devkitPro pacman](https://github.com/devkitPro/pacman/releases/tag/v1.0.2), that will be used to download the compilers and libraries to build the project. Once downloaded, put it in the `SpaceCadetPinball` folder.
5. Install devkitPro pacman with this command: `sudo gdebi devkitpro-pacman.amd64.deb`. If gdebi is not found, install it with `sudo apt install gdebi-core`, and then try again installing pacman.
6. Use the following command to sync pacman databases: `sudo dkp-pacman -Sy`.
7. Now update packages with `sudo dkp-pacman -Syu`.
8. Install the 3DS development tools with `sudo dkp-pacman -S 3ds-dev`.
9. Install SDL with `sudo dkp-pacman -S 3ds-sdl`.
10. Install SDL_mixer with `sudo dkp-pacman -S 3ds-sdl_mixer`.
11. Set the DEVKITPRO environment variables so the system knows where the compilers and libraries are installed with these commands:
    - `export DEVKITPRO=/opt/devkitpro`.
    - `export DEVKITARM=/opt/devkitpro/devkitARM`.
12. To generate Build the project with the command `make -j4`.
13. Optionally, to generate a CIA file, you will need to have [bannertool](https://github.com/Steveice10/bannertool/releases/) and [makerom](https://github.com/3DSGuy/Project_CTR/releases) in the `$DEVKITPRO/tools/bin` folder. Then build the project with the command `make -j4 BUILD_CIA=1`.

After a successful build, you will get a file called `SpaceCadetPinball.3dsx`, which is the main executable.

## How to run

### 3DS with Homebrew Launcher

1. Go to your SD card and enter the `3ds` folder.
2. Copy `SpaceCadetPinbal.3dsx` into the `3ds` folder.
3. Make sure you have your `dspfirm.cdc` in the `3ds` folder, as you will need it to have sound in homebrew games. If you don't have it, [dump your DSP](https://github.com/zoogie/DSP1/releases/latest).
4. Inside the `3ds` folder, create a new folder named `SpaceCadetPinball`.
5. For legal reasons, you will need to get the original PC game on your own to obtain the assets like graphics and sound effects. Those are not contained in this repository.
6. Copy all files from the original PC version into the `SpaceCadetPinball` folder that was created earlier.
7. Optionally, since this port doesn't play MIDI files, you'll need to convert the music to ogg format, and call the file `PINBALL.ogg`, and put it along the other assets in the `SpaceCadetPinball` folder. Make sure that the music has a sample rate no higher than 44100Hz, or it won't play correctly.
8. If everything went fine, you should be able to run the game from the Homebrew Launcher.

### Citra

1. Get the [Citra emulator](https://citra-emu.org/download/) if you don't have it.
2. Open it and go to the menu `File/Open Citra Folder`. This will open the folder where Citra's configuration is stored.
3. Go to the `sdmc` folder and create a new folder there named `3ds` if it doesn't exist already.
4. Enter the `3ds` folder and create an empty file there named `dspfirm.cdc`. This will allow to have audio in homebrew apps.
5. Inside the `3ds` folder create another folder named `SpaceCadetPinball`.
6. For legal reasons, you will need to get the original PC game on your own to obtain the assets like graphics and sound effects. Those are not contained in this repository.
7. Copy all PC game's assets to the `SpaceCadetPinball` folder that was created earlier.
8. Optionally, since this port doesn't play MIDI files, you'll need to convert the music to ogg format, and call the file `PINBALL.ogg`, and put it along the other assets in the `SpaceCadetPinball` folder. Make sure that the music has a sample rate no higher than 44100Hz, or it won't play correctly.
9. If everything went fine, you should be able to run the game.

## How to play

| Button               | Action                                            |
|----------------------|---------------------------------------------------|
| A                    | Launch the ball                                   |
| L                    | Move the left paddle                              |
| R                    | Move the right paddle                             |
| DPad Left, Right, Up | Bump table                                        |
| X                    | Start a new game                                  |
| Y                    | Exit the game                                     |
| Start                | Pause                                             |


================================================
FILE: docs/_3ds/3deins.md
================================================
---
author: Universal-Team
avatar: https://avatars.githubusercontent.com/u/49733679?v=4
categories:
- game
color: '#b89c52'
color_bg: '#806c39'
created: '2019-11-18T16:59:30Z'
description: A Card game for Nintendo 3DS & DS(i)!
download_page: https://github.com/Universal-Team/3DEins/releases
downloads:
  3DEins.3dsx:
    size: 1482056
    size_str: 1 MiB
    url: https://github.com/Universal-Team/3DEins/releases/download/v0.2.0/3DEins.3dsx
  3DEins.cia:
    size: 1209280
    size_str: 1 MiB
    url: https://github.com/Universal-Team/3DEins/releases/download/v0.2.0/3DEins.cia
  DSEins.nds:
    size: 928768
    size_str: 907 KiB
    url: https://github.com/Universal-Team/3DEins/releases/download/v0.2.0/DSEins.nds
  DSEins.nds.cia:
    size: 943360
    size_str: 921 KiB
    url: https://github.com/Universal-Team/3DEins/releases/download/v0.2.0/DSEins.nds.cia
github: Universal-Team/3DEins
icon: https://raw.githubusercontent.com/Universal-Team/3DEins/master/3ds/app/icon.png
image: https://raw.githubusercontent.com/Universal-Team/3DEins/master/3ds/app/banner.png
image_length: 8040
layout: app
license: gpl-3.0
license_name: GNU General Public License v3.0
nightly:
  download_page: https://github.com/Universal-Team/3DEins/releases/tag/git
  downloads:
    3DEins.3dsx:
      size: 1512184
      size_str: 1 MiB
      url: https://github.com/Universal-Team/3DEins/releases/download/git/3DEins.3dsx
    3DEins.cia:
      size: 1221568
      size_str: 1 MiB
      url: https://github.com/Universal-Team/3DEins/releases/download/git/3DEins.cia
  qr:
    3DEins.cia: https://db.universal-team.net/assets/images/qr/git/3deins-cia.png
  update_notes: <p dir="auto">Pk11 - Disable NDS builds</p>
  update_notes_md: 'Pk11 - Disable NDS builds


    '
  updated: '2025-12-29T11:00:40Z'
  version: git
  version_title: Continuous Build - d104e8b
qr:
  3DEins.cia: https://db.universal-team.net/assets/images/qr/3deins-cia.png
  DSEins.nds: https://db.universal-team.net/assets/images/qr/dseins-nds.png
  DSEins.nds.cia: https://db.universal-team.net/assets/images/qr/dseins-nds-cia.png
screenshots:
- description: Char selection
  url: https://db.universal-team.net/assets/images/screenshots/3deins/char-selection.png
- description: Ingame
  url: https://db.universal-team.net/assets/images/screenshots/3deins/ingame.png
- description: Main menu
  url: https://db.universal-team.net/assets/images/screenshots/3deins/main-menu.png
source: https://github.com/Universal-Team/3DEins
stars: 18
systems:
- 3DS
title: 3DEins
unique_ids:
- '0x43600'
update_notes: '<h2 dir="auto">DSEins, the NDS version of 3DEins is now included as
  well!</h2>

  <h2 dir="auto">What''s new?</h2>

  <h3 dir="auto">DSEins</h3>

  <ul dir="auto">

  <li>Add the initial release of DSEins, the NDS version of 3DEins! This is it''s
  first release, so it could be buggy, feel free to report bugs, if there are any
  on the issue section or on the Universal-Server <a href="https://discord.gg/KDJCfGF"
  rel="nofollow">here</a>.<br>

  NOTE: This release is NOT really much graphical, but the next version will be better
  for sure.</li>

  </ul>

  <h3 dir="auto">3DEins</h3>

  <ul dir="auto">

  <li>Add a draw and play animation (can be enabled / disabled in the Settings.)</li>

  </ul>

  <h3 dir="auto">3DEins &amp; DSEins</h3>

  <ul dir="auto">

  <li>

  <p dir="auto">Use DSEins / 3DEins-Core which is made by me, StackZ. The core includes
  a proper cardset of 108 cards.. like the regular game! So that way.. you cannot
  have like 6 times Draw 4 which is a nice improvement to the old version!</p>

  </li>

  <li>

  <p dir="auto">Added Single Player mode with AI!</p>

  </li>

  <li>

  <p dir="auto">Full Translations of: Bruh, English, French, German, Italian, Japanese,
  Polish, Portuguese and Russian!</p>

  </li>

  </ul>

  <h2 dir="auto">How to update</h2>

  <h3 dir="auto">DSEins</h3>

  <ul dir="auto">

  <li>Download <code class="notranslate">DSEins.nds</code> and put it to your SD Card.</li>

  <li>Start it using Twilight Menu++ or whatever you like.<br>

  <strong>3DS User: You can install the CIA as well, but you need the NDS file as
  well into the root or at <code class="notranslate">sd:/_nds/DSEins/</code>.</strong></li>

  </ul>

  <h3 dir="auto">3DEins</h3>

  <ul dir="auto">

  <li>Download <code class="notranslate">3DEins.3dsx</code> or <code class="notranslate">3DEins.cia</code>
  and put it to your SD Card.</li>

  <li>If downloading the CIA, install it using FBI. If 3dsx, open it using the Homebrew
  Launcher.</li>

  </ul>

  <h3 dir="auto">We hope you enjoy using DSEins &amp; 3DEins v0.2.0! ~Universal-Team</h3>'
updated: '2020-06-20T15:33:33Z'
version: v0.2.0
version_title: 3DEins & DSEins v0.2.0!
website: https://universal-team.net/projects/3deins
wiki: https://github.com/Universal-Team/3DEins/wiki
---
3DEins is a Cardgame for Nintendo 3DS. It's basically an UNO clone.

It currently includes:
- Multi Player on one console
- Customizable Cards & Characters
- Translated to English, French, German, Japanese, Russian, and Spanish
- Customizable interface colors

================================================
FILE: docs/_3ds/3delf.md
================================================
---
author: StackZ
avatar: https://avatars.githubusercontent.com/u/47382115?v=4
categories:
- game
color: '#79c0b9'
color_bg: '#50807b'
created: '2020-10-03T20:29:35Z'
description: Ein "Elfer raus!" klon für den Nintendo 3DS.
download_page: https://github.com/SuperSaiyajinStackZ/3DElf/releases
downloads:
  3DElf.3dsx:
    size: 501220
    size_str: 489 KiB
    url: https://github.com/SuperSaiyajinStackZ/3DElf/releases/download/v0.2.0/3DElf.3dsx
  3DElf.cia:
    size: 472000
    size_str: 460 KiB
    url: https://github.com/SuperSaiyajinStackZ/3DElf/releases/download/v0.2.0/3DElf.cia
github: SuperSaiyajinStackZ/3DElf
icon: https://raw.githubusercontent.com/SuperSaiyajinStackZ/3DElf/main/3ds/app/icon.png
image: https://raw.githubusercontent.com/SuperSaiyajinStackZ/3DElf/main/3ds/app/banner.png
image_length: 2306
layout: app
license: gpl-3.0
license_name: GNU General Public License v3.0
qr:
  3DElf.cia: https://db.universal-team.net/assets/images/qr/3delf-cia.png
screenshots:
- description: Credits de
  url: https://db.universal-team.net/assets/images/screenshots/3delf/credits-de.png
- description: Credits en
  url: https://db.universal-team.net/assets/images/screenshots/3delf/credits-en.png
- description: Game screen de
  url: https://db.universal-team.net/assets/images/screenshots/3delf/game-screen-de.png
- description: Game screen en
  url: https://db.universal-team.net/assets/images/screenshots/3delf/game-screen-en.png
- description: Instructions de
  url: https://db.universal-team.net/assets/images/screenshots/3delf/instructions-de.png
- description: Instructions en
  url: https://db.universal-team.net/assets/images/screenshots/3delf/instructions-en.png
- description: Language overlay de
  url: https://db.universal-team.net/assets/images/screenshots/3delf/language-overlay-de.png
- description: Language overlay en
  url: https://db.universal-team.net/assets/images/screenshots/3delf/language-overlay-en.png
- description: Rules de
  url: https://db.universal-team.net/assets/images/screenshots/3delf/rules-de.png
- description: Rules en
  url: https://db.universal-team.net/assets/images/screenshots/3delf/rules-en.png
- description: Splash de
  url: https://db.universal-team.net/assets/images/screenshots/3delf/splash-de.png
- description: Splash en
  url: https://db.universal-team.net/assets/images/screenshots/3delf/splash-en.png
- description: Sub menu de
  url: https://db.universal-team.net/assets/images/screenshots/3delf/sub-menu-de.png
- description: Sub menu en
  url: https://db.universal-team.net/assets/images/screenshots/3delf/sub-menu-en.png
source: https://github.com/SuperSaiyajinStackZ/3DElf
stars: 1
systems:
- 3DS
title: 3DElf
unique_ids:
- '0x43593'
update_notes: '<p dir="auto">Dies behebt ein paar Fehler und ein neuer Startbildschirm
  wurde hinzugefügt.</p>

  <p dir="auto">Ebenfalls werden nicht spielbare Karten nun ausgeblendet, somit ist
  es etwas einfacher, spielbare Karten zu finden.</p>

  <p dir="auto">Viel spaß mit dieser Version! ~SuperSaiyajinStackZ</p>'
updated: '2020-10-07T20:51:16Z'
version: v0.2.0
version_title: Zweiter / Second 3DElf Release!
---
> The game is playable in Deutsch and English

### Deutsch

[Elfer raus!](https://de.wikipedia.org/wiki/Elfer_raus!) klon für den Nintendo 3DS!

### English

[Elfer raus!](https://en.wikipedia.org/wiki/Domino_(card_game)#Elfer_Raus!) clone for the Nintendo 3DS!

================================================
FILE: docs/_3ds/3dfetch.md
================================================
---
author: Alice
avatar: https://avatars.githubusercontent.com/u/9029520?v=4
categories:
- utility
color: '#beb6be'
color_bg: '#807a80'
created: '2017-06-20T04:43:35Z'
description: 🍂 Displays various information about your Nintendo 3DS in pretty colors.
download_page: https://github.com/aliceinpalth/3dfetch/releases
downloads:
  3dfetch.cia:
    size: 2528192
    size_str: 2 MiB
    url: https://github.com/aliceinpalth/3dfetch/releases/download/1.10/3dfetch.cia
github: aliceinpalth/3dfetch
icon: https://raw.githubusercontent.com/aliceinpalth/3dfetch/master/icon.png
image: https://raw.githubusercontent.com/aliceinpalth/3dfetch/master/banner.png
image_length: 41268
layout: app
qr:
  3dfetch.cia: https://db.universal-team.net/assets/images/qr/3dfetch-cia.png
screenshots:
- description: Main screen
  url: https://db.universal-team.net/assets/images/screenshots/3dfetch/main-screen.png
- description: Settings
  url: https://db.universal-team.net/assets/images/screenshots/3dfetch/settings.png
source: https://github.com/aliceinpalth/3dfetch
stars: 40
systems:
- 3DS
title: 3dfetch
unique_ids:
- '0x9F99E'
update_notes: '<p dir="auto">Lots of stuff added! First and foremost:</p>

  <ul dir="auto">

  <li>Added a pretty animation to simulate typing a shell command</li>

  <li>Cycling left text colors now additionally cycles the CFW logo color</li>

  <li>Exact battery percentage is shown</li>

  <li>Luma CFW now displays the version number with it</li>

  <li>Added detection for Cakes CFW</li>

  <li>Added detection for Corbenik CFW</li>

  <li>Added detection for RX Tools CFW</li>

  <li>Added detection for Rei CFW</li>

  <li>1.11: Fixed white background not being properly available</li>

  </ul>

  <p dir="auto">We''ve also now got a configuration menu! Press select to bring it
  up. All changes to the configuration are saved in a config file.</p>

  <p dir="auto">As always, you can update 3dfetch via the TitleDB option in FBI, or,
  use the QR code below and utilize remote install.</p>

  <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/8a68325c83bad574f0ce4e60528dd82a85ebea8c79739e8336e55e27e1d4281a/687474703a2f2f692e696d6775722e636f6d2f5a7773356743492e706e67"><img
  src="https://camo.githubusercontent.com/8a68325c83bad574f0ce4e60528dd82a85ebea8c79739e8336e55e27e1d4281a/687474703a2f2f692e696d6775722e636f6d2f5a7773356743492e706e67"
  alt="QR code" data-canonical-src="http://i.imgur.com/Zws5gCI.png" style="max-width:
  100%;"></a></p>

  <p dir="auto">Send ❤️ to <a href="https://github.com/daedreth">daedreth</a> and
  <a href="https://github.com/astronautlevel2">Alex</a> for their immense work on
  this while I was in exams week.</p>'
updated: '2017-06-30T22:45:59Z'
version: '1.10'
version_title: 3dfetch v1.10/11 - Major updates
---


================================================
FILE: docs/_3ds/3diceroller.md
================================================
---
author: r4t
avatar: https://avatars.githubusercontent.com/u/39613006?v=4
categories:
- app
color: '#8c5763'
color_bg: '#804f5a'
created: '2024-09-14T15:03:43Z'
description: a graphical 2D dice roller for the 3ds
download_page: https://github.com/t0xid/3DiceRoller/releases
downloads:
  3DiceRoll.cia:
    size: 9294848
    size_str: 8 MiB
    url: https://github.com/t0xid/3DiceRoller/releases/download/v1.1.1/3DiceRoll.cia
  3ds_d20_roll.3dsx:
    size: 4560404
    size_str: 4 MiB
    url: https://github.com/t0xid/3DiceRoller/releases/download/v1.1.1/3ds_d20_roll.3dsx
github: t0xid/3DiceRoller
icon: https://raw.githubusercontent.com/t0xid/3DiceRoller/refs/heads/main/icon.png
image: https://raw.githubusercontent.com/t0xid/3DiceRoller/refs/heads/main/icon.png
image_length: 1353
layout: app
license: gpl-3.0
license_name: GNU General Public License v3.0
qr:
  3DiceRoll.cia: https://db.universal-team.net/assets/images/qr/3diceroll-cia.png
screenshots:
- description: Credits
  url: https://db.universal-team.net/assets/images/screenshots/3diceroller/credits.png
- description: D12
  url: https://db.universal-team.net/assets/images/screenshots/3diceroller/d12.png
- description: D20
  url: https://db.universal-team.net/assets/images/screenshots/3diceroller/d20.png
source: https://github.com/t0xid/3DiceRoller
stars: 2
systems:
- 3DS
title: 3DiceRoller
update_notes: '<ul dir="auto">

  <li>Fixed minor sprite issue</li>

  <li>Made a <code class="notranslate">.cia</code> for those that want a home menu
  shortcut</li>

  </ul>

  <p dir="auto">sound used for the banner is:<br>

  <a href="https://freesound.org/people/NXRT/sounds/648212/" rel="nofollow">https://freesound.org/people/NXRT/sounds/648212/</a><br>

  (yes ill credit even if its CC0)</p>'
updated: '2024-09-26T10:12:37Z'
version: v1.1.1
version_title: 3DiceRoll - v.1.1.1
---
a 2d dice roller for the 3ds. includes the ability to roll up to 13 dice types in one rolling, sound effects, advantage and disadvantage.

================================================
FILE: docs/_3ds/3ds-button-tester.md
================================================
---
author: TheCoolesttOne
avatar: https://avatars.githubusercontent.com/u/155274623?v=4
categories:
- utility
color: '#0f0001'
color_bg: '#0f0001'
created: '2023-12-31T01:12:07Z'
description: a 3DS Homebrew troubleshooting application for testing each individual
  button
download_page: https://github.com/TheCoolesttOne/3DS-Button-Test/releases
downloads:
  Button.Tester.cia:
    size: 119232
    size_str: 116 KiB
    url: https://github.com/TheCoolesttOne/3DS-Button-Test/releases/download/V1/Button.Tester.cia
  button-print.3dsx:
    size: 121664
    size_str: 118 KiB
    url: https://github.com/TheCoolesttOne/3DS-Button-Test/releases/download/V1/button-print.3dsx
github: TheCoolesttOne/3DS-Button-Test
icon: https://raw.githubusercontent.com/TheCoolesttOne/3DS-Button-Test/refs/heads/main/icon.png
image: https://raw.githubusercontent.com/TheCoolesttOne/3DS-Button-Test/refs/heads/main/icon.png
image_length: 2070
layout: app
qr:
  Button.Tester.cia: https://db.universal-team.net/assets/images/qr/button-tester-cia.png
source: https://github.com/TheCoolesttOne/3DS-Button-Test
stars: 0
systems:
- 3DS
title: 3DS Button Tester
update_notes: <p dir="auto">this is the first release. (I know the 3dsx and cia have
  different names)</p>
updated: '2024-09-13T22:43:20Z'
version: V1
version_title: V1
---


================================================
FILE: docs/_3ds/3ds-controller.md
================================================
---
author: icicle1133
avatar: https://avatars.githubusercontent.com/u/178066848?v=4
categories:
- utility
color: '#dc0000'
color_bg: '#800000'
created: '2025-09-25T20:02:16Z'
description: A "Up-To-Date" 3ds homebrew application that lets you use your 3ds as
  a wireless controller.
download_page: https://github.com/icicle1133/3ds-Controller/releases
downloads:
  3ds_controller.3dsx:
    size: 197652
    size_str: 193 KiB
    url: https://github.com/icicle1133/3ds-Controller/releases/download/v0.0.5/3ds_controller.3dsx
  3ds_controller.cia:
    size: 264128
    size_str: 257 KiB
    url: https://github.com/icicle1133/3ds-Controller/releases/download/v0.0.5/3ds_controller.cia
github: icicle1133/3ds-Controller
icon: https://raw.githubusercontent.com/icicle1133/3ds-Controller/refs/heads/main/icon.png
image: https://raw.githubusercontent.com/icicle1133/3ds-Controller/refs/heads/main/icon.png
image_length: 318
layout: app
license: other
license_name: Other
qr:
  3ds_controller.cia: https://db.universal-team.net/assets/images/qr/3ds_controller-cia.png
screenshots:
- description: Main
  url: https://db.universal-team.net/assets/images/screenshots/3ds-controller/main.png
source: https://github.com/icicle1133/3ds-Controller
stars: 13
systems:
- 3DS
title: 3ds-Controller
unique_ids:
- '0xA1B2C'
update_notes: '<p dir="auto">Skipped 4 versions bc i forgot to upload them</p>

  <p dir="auto"><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/icicle1133/3ds-Controller/compare/v0.0.1...v0.0.5"><tt>v0.0.1...v0.0.5</tt></a></p>

  <ul dir="auto">

  <li>the .CIA is used for installing onto your 3ds home screen, quicker then loading
  homebrew launcher</li>

  <li>the .3dsx is for people who are too lazy ig idk</li>

  </ul>'
updated: '2025-09-26T01:08:03Z'
version: v0.0.5
version_title: Yes, i skipped 4 versions.
---


================================================
FILE: docs/_3ds/3ds-donut.md
================================================
---
author: Max Parry
avatar: https://avatars.githubusercontent.com/u/66670928?v=4
categories:
- app
color: '#313131'
color_bg: '#313131'
created: '2025-01-29T07:20:09Z'
description: A Donut in C.
download_filter: \.3dsx|cia
download_page: https://github.com/Buggem/3ds-donut/releases
downloads:
  3ds-donut.3dsx:
    size: 575284
    size_str: 561 KiB
    url: https://github.com/Buggem/3ds-donut/releases/download/v1.5/3ds-donut.3dsx
  3ds-donut.cia:
    size: 836544
    size_str: 816 KiB
    url: https://github.com/Buggem/3ds-donut/releases/download/v1.5/3ds-donut.cia
github: Buggem/3ds-donut
icon: https://raw.githubusercontent.com/Buggem/3ds-donut/refs/heads/main/meta/icon.png
image: https://raw.githubusercontent.com/Buggem/3ds-donut/refs/heads/main/meta/banner.png
image_length: 9095
layout: app
qr:
  3ds-donut.cia: https://db.universal-team.net/assets/images/qr/3ds-donut-cia.png
screenshots:
- description: Donut
  url: https://db.universal-team.net/assets/images/screenshots/3ds-donut/donut.png
source: https://github.com/Buggem/3ds-donut
stars: 2
systems:
- 3DS
title: 3DS Donut
unique_ids:
- '0xE98BA'
update_notes: '<p dir="auto">Sometimes the little things are the most important when
  making donuts.</p>

  <p dir="auto">Bolted Donutlog:</p>

  <ul dir="auto">

  <li>added support to reset the anim (doesnt effect the music)</li>

  <li>added support to modify the anim</li>

  <li>fixed banner (this was also included in the previous release but the actual
  commit was in this one)</li>

  <li>changed banner font</li>

  <li>speed closer to the original</li>

  </ul>

  <p dir="auto">You know those Krispy Kreme donut bites that have been going around
  lately? They really convey these changes.</p>

  <p dir="auto"><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/Buggem/3ds-donut/compare/v1.4...v1.5"><tt>v1.4...v1.5</tt></a></p>

  <p dir="auto"><sub>This content is not endorsed by, affiliated with, or related
  to Krispy Kreme, Inc. in any way. Any and all references to Krispy Kreme, Inc. and/or
  their products is purely for informational purposes. Krispy Kreme® is a registered
  trademark of Krispy Kreme, Inc.<br><br>(why did I put this in)</sub></p>'
updated: '2025-02-01T04:58:35Z'
version: v1.5
version_title: donuts & bolts
---
Donut.c is tired of the Wii, but don't worry guys, IT'S BACK ON THE 3DS!

Features:
  - open source AND unlicensed
  - funky music (directly copied from the original Wii port)
  - splash screen (adapted from the original Wii port)
  - ability to fast forward, stop, rewind, modify the speed, and reset the animation (doesn't effect the music for listener)
  - a headerfile with constants you can fine-tune as you please
  - both PC and 3DS support for testing purposes
  - both CIAs and 3DSXs availible as install options
  - donut

================================================
FILE: docs/_3ds/3ds-ebook-reader.md
================================================
---
author: reworks
avatar: https://avatars.githubusercontent.com/u/8564184?v=4
categories:
- utility
color: '#905933'
color_bg: '#804f2d'
created: '2016-05-02T12:42:03Z'
description: '[ARCHIVE] PoC 3DS eBook Reader.'
download_page: https://github.com/DomRe/3DS_eBook_Reader/releases
downloads:
  release1.2.zip:
    size: 540204
    size_str: 527 KiB
    url: https://github.com/reworks-org/3DS_eBook_Reader/releases/download/1.2/release1.2.zip
github: DomRe/3DS_eBook_Reader
icon: https://raw.githubusercontent.com/DomRe/3DS_eBook_Reader/master/meta/icon.png
image: https://raw.githubusercontent.com/DomRe/3DS_eBook_Reader/master/meta/banner.png
image_length: 18127
layout: app
license: mit
license_name: MIT License
source: https://github.com/reworks-org/3DS_eBook_Reader
stars: 27
systems:
- 3DS
title: 3DS eBook Reader
unique_ids:
- '0xEB111'
update_notes: '<p>Changes:</p>

  <ul>

  <li>Fixed about screen flickering.</li>

  </ul>

  <p>See <a href="https://www.reddit.com/r/3dshacks/comments/7su3f4/released_v10_of_my_ebook_reader/"
  rel="nofollow">reddit</a> or <a href="https://gbatemp.net/threads/release-ebook-reader-v1-0-read-ebooks-on-your-3ds.495129/"
  rel="nofollow">gbatemp</a>.</p>'
updated: '2018-01-29T06:38:15Z'
version: '1.2'
version_title: eBook Reader v1.2
---


================================================
FILE: docs/_3ds/3ds-fbge-installer.md
================================================
---
author: AtexBg
avatar: https://avatars.githubusercontent.com/u/151460611?v=4
categories:
- utility
color: '#bfc3c2'
color_bg: '#7d807f'
created: '2026-05-01T15:50:20Z'
description: A simple tool to install the 3DS-FBGE program on the 3DS (Linux package
  partially included)
download_page: https://github.com/AtexBg/fbge-installer/releases
downloads:
  fbge-installer.3dsx:
    size: 6713480
    size_str: 6 MiB
    url: https://github.com/AtexBg/fbge-installer/releases/download/0.6.0/fbge-installer.3dsx
  fbge-installer.cia:
    size: 6796736
    size_str: 6 MiB
    url: https://github.com/AtexBg/fbge-installer/releases/download/0.6.0/fbge-installer.cia
github: AtexBg/fbge-installer
icon: https://raw.githubusercontent.com/AtexBg/fbge-installer/refs/heads/main/icon.png
image: https://raw.githubusercontent.com/AtexBg/fbge-installer/refs/heads/main/pictures/banner_upscaled.png
image_length: 16838
layout: app
license: agpl-3.0
license_name: GNU Affero General Public License v3.0
qr:
  fbge-installer.cia: https://db.universal-team.net/assets/images/qr/fbge-installer-cia.png
script_message: Don't forget to read the "Help" section upon launching the program
source: https://github.com/AtexBg/fbge-installer
stars: 1
systems:
- 3DS
title: 3DS-FBGE Installer
update_notes: '<p dir="auto">The 3ds-fbge program (short for 3ds-FrameBufferGraphicalEnvironnement)
  is a custom desktop/GUI meant to be used with the 3DS running Linux. This app will
  install and setup everything needed for the program to work and will give details
  about the usage in the "help" menu.<br>

  (btw the program will shows errors after booting everything about a missing <code
  class="notranslate">img.ext4</code> file, it''s totally normal and doesn''t affect
  how the DE works)</p>

  <p dir="auto">First version of the app, but has 3ds-fbge version 0.6.0 embed inside.</p>

  <p dir="auto">Go read <a href="https://github.com/AtexBg/3ds-fbge">https://github.com/AtexBg/3ds-fbge</a>
  for more details</p>'
updated: '2026-05-01T16:06:09Z'
version: 0.6.0
version_title: 0.6.0
website: https://github.com/AtexBg/3ds-fbge
---
A simple tool which helps to install and use the 3DS-FBGE (3ds-FrameBufferGraphicalEnvironnement) binaries on the 3DS and inclues the needed files from the Linux3DS package. 

================================================
FILE: docs/_3ds/3ds-filebrowser.md
================================================
---
author: ZIXT233
avatar: https://avatars.githubusercontent.com/u/9472407?v=4
categories:
- app
color: '#dec873'
color_bg: '#807342'
created: '2026-02-14T19:49:21Z'
description: A HTTP file manager for Nintendo 3DS.
download_page: https://github.com/ZIXT233/3DS-FileBrowser/releases
downloads:
  3ds-filebrowser.3dsx:
    size: 453796
    size_str: 443 KiB
    url: https://github.com/ZIXT233/3DS-FileBrowser/releases/download/v1.0.0/3ds-filebrowser.3dsx
  3ds-filebrowser.cia:
    size: 771008
    size_str: 752 KiB
    url: https://github.com/ZIXT233/3DS-FileBrowser/releases/download/v1.0.0/3ds-filebrowser.cia
github: ZIXT233/3DS-FileBrowser
icon: https://raw.githubusercontent.com/ZIXT233/3DS-FileBrowser/master/meta/icon.png
image: https://raw.githubusercontent.com/ZIXT233/3DS-FileBrowser/master/meta/banner.png
image_length: 29741
layout: app
qr:
  3ds-filebrowser.cia: https://db.universal-team.net/assets/images/qr/3ds-filebrowser-cia.png
source: https://github.com/ZIXT233/3DS-FileBrowser
stars: 18
systems:
- 3DS
title: 3DS-FileBrowser
update_notes: '<p dir="auto">First release, see readme.</p>

  <p dir="auto"><strong>Full Changelog</strong>: <a href="https://github.com/ZIXT233/3DS-FileBrowser/commits/v1.0.0">https://github.com/ZIXT233/3DS-FileBrowser/commits/v1.0.0</a></p>'
updated: '2026-02-14T20:37:33Z'
version: v1.0.0
version_title: v1.0.0
---
A HTTP file manager for Nintendo 3DS. Run the app on your 3DS, connect from a phone or PC on the same Wi‑Fi, and browse, upload, download, and manage files on the SD card via a web interface.

================================================
FILE: docs/_3ds/3ds-google-maps.md
================================================
---
author: Oldhimaster1
avatar: https://avatars.githubusercontent.com/u/179153474?v=4
categories:
- utility
color: '#5a635b'
color_bg: '#5a635b'
created: '2026-04-03T20:43:47Z'
description: Interactive OpenStreetMap and satellite map viewer with GPS tracking,
  offline tile caching, place search, and route planning.
download_filter: \.3dsx$
download_page: https://github.com/Oldhimaster1/3ds-Google-Maps/releases
downloads:
  3ds_google_maps.3dsx:
    size: 1228008
    size_str: 1 MiB
    url: https://github.com/Oldhimaster1/3ds-Google-Maps/releases/download/v2.0/3ds_google_maps.3dsx
github: Oldhimaster1/3ds-Google-Maps
icon: https://raw.githubusercontent.com/Oldhimaster1/3ds-Google-Maps/refs/heads/main/icon.png
image: https://raw.githubusercontent.com/Oldhimaster1/3ds-Google-Maps/refs/heads/main/banner.png
image_length: 42667
layout: app
license: mit
license_name: MIT License
source: https://github.com/Oldhimaster1/3ds-Google-Maps
stars: 4
systems:
- 3DS
title: 3ds Google Maps
update_notes: '<h2 dir="auto">What''s New in v2.0</h2>

  <h3 dir="auto">Offline Tile Caching</h3>

  <ul dir="auto">

  <li><strong>Tilepack format</strong> — download thousands of tiles on your PC and
  pack them into a single <code class="notranslate">.tilepack</code> file for your
  SD card</li>

  <li><strong>PC download tool</strong> (<code class="notranslate">tools/download_region.py</code>)
  — bulk tile downloader with 8 parallel workers and SHA-256 deduplication</li>

  <li><strong>In-app Download Region</strong> — download tiles for your current map
  view directly on the 3DS (Settings &gt; Data tab)</li>

  <li><strong>Auto-loading</strong> — the app checks for <code class="notranslate">sat.tilepack</code>
  and <code class="notranslate">street.tilepack</code> on startup</li>

  </ul>

  <h3 dir="auto">New Tile Source</h3>

  <ul dir="auto">

  <li><strong>Esri World Street Map</strong> — switchable alongside OSM and Esri satellite
  in the Tiles settings tab</li>

  </ul>

  <h3 dir="auto">Other</h3>

  <ul dir="auto">

  <li>Comprehensive README rewrite with offline caching docs</li>

  <li>Updated .gitignore</li>

  </ul>

  <h3 dir="auto">Installation</h3>

  <ol dir="auto">

  <li>Copy <code class="notranslate">3ds_google_maps.3dsx</code> to <code class="notranslate">sdmc:/3ds/3ds_google_maps/</code>
  on your SD card</li>

  <li>(Optional) Generate tilepacks with <code class="notranslate">python tools/download_region.py</code>
  and copy them to <code class="notranslate">sdmc:/3ds_google_maps/tiles/</code></li>

  <li>Launch via Homebrew Launcher</li>

  </ol>'
updated: '2026-04-15T20:53:30Z'
version: v2.0
version_title: v2.0 — Offline Tile Caching
---
Interactive map viewer for Nintendo 3DS. Browse OpenStreetMap street tiles and Esri satellite imagery, track your GPS location through your phone, search for places, plan routes, and save favorites.

**Features:**
- Pan and zoom maps on both screens (touch, D-pad, Circle Pad, L/R)
- Three tile sources: OpenStreetMap, Esri Satellite, Esri Street Map
- Offline tile caching — download regions on your PC and transfer as a single .tilepack file
- GPS tracking via phone browser (3DS runs an HTTPS server, phone sends coordinates)
- Place search, route planning, reverse geocoding, favorites
- Night mode, tile prefetching, SD card tile cache

**Offline caching (new in v2.0):**
Use the included Python tool to bulk-download tiles for any region. Transfers as one file instead of thousands of PNGs. Works completely without WiFi.

**GPS phone bridge:**
The 3DS starts a TLS server and shows a QR code. Scan it with your phone, allow location access, and your position streams to the 3DS in real time. On iPhone, use Chrome instead of Safari.

Requires WiFi for live tile downloads and GPS. Offline tilepacks work without any network.

================================================
FILE: docs/_3ds/3ds-hbmenu.md
================================================
---
author: devkitPro
avatar: https://avatars.githubusercontent.com/u/7538897?v=4
categories:
- utility
color: '#4bbbf5'
color_bg: '#276180'
created: '2017-06-05T00:05:27Z'
description: 'The 3DS Homebrew Menu (∩ ͡° ͜ʖ ͡°)⊃━☆゚ '
download_page: https://github.com/fincs/new-hbmenu/releases
downloads:
  3ds-hbmenu-v2.4.3.zip:
    size: 333338
    size_str: 325 KiB
    url: https://github.com/devkitPro/3ds-hbmenu/releases/download/v2.4.3/3ds-hbmenu-v2.4.3.zip
github: fincs/new-hbmenu
icon: https://raw.githubusercontent.com/fincs/new-hbmenu/master/icon.png
image: https://raw.githubusercontent.com/fincs/new-hbmenu/master/icon.png
image_length: 21865
layout: app
source: https://github.com/devkitPro/3ds-hbmenu
stars: 843
systems:
- 3DS
title: 3ds-hbmenu
update_notes: '<ul>

  <li>Further improvements to overall system stability and other minor adjustments
  have been made to enhance the user experience.</li>

  </ul>'
updated: '2024-05-03T19:18:09Z'
version: v2.4.3
version_title: 3DS Homebrew Menu v2.4.3
---


================================================
FILE: docs/_3ds/3ds-httpd.md
================================================
---
author: Thog, SciresM, Dimaguy
avatar: https://avatars.githubusercontent.com/u/7207103?v=4
categories:
- utility
color: '#bfd9e3'
color_bg: '#6b7a80'
created: '2022-09-15T09:40:51Z'
description: Web Server for the 3DS
download_page: https://github.com/dimaguy/3ds-httpd/releases
github: dimaguy/3ds-httpd
icon: https://raw.githubusercontent.com/dimaguy/3ds-httpd/master/assets/icon.png
image: https://raw.githubusercontent.com/dimaguy/3ds-httpd/master/assets/banner.png
image_length: 1857
layout: app
license: mit
license_name: MIT License
nightly:
  downloads:
    build.zip:
      url: https://nightly.link/dimaguy/3ds-httpd/workflows/main/master/build.zip
prerelease:
  download_page: https://github.com/dimaguy/3ds-httpd/releases/tag/nightly
  downloads:
    3ds-httpd.3dsx:
      size: 224916
      size_str: 219 KiB
      url: https://github.com/dimaguy/3ds-httpd/releases/download/nightly/3ds-httpd.3dsx
    3ds-httpd.cia:
      size: 713664
      size_str: 696 KiB
      url: https://github.com/dimaguy/3ds-httpd/releases/download/nightly/3ds-httpd.cia
  qr:
    3ds-httpd.cia: https://db.universal-team.net/assets/images/qr/prerelease/3ds-httpd-cia.png
  update_notes: '<h2 dir="auto">Commits</h2>

    <ul dir="auto">

    <li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/dimaguy/3ds-httpd/commit/ec38a2c512062eff246e5c1628559e95501a554f/hovercard"
    href="https://github.com/dimaguy/3ds-httpd/commit/ec38a2c512062eff246e5c1628559e95501a554f"><tt>ec38a2c</tt></a>:
    Code reformatting, fix disappearing manual (dimaguy)</li>

    </ul>'
  update_notes_md: '## Commits

    - ec38a2c: Code reformatting, fix disappearing manual (dimaguy)'
  updated: '2022-09-23T12:28:28Z'
  version: nightly
  version_title: Nightly Build
source: https://github.com/dimaguy/3ds-httpd
stars: 16
systems:
- 3DS
title: 3ds-httpd
update_notes: '<h2 dir="auto">Commits</h2>

  <ul dir="auto">

  <li><a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/dimaguy/3ds-httpd/commit/ec38a2c512062eff246e5c1628559e95501a554f/hovercard"
  href="https://github.com/dimaguy/3ds-httpd/commit/ec38a2c512062eff246e5c1628559e95501a554f"><tt>ec38a2c</tt></a>:
  Code reformatting, fix disappearing manual (dimaguy)</li>

  </ul>'
updated: '2022-09-23T12:28:28Z'
version: nightly
version_title: Nightly Build
---
# A Web Server for the 3DS
A flexible httpd server capable of handling sdcard file reads, crypto operations, system requests and raw memory operations.

(Documentation is underway)

================================================
FILE: docs/_3ds/3ds-parentalunlock.md
================================================
---
author: MechanicalDragon
avatar: https://avatars.githubusercontent.com/u/43786828?v=4
categories:
- utility
color: '#82c1d7'
color_bg: '#4d7280'
created: '2019-02-26T02:03:28Z'
description: Remove parental save data (clearing parental lock and COPPA)
download_page: https://github.com/MechanicalDragon0687/3DS-ParentalUnlock/releases
downloads:
  ParentalUnlock.3dsx:
    size: 542960
    size_str: 530 KiB
    url: https://github.com/MechanicalDragon0687/3DS-ParentalUnlock/releases/download/1.0.1/ParentalUnlock.3dsx
github: MechanicalDragon0687/3DS-ParentalUnlock
image: https://avatars.githubusercontent.com/u/43786828?v=4&size=128
image_length: 10211
layout: app
source: https://github.com/MechanicalDragon0687/3DS-ParentalUnlock
stars: 6
systems:
- 3DS
title: 3DS-ParentalUnlock
update_notes: '<p dir="auto">Fixed name of app in homebrew launcher</p>

  <p dir="auto">thanks to TheMaskedMan on discord for notifying me</p>'
updated: '2020-05-28T05:55:43Z'
version: 1.0.1
---


================================================
FILE: docs/_3ds/3ds-random-game-launcher.md
================================================
---
author: ruben
avatar: https://avatars.githubusercontent.com/u/65969186?v=4
categories:
- utility
color: '#c2c2c2'
color_bg: '#808080'
created: '2025-09-07T15:52:26Z'
description: A Nintendo 3DS homebrew application that randomly selects, displays and
  then launches your installed games
download_page: https://github.com/selloa/3DS-Random-Game-Launcher/releases
downloads:
  3DS-Random-Game-Launcher-v18.3dsx:
    size: 322388
    size_str: 314 KiB
    url: https://github.com/selloa/3DS-Random-Game-Launcher/releases/download/v18/3DS-Random-Game-Launcher-v18.3dsx
  3DS-Random-Game-Launcher-v18.cia:
    size: 594368
    size_str: 580 KiB
    url: https://github.com/selloa/3DS-Random-Game-Launcher/releases/download/v18/3DS-Random-Game-Launcher-v18.cia
  3DS-Random-Game-Launcher-v18.zip:
    size: 923859
    size_str: 902 KiB
    url: https://github.com/selloa/3DS-Random-Game-Launcher/releases/download/v18/3DS-Random-Game-Launcher-v18.zip
github: selloa/3DS-Random-Game-Launcher
icon: https://raw.githubusercontent.com/selloa/3DS-Random-Game-Launcher/main/icon.png
image: https://raw.githubusercontent.com/selloa/3DS-Random-Game-Launcher/main/meta/banner.png
image_length: 98675
layout: app
license: mit
license_name: MIT License
qr:
  3DS-Random-Game-Launcher-v18.cia: https://db.universal-team.net/assets/images/qr/3ds-random-game-launcher-v18-cia.png
source: https://github.com/selloa/3DS-Random-Game-Launcher
stars: 1
systems:
- 3DS
title: 3DS-Random-Game-Launcher
unique_ids:
- '0x0'
update_notes: '<p dir="auto">v18 beta:</p>

  <ul dir="auto">

  <li>ADDED CIA FILE SUPPORT !</li>

  <li>added greyscale color scheme</li>

  <li>added homebrew mode, to disable database filtering</li>

  <li>minor visual tweaks</li>

  </ul>

  <p dir="auto">the .zip contains both the .3dsx and the .cia file</p>'
updated: '2025-09-24T18:37:42Z'
version: v18
version_title: 3DS Random Game Launcher v18-beta
---
Can't decide what to play? Let your 3DS pick for you! This utility scans your SD card, filters out system junk, and launches a random game from your library. Perfect for indecisive gamers who want to discover forgotten titles.

**Features:**
- Scans all installed games on your SD card
- Filters out system applications and junk
- Random game selection with reroll option
- Homebrew mode toggle (X button)
- Simple controls: A to launch, Y to reroll, START to exit
- Database of 4,135+ 3DS game titles with proper names

**Controls:**
- `A` - Launch the selected title
- `Y` - Reroll for something else  
- `X` - Toggle homebrew mode
- `START` - Exit

Built with libctru and includes a comprehensive title database sourced from 3dsdb community data.

================================================
FILE: docs/_3ds/3ds-recovery-tool.md
================================================
---
author: Joel
avatar: https://avatars.githubusercontent.com/u/6271991?v=4
categories:
- utility
color: '#cccfd0'
color_bg: '#7d7f80'
created: '2017-08-08T15:01:01Z'
description: A tool for restoring and backing-up unique data on the Nintendo 3DS
download_page: https://github.com/joel16/3DS-Recovery-Tool/releases
downloads:
  3DS_Recovery_Tool.3dsx:
    size: 497464
    size_str: 485 KiB
    url: https://github.com/joel16/3DS-Recovery-Tool/releases/download/v1.40/3DS_Recovery_Tool.3dsx
  3DS_Recovery_Tool.cia:
    size: 832448
    size_str: 812 KiB
    url: https://github.com/joel16/3DS-Recovery-Tool/releases/download/v1.40/3DS_Recovery_Tool.cia
github: joel16/3DS-Recovery-Tool
icon: https://raw.githubusercontent.com/joel16/3DS-Recovery-Tool/master/res/ic_launcher_recovery_tool.png
image: https://raw.githubusercontent.com/joel16/3DS-Recovery-Tool/master/res/banner.png
image_length: 16291
layout: app
license: mit
license_name: MIT License
qr:
  3DS_Recovery_Tool.cia: https://db.universal-team.net/assets/images/qr/3ds_recovery_tool-cia.png
source: https://github.com/joel16/3DS-Recovery-Tool
stars: 28
systems:
- 3DS
title: 3DS-Recovery-Tool
unique_ids:
- '0x16600'
update_notes: '<ul dir="auto">

  <li>Switched to PP2D for handling graphics (for VBO, thanks Bernardo!).</li>

  <li>Merged advanced wipe menu and format menu.</li>

  <li>Dump original SecureInfo_X using data from memory.</li>

  <li>New data path. (/3ds/3dstool -&gt; /3ds/3DSRecoveryTool)</li>

  <li>Misc. cleanup.</li>

  </ul>

  <p dir="auto"><strong>If you''d like to support me, then buy me a coffee, I''d really
  appreciate it! <a href="https://www.paypal.me/Joel16IA" rel="nofollow">https://www.paypal.me/Joel16IA</a></strong></p>

  <p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://camo.githubusercontent.com/54e5bcedb88df260e7cd306f1466c3fde72ad07b1f99b800ce957d0aef1801ed/68747470733a2f2f63686172742e676f6f676c65617069732e636f6d2f63686172743f6368743d71722663686c3d68747470732533412532462532466769746875622e636f6d2532466a6f656c31362532463344532d5265636f766572792d546f6f6c25324672656c6561736573253246646f776e6c6f616425324676312e34302532463344535f5265636f766572795f546f6f6c2e636961266368733d313830783138302663686f653d5554462d382663686c643d4c25374332"><img
  src="https://camo.githubusercontent.com/54e5bcedb88df260e7cd306f1466c3fde72ad07b1f99b800ce957d0aef1801ed/68747470733a2f2f63686172742e676f6f676c65617069732e636f6d2f63686172743f6368743d71722663686c3d68747470732533412532462532466769746875622e636f6d2532466a6f656c31362532463344532d5265636f766572792d546f6f6c25324672656c6561736573253246646f776e6c6f616425324676312e34302532463344535f5265636f766572795f546f6f6c2e636961266368733d313830783138302663686f653d5554462d382663686c643d4c25374332"
  alt="image" data-canonical-src="https://chart.googleapis.com/chart?cht=qr&amp;chl=https%3A%2F%2Fgithub.com%2Fjoel16%2F3DS-Recovery-Tool%2Freleases%2Fdownload%2Fv1.40%2F3DS_Recovery_Tool.cia&amp;chs=180x180&amp;choe=UTF-8&amp;chld=L%7C2"
  style="max-width: 100%;"></a></p>'
updated: '2018-02-18T01:09:31Z'
version: v1.40
version_title: 3DS Recovery Tool v1.4
---


================================================
FILE: docs/_3ds/3ds-sorting.md
================================================
---
author: Tobias
avatar: https://avatars.githubusercontent.com/u/31214870?v=4
categories:
- game
color: '#a39f9f'
color_bg: '#807c7c'
created: '2022-07-23T18:26:29Z'
description: Visualisation of some sorting algorithms on the Nintendo 3DS
download_page: https://github.com/memeToasty/3ds_sorting/releases
downloads:
  3ds_sorting.3dsx:
    size: 277872
    size_str: 271 KiB
    url: https://github.com/memeToasty/3ds_sorting/releases/download/v5.0/3ds_sorting.3dsx
  3ds_sorting.cia:
    size: 729536
    size_str: 712 KiB
    url: https://github.com/memeToasty/3ds_sorting/releases/download/v5.0/3ds_sorting.cia
github: memeToasty/3ds_sorting
icon: https://raw.githubusercontent.com/memeToasty/3ds_sorting/main/meta/icon.png
image: https://raw.githubusercontent.com/memeToasty/3ds_sorting/main/meta/banner.png
image_length: 252030
layout: app
qr:
  3ds_sorting.cia: https://db.universal-team.net/assets/images/qr/3ds_sorting-cia.png
screenshots:
- description: Bar view
  url: https://db.universal-team.net/assets/images/screenshots/3ds-sorting/bar-view.png
- description: Tree view
  url: https://db.universal-team.net/assets/images/screenshots/3ds-sorting/tree-view.png
source: https://github.com/memeToasty/3ds_sorting
stars: 6
systems:
- 3DS
title: 3DS Sorting
unique_ids:
- '0x1DFC'
update_notes: '<h2 dir="auto">What''s Changed</h2>

  <ul dir="auto">

  <li>two more algos, user improvements by <a class="user-mention notranslate" data-hovercard-type="user"
  data-hovercard-url="/users/JLO64/hovercard" data-octo-click="hovercard-link-click"
  data-octo-dimensions="link_type:self" href="https://github.com/JLO64">@JLO64</a>
  in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1677071066"
  data-permission-text="Title is private" data-url="https://github.com/memeToasty/3ds_sorting/issues/8"
  data-hovercard-type="pull_request" data-hovercard-url="/memeToasty/3ds_sorting/pull/8/hovercard"
  href="https://github.com/memeToasty/3ds_sorting/pull/8">#8</a></li>

  <li>added bogo sort by <a class="user-mention notranslate" data-hovercard-type="user"
  data-hovercard-url="/users/JLO64/hovercard" data-octo-click="hovercard-link-click"
  data-octo-dimensions="link_type:self" href="https://github.com/JLO64">@JLO64</a>
  in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1772352741"
  data-permission-text="Title is private" data-url="https://github.com/memeToasty/3ds_sorting/issues/9"
  data-hovercard-type="pull_request" data-hovercard-url="/memeToasty/3ds_sorting/pull/9/hovercard"
  href="https://github.com/memeToasty/3ds_sorting/pull/9">#9</a></li>

  </ul>

  <h2 dir="auto">New Contributors</h2>

  <ul dir="auto">

  <li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JLO64/hovercard"
  data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JLO64">@JLO64</a>
  made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed
  to load title" data-id="1677071066" data-permission-text="Title is private" data-url="https://github.com/memeToasty/3ds_sorting/issues/8"
  data-hovercard-type="pull_request" data-hovercard-url="/memeToasty/3ds_sorting/pull/8/hovercard"
  href="https://github.com/memeToasty/3ds_sorting/pull/8">#8</a></li>

  </ul>

  <p dir="auto"><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/memeToasty/3ds_sorting/compare/v4.0...v5.0"><tt>v4.0...v5.0</tt></a></p>'
updated: '2023-06-24T15:44:37Z'
version: v5.0
version_title: v5.0
---
This application serves no purpose other than to show some visualisation of certain sorting algorithms, like one would know from famous YouTube videos.

If you encounter an error, let me know: [Create Issue](https://github.com/memeToasty/3ds_sorting/issues/new)

================================================
FILE: docs/_3ds/3ds-vgmstream.md
================================================
---
author: Brandon
avatar: https://avatars.githubusercontent.com/u/824564?v=4
categories:
- utility
color: '#182448'
color_bg: '#182448'
created: '2016-02-01T06:16:42Z'
description: Port of vgmstream for the nintendo 3ds along with a player
download_page: https://github.com/TricksterGuy/3ds-vgmstream/releases
downloads:
  3ds-vgmstream.cia:
    size: 995264
    size_str: 971 KiB
    url: https://github.com/TricksterGuy/3ds-vgmstream/releases/download/v0.2.0/3ds-vgmstream.cia
  3ds-vgmstream.zip:
    size: 459519
    size_str: 448 KiB
    url: https://github.com/TricksterGuy/3ds-vgmstream/releases/download/v0.2.0/3ds-vgmstream.zip
github: TricksterGuy/3ds-vgmstream
icon: https://raw.githubusercontent.com/TricksterGuy/3ds-vgmstream/master/resources/icon.png
image: https://raw.githubusercontent.com/TricksterGuy/3ds-vgmstream/master/resources/banner.png
image_length: 2549
layout: app
license: gpl-3.0
license_name: GNU General Public License v3.0
qr:
  3ds-vgmstream.cia: https://db.universal-team.net/assets/images/qr/3ds-vgmstream-cia.png
source: https://github.com/TricksterGuy/3ds-vgmstream
stars: 18
systems:
- 3DS
title: 3ds-vgmstream
unique_ids:
- '0x3DAA3'
update_notes: '<p dir="auto">New:<br>

  Now uses dsp over csnd, this grants all of the benefits of dsp, better streaming.  This
  does however require users to dump their dsp firmware (see <a href="https://github.com/Cruel/DspDump">dsp
  dumper</a>)</p>

  <p dir="auto">Fixed:<br>

  Various other fixes, such as the sound being garbled if you play multiple songs
  in a single session.</p>'
updated: '2016-07-11T07:32:44Z'
version: v0.2.0
version_title: Version 0.2.0
---


================================================
FILE: docs/_3ds/3ds-vjoy-controller.md
================================================
---
author: memeToasty, StringJan
avatar: https://avatars.githubusercontent.com/u/76664723?v=4
categories:
- app
color: '#41393a'
color_bg: '#41393a'
created: '2024-03-18T17:04:11Z'
description: Use your 3DS as a vJoy controller for your PC
download_page: https://github.com/StringJan/3ds-vJoy-controller/releases
downloads:
  vJoyController.3dsx:
    size: 192676
    size_str: 188 KiB
    url: https://github.com/StringJan/3ds-vJoy-controller/releases/download/v1.1/vJoyController.3dsx
github: StringJan/3ds-vJoy-controller
image: https://avatars.githubusercontent.com/u/76664723?v=4&size=128
image_length: 32802
layout: app
script_message: Please visit https://github.com/StringJan/3ds-vJoy-controller to get
  started
source: https://github.com/StringJan/3ds-vJoy-controller
stars: 7
systems:
- 3DS
title: 3DS vJoy Controller
update_notes: '<p dir="auto"><strong>Full Changelog</strong>: <a class="commit-link"
  href="https://github.com/StringJan/3ds-vJoy-controller/compare/v1.0...v1.1"><tt>v1.0...v1.1</tt></a></p>'
updated: '2024-05-04T11:14:06Z'
version: v1.1
version_title: Probably final release😭
---
With this, you can use one or more 3DS consoles as a single, coherent controller on your PC.

Useful if u need a button box or something like that.

Visit the [repo](https://github.com/StringJan/3ds-vJoy-controller) for more info on how to use it.

================================================
FILE: docs/_3ds/3ds1010.md
================================================
---
author: Théo B.
avatar: https://avatars.githubusercontent.com/u/16072534?v=4
categories:
- game
color: '#f3998d'
color_bg: '#80504a'
created: '2017-01-23T23:54:06Z'
description: 'Port of 1010! to 3ds homebrew, made in C.

  It''s like Tetris but with infinite time, you lose when you can no longer place
  any of the pieces you have available.'
download_page: https://github.com/LiquidFenrir/3ds1010/releases
downloads:
  3ds1010.zip:
    size: 451686
    size_str: 441 KiB
    url: https://github.com/LiquidFenrir/3ds1010/releases/download/v2.0/3ds1010.zip
github: LiquidFenrir/3ds1010
icon: https://raw.githubusercontent.com/LiquidFenrir/3ds1010/master/resources/icon.png
image: https://raw.githubusercontent.com/LiquidFenrir/3ds1010/master/resources/banner.png
image_length: 1665
layout: app
license: mit
license_name: MIT License
source: https://github.com/LiquidFenrir/3ds1010
stars: 5
systems:
- 3DS
title: 3ds1010
unique_ids:
- '0x3D170'
update_notes: '<p dir="auto">Hello! With this new release, I consider the game complete.<br>

  Saving, Themes, Good (enough) controls, Great UI, all is there. There might be a
  few bugs to fix as people find them, but features are finished.</p>

  <p dir="auto">This release adds better themes: text color control, and a banner.<br>

  The different colors of the pieces needed more space on the save so download and
  run the saveconverter for your OS, otherwise the game will crash when you launch
  it.</p>

  <p dir="auto">You can make your own themes simply by changing the colors in the
  colors.txt, and the images in sprites.png, then find a name for your theme and put
  the files in /3ds/3ds1010/Themes//</p>'
updated: '2017-02-12T23:44:23Z'
version: v2.0
version_title: Game over?
---


================================================
FILE: docs/_3ds/3ds_codedit.md
================================================
---
author: David Cuevas
avatar: https://avatars.githubusercontent.com/u/98664178?v=4
categories:
- utility
- app
color: '#a2c4e4'
color_bg: '#5b6e80'
created: '2026-03-29T04:57:04Z'
description: 3DS CodEdit is a code-first editor and project workspace for Nintendo
  3DS. It combines a lightweight multi-tab text editor, project Git workflow, file
  manager tools, and a monochrome draw mode for quick PBM assets.
download_page: https://github.com/dcuevasa/3DS_CodEdit/releases
downloads:
  3DS_CodEdit.3dsx:
    size: 2656272
    size_str: 2 MiB
    url: https://github.com/dcuevasa/3DS_CodEdit/releases/download/v.1.0.0/3DS_CodEdit.3dsx
  3DS_CodEdit.cia:
    size: 2085824
    size_str: 1 MiB
    url: https://github.com/dcuevasa/3DS_CodEdit/releases/download/v.1.0.0/3DS_CodEdit.cia
github: dcuevasa/3DS_CodEdit
icon: https://raw.githubusercontent.com/dcuevasa/3DS_CodEdit/refs/heads/next/res/ic_launcher_filemanager.png
image: https://raw.githubusercontent.com/dcuevasa/3DS_CodEdit/refs/heads/next/res/banner.png
image_length: 37646
layout: app
qr:
  3DS_CodEdit.cia: https://db.universal-team.net/assets/images/qr/3ds_codedit-cia.png
source: https://github.com/dcuevasa/3DS_CodEdit
stars: 4
systems:
- 3DS
title: 3DS_CodEdit
unique_ids:
- '0x3DCE1'
update_notes: <p dir="auto">working</p>
updated: '2026-03-29T20:46:33Z'
version: v.1.0.0
version_title: 3DS_CodEdit
---
# 3DS CodEdit

3DS CodEdit is a code-first editor and project workspace for Nintendo 3DS.
It combines a lightweight multi-tab text editor, project Git workflow, file manager tools, and a monochrome draw mode for quick PBM assets.

## What It Focuses On

### 1. Code editing on-device
- Multi-tab text editor (up to 4 open documents).
- Create, open, edit, save, and save-as files directly on SD.
- Line-based editing with cursor movement, line numbers, and visible cursor position (Ln/Col).
- Fast editing actions from buttons and top menu:
	- edit current line with OSK,
	- insert newline,
	- close/switch tabs,
	- find next text match,
	- undo/redo support.
- Sidebar workflow for project files: open files/folders, create new file/folder, go to parent directory.

### 2. Integrated Git + GitHub workflow
- Local Git actions:
	- init repository,
	- add all,
	- commit staged changes,
	- staged file counter and branch display.
- GitHub actions:
	- probe remote,
	- clone to current path,
	- fetch,
	- pull (fast-forward),
	- push,
	- personal access token storage.
- `.gitignore` support in add-all and push file scanning.
- Multi-repository safety improvements:
	- repository-local remote/branch state is preferred,
	- `Root*` warning when operating from a subfolder,
	- double-confirm guard for root-scope actions.

### 3. Draw mode for pixel assets (`.pbm`)
- Built-in black/white canvas editor (stylus pen + eraser).
- Create new drawings from editor sidebar (`DRAW`).
- Open existing `.pbm` files from Explorer or editor sidebar.
- Save as PBM (`P4`) and return to Git workflow for commit/push.

## File and System Features

- Explorer with storage usage bar, icons, and multi-select.
- File operations: create, rename, delete, copy, move, and batch operations.
- Archive extraction support (`.zip`, `.rar`, `.7z`, `.lzma`).
- Image viewer with zoom/pan and image properties.
- Search and quick jump to a path.
- Optional CTRNAND browsing/copying in developer options.
- Sorting modes: alphabetical (asc/desc) and size (largest/smallest).
- Dark theme, updater, and persistent config (`last_dir`, sort mode, Git defaults, token).

## Quick Navigation Notes

- Home icon toggles between Explorer and editor.
- In Explorer, `SELECT` also returns to editor.
- In editor, `SELECT` opens/closes the top menu (`File`, `Edit`, `Search`, `View`, `Project`).
- `Project` opens the Git panel.

================================================
FILE: docs/_3ds/3ds_quick_reboot.md
================================================
---
author: Asellus
avatar: https://avatars.githubusercontent.com/u/18345369?v=4
categories:
- utility
color: '#42b76e'
color_bg: '#2e804d'
created: '2016-05-15T07:49:07Z'
description: 3DS Quick Reboot.
download_page: https://github.com/Asellus/3DS_Quick_Reboot/releases
downloads:
  3DSQuickReboot-v1.0.1.zip:
    size: 907497
    size_str: 886 KiB
    url: https://github.com/Asellus/3DS_Quick_Reboot/releases/download/v1.0.1/3DSQuickReboot-v1.0.1.zip
github: Asellus/3DS_Quick_Reboot
icon: https://raw.githubusercontent.com/Asellus/3DS_Quick_Reboot/master/resources/icon.png
image: https://raw.githubusercontent.com/Asellus/3DS_Quick_Reboot/master/resources/banner.png
image_length: 7777
layout: app
license: mit
license_name: MIT License
source: https://github.com/Asellus/3DS_Quick_Reboot
stars: 11
systems:
- 3DS
title: 3DS_Quick_Reboot
unique_ids:
- '0xF0023'
update_notes: '<ul dir="auto">

  <li>Fixed UNIQUE_ID</li>

  </ul>'
updated: '2016-05-18T11:55:39Z'
version: v1.0.1
version_title: 3DS Quick Reboot
---


================================================
FILE: docs/_3ds/3dsbank.md
================================================
---
author: RocketRobz
avatar: https://avatars.githubusercontent.com/u/16110127?v=4
categories:
- utility
color: '#99d6e5'
color_bg: '#557780'
created: '2018-09-03T05:31:36Z'
description: '"Nintendo 3DS" folder selector'
download_page: https://github.com/RocketRobz/3DSBank/releases
downloads:
  3DSBank.cia:
    size: 651520
    size_str: 636 KiB
    url: https://github.com/RocketRobz/3DSBank/releases/download/v1.1/3DSBank.cia
github: RocketRobz/3DSBank
image: https://db.universal-team.net/assets/images/images/3dsbank.png
image_length: 266
layout: app
license: gpl-3.0
license_name: GNU General Public License v3.0
qr:
  3DSBank.cia: https://db.universal-team.net/assets/images/qr/3dsbank-cia.png
source: https://github.com/RocketRobz/3DSBank
stars: 100
systems:
- 3DS
title: 3DSBank
update_notes: '<p dir="auto"><strong>What''s new?</strong></p>

  <ul dir="auto">

  <li>(DrStraightface) Updated to allow custom naming of folders, and having currently
  active folder selected on startup!

  <ul dir="auto">

  <li>See the README for instructions.</li>

  </ul>

  </li>

  <li>Year has been added to the bottom of the top screen, along with the developer''s
  name.</li>

  <li>Robz8 has been to changed to RocketRobz in the banner text.

  <ul dir="auto">

  <li>To see the change, delete 3DSBank in DSiWare Data Management, then install the
  CIA again.</li>

  </ul>

  </li>

  </ul>

  <p dir="auto"><strong>Improvement</strong></p>

  <ul dir="auto">

  <li>Dithering effect on the top screen has been removed!</li>

  </ul>'
updated: '2020-11-04T01:21:35Z'
version: v1.1
---


================================================
FILE: docs/_3ds/3dscontroller.md
================================================
---
author: CTurt
avatar: https://avatars.githubusercontent.com/u/6132330?v=4
categories:
- utility
color: '#939393'
color_bg: '#808080'
created: '2014-12-05T16:52:25Z'
download_page: https://github.com/CTurt/3DSController/releases
downloads:
  3DSController0.6.zip:
    size: 702073
    size_str: 685 KiB
    url: https://github.com/CTurt/3DSController/releases/download/0.6/3DSController0.6.zip
github: CTurt/3DSController
icon: https://raw.githubusercontent.com/CTurt/3DSController/master/3DS/cxi/icon48x48.png
image: https://raw.githubusercontent.com/CTurt/3DSController/master/3DS/cxi/banner.png
image_length: 4254
layout: app
source: https://github.com/CTurt/3DSController
stars: 233
systems:
- 3DS
title: 3DSController
unique_ids:
- '0xF0FC2'
update_notes: '<p dir="auto">3DS Client:</p>

  <ul dir="auto">

  <li>Backlight disabled when not in use (less battery consumption),</li>

  <li>New 3DS buttons and C Stick support,</li>

  </ul>

  <p dir="auto">PC Server:</p>

  <ul dir="auto">

  <li>DLL errors fixed,</li>

  <li>Updated vJoy to latest version (fixes Windows 10 compatibility),</li>

  <li>Screenshot code scrapped</li>

  <li>2 separate JoySticks can be configured,</li>

  <li>8 additional JoyStick buttons supported,</li>

  </ul>'
updated: '2015-09-08T22:08:00Z'
version: '0.6'
version_title: 3DS Controller 0.6
---


================================================
FILE: docs/_3ds/3dscookieclicker.md
================================================
---
author: Creckeryop
avatar: https://avatars.githubusercontent.com/u/25725992?v=4
categories:
- game
color: '#546f7d'
color_bg: '#546f7d'
created: '2017-02-12T18:02:12Z'
description: Cookie Clicker for Nintendo 3ds
download_page: https://github.com/Creckeryop/3dsCookieClicker/releases
downloads:
  CookieClicker.cia:
    size: 3072960
    size_str: 2 MiB
    url: https://github.com/Creckeryop/3dsCookieClicker/releases/download/%230022/CookieClicker.cia
github: Creckeryop/3dsCookieClicker
icon: https://raw.githubusercontent.com/Creckeryop/3dsCookieClicker/master/logo.png
image: https://db.universal-team.net/assets/images/images/3dscookieclicker.png
image_length: 1821
layout: app
qr:
  CookieClicker.cia: https://db.universal-team.net/assets/images/qr/cookieclicker-cia.png
source: https://github.com/Creckeryop/3dsCookieClicker
stars: 27
systems:
- 3DS
title: 3dsCookieClicker
unique_ids:
- '0xF23F'
updated: '2017-06-11T14:37:55Z'
version: '#0022'
version_title: Debug
---


================================================
FILE: docs/_3ds/3dscreen.md
================================================
---
author: AllisterMKW
avatar: https://avatars.githubusercontent.com/u/216767408?v=4
categories:
- app
- utility
color: '#d9cdc7'
color_bg: '#807875'
created: '2025-12-15T20:51:08Z'
description: Changes the top screen color display of your 3DS between red, green,
  or blue.
download_page: https://github.com/AllisterMKW/3DScreen/releases
downloads:
  3DScreen.3dsx:
    size: 80056
    size_str: 78 KiB
    url: https://github.com/AllisterMKW/3DScreen/releases/download/3.0/3DScreen.3dsx
  3DScreen.cia:
    size: 160192
    size_str: 156 KiB
    url: https://github.com/AllisterMKW/3DScreen/releases/download/3.0/3DScreen.cia
github: AllisterMKW/3DScreen
icon: https://raw.githubusercontent.com/AllisterMKW/3DScreen/refs/heads/main/icon.png
image: https://raw.githubusercontent.com/AllisterMKW/3DScreen/refs/heads/main/Resources/banner.png
image_length: 18682
layout: app
qr:
  3DScreen.cia: https://db.universal-team.net/assets/images/qr/3dscreen-cia.png
source: https://github.com/AllisterMKW/3DScreen
stars: 0
systems:
- 3DS
title: 3DScreen
unique_ids:
- '0xF0011'
update_notes: <p dir="auto">Simply put, I fixed the description of the CIA when the
  software is suspended and the description of the 3DSX.</p>
updated: '2025-12-16T12:24:43Z'
version: '3.0'
version_title: Fixed CIA and 3DSX
---
Changes the top screen color display between red (press B), green (press X), and/or blue (press A).

================================================
FILE: docs/_3ds/3dsdi.md
================================================
---
author: Aep
avatar: https://avatars.githubusercontent.com/u/86505664?v=4
categories:
- utility
- app
color: '#495eb4'
color_bg: '#344380'
created: '2025-12-16T21:47:15Z'
description: 3DS SD Info Application
download_page: https://github.com/Aeplet/3DSDI/releases
downloads:
  3DSDI.3dsx:
    size: 141916
    size_str: 138 KiB
    url: https://github.com/Aeplet/3DSDI/releases/download/v1.0.0/3DSDI.3dsx
github: Aeplet/3DSDI
icon: https://raw.githubusercontent.com/Aeplet/3DSDI/refs/heads/main/icon.png
image: https://raw.githubusercontent.com/Aeplet/3DSDI/refs/heads/main/banner.png
image_length: 2744
layout: app
license: mit
license_name: MIT License
source: https://github.com/Aeplet/3DSDI
stars: 2
systems:
- 3DS
title: 3DSDI
update_notes: '<p dir="auto">Not much is to be seen yet. Potentially expect an update
  soon.</p>

  <p dir="auto">Copy the <code class="notranslate">.3dsx</code> and the <code class="notranslate">.smdh</code>
  to <code class="notranslate">/3ds/</code> on your SD Card, and launch this via the
  Homebrew Launcher</p>'
updated: '2025-12-17T19:27:59Z'
version: v1.0.0
version_title: v1.0.0
---
Get SD Card information! Specifically, the following information is listed:
Manufacturer Name (if known)
Manufacturer ID
OEM ID
Product Name
Product Revision
Product Serial Number
Manufacturing Date

================================================
FILE: docs/_3ds/3dshell.md
================================================
---
author: Joel
avatar: https://avatars.githubusercontent.com/u/6271991?v=4
categories:
- utility
color: '#2c8ce1'
color_bg: '#194f80'
created: '2017-05-22T18:38:09Z'
description: 3DShell - (Pronounced 3D Shell) is a multi purpose file manager for the
  Nintendo 3DS. Heavily inspired by the CyanogenMod/LineageOS file manager.
download_page: https://github.com/joel16/3DShell/releases
downloads:
  3DShell.3dsx:
    size: 1985040
    size_str: 1 MiB
    url: https://github.com/joel16/3DShell/releases/download/v5.1.0/3DShell.3dsx
  3DShell.cia:
    size: 1651648
    size_str: 1 MiB
    url: https://github.com/joel16/3DShell/releases/download/v5.1.0/3DShell.cia
github: joel16/3DShell
icon: https://raw.githubusercontent.com/joel16/3DShell/master/res/ic_launcher_filemanager.png
image: https://raw.githubusercontent.com/joel16/3DShell/master/res/banner.png
image_length: 10753
layout: app
qr:
  3DShell.cia: https://db.universal-team.net/assets/images/qr/3dshell-cia.png
screenshots:
- description: Settings
  url: https://db.universal-team.net/assets/images/screenshots/3dshell/settings.png
source: https://github.com/joel16/3DShell
stars: 345
systems:
- 3DS
title: 3DShell
unique_ids:
- '0x16200'
update_notes: '<ul dir="auto">

  <li>Block NAND access if developer options is disabled.</li>

  <li>Fix selector going out of bounds when right/left (page up/page down) key is
  used.</li>

  <li>CIA builds are now available. The updater will also download/install updates
  based on the version you are updating from.</li>

  <li>Fix selector going out of bounds when returning from a folder with a long list
  of files.</li>

  <li>Fix width/height display in image properties.</li>

  <li>Account for images that fit both screens in image viewer and implement zoom/navigation
  functionalities when viewing images.</li>

  <li>Archive extraction is back and currently supports .7z, .rar and .zip.</li>

  <li>Fix alphabetical sorting for filenames with different case letters.</li>

  <li>Allow user to cancel a file copy or archive extraction by the use of the "B"
  button.</li>

  <li>Improvised on bottom screen status bar icons.</li>

  <li>Updater will now display the download progress.</li>

  <li>GUI will now trim the string appropriately if length of a file name/current
  directory goes beyond the screen.</li>

  <li>Touch controls are back for both file options and settings.</li>

  <li>Fixed issues copying certain files/folders due to the file names not being cleared
  and improper casting in progress bar.</li>

  </ul>

  <p dir="auto">If you''d like to support this project, then feel free to <a href="https://www.paypal.me/Joel16IA"
  rel="nofollow">buy me a cup of ☕</a>.</p>'
updated: '2021-03-23T19:28:05Z'
version: v5.1.0
version_title: 3DShell v5.1.0
---


================================================
FILE: docs/_3ds/3dsident.md
================================================
---
author: Joel
avatar: https://avatars.githubusercontent.com/u/6271991?v=4
categories:
- utility
color: '#597066'
color_bg: '#597066'
created: '2016-07-26T00:16:20Z'
description: PSPident clone for 3DS
download_page: https://github.com/joel16/3DSident/releases
downloads:
  3DSident.3dsx:
    size: 265396
    size_str: 259 KiB
    url: https://github.com/joel16/3DSident/releases/download/0.94/3DSident.3dsx
  3DSident.cia:
    size: 607168
    size_str: 592 KiB
    url: https://github.com/joel16/3DSident/releases/download/0.94/3DSident.cia
github: joel16/3DSident
icon: https://raw.githubusercontent.com/joel16/3DSident/master/console/res/icon.png
image: https://raw.githubusercontent.com/joel16/3DSident/master/console/res/banner.png
image_length: 21034
layout: app
license: zlib
license_name: zlib License
qr:
  3DSident.cia: https://db.universal-team.net/assets/images/qr/3dsident-cia.png
screenshots:
- description: Kernel
  url: https://db.universal-team.net/assets/images/screenshots/3dsident/kernel.png
- description: Storage
  url: https://db.universal-team.net/assets/images/screenshots/3dsident/storage.png
source: https://github.com/joel16/3DSident
stars: 361
systems:
- 3DS
title: 3DSident
unique_ids:
- '0x16000'
- '0x16100'
update_notes: '<p dir="auto">3DSident has been re-written in C++ which makes use of
  the latest versions of devkitARM and libctru. This release will only be available
  with the slightly refreshed GUI version.</p>

  <p dir="auto">Change-log:</p>

  <ul dir="auto">

  <li>Updated to the latest version of libctru and devkitARM.

  <ul dir="auto">

  <li>Now uses the ACT service implementation from libctru for NNID info.</li>

  <li>Only initialize MCU on BatteryInfoPage and system state info. (<a class="user-mention
  notranslate" data-hovercard-type="user" data-hovercard-url="/users/R-YaTian/hovercard"
  data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/R-YaTian">@R-YaTian</a>)</li>

  </ul>

  </li>

  <li>Changes to button tester by <a class="user-mention notranslate" data-hovercard-type="user"
  data-hovercard-url="/users/CatotheCat11/hovercard" data-octo-click="hovercard-link-click"
  data-octo-dimensions="link_type:self" href="https://github.com/CatotheCat11">@CatotheCat11</a>

  <ul dir="auto">

  <li>Change circle pad and c stick representations using their analog values.</li>

  <li>Highlight segment of D-Pad instead of whole D-Pad when a D-Pad button is pressed.</li>

  </ul>

  </li>

  <li>Display SD cluster size in storage info page.</li>

  </ul>'
updated: '2026-03-25T12:39:41Z'
version: '0.94'
version_title: 3DSident v0.9.4
---


================================================
FILE: docs/_3ds/3dslibris.md
================================================
---
author: Rigle
avatar: https://avatars.githubusercontent.com/u/8595185?v=4
categories:
- app
color: '#bfa387'
color_bg: '#806d5a'
created: '2026-03-12T11:06:40Z'
description: An ebook and manga reader for Nintendo 3DS
download_page: https://github.com/RigleGit/3dslibris/releases
downloads:
  3dslibris-debug.3dsx:
    size: 39116592
    size_str: 37 MiB
    url: https://github.com/RigleGit/3dslibris/releases/download/v2.6.2/3dslibris-debug.3dsx
  3dslibris-debug.cia:
    size: 39351232
    size_str: 37 MiB
    url: https://github.com/RigleGit/3dslibris/releases/download/v2.6.2/3dslibris-debug.cia
  3dslibris-sdmc.zip:
    size: 5020749
    size_str: 4 MiB
    url: https://github.com/RigleGit/3dslibris/releases/download/v2.6.2/3dslibris-sdmc.zip
  3dslibris-source.tar.gz:
    size: 68036303
    size_str: 64 MiB
    url: https://github.com/RigleGit/3dslibris/releases/download/v2.6.2/3dslibris-source.tar.gz
  3dslibris.3dsx:
    size: 39233428
    size_str: 37 MiB
    url: https://github.com/RigleGit/3dslibris/releases/download/v2.6.2/3dslibris.3dsx
  3dslibris.cia:
    size: 39470016
    size_str: 37 MiB
    url: https://github.com/RigleGit/3dslibris/releases/download/v2.6.2/3dslibris.cia
github: RigleGit/3dslibris
icon: https://raw.githubusercontent.com/RigleGit/3dslibris/refs/heads/main/assets/release/icon-32x32.png
image: https://raw.githubusercontent.com/RigleGit/3dslibris/refs/heads/main/assets/release/banner.png
image_length: 48063
layout: app
license: other
license_name: Other
qr:
  3dslibris-debug.cia: https://db.universal-team.net/assets/images/qr/3dslibris-debug-cia.png
  3dslibris.cia: https://db.universal-team.net/assets/images/qr/3dslibris-cia.png
screenshots:
- description: Menu
  url: https://db.universal-team.net/assets/images/screenshots/3dslibris/menu.png
- description: Reading
  url: https://db.universal-team.net/assets/images/screenshots/3dslibris/reading.png
source: https://github.com/RigleGit/3dslibris
stars: 107
systems:
- 3DS
title: 3dslibris
update_notes: '<h2 dir="auto">3dslibris 2.6.2</h2>

  <p dir="auto">Improved EPUB rendering and performance, a new battery indicator in
  the reader HUD, an optional publisher font-size toggle, and a critical APT suspend
  thread-safety fix (hopefully) preventing HOME Menu crashes after reading.</p>

  <p dir="auto">See the full changelog below for details.</p>

  <h3 dir="auto">Improvements</h3>

  <ul dir="auto">

  <li>add battery level indicator in the reader HUD</li>

  <li>add publisher font-size toggle in settings</li>

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366978372"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/85"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/85/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/85">#85</a>: support basic <code
  class="notranslate">&lt;hr/&gt;</code> styling for EPUB reflow</li>

  <li>reduce heap allocations during pagination</li>

  <li>reuse BiDi analysis buffers across pagination</li>

  <li>avoid one full temporary buffer copy on EPUB first-time cover extraction</li>

  <li>start visible cover warmup sooner on New 3DS in conservative browser mode</li>

  <li>stop carrying full OPF baggage on metadata-only EPUB indexing</li>

  <li>avoid extra work on simple LTR text during EPUB text shaping</li>

  <li>reuse Latin-1 glyph advances during pagination for EPUB text measurement</li>

  <li>avoid the heavyweight Unicode decoder during layout for simple Latin UTF-8 text</li>

  <li>batch EPUB content text before shaping</li>

  <li>consolidate CSS class lookups into a single pass per element</li>

  <li>simplify button label draw code</li>

  <li>simplify <code class="notranslate">ContainsRTL</code> in BiDi utils</li>

  </ul>

  <h3 dir="auto">Fixes</h3>

  <ul dir="auto">

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367065521"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/87"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/87/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/87">#87</a>: render large EPUB
  images by moving pixel budget guard from metadata probe to draw time</li>

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366971031"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/84"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/84/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/84">#84</a>: support CSS <code
  class="notranslate">margin-top</code> and <code class="notranslate">margin-bottom</code>
  in EPUB reflow</li>

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4346280911"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/68"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/68/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/68">#68</a>: defer APT suspend
  hook state mutations to main thread to fix cross-thread write hazards, crashes and
  freezes on HOME menu</li>

  <li>follow manifest document order for EPUB spine ordering when the NAV <code class="notranslate">toc</code>
  link is absent</li>

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366899315"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/82"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/82/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/82">#82</a>: accumulate nested
  list indentation correctly per depth level</li>

  <li>apply CSS <code class="notranslate">display:block</code> promotion to block-level
  layout properties</li>

  <li>restore EPUB open path after parser-reuse regression</li>

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366944710"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/83"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/83/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/83">#83</a>: ensure text-align
  from CSS class definitions applies to block elements properly</li>

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347081948"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/76"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/76/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/76">#76</a>: respect <code class="notranslate">list-style-type:
  none</code> on <code class="notranslate">&lt;ol&gt;</code> and <code class="notranslate">&lt;ul&gt;</code></li>

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4242354467"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/35"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/35/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/35">#35</a>: keep adjacent length
  values on CSS <code class="notranslate">margin</code> shorthand with <code class="notranslate">auto</code>
  values</li>

  <li>use the document base instead of the inherited context size for heading font-size
  restore</li>

  <li><a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366877093"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/81"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/81/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/81">#81</a>: clamp tiny CSS font
  sizes to a readable range</li>

  <li>skip no-op inline font-size changes</li>

  <li>keep thumbnail fast-path under the RGB safety guard for large EPUB PNG/JPEG
  covers</li>

  </ul>

  <h3 dir="auto">Infrastructure</h3>

  <ul dir="auto">

  <li>silence noisy debug builds after the EPUB/cover profiling pass</li>

  <li>remove obsolete EPUB parser helpers left behind by CSS lookup consolidation</li>

  </ul>

  <hr>

  <h2 dir="auto">❤️ Community Shoutouts</h2>

  <p dir="auto">3dslibris wouldn''t be the same without your support! This version
  is dedicated to:</p>

  <ul dir="auto">

  <li><strong>Issue reports and testing:</strong> Thanks to everyone who reported
  and followed up on <a class="issue-link js-issue-link" data-error-text="Failed to
  load title" data-id="4242354467" data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/35"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/35/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/35">#35</a>, <a class="issue-link
  js-issue-link" data-error-text="Failed to load title" data-id="4346280911" data-permission-text="Title
  is private" data-url="https://github.com/RigleGit/3dslibris/issues/68" data-hovercard-type="issue"
  data-hovercard-url="/RigleGit/3dslibris/issues/68/hovercard" href="https://github.com/RigleGit/3dslibris/issues/68">#68</a>,
  <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4347081948"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/76"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/76/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/76">#76</a>, <a class="issue-link
  js-issue-link" data-error-text="Failed to load title" data-id="4366877093" data-permission-text="Title
  is private" data-url="https://github.com/RigleGit/3dslibris/issues/81" data-hovercard-type="issue"
  data-hovercard-url="/RigleGit/3dslibris/issues/81/hovercard" href="https://github.com/RigleGit/3dslibris/issues/81">#81</a>,
  <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366899315"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/82"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/82/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/82">#82</a>, <a class="issue-link
  js-issue-link" data-error-text="Failed to load title" data-id="4366944710" data-permission-text="Title
  is private" data-url="https://github.com/RigleGit/3dslibris/issues/83" data-hovercard-type="issue"
  data-hovercard-url="/RigleGit/3dslibris/issues/83/hovercard" href="https://github.com/RigleGit/3dslibris/issues/83">#83</a>,
  <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4366971031"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/84"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/84/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/84">#84</a>, <a class="issue-link
  js-issue-link" data-error-text="Failed to load title" data-id="4366978372" data-permission-text="Title
  is private" data-url="https://github.com/RigleGit/3dslibris/issues/85" data-hovercard-type="issue"
  data-hovercard-url="/RigleGit/3dslibris/issues/85/hovercard" href="https://github.com/RigleGit/3dslibris/issues/85">#85</a>
  and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="4367065521"
  data-permission-text="Title is private" data-url="https://github.com/RigleGit/3dslibris/issues/87"
  data-hovercard-type="issue" data-hovercard-url="/RigleGit/3dslibris/issues/87/hovercard"
  href="https://github.com/RigleGit/3dslibris/issues/87">#87</a>.</li>

  <li><strong>Fueling the Code:</strong> A special thank you to my <strong>Ko-fi supporters</strong>.
  Your donations help keep the project going and keep me caffeinated!</li>

  </ul>

  <p dir="auto"><em>Want to support the project? Consider leaving a ⭐ on GitHub or
  <a href="https://ko-fi.com/rigle" rel="nofollow">buying me a coffee</a>!</em></p>

  <h3 dir="auto">Included assets</h3>

  <ul dir="auto">

  <li><code class="notranslate">3dslibris.cia</code></li>

  <li><code class="notranslate">3dslibris-debug.cia</code></li>

  <li><code class="notranslate">3dslibris.3dsx</code></li>

  <li><code class="notranslate">3dslibris-debug.3dsx</code></li>

  <li><code class="notranslate">3dslibris-sdmc.zip</code> (runtime files only; pair
  it with the <code class="notranslate">.3dsx</code> asset for Homebrew Launcher installs)</li>

  <li><code class="notranslate">3dslibris-source.tar.gz</code></li>

  </ul>'
updated: '2026-05-04T16:38:47Z'
version: v2.6.2
version_title: v2.6.2
---


================================================
FILE: docs/_3ds/3dsoundboard.md
================================================
---
author: Sunrase
avatar: https://avatars.githubusercontent.com/u/101834111?v=4
categories:
- app
color: '#9a6480'
color_bg: '#80536a'
created: '2025-04-30T17:39:54Z'
description: Allows you to use your 3ds as a soundboard.
download_page: https://github.com/Sunrase/3DSoundboard/releases
downloads:
  3DSoundboard.3dsx:
    size: 719128
    size_str: 702 KiB
    url: https://github.com/Sunrase/3DSoundboard/releases/download/1.0/3DSoundboard.3dsx
  3DSoundboard.cia:
    size: 1033152
    size_str: 1008 KiB
    url: https://github.com/Sunrase/3DSoundboard/releases/download/1.0/3DSoundboard.cia
github: Sunrase/3DSoundboard
icon: https://raw.githubusercontent.com/Sunrase/3DSoundboard/refs/heads/main/icon.png
image: https://raw.githubusercontent.com/Sunrase/3DSoundboard/refs/heads/main/banner.png
image_length: 5697
layout: app
qr:
  3DSoundboard.cia: https://db.universal-team.net/assets/images/qr/3dsoundboard-cia.png
screenshots:
- description: Menu 1
  url: https://db.universal-team.net/assets/images/screenshots/3dsoundboard/menu-1.png
- description: Menu 2
  url: https://db.universal-team.net/assets/images/screenshots/3dsoundboard/menu-2.png
source: https://github.com/Sunrase/3DSoundboard
stars: 3
systems:
- 3DS
title: 3DSoundboard
unique_ids:
- '0x65280'
update_notes: <p dir="auto">Initial release of 3DSoundboard</p>
updated: '2025-04-30T18:38:37Z'
version: '1.0'
version_title: 3DSoundboard
---
Yet another "Flappy Bird" mobile game homebrew recreation for Nintendo 3DS (old/new)
**But with Vertical Orientation**.

And also some gameplay features different from the original game.

## Game

*   **Tap bottom screen** or **press D-PAD or B** to flap between the pipes.
*   Game's speed is increasing for each score point.
*   For every 25 points you will earn a new medal - **bronze, silver, gold and platina** for 99 score.
*   Your best score is save in game and stored at path: SD:/config/millkeny/flappy.dat. You also can clear your save data from in-game menu.

## Special Thanks

*   [devkitPro](https://github.com/devkitPro) - For all tools, libraries, docs and etc.
*   [BlyZeDev](https://github.com/BlyZeDev) - For SD filesystem logic from his [T-Rex-Game-3DS](https://github.com/BlyZeDev/T-Rex-Game-3DS).
*   Dong Nguyen, .GEARS - for this legendary game and original assets.

================================================
FILE: docs/_3ds/3dsx-play-coin-setter-mod.md
================================================
---
author: Fabi
avatar: https://avatars.githubusercontent.com/u/73954978?v=4
categories:
- utility
color: '#894b01'
color_bg: '#804601'
created: '2025-03-11T14:23:36Z'
description: Allows modifying the 3DS Play Coin counter, for Ninjhax/homebrew/3dsx
  users.
download_filter: 3dsx
download_page: https://github.com/fthomys/3ds-playcoin-tool/releases
downloads:
  3ds-coinset.3dsx:
    size: 130264
    size_str: 127 KiB
    url: https://github.com/fthomys/3ds-playcoin-tool/releases/download/1.0.1/3ds-coinset.3dsx
github: fthomys/3ds-playcoin-tool
image: https://db.universal-team.net/assets/images/images/3dsx-play-coin-setter-mod.png
image_length: 12032
layout: app
source: https://github.com/fthomys/3ds-playcoin-tool
stars: 0
systems:
- 3DS
title: 3DSx Play Coin Setter Mod
update_notes: <p dir="auto">Fixes manual coin changing</p>
updated: '2025-03-12T12:06:51Z'
version: 1.0.1
version_title: 1.0.1
---


================================================
FILE: docs/_3ds/3dvier.md
================================================
---
author: Universal-Team
avatar: https://avatars.githubusercontent.com/u/49733679?v=4
categories:
- game
color: '#a34f3d'
color_bg: '#803e30'
created: '2020-05-05T03:10:20Z'
description: A Connect-Four clone for Nintendo 3DS.
download_page: https://github.com/Universal-Team/3DVier/releases
downloads:
  3DVier.3dsx:
    size: 924748
    size_str: 903 KiB
    url: https://github.com/Universal-Team/3DVier/releases/download/v0.1.0/3DVier.3dsx
  3DVier.cia:
    size: 713664
    size_str: 696 KiB
    url: https://github.com/Universal-Team/3DVier/releases/download/v0.1.0/3DVier.cia
github: Universal-Team/3DVier
icon: https://raw.githubusercontent.com/Universal-Team/3DVier/master/3ds/app/icon.png
image: https://raw.githubusercontent.com/Universal-Team/3DVier/master/3ds/app/banner.png
image_length: 18267
layout: app
license: gpl-3.0
license_name: GNU General Public License v3.0
nightly:
  download_page: https://github.com/Universal-Team/3DVier/releases/tag/git
  downloads:
    3DVier.3dsx:
      size: 700672
      size_str: 684 KiB
      url: https://github.com/Universal-Team/3DVier/releases/download/git/3DVier.3dsx
    3DVier.cia:
      size: 672704
      size_str: 656 KiB
      url: https://github.com/Universal-Team/3DVier/releases/download/git/3DVier.cia
  qr:
    3DVier.cia: https://db.universal-team.net/assets/images/qr/git/3dvier-cia.png
  update_notes: <p dir="auto">Pk11 - Disable NDS builds</p>
  update_notes_md: 'Pk11 - Disable NDS builds


    '
  updated: '2025-12-29T10:59:07Z'
  version: git
  version_title: Continuous Build - 2aa1f32
qr:
  3DVier.cia: https://db.universal-team.net/assets/images/qr/3dvier-cia.png
screenshots:
- description: Char selection
  url: https://db.universal-team.net/assets/images/screenshots/3dvier/char-selection.png
- description: Color settings
  url: https://db.universal-team.net/assets/images/screenshots/3dvier/color-settings.png
- description: Credits
  url: https://db.universal-team.net/assets/images/screenshots/3dvier/credits.png
- description: In game
  url: https://db.universal-team.net/assets/images/screenshots/3dvier/in-game.png
- description: Keyboard
  url: https://db.universal-team.net/assets/images/screenshots/3dvier/keyboard.png
- description: Lang selection
  url: https://db.universal-team.net/assets/images/screenshots/3dvier/lang-selection.png
- description: Main menu
  url: https://db.universal-team.net/assets/images/screenshots/3dvier/main-menu.png
- description: Ui settings
  url: https://db.universal-team.net/assets/images/screenshots/3dvier/ui-settings.png
source: https://github.com/Universal-Team/3DVier
stars: 7
systems:
- 3DS
title: 3DVier
unique_ids:
- '0x43597'
update_notes: '<h2 dir="auto">Now it''s time for <a href="https://github.com/Universal-Team/3DEins">3DEins</a>''s
  good friend: 3DVier!**</h2>

  <blockquote>

  <p dir="auto">3DVier is a Connect Four clone for Nintendo 3DS.</p>

  </blockquote>

  <p dir="auto"><strong>What has been added?</strong></p>

  <ul dir="auto">

  <li>Game is fully playable. (Right now only Multiplayer on one console.)</li>

  <li>Multi Language support. (Right now English &amp; German only.)</li>

  </ul>

  <p dir="auto">Basically.. this is the initial Release, so it doesn''t have much
  to Mention on the first Release.</p>

  <p dir="auto"><a href="https://github.com/SuperSaiyajinStackZ/Stack-Store">Stack-Store</a>''s
  UniStore will be updated in a bit, so you can download 3DVier by using <a href="https://github.com/Universal-Team/Universal-Updater">Universal-Updater</a>!</p>

  <p dir="auto">If you like to see Screenshots, take a look inside the Screenshots
  Directory of this repository or look at the ReadMe.</p>

  <p dir="auto">I hope you have fun with 3DVier and enjoy using it! ~SuperSaiyajinStackZ</p>'
updated: '2020-05-17T17:30:53Z'
version: v0.1.0
version_title: 3DVier's initial Release!
website: https://universal-team.net/projects/3dvier
wiki: https://github.com/Universal-Team/3DVier/wiki
---


================================================
FILE: docs/_3ds/3dweb.md
================================================
---
author: WLHQ
avatar: https://avatars.githubusercontent.com/u/106452668?v=4
categories:
- utility
color: '#cbe1f8'
color_bg: '#687480'
created: '2024-04-26T03:11:09Z'
description: A web server made in C for the 3DS.
download_page: https://github.com/WLHQ/3DWEB/releases
downloads:
  3DWEB.3dsx:
    size: 174232
    size_str: 170 KiB
    url: https://github.com/WLHQ/3DWEB/releases/download/v1.0.1/3DWEB.3dsx
  3DWEB.cia:
    size: 677824
    size_str: 661 KiB
    url: https://github.com/WLHQ/3DWEB/releases/download/v1.0.1/3DWEB.cia
github: WLHQ/3DWEB
icon: https://raw.githubusercontent.com/WLHQ/3DWEB/main/resources/icon.png
image: https://raw.githubusercontent.com/WLHQ/3DWEB/main/resources/banner.png
image_length: 12457
layout: app
license: mit
license_name: MIT License
prerelease:
  download_page: https://github.com/WLHQ/3DWEB/releases/tag/v1.0.2.1b
  downloads:
    3DWEB-1.0.2.1b.3dsx:
      size: 222376
      size_str: 217 KiB
      url: https://github.com/WLHQ/3DWEB/releases/download/v1.0.2.1b/3DWEB-1.0.2.1b.3dsx
    3DWEB-1.0.2.1b.cia:
      size: 706496
      size_str: 689 KiB
      url: https://github.com/WLHQ/3DWEB/releases/download/v1.0.2.1b/3DWEB-1.0.2.1b.cia
  qr:
    3DWEB-1.0.2.1b.cia: https://db.universal-team.net/assets/images/qr/prerelease/3dweb-1-0-2-1b-cia.png
  update_notes: '<p dir="auto"><strong>Full Changelog</strong>: <a class="commit-link"
    href="https://github.com/WLHQ/3DWEB/compare/v1.0.1...v1.0.2.1b"><tt>v1.0.1...v1.0.2.1b</tt></a></p>

    <p dir="auto">Bug fixes, performance improvements &amp; MIME types support.</p>'
  update_notes_md: '**Full Changelog**: https://github.com/WLHQ/3DWEB/compare/v1.0.1...v1.0.2.1b


    Bug fixes, performance improvements & MIME types support.'
  updated: '2026-03-13T00:20:05Z'
  version: v1.0.2.1b
  version_title: v1.0.2.1b
qr:
  3DWEB.cia: https://db.universal-team.net/assets/images/qr/3dweb-cia.png
source: https://github.com/WLHQ/3DWEB
stars: 9
systems:
- 3DS
title: 3DWEB
unique_ids:
- '0x7548'
update_notes: '<p dir="auto">What''s New:</p>

  <ul dir="auto">

  <li>Changed the Banner &amp; Icon for 3DWEB</li>

  <li>Minor updates to code.</li>

  </ul>'
updated: '2024-08-29T04:28:13Z'
version: v1.0.1
version_title: v1.0.1
---
A flexible web server that can handle sd card file reads, crypto operations, system requests and raw memory operations.

================================================
FILE: docs/_3ds/3dzwei.md
================================================
---
author: Universal-Team
avatar: https://avatars.githubusercontent.com/u/49733679?v=4
categories:
- game
color: '#3b4048'
color_bg: '#3b4048'
created: '2020-06-22T08:12:23Z'
description: A memory cardgame clone for Nintendo 3DS.
download_page: https://github.com/SuperSaiyajinStackZ/3DZwei/releases
downloads:
  3DZwei.3dsx:
    size: 1185672
    size_str: 1 MiB
    url: https://github.com/Universal-Team/3DZwei/releases/download/v0.2.0/3DZwei.3dsx
  3DZwei.cia:
    size: 934848
    size_str: 912 KiB
    url: https://github.com/Universal-Team/3DZwei/releases/download/v0.2.0/3DZwei.cia
github: SuperSaiyajinStackZ/3DZwei
icon: https://raw.githubusercontent.com/SuperSaiyajinStackZ/3DZwei/master/3ds/app/icon.png
image: https://raw.githubusercontent.com/SuperSaiyajinStackZ/3DZwei/master/3ds/app/banner.png
image_length: 10942
layout: app
license: gpl-3.0
license_name: GNU General Public License v3.0
nightly:
  download_page: https://github.com/Universal-Team/3DZwei/releases/tag/git
  downloads:
    3DZwei.3dsx:
      size: 858936
      size_str: 838 KiB
      url: https://github.com/Universal-Team/3DZwei/releases/download/git/3DZwei.3dsx
    3DZwei.cia:
      size: 762816
      size_str: 744 KiB
      url: https://github.com/Universal-Team/3DZwei/releases/download/git/3DZwei.cia
  qr:
    3DZwei.cia: https://db.universal-team.net/assets/images/qr/git/3dzwei-cia.png
  update_notes: <p>Pk11 - Fix build failure</p>
  update_notes_md: 'Pk11 - Fix build failure


    '
  updated: '2025-12-29T11:14:51Z'
  version: git
  version_title: Continuous Build - 20a5b1f
qr:
  3DZwei.cia: https://db.universal-team.net/assets/images/qr/3dzwei-cia.png
screenshots:
- description: Avatar selection1
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/avatar-selection1.png
- description: Avatar selection2
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/avatar-selection2.png
- description: Cardset preview
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/cardset-preview.png
- description: Color changer
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/color-changer.png
- description: Credits
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/credits.png
- description: Developed by
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/developed-by.png
- description: Game mode select
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/game-mode-select.png
- description: Game result
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/game-result.png
- description: Game screen
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/game-screen.png
- description: Lang select
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/lang-select.png
- description: Mainmenu
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/mainmenu.png
- description: Rgb overlay
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/rgb-overlay.png
- description: Rules ovl
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/rules-ovl.png
- description: Set changer
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/set-changer.png
- description: Time lay
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/time-lay.png
- description: Ui settings
  url: https://db.universal-team.net/assets/images/screenshots/3dzwei/ui-settings.png
source: https://github.com/Universal-Team/3DZwei
stars: 5
systems:
- 3DS
title: 3DZwei
unique_ids:
- '0x43598'
update_notes: '<h2>Changes?</h2>

  <ul>

  <li>Allow up to 345 card pairs.</li>

  <li>Allow a custom background for the game screen.</li>

  <li>Add a "rules" overlay with animations.</li>

  <li>Randomize Cardsets in app!</li>

  <li>Add a TimePlay mode, try to collect all cards with the least amount of time
  and least amount of tries.</li>

  <li>Let collected cards disappear from the game screens.</li>

  <li>Initial multi language implementation, currently only supports German &amp;
  English.</li>

  <li>Change Default cards to Universal-Team Homebrew app icons.</li>

  <li>Improvements I guess.</li>

  </ul>

  <h2>Notes</h2>

  <ul>

  <li>3DZwei will be moved to Universal-Team soon, so you will find the repo soon
  there!</li>

  <li>Wanna find custom cardsets for 3DZwei? Then you can take a look at this repo
  <a href="https://github.com/SuperSaiyajinStackZ/3DEins-3DZwei-Sets">here</a>!</li>

  </ul>

  <h2>Other</h2>

  <ul>

  <li>After 3DZwei is moved to Universal-Team, it will be easier to help translating
  the app with crowdin! For more about that, feel free to join the Universal-Server
  <a href="https://universal-team.net/discord" rel="nofollow">here</a>.</li>

  </ul>

  <p>Have fun with the second release of 3DZwei! ~SuperSaiyajinStackZ</p>'
updated: '2020-07-26T19:27:23Z'
version: v0.2.0
version_title: The second release of 3DZwei!
wiki: https://github.com/Universal-Team/3DZwei/wiki
---
A memory cardgame clone for Nintendo 3DS.

================================================
FILE: docs/_3ds/able-atelier-3ds.md
================================================
---
author: Ghaztly97
avatar: https://avatars.githubusercontent.com/u/124470932?v=4
categories:
- utility
- save-tool
color: '#607e3c'
color_bg: '#607e3c'
created: '2026-02-14T17:08:22Z'
description: 'A pattern editor for Animal Crossing: New Leaf that runs natively on
  3DS.'
download_page: https://github.com/Ghaztly97/Able-Atelier-3DS/releases
downloads:
  AbleAtelier.3dsx:
    size: 3508280
    size_str: 3 MiB
    url: https://github.com/Ghaztly97/Able-Atelier-3DS/releases/download/v1.0.2/AbleAtelier.3dsx
github: Ghaztly97/Able-Atelier-3DS
icon: https://raw.githubusercontent.com/Ghaztly97/Able-Atelier-3DS/main/assets/images/AAIcon.png
image: https://raw.githubusercontent.com/Ghaztly97/Able-Atelier-3DS/main/assets/images/AABanner.png
image_length: 3603
layout: app
source: https://github.com/Ghaztly97/Able-Atelier-3DS
stars: 1
systems:
- 3DS
title: Able Atelier 3DS
update_notes: '<p dir="auto">Simple update.</p>

  <p dir="auto">Can now change the name of the creator of a pattern and the name of
  the pattern while editing by clicking the purple gear.</p>'
updated: '2026-03-23T02:15:16Z'
version: v1.0.2
version_title: Able Atelier 1.0.2
---
Able Atelier is a tool to edit patterns made in Animal Crossing: New Leaf!
Coded in Lua using **LÖVE Potion** (LÖVE2D for 3DS)
This works **ONLY** for Welcome Amiibo saves!!!

================================================
FILE: docs/_3ds/anarch.md
================================================
---
author: drummyfish, blitzdoughnuts
avatar: https://avatars.githubusercontent.com/u/140563955?v=4
categories:
- game
color: '#5a5064'
color_bg: '#5a5064'
created: '2025-03-09T23:02:59Z'
description: A suckless FPS game developed by Miloslav Ciz, ported to the 3DS by me
  using devkitpro.
downloads:
  3DS_1.0.zip:
    size: 218362
    size_str: 213 KiB
    url: https://github.com/blitzdoughnuts/AnarchDEVKIT/raw/refs/heads/master/bin/3DS_1.0.zip
github: blitzdoughnuts/AnarchDEVKIT
icon: https://raw.githubusercontent.com/blitzdoughnuts/AnarchDEVKIT/refs/heads/master/3DS/icon.png
image: https://raw.githubusercontent.com/blitzdoughnuts/AnarchDEVKIT/refs/heads/master/3DS/banner/banner.png
image_length: 19403
layout: app
license: cc0-1.0
license_name: Creative Commons Zero v1.0 Universal
screenshots:
- description: Gameplay
  url: https://db.universal-team.net/assets/images/screenshots/anarch/gameplay.png
source: https://github.com/blitzdoughnuts/AnarchDEVKIT
stars: 2
systems:
- 3DS
title: Anarch
updated: '---'
---


================================================
FILE: docs/_3ds/anemone3ds.md
================================================
---
author: A. Taber
avatar: https://avatars.githubusercontent.com/u/7305572?v=4
categories:
- utility
color: '#5a9cc8'
color_bg: '#396380'
created: '2017-07-10T21:48:13Z'
description: A theme and boot splash manager for the Nintendo 3DS console
download_page: https://github.com/astronautlevel2/Anemone3DS/releases
downloads:
  Anemone3DS.3dsx:
    size: 1723908
    size_str: 1 MiB
    url: https://github.com/astronautlevel2/Anemone3DS/releases/download/v3.0.1/Anemone3DS.3dsx
  Anemone3DS.cia:
    size: 1733568
    size_str: 1 MiB
    url: https://github.com/astronautlevel2/Anemone3DS/releases/download/v3.0.1/Anemone3DS.cia
github: astronautlevel2/Anemone3DS
icon: https://raw.githubusercontent.com/astronautlevel2/Anemone3DS/master/meta/icon.png
image: https://raw.githubusercontent.com/astronautlevel2/Anemone3DS/master/meta/banner.png
image_length: 152331
layout: app
license: gpl-3.0
license_name: GNU General Public License v3.0
qr:
  Anemone3DS.cia: https://db.universal-team.net/assets/images/qr/anemone3ds-cia.png
screenshots:
- description: Get themes mode
  url: https://db.universal-team.net/assets/images/screenshots/anemone3ds/get-themes-mode.png
- description: Theme list
  url: https://db.universal-team.net/assets/images/screenshots/anemone3ds/theme-list.png
source: https://github.com/astronautlevel2/Anemone3DS
stars: 1103
systems:
- 3DS
title: Anemone3DS
unique_ids:
- '0xBAFE0'
update_notes: '<p dir="auto">A minor hotfix for v3.0.0 of Anemone3DS</p>

  <h2 dir="auto">Bugfixes</h2>

  <ul dir="auto">

  <li>Dumping badges with illegal characters now works as expected</li>

  <li>Installing badges with more than a couple subfolders now works as expected</li>

  <li>Automatically make a backup of badge extdata on first time installing badges</li>

  </ul>

  <p dir="auto">For the v3.0.0 release notes, see: <a href="https://github.com/astronautlevel2/Anemone3DS/releases/tag/v3.0.0">https://github.com/astronautlevel2/Anemone3DS/releases/tag/v3.0.0</a></p>

  <h2 dir="auto">QR Code</h2>

  <p dir="auto"><a target="_blank" rel="noopener noreferrer" href="https://github.com/user-attachments/assets/78c1bdc4-357f-45d4-9c30-cacf15eb0e3d"><img
  src="https://github.com/user-attachments/assets/78c1bdc4-357f-45d4-9c30-cacf15eb0e3d"
  alt="frame(1)" style="max-width: 100%;"></a></p>'
updated: '2024-06-18T00:21:50Z'
version: v3.0.1
version_title: Anemone3DS - v3.0.1 Hotfix
wiki: https://github.com/astronautlevel2/Anemone3DS/wiki
---


================================================
FILE: docs/_3ds/angband.md
================================================
---
author: The Angband team
avatar: https://avatars.githubusercontent.com/u/458884?v=4
categories:
- game
color: '#858585'
color_bg: '#808080'
created: '2010-10-29T01:17:48Z'
description: A free, single-player roguelike dungeon exploration game
download_filter: -(3ds|nds)\.zip
download_page: https://github.com/angband/angband/releases
downloads: {}
github: angband/angband
icon: https://github.com/angband.png?size=48
image: https://github.com/angband.png
image_length: 3366
layout: app
license: gpl-2.0
license_name: GNU General Public License v2.0
prerelease:
  download_page: https://github.com/angband/angband/releases/tag/4.2.6-120-gcebb5ffc9
  downloads:
    Angband-4.2.6-120-gcebb5ffc9-3ds.zip:
      size: 24671288
      size_str: 23 MiB
      url: https://github.com/angband/angband/releases/download/4.2.6-120-gcebb5ffc9/Angband-4.2.6-120-gcebb5ffc9-3ds.zip
    Angband-4.2.6-120-gcebb5ffc9-nds.zip:
      size: 23328936
      size_str: 22 MiB
      url: https://github.com/angband/angband/releases/download/4.2.6-120-gcebb5ffc9/Angband-4.2.6-120-gcebb5ffc9-nds.zip
  update_notes: '<h2 dir="auto">What''s Changed</h2>

    <ul dir="auto">

    <li>SDL2: check for allocation failures from SDL_strdup() by <a class="user-mention
    notranslate" data-hovercard-type="user" data-hovercard-url="/users/backwardsEric/hovercard"
    data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/backwardsEric">@backwardsEric</a>
    in <a class="issue-link js-issue-link" data-error-text="Failed to load title"
    data-id="4323041113" data-permission-text="Title is private" data-url="https://github.com/angband/angband/issues/6611"
    data-hovercard-type="pull_request" data-hovercard-url="/angband/angband/pull/6611/hovercard"
    href="https://github.com/angband/angband/pull/6611">#6611</a></li>

    <li>workflows: exercise cmake''s SUPPORT_STATS_BACKEND with Linux x11 job by <a
    class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/backwardsEric/hovercard"
    data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/backwardsEric">@backwardsEric</a>
    in <a class="issue-link js-issue-link" data-error-text="Failed to load title"
    data-id="4343554137" data-permission-text="Title is private" data-url="https://github.com/angband/angband/issues/6613"
    data-hovercard-type="pull_request" data-hovercard-url="/angband/angband/pull/6613/hovercard"
    href="https://github.com/angband/angband/pull/6613">#6613</a></li>

    <li>Avoid infinite loop in textui_check_break() by <a class="user-mention notranslate"
    data-hovercard-type="user" data-hovercard-url="/users/backwardsEric/hovercard"
    data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/backwardsEric">@backwardsEric</a>
    in <a class="issue-link js-issue-link" data-error-text="Failed to load title"
    data-id="4350655347" data-permission-text="Title is private" data-url="https://github.com/angband/angband/issues/6614"
    data-hovercard-type="pull_request" data-hovercard-url="/angband/angband/pull/6614/hovercard"
    href="https://github.com/angband/angband/pull/6614">#6614</a></li>

    </ul>

    <p dir="auto"><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/angband/angband/compare/4.2.6-117-gf1f841fe7...4.2.6-120-gcebb5ffc9"><tt>4.2.6-117-gf1f841fe7...4.2.6-120-gcebb5ffc9</tt></a></p>'
  update_notes_md: '## What''s Changed

    * SDL2: check for allocation failures from SDL_strdup() by @backwardsEric in https://github.com/angband/angband/pull/6611

    * workflows: exercise cmake''s SUPPORT_STATS_BACKEND with Linux x11 job by @backwardsEric
    in https://github.com/angband/angband/pull/6613

    * Avoid infinite loop in textui_check_break() by @backwardsEric in https://github.com/angband/angband/pull/6614



    **Full Changelog**: https://github.com/angband/angband/compare/4.2.6-117-gf1f841fe7...4.2.6-120-gcebb5ffc9'
  updated: '2026-05-05T12:01:04Z'
  version: 4.2.6-120-gcebb5ffc9
  version_title: 4.2.6-120-gcebb5ffc9
source: https://github.com/angband/angband
stars: 1503
systems:
- 3DS
- DS
title: Angband
unique_ids:
- '0x616E6'
update_notes: '<p dir="auto">This version includes changes to device activation, many
  corrections and improvements to the borg automatic player, and several bug fixes.  Changes
  affecting gameplay are:</p>

  <ul dir="auto">

  <li>Like digging, failure to activate a magical device automatically retries the
  activation until successful or disturbed.  Make utility devices, elemental rings,
  and dragon armor easier to activate.  Devices to slow monsters, wands of fire balls
  and dragon''s flame, rods of fire bolts, and rods of treasure location are now more
  difficult to activate.  Change the activation difficulties for artifacts so they
  are better aligned with the nature of the activation.  Change a constant in the
  failure rate calculation to tighten the transition from high to low failure rates:  effects
  that change a player''s device skill will have more of an impact if the skill is
  close to the activation difficulty for the device.</li>

  <li>When following a precomputed path (moving to a grid designated by the mouse,
  targeting interface, or autoexplore commands) automatically open doors or clear
  impassable rubble and continue moving when the neighbors of the door or rubble are
  known.</li>

  <li>Object descriptions now include the effect of curses in the displayed hit, damage,
  and armor class values.</li>

  <li>Messages for detection now distinguish between gold on the floor and other objects
  (thanks to PowerDiver).</li>

  <li>Objects and spells that used SPOT effects with LIGHT_WEAK or DARK_WEAK now use
  SPHERE instead so they can not damage the player.</li>

  <li>Change the target handling for a druid''s Lightning Strike:  do not require
  a known grid and target the player if the target is given as a direction or is not
  a passable grid in the line of sight.</li>

  <li>If a necromancer''s Command spell is resisted, deduct mana and take a turn (thanks
  to RegalStar).</li>

  <li>Mithril arrows and shots weigh 50% less; mithril shots ignore acid and fire
  (thanks to edz314).</li>

  <li>Increase the curse removal power of staves of remove curse to distinguish them
  from scrolls of remove curse (thanks to Mitze).</li>

  <li>Increase the escorts for Grishnákh and Golfimbul:  both can also have cave orcs
  as escorts.</li>

  <li>Change the edges of the Cracks of Doom vault so magic mapping clearly identifies
  the entrances (thanks to Mikolaj).</li>

  <li>Change handling of keymaps so the keymap aborts when the next key does not correspond
  to a command, a command fails due to a missing prerequisite or to a player confirmation
  from an inscription check.  Rework how directions are extracted from a keymap.  Allow
  for a keymap trigger whose action starts with ESCAPE to break out of many prompts
  (thanks to PowerWyrm).</li>

  <li>Add an option, autoexplore_commands, to have ''p'' move to the player to the
  nearest unexplored location and modify the existing ''&gt;'' and ''&lt;'' commands
  to move the player to the nearest staircase of the appropriate type when not on
  a staircase (thanks to memmaker).  Whether or not that option is set, add to the
  looking or targeting interface so ''&gt;'' or ''&lt;'' move the cursor to the nearest
  appropriate staircase from where the cursor was and ''x'' moves the cursor to the
  nearest unexplored location to where the cursor was (thanks to Gwarl).</li>

  <li>The notifications shown when the show_damage option is on now include information
  about damage due to effects from spells or magic devices.  Notifications about damage
  to the player now take into account damage reduction and invulnerability.</li>

  </ul>

  <p dir="auto">There are a handful of notable changes to the Windows front end (thanks
  to Klaas van Aarsen):</p>

  <ul dir="auto">

  <li>With tiles, the map displayed by ''M'' now uses the algorithm that Options-&gt;Map
  used.  Options-&gt;Map has been removed.</li>

  <li>Subwindows can have more than 256 rows or columns without drawing artifacts.</li>

  </ul>

  <p dir="auto">The handling of the SDL2 frontend''s menus has been rewritten.  Game
  controller events are now mapped to keystrokes to invoke commands in the game (thanks
  to Alberto Mardegan).</p>

  <p dir="auto">The changes for the borg automatic player are too numerous to list
  individually.  They correct many crashes, instances where manual intervention was
  needed to allow the borg to make progress, jumping into lava, or cases where the
  borg misused a spell (thanks to Adam Goodman, Aodhlin, Jordan Philyaw, and NetBrian).</p>

  <p dir="auto">There is one change that can break compatibility with a game in progress
  or prevent reuse of a randart file from earlier versions of 4.2:  the misnamed FIRE_BOLT72
  activation is now FIRE_BALL72.  If a game in progress uses randarts and an artifact
  has that activation, the randart file will fail to load.  A workaround is to edit
  the randart file and replace FIRE_BOLT72 with FIRE_BALL72.</p>

  <p dir="auto">Prebuilt binaries for NDS and 3ds are no longer available.  Patches
  to restore building Angband for those systems are welcome.</p>'
updated: '2025-12-16T06:19:40Z'
version: 4.2.6
version_title: Release 4.2.6
---
Angband is a graphical dungeon adventure game that uses textual characters to represent the walls and floors of a dungeon and the inhabitants therein, in the vein of games like NetHack and Rogue. If you need help in-game, press ?.

================================================
FILE: docs/_3ds/antibounce.md
================================================
---
author: Serena Postelnek
autogen_scripts: true
avatar: https://avatars.githubusercontent.com/u/6239208?v=4
categories:
- game
color: '#22a608'
color_bg: '#1a8006'
created: '2015-12-14T03:14:01Z'
description: 'A Ludum Dare #34 Game'
download_page: https://github.com/TurtleP/Antibounce/releases
downloads:
  Antibounce.cia:
    size: 2577344
    size_str: 2 MiB
    url: https://github.com/TurtleP/Antibounce/releases/download/1.2.1/Antibounce.cia
  antibounce-3ds.zip:
    size: 1761801
    size_str: 1 MiB
    url: https://github.com/TurtleP/Antibounce/releases/download/v1.2/antibounce-3ds.zip
github: TurtleP/Antibounce
icon: https://raw.githubusercontent.com/TurtleP/Antibounce/master/graphics/icon.png
image: https://raw.githubusercontent.com/TurtleP/Antibounce/master/graphics/title.png
image_length: 1031
layout: app
qr:
  Antibounce.cia: https://db.universal-team.net/assets/images/qr/antibounce-cia.png
screenshots:
- description: Gameplay
  url: https://db.universal-team.net/assets/images/screenshots/antibounce/gameplay.png
- description: High score
  url: https://db.universal-team.net/assets/images/screenshots/antibounce/high-score.png
- description: Title screen
  url: https://db.universal-team.net/assets/images/screenshots/antibounce/title-screen.png
source: https://github.com/TurtleP/Antibounce
stars: 3
systems:
- 3DS
title: Antibounce
unique_ids:
- '0xA45E'
update_notes: '<ul dir="auto">

  <li>Complete rewrite. Code-base overhaul. The good stuff.</li>

  <li>Higher resolution (for Switch release) sprites.</li>

  <li>Uses a mostly Game Boy color palette (with very few exceptions).</li>

  <li>Works with a controller and keyboard:

  <ul dir="auto">

  <li>Left Stick/WASD for movement</li>

  <li>Left/Right bumper/Q/E while holding a direction to Dash</li>

  </ul>

  </li>

  <li>Clear your high-score by holding Start on the main menu for 3-4 seconds.</li>

  </ul>'
updated: '2020-08-15T19:51:05Z'
version: 2.0.0
version_title: AntiBounce 2.0.0
---


================================================
FILE: docs/_3ds/apotris.md
================================================
---
author: akouzoukos
categories:
- game
color: '#ffe74a'
color_bg: '#7d2999'
created: '2022-04-16T00:02:43Z'
description: A free and multiplatform block stacking game
download_page: https://akouzoukos.com/apotris/downloads
downloads:
  Apotris-v4.1.03DS.zip:
    size: 4655795
    size_str: 4 MiB
    url: https://apotrisstorage.blob.core.windows.net/binaries/Apotris-v4.1.03DS.zip
icon: https://db.universal-team.net/assets/images/icons/apotris.png
image: https://db.universal-team.net/assets/images/images/apotris.png
image_length: 2552
layout: app
license: AGPL-3.0-only
license_name: GNU Affero General Public License v3.0 only
screenshots:
- description: 01 block stacking gameplay
  url: https://db.universal-team.net/assets/images/screenshots/apotris/01-block-stacking-gameplay.png
- description: 02 configurable screen and scaling
  url: https://db.universal-team.net/assets/images/screenshots/apotris/02-configurable-screen-and-scaling.png
- description: 03 multiple game modes
  url: https://db.universal-team.net/assets/images/screenshots/apotris/03-multiple-game-modes.png
- description: 04 big mode
  url: https://db.universal-team.net/assets/images/screenshots/apotris/04-big-mode.png
- description: 05 skin editor
  url: https://db.universal-team.net/assets/images/screenshots/apotris/05-skin-editor.png
- description: 06 color editor
  url: https://db.universal-team.net/assets/images/screenshots/apotris/06-color-editor.png
- description: 07 title screen
  url: https://db.universal-team.net/assets/images/screenshots/apotris/07-title-screen.png
source: https://gitea.com/akouzoukos/apotris
stars: 0
systems:
- 3DS
title: Apotris
unique_ids:
- '0xA9715'
update_notes: '<div class="markdown-heading"><h2 class="heading-element">v4.1.0</h2><a
  id="user-content-v410" class="anchor" aria-label="Permalink: v4.1.0" href="#v410"><span
  aria-hidden="true" class="octicon octicon-link"></span></a></div>

  <ul>

  <li>New Port:

  <ul>

  <li>Nintendo 3DS (by Alvin Wong)</li>

  </ul>

  </li>

  <li>Added the Color Editor:

  <ul>

  <li>Lets you create and manage up to 3 custom color palettes.</li>

  </ul>

  </li>

  <li>Added HSV value editing capability to the Gradient Editor.</li>

  <li>Added the ability to skip the current music track from the pause menu.</li>

  <li>Added a timeout (3 minutes) to the demo mode.</li>

  <li>Disabled rumble during demo mode and replays.</li>

  <li>Re-added the option to darken the ghost piece.</li>

  <li>Greatly improved random number generation to prevent cases where the numbers
  generated weren''t very random (by Luigi)</li>

  <li>Fixed Classic Mode DAS wallcharge being overridden by NRS charge.</li>

  <li>Fixed Classic Mode high scores saving based on frames instead of score.</li>

  <li>Fixed ARS T-piece wall kicks.</li>

  <li>Fixed issues with replay playback during Master/Death mode credit rolls.</li>

  <li>Fixed stat accumulation occurring after high score saving.</li>

  <li>Fixed graphics option randomizer (some options were never chosen).</li>

  <li>Fixed bone skin sometimes not being removed after a Death mode game ended.</li>

  <li>Fixed incorrect grade names displayed in Death mode results.</li>

  <li>Fixed enable rumble notification text glitching.</li>

  <li>Fixed potential crash if the music track list was empty.</li>

  <li>Fixed gradient editor rendering issues.</li>

  <li>Fixed demo mode games from counting towards total games started statistic.</li>

  <li>Removed F11 fullscreen keybind (now handled by options).</li>

  <li>(Windows / Linux / Portmaster) Added <em>Shader Support</em>

  </li>

  <li>(PC / Web) Added <em>Controller Support</em>

  </li>

  <li>(PC / PortMaster / Switch) Added <em>Rumble Support</em>

  </li>

  <li>(PC) Added an option for persistent fullscreen mode in Video Settings.</li>

  <li>(PC) Fixed the "Save Replays" option in Training Mode not working correctly</li>

  <li>(GBA) Improved Multiplayer stability</li>

  <li>(GBA) Added detection for more flash save chip types.</li>

  <li>(Switch) Added custom music track support</li>

  <li>(Portmaster) Resolved various crashes and issues on specific Portmaster hardware</li>

  </ul>

  '
updated: '2025-04-19T17:31:10.551Z'
version: v4.1.0
website: https://akouzoukos.com/apotris
wiki: https://github.com/akouzoukos/apotris/wiki
---
**Apotris** is a free multiplatform open-source block stacking game! What sets Apotris apart from other block stacking games is its extensive customization options, complemented by ultra-responsive controls that let you execute your moves with precision. With 14 unique game modes and a plethora of settings, you can tailor the game to your preferences, ensuring a fresh and challenging experience every time you play. Whether you're a casual player or a hardcore enthusiast, Apotris has something for everyone. <!--You can even battle your friends using the Gameboy Advance Link Cable or Wireless Adapters in 2-Player Battle!--> While Apotris was originally designed for Gameboy Advance, it now supports all kinds of platforms, so between the ports and emulation you can play Apotris on almost anything.

The game is still actively maintained and new features are added constantly. If you have any suggestions, want to learn about new features or participate in beta releases, join the Apotris discord server!

### Game-modes:

* **Marathon**: Try to get the best score as the game gets faster and faster
* **Sprint**: Clear lines to reach the goal as fast as possible
* **Dig**: Dig through lines of garbage
* **Ultra**: Get the best score in a limited time
* **Blitz**: Get the best score in a limited time while the game gets faster and faster
* **Combo**: Aim for the most consecutive clears in a 4-wide well
* **Survival**: Survive as long as possible while garbage rises from below
* **Classic**: Old school stacking mechanics
* **Master**: Get the highest Grade while the game gets aggressively faster
* **Death**: Try to survive at brutal speeds
* **Zen**: The goal is to relax...
* **2P Battle**: Battle your friends through the Link Cable or Wireless Adapter (GBA Only!)
* **CPU Battle**: Go against an AI opponent
* **Training**: Try out new strategies or improve your playing using the included Finesse Trainer

================================================
FILE: docs/_3ds/artic-base-server.md
================================================
---
author: PabloMK7
avatar: https://avatars.githubusercontent.com/u/188636407?v=4
categories:
- emulator
- utility
color: '#bdd4d4'
color_bg: '#728080'
created: '2024-05-12T17:18:02Z'
description: A tool for broadcasting games from your console to a compatible 3DS emulator.
download_page: https://github.com/PabloMK7/ArticBaseServer/releases
downloads:
  ArticBase.3dsx:
    size: 460612
    size_str: 449 KiB
    url: https://github.com/azahar-emu/ArticBaseServer/releases/download/v1.2.0/ArticBase.3dsx
  ArticBase.cia:
    size: 372160
    size_str: 363 KiB
    url: https://github.com/azahar-emu/ArticBaseServer/releases/download/v1.2.0/ArticBase.cia
github: PabloMK7/ArticBaseServer
icon: https://raw.githubusercontent.com/PabloMK7/ArticBaseServer/main/app/resources/icon.png
image: https://raw.githubusercontent.com/PabloMK7/ArticBaseServer/main/app/resources/banner.png
image_length: 34819
layout: app
license: mit
license_name: MIT License
qr:
  ArticBase.cia: https://db.universal-team.net/assets/images/qr/articbase-cia.png
source: https://github.com/azahar-emu/ArticBaseServer
stars: 602
systems:
- 3DS
title: Artic Base Server
unique_ids:
- '0xABA5E'
update_notes: '<ul>

  <li>Added Artic Controller support, which allows using the console as the input
  device if the feature is enabled on the emulator.

  <ul>

  <li>The following inputs are supported:

  <ul>

  <li>Buttons &amp; circle pad</li>

  <li>Touch screen</li>

  <li>Gyroscope and accelerometer</li>

  <li>New 3DS extra buttons</li>

  </ul>

  </li>

  <li>The following inputs are not supported:

  <ul>

  <li>Circle pad pro (on New 3DS, this is emulated with the extra buttons)</li>

  </ul>

  </li>

  </ul>

  </li>

  </ul>'
updated: '2024-07-16T21:01:32Z'
version: v1.2.0
version_title: The Fourth Release
---
Allows playing your physical or digital games on an emulator without having to dump them.

- Play games from your console without having to dump them, with purchased updates and DLC.
- Sync the savedata/extdata of the broadcasted game during the play session.
- Use the console as the input device by enabling the Artic Controller feature on the emulator.
- Load shared ext data and NCCH archives from your console.
- Remove the need to dump keys, as the decryption is done by the console's OS.

================================================
FILE: docs/_3ds/atari800-randomman25xx.md
================================================
---
author: Captain_Jerkass96
avatar: https://avatars.githubusercontent.com/u/13063346?v=4
categories:
- emulator
color: '#4d4458'
color_bg: '#4d4458'
created: '2021-07-31T03:15:16Z'
description: Atari 8-bit computer and 5200 console emulator - Unofficial CIA release
download_page: https://github.com/RandomMan25XX/atari800/releases
downloads:
  atari800-3ds.3dsx:
    size: 843900
    size_str: 824 KiB
    url: https://github.com/RandomMan25XX/atari800-3ds/releases/download/Version_3DS_0.3.10/atari800-3ds.3dsx
  atari800-3ds.cia:
    size: 1008576
    size_str: 984 KiB
    url: https://github.com/RandomMan25XX/atari800-3ds/releases/download/Version_3DS_0.3.10/atari800-3ds.cia
github: RandomMan25XX/atari800
icon: https://db.universal-team.net/assets/images/icons/atari800-randomman25xx.png
image: https://db.universal-team.net/assets/images/images/atari800-randomman25xx.png
image_length: 12011
layout: app
license: gpl-2.0
license_name: GNU General Public License v2.0
qr:
  atari800-3ds.cia: https://db.universal-team.net/assets/images/qr/atari800-3ds-cia.png
source: https://github.com/RandomMan25XX/atari800-3ds
stars: 2
systems:
- 3DS
title: Atari800 (RandomMan25XX)
unique_ids:
- '0xA8000'
update_notes: <p>Well, it's certainly not same day delivery, but it's better than
  the last few times</p>
updated: '2024-01-21T05:15:33Z'
version: Version_3DS_0.3.10
version_title: A day late, but better than last time
website: https://atari800.github.io/
---


================================================
FILE: docs/_3ds/atari800.md
===========================
Download .txt
gitextract_k2s6ea5w/

├── .github/
│   ├── ISSUE_TEMPLATE/
│   │   ├── app-request.yml
│   │   ├── config.yml
│   │   └── site-request.md
│   └── workflows/
│       ├── crowdin-commit.yml
│       ├── crowdin-upload.yml
│       ├── pull-request.yml
│       ├── update-priority.yml
│       └── update.yml
├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── crowdin-pull.sh
├── crowdin.yml
├── docker/
│   ├── .gitignore
│   ├── Dockerfile
│   ├── Dockerfile.server
│   └── compose.yaml
├── docs/
│   ├── 3ds/
│   │   ├── category/
│   │   │   ├── app.md
│   │   │   ├── emulator.md
│   │   │   ├── firm.md
│   │   │   ├── game.md
│   │   │   ├── save-tool.md
│   │   │   ├── translation.md
│   │   │   └── utility.md
│   │   └── index.md
│   ├── 3ds.rss
│   ├── 404.md
│   ├── CNAME
│   ├── Gemfile
│   ├── _3ds/
│   │   ├── -hackez-i.md
│   │   ├── 2048---3ds-port.md
│   │   ├── 3d-pinball---space-cadet.md
│   │   ├── 3deins.md
│   │   ├── 3delf.md
│   │   ├── 3dfetch.md
│   │   ├── 3diceroller.md
│   │   ├── 3ds-button-tester.md
│   │   ├── 3ds-controller.md
│   │   ├── 3ds-donut.md
│   │   ├── 3ds-ebook-reader.md
│   │   ├── 3ds-fbge-installer.md
│   │   ├── 3ds-filebrowser.md
│   │   ├── 3ds-google-maps.md
│   │   ├── 3ds-hbmenu.md
│   │   ├── 3ds-httpd.md
│   │   ├── 3ds-parentalunlock.md
│   │   ├── 3ds-random-game-launcher.md
│   │   ├── 3ds-recovery-tool.md
│   │   ├── 3ds-sorting.md
│   │   ├── 3ds-vgmstream.md
│   │   ├── 3ds-vjoy-controller.md
│   │   ├── 3ds1010.md
│   │   ├── 3ds_codedit.md
│   │   ├── 3ds_quick_reboot.md
│   │   ├── 3dsbank.md
│   │   ├── 3dscontroller.md
│   │   ├── 3dscookieclicker.md
│   │   ├── 3dscreen.md
│   │   ├── 3dsdi.md
│   │   ├── 3dshell.md
│   │   ├── 3dsident.md
│   │   ├── 3dslibris.md
│   │   ├── 3dsoundboard.md
│   │   ├── 3dsx-play-coin-setter-mod.md
│   │   ├── 3dvier.md
│   │   ├── 3dweb.md
│   │   ├── 3dzwei.md
│   │   ├── able-atelier-3ds.md
│   │   ├── anarch.md
│   │   ├── anemone3ds.md
│   │   ├── angband.md
│   │   ├── antibounce.md
│   │   ├── apotris.md
│   │   ├── artic-base-server.md
│   │   ├── atari800-randomman25xx.md
│   │   ├── atari800.md
│   │   ├── audioswitcher3ds.md
│   │   ├── aurorachat.md
│   │   ├── b9s_check.md
│   │   ├── balatro3ds.md
│   │   ├── ballcopter.md
│   │   ├── bandolero-3ds.md
│   │   ├── bart-bash.md
│   │   ├── battery_mark_for_3ds.md
│   │   ├── bcstm-player.md
│   │   ├── better-nfcreader.md
│   │   ├── biniax2-3ds.md
│   │   ├── blargspc.md
│   │   ├── blockamok-remix.md
│   │   ├── bootntr.md
│   │   ├── bottomless-block-barrage.md
│   │   ├── breakup-simulator-portable.md
│   │   ├── budgiessh.md
│   │   ├── bugdom.md
│   │   ├── bullets.md
│   │   ├── buttonpresser3ds.md
│   │   ├── calculathreeds.md
│   │   ├── captureassistant.md
│   │   ├── cec-tool.md
│   │   ├── chatgpt3ds.md
│   │   ├── checkpoint.md
│   │   ├── cia-installer.md
│   │   ├── citrahold-3ds.md
│   │   ├── class-of-09.md
│   │   ├── classicube.md
│   │   ├── cpymo.md
│   │   ├── craftus-reloaded.md
│   │   ├── cro-mag-rally.md
│   │   ├── crosscraft-classic.md
│   │   ├── cs3ds.md
│   │   ├── cstimer-3ds.md
│   │   ├── ctgp-7-downloader.md
│   │   ├── ctgp7-savetransfer.md
│   │   ├── cthulhu.md
│   │   ├── ctr-alarmo.md
│   │   ├── ctrmus.md
│   │   ├── ctroller.md
│   │   ├── ctrquake.md
│   │   ├── ctrrgbpat2.md
│   │   ├── ctrxplorer.md
│   │   ├── cube-adventures.md
│   │   ├── custom-yacht-3ds.md
│   │   ├── daedalusx64-3ds.md
│   │   ├── ddlc-love.md
│   │   ├── dead-pixel-checker.md
│   │   ├── demo-reset.md
│   │   ├── devilutionx.md
│   │   ├── doodle.md
│   │   ├── doors-3ds.md
│   │   ├── dosbox.md
│   │   ├── drawattack.md
│   │   ├── drider.md
│   │   ├── ds-forwarder-packs.md
│   │   ├── dses.md
│   │   ├── dsp1.md
│   │   ├── dungeons-of-daggorath-3ds.md
│   │   ├── easyrpgdlre.md
│   │   ├── eduke3d.md
│   │   ├── evolution_sav3d_me.md
│   │   ├── ezb9supdater.md
│   │   ├── faketik.md
│   │   ├── falling-blocks-watch-out.md
│   │   ├── fastplaycoin.md
│   │   ├── fbi-nh.md
│   │   ├── flappy-bird.md
│   │   ├── fmsx3ds.md
│   │   ├── forecast.md
│   │   ├── fourthtube.md
│   │   ├── friendmii.md
│   │   ├── ftpd.md
│   │   ├── game-tipper.md
│   │   ├── gameyob-3ds.md
│   │   ├── gemini3ds.md
│   │   ├── github3ds.md
│   │   ├── godmode9.md
│   │   ├── graphcalc3ds.md
│   │   ├── griffon-legend-3ds.md
│   │   ├── gytb.md
│   │   ├── halo-renewed-solitude.md
│   │   ├── halo-revamped.md
│   │   ├── hax0r.md
│   │   ├── hexisopath.md
│   │   ├── hokakuctr.md
│   │   ├── homebrew_launcher_dummy.md
│   │   ├── horihd-gallery.md
│   │   ├── hrt3ds.md
│   │   ├── inpost3ds.md
│   │   ├── ioquake3ds.md
│   │   ├── ip-cam-viewer.md
│   │   ├── jksm.md
│   │   ├── kartdlphax.md
│   │   ├── kavita-3ds.md
│   │   ├── leafedit-pattern-editor.md
│   │   ├── leafedit.md
│   │   ├── lego-island.md
│   │   ├── level256-installer.md
│   │   ├── limeplayer3ds.md
│   │   ├── line-for-3ds.md
│   │   ├── ludo3ds.md
│   │   ├── luma3ds.md
│   │   ├── luma3dsweather.md
│   │   ├── lumalocaleswitcher.md
│   │   ├── magic-draw.md
│   │   ├── mars.md
│   │   ├── mcu-bricker.md
│   │   ├── mgba.md
│   │   ├── mk7-plugin-dx.md
│   │   ├── modmoon.md
│   │   ├── moonlight-streaming-client.md
│   │   ├── multi-pokemon-framework.md
│   │   ├── multidownload.md
│   │   ├── nazi-zombies-portable.md
│   │   ├── ndsforwarder.md
│   │   ├── neopop-sdl.md
│   │   ├── netpass.md
│   │   ├── nexus3ds.md
│   │   ├── nfcheckrem.md
│   │   ├── nimbus.md
│   │   ├── noise-commander-3ds-demo.md
│   │   ├── notebook3ds.md
│   │   ├── notepad3ds.md
│   │   ├── noteroom.md
│   │   ├── notifymii.md
│   │   ├── ntr-hr.md
│   │   ├── off.md
│   │   ├── ollama3ds.md
│   │   ├── omega.md
│   │   ├── omnispeak-3ds.md
│   │   ├── oot3d_randomizer.md
│   │   ├── open_agb_firm.md
│   │   ├── openagblauncher.md
│   │   ├── openbor-3ds.md
│   │   ├── opensyobon3ds.md
│   │   ├── opentitus-3ds.md
│   │   ├── opentyrian-3ds.md
│   │   ├── orchestrina.md
│   │   ├── payloadspinner3ds.md
│   │   ├── pdrpse.md
│   │   ├── picodrive.md
│   │   ├── pie3ds.md
│   │   ├── pkcount.md
│   │   ├── pksm.md
│   │   ├── pomegranate.md
│   │   ├── pong-pokemon.md
│   │   ├── potatostream.md
│   │   ├── powder-3ds.md
│   │   ├── prboom.md
│   │   ├── prboom3ds.md
│   │   ├── qtmstub.md
│   │   ├── quake2ctr.md
│   │   ├── r3ddragon.md
│   │   ├── random-title-picker.md
│   │   ├── rangen-3ds.md
│   │   ├── raptor-ds3ds.md
│   │   ├── ravimid.md
│   │   ├── red-viper.md
│   │   ├── rehid.md
│   │   ├── retroarch.md
│   │   ├── rollthedice-3ds.md
│   │   ├── romfs-explorer.md
│   │   ├── rtchanger.md
│   │   ├── safeb9sinstaller.md
│   │   ├── satellazone.md
│   │   ├── save-data-copy-tool.md
│   │   ├── savesync.md
│   │   ├── savvymanager.md
│   │   ├── scratch-everywhere.md
│   │   ├── screenshot-merge.md
│   │   ├── scummvm.md
│   │   ├── seedminer.md
│   │   ├── sharedfonttool.md
│   │   ├── shut-the-cam-up.md
│   │   ├── sliderpong.md
│   │   ├── smash-amiibo-cheat-tool.md
│   │   ├── smilebasic-file-manager.md
│   │   ├── snake-for-3ds.md
│   │   ├── snake2ds.md
│   │   ├── snakes.md
│   │   ├── snes9x-updated-fork.md
│   │   ├── sonic-1--2.md
│   │   ├── sonic-cd.md
│   │   ├── sonic-mania.md
│   │   ├── sonic-robo-blast-2.md
│   │   ├── space-invaders.md
│   │   ├── specializemii.md
│   │   ├── srau.md
│   │   ├── stackmill.md
│   │   ├── starcruiser7.md
│   │   ├── streamu.md
│   │   ├── stuff.md
│   │   ├── sudokul.md
│   │   ├── super-haxagon.md
│   │   ├── super-photo-studio.md
│   │   ├── superml.md
│   │   ├── supertux.md
│   │   ├── tasmanquest.md
│   │   ├── temperpce.md
│   │   ├── terminal-clicker.md
│   │   ├── the-pirate-launcher.md
│   │   ├── thextech.md
│   │   ├── tiksweep.md
│   │   ├── tinyvnc.md
│   │   ├── tjap_3ds.md
│   │   ├── topos_3ds-video-player.md
│   │   ├── touch-keys.md
│   │   ├── trekt_3d.md
│   │   ├── tricord.md
│   │   ├── trogdor-reburninated.md
│   │   ├── tunez3ds.md
│   │   ├── turtleinvaders.md
│   │   ├── twlfix-cfw.md
│   │   ├── twlsavetool.md
│   │   ├── twpatch.md
│   │   ├── uae3ds.md
│   │   ├── universal-edit.md
│   │   ├── universal-updater.md
│   │   ├── updatesuppressor.md
│   │   ├── uxnds.md
│   │   ├── vapecord-achhd-plugin.md
│   │   ├── vapecord-acnl-plugin.md
│   │   ├── vconv.md
│   │   ├── vice3ds.md
│   │   ├── video-player-for-3ds.md
│   │   ├── virtuanes.md
│   │   ├── wifimanager.md
│   │   ├── witb_3d.md
│   │   ├── wordle-terminal-3ds.md
│   │   ├── wumiibo.md
│   │   ├── xash3ds.md
│   │   ├── xrick-3ds.md
│   │   ├── yahtzee3ds.md
│   │   ├── yanbf.md
│   │   ├── yet-another-flappy-bird.md
│   │   ├── yet-another-mario-kart-clone-3ds.md
│   │   ├── zappka3ds.md
│   │   ├── zelda3t.md
│   │   ├── zeldaolb.md
│   │   ├── zeldapicross.md
│   │   ├── zeldaroth-1-0-3-beta.md
│   │   └── zeldaroth.md
│   ├── _config.yml
│   ├── _data/
│   │   ├── i18n/
│   │   │   ├── bruh-US.json
│   │   │   ├── de-DE.json
│   │   │   ├── en-US.json
│   │   │   ├── es-ES.json
│   │   │   ├── fr-FR.json
│   │   │   ├── he-IL.json
│   │   │   ├── hu-HU.json
│   │   │   ├── ic-IC.json
│   │   │   ├── it-IT.json
│   │   │   ├── ja-JP.json
│   │   │   ├── ko-KR.json
│   │   │   ├── no-NO.json
│   │   │   ├── pl-PL.json
│   │   │   ├── pt-BR.json
│   │   │   ├── ro-RO.json
│   │   │   ├── ru-RU.json
│   │   │   ├── ry-JP.json
│   │   │   ├── tr-TR.json
│   │   │   ├── uk-UA.json
│   │   │   ├── zh-CN.json
│   │   │   └── zh-TW.json
│   │   ├── languages.json
│   │   └── nav.json
│   ├── _ds/
│   │   ├── a5200ds.md
│   │   ├── a7800ds.md
│   │   ├── a8ds.md
│   │   ├── angband.md
│   │   ├── better-call-saul-ds.md
│   │   ├── box.md
│   │   ├── breaking-bad-ds.md
│   │   ├── cerealboxsnow.md
│   │   ├── colecods.md
│   │   ├── colors.md
│   │   ├── counter-strike-nintendo-ds.md
│   │   ├── d-elusion.md
│   │   ├── derailed.md
│   │   ├── ds-forwarder-packs.md
│   │   ├── ds-micpassthrough.md
│   │   ├── dscraft.md
│   │   ├── dsi-camera.md
│   │   ├── dsidl.md
│   │   ├── dslibris.md
│   │   ├── fspds.md
│   │   ├── ftpd.md
│   │   ├── gameyob.md
│   │   ├── gbarunner2.md
│   │   ├── godmode9i.md
│   │   ├── gravity.md
│   │   ├── hiyacfw.md
│   │   ├── ikachands.md
│   │   ├── ikureader.md
│   │   ├── jenesisds.md
│   │   ├── kekatsu.md
│   │   ├── kirikou.md
│   │   ├── lolsnes.md
│   │   ├── ludonds.md
│   │   ├── microcitynds.md
│   │   ├── monty-hall-ds.md
│   │   ├── mpeg4-player.md
│   │   ├── nds-bootstrap.md
│   │   ├── ndsforwarder-dsi.md
│   │   ├── ndsi-savedumper.md
│   │   ├── nesds.md
│   │   ├── nintellivision.md
│   │   ├── nitrohax.md
│   │   ├── nitrohax3ds.md
│   │   ├── nitroswan.md
│   │   ├── ntm.md
│   │   ├── ntr-launcher.md
│   │   ├── parkinrampage.md
│   │   ├── picodrivetwl.md
│   │   ├── pistol-pong-ds.md
│   │   ├── pkcount.md
│   │   ├── pkmn-chest.md
│   │   ├── portalds.md
│   │   ├── protista.md
│   │   ├── raptor-ds3ds.md
│   │   ├── relaunch.md
│   │   ├── s8ds.md
│   │   ├── safe-nand-manager.md
│   │   ├── scummvm.md
│   │   ├── snemulds.md
│   │   ├── spiritedds.md
│   │   ├── stellads.md
│   │   ├── super-photo-studio.md
│   │   ├── terrariads.md
│   │   ├── tic-tac-ds.md
│   │   ├── tmfh.md
│   │   ├── toolchaingenericds-multimediaplayer.md
│   │   ├── twilight-menu.md
│   │   ├── uxnds.md
│   │   ├── white-space-ds.md
│   │   └── wordle-ds.md
│   ├── _includes/
│   │   ├── app-request.html
│   │   ├── common-js.html
│   │   ├── favicon.html
│   │   ├── footer.html
│   │   ├── head.html
│   │   ├── modal.html
│   │   ├── nav.html
│   │   ├── script-show.html
│   │   └── seo.html
│   ├── _layouts/
│   │   ├── app.html
│   │   ├── cards.html
│   │   ├── compress.html
│   │   └── default.html
│   ├── _sass/
│   │   └── base.scss
│   ├── app-request.md
│   ├── assets/
│   │   ├── css/
│   │   │   ├── 83-percent.scss
│   │   │   ├── dark.scss
│   │   │   ├── light.scss
│   │   │   └── style.css
│   │   ├── files/
│   │   │   ├── Protista.nds
│   │   │   └── databases.txt
│   │   └── js/
│   │       ├── 404.js
│   │       ├── app-request.js
│   │       ├── i18n.js
│   │       ├── modal.js
│   │       ├── relativeTime.js
│   │       ├── rescript.js
│   │       ├── search.js
│   │       ├── sort.js
│   │       └── theme.js
│   ├── data/
│   │   └── full.json
│   ├── ds/
│   │   ├── category/
│   │   │   ├── emulator.md
│   │   │   ├── extra.md
│   │   │   ├── game.md
│   │   │   ├── save-tool.md
│   │   │   ├── translation.md
│   │   │   └── utility.md
│   │   └── index.md
│   ├── ds.rss
│   ├── index.md
│   ├── index.rss
│   └── unistore/
│       ├── retroarch.t3x
│       ├── retroarch.unistore
│       ├── universal-db-0.t3x
│       ├── universal-db-info.json
│       ├── universal-db.t3x
│       ├── universal-db.tdx
│       └── universal-db.unistore
├── resources/
│   └── template.xcf
└── source/
    ├── apps/
    │   ├── 2048-3ds-port.json
    │   ├── 3d-pinball-space-cadet.json
    │   ├── 3deins.json
    │   ├── 3delf.json
    │   ├── 3dfetch.json
    │   ├── 3diceroller.json
    │   ├── 3ds-button-tester.json
    │   ├── 3ds-controller.json
    │   ├── 3ds-donut.json
    │   ├── 3ds-ebook-reader.json
    │   ├── 3ds-fbge-installer.json
    │   ├── 3ds-filebrowser.json
    │   ├── 3ds-google-maps.json
    │   ├── 3ds-httpd.json
    │   ├── 3ds-parentalunlock.json
    │   ├── 3ds-random-game-laucher.json
    │   ├── 3ds-recovery-tool.json
    │   ├── 3ds-savesync.json
    │   ├── 3ds-sorting.json
    │   ├── 3ds-streetpass.json
    │   ├── 3ds-vgmstream.json
    │   ├── 3ds-vjoy-controller.json
    │   ├── 3ds1010.json
    │   ├── 3ds_codedit.json
    │   ├── 3ds_quick_reboot.json
    │   ├── 3dsbank.json
    │   ├── 3dscontroller.json
    │   ├── 3dscookieclicker.json
    │   ├── 3dscreen.json
    │   ├── 3dsdi.json
    │   ├── 3dshell.json
    │   ├── 3dsident.json
    │   ├── 3dslibris.json
    │   ├── 3dsoundboard.json
    │   ├── 3dsx-play-coin-setter-mod.json
    │   ├── 3dvier.json
    │   ├── 3dweb.json
    │   ├── 3dzwei.json
    │   ├── NoteRoom.json
    │   ├── a5200ds.json
    │   ├── a7800ds.json
    │   ├── a8ds.json
    │   ├── able-atelier-3DS.json
    │   ├── anarch.json
    │   ├── anemone3ds.json
    │   ├── angband.json
    │   ├── antibounce.json
    │   ├── apotris.json
    │   ├── artic-base-server.json
    │   ├── atari800-randomman25xx.json
    │   ├── atari800.json
    │   ├── audioswitcher3ds.json
    │   ├── aurorachat.json
    │   ├── b9s_check.json
    │   ├── balatro3ds.json
    │   ├── ballcopter.json
    │   ├── bandolero-3ds.json
    │   ├── bart-bash.json
    │   ├── battery_mark_for_3ds.json
    │   ├── bcstm-player.json
    │   ├── better-call-saul-ds.json
    │   ├── better-nfcreader.json
    │   ├── biniax2-3ds.json
    │   ├── blargspc.json
    │   ├── blockamok-remix.json
    │   ├── bootntr.json
    │   ├── bottomless-block-barrage.json
    │   ├── box.json
    │   ├── breaking-bad-ds.json
    │   ├── breakup-simulator-portable.json
    │   ├── budgiessh.json
    │   ├── bugdom.json
    │   ├── bullets.json
    │   ├── buttonpresser3ds.json
    │   ├── calculathreeds.json
    │   ├── captureassistant.json
    │   ├── cectool.json
    │   ├── cerealboxsnow.json
    │   ├── chatgpt3ds.json
    │   ├── checkpoint.json
    │   ├── cia-installer.json
    │   ├── citrahold.json
    │   ├── class-of-09.json
    │   ├── classicube.json
    │   ├── colecods.json
    │   ├── colors.json
    │   ├── counter-strike-nintendo-ds.json
    │   ├── cpymo.json
    │   ├── craftus-reloaded.json
    │   ├── cro-mag-rally.json
    │   ├── crosscraft-classic.json
    │   ├── cs3ds.json
    │   ├── cstimer-3ds.json
    │   ├── ctgp-7-downloader.json
    │   ├── ctgp7-savetransfer.json
    │   ├── cthulhu.json
    │   ├── ctr-alarmo.json
    │   ├── ctrmus.json
    │   ├── ctroller.json
    │   ├── ctrquake.json
    │   ├── ctrrgbpat2.json
    │   ├── ctrxplorer.json
    │   ├── cube-adventures.json
    │   ├── custom-yacht-3ds.json
    │   ├── d-elusion.json
    │   ├── daedalusx64-3ds.json
    │   ├── ddlc-love.json
    │   ├── dead-pixel-checker.json
    │   ├── demo-reset.json
    │   ├── derailed.json
    │   ├── devilutionx.json
    │   ├── doodle.json
    │   ├── doors-3ds.json
    │   ├── dosbox.json
    │   ├── drawattack.json
    │   ├── drider.json
    │   ├── ds-forwarder-packs.json
    │   ├── ds-micpassthrough.json
    │   ├── dscraft.json
    │   ├── dses.json
    │   ├── dsi-camera.json
    │   ├── dsidl.json
    │   ├── dslibris.json
    │   ├── dsp1.json
    │   ├── dungeons-of-daggorath-3ds.json
    │   ├── easyrpgdlre.json
    │   ├── eduke3d.json
    │   ├── evolution_sav3d_me.json
    │   ├── ezb9supdater.json
    │   ├── faketik.json
    │   ├── falling-blocks-watch-out.json
    │   ├── fastplaycoin.json
    │   ├── fbi-nh.json
    │   ├── flappy-bird.json
    │   ├── fmsx3ds.json
    │   ├── forecast.json
    │   ├── fourthtube.json
    │   ├── friendmii.json
    │   ├── fspds.json
    │   ├── ftpd.json
    │   ├── game-tipper.json
    │   ├── gameyob-3ds.json
    │   ├── gameyob.json
    │   ├── gbarunner2.json
    │   ├── gemini3ds.json
    │   ├── github3ds.json
    │   ├── godmode9.json
    │   ├── godmode9i.json
    │   ├── graphcalc3ds.json
    │   ├── gravity.json
    │   ├── griffon-legend-3ds.json
    │   ├── gytb.json
    │   ├── hackezi.json
    │   ├── halo-renewed-solitude.json
    │   ├── halo-revamped.json
    │   ├── hax0r.json
    │   ├── hexisopath.json
    │   ├── hiyacfw.json
    │   ├── hokakuctr.json
    │   ├── homebrew_launcher_dummy.json
    │   ├── horihd-gallery.json
    │   ├── hrt3ds.json
    │   ├── ikachands.json
    │   ├── ikureader.json
    │   ├── inpost3ds.json
    │   ├── ioquake3ds.json
    │   ├── ip-cam-viewer.json
    │   ├── jenesisds.json
    │   ├── jksm.json
    │   ├── kartdlphax.json
    │   ├── kavita-3ds.json
    │   ├── kekatsu.json
    │   ├── kirikou.json
    │   ├── leafedit-pattern-editor.json
    │   ├── leafedit.json
    │   ├── lego-island.json
    │   ├── level256-installer.json
    │   ├── limeplayer3ds.json
    │   ├── line-for-3ds.json
    │   ├── lolsnes.json
    │   ├── ludo3ds.json
    │   ├── ludonds.json
    │   ├── luma3ds.json
    │   ├── luma3dsweather.json
    │   ├── lumalocaleswitcher.json
    │   ├── magic-draw.json
    │   ├── mars3ds.json
    │   ├── mcu-bricker.json
    │   ├── mgba.json
    │   ├── microcitynds.json
    │   ├── mk7-plugin-dx.json
    │   ├── modmoon.json
    │   ├── monty-hall-ds.json
    │   ├── moonlight-streaming-client.json
    │   ├── mpeg4-player.json
    │   ├── multi-pokemon-framework.json
    │   ├── multidownload.json
    │   ├── nazi-zombies-portable.json
    │   ├── nds-bootstrap.json
    │   ├── ndsforwarder-dsi.json
    │   ├── ndsforwarder.json
    │   ├── ndsi-savedumper.json
    │   ├── neopop-sdl.json
    │   ├── nesds.json
    │   ├── new-hbmenu.json
    │   ├── nexus3ds.json
    │   ├── nfcheckrem.json
    │   ├── nimbus.json
    │   ├── nintellivision.json
    │   ├── nitrohax.json
    │   ├── nitrohax3ds.json
    │   ├── nitroswan.json
    │   ├── noisecommander.json
    │   ├── notebook3ds.json
    │   ├── notepad3ds.json
    │   ├── notifymii.json
    │   ├── ntm.json
    │   ├── ntr-hr.json
    │   ├── ntr-launcher.json
    │   ├── off.json
    │   ├── ollama3ds.json
    │   ├── omega.json
    │   ├── omnispeak-3ds.json
    │   ├── oot3d_randomizer.json
    │   ├── open_agb_firm.json
    │   ├── openagblauncher.json
    │   ├── openbor-3ds.json
    │   ├── opensyobon3ds.json
    │   ├── opentitus-3ds.json
    │   ├── opentyrian-3ds.json
    │   ├── orchestrina.json
    │   ├── parkinrampage.json
    │   ├── payloadspinner3ds.json
    │   ├── pdrpse.json
    │   ├── picodrive.json
    │   ├── picodrivetwl.json
    │   ├── pie3ds.json
    │   ├── pistol-pong-ds.json
    │   ├── pkcount.json
    │   ├── pkmn-chest.json
    │   ├── pksm.json
    │   ├── pomegranate.json
    │   ├── pong-pokemon.json
    │   ├── portalds.json
    │   ├── potatostream.json
    │   ├── powder-3ds.json
    │   ├── prboom-plus.json
    │   ├── prboom3ds.json
    │   ├── protista.json
    │   ├── qtmStub.json
    │   ├── quake2ctr.json
    │   ├── r3ddragon.json
    │   ├── random-title-picker.json
    │   ├── rangen-3ds.json
    │   ├── raptor-ds-3ds.json
    │   ├── ravimid.json
    │   ├── red-viper.json
    │   ├── rehid.json
    │   ├── relaunch.json
    │   ├── retroarch.json
    │   ├── rollthedice-3ds.json
    │   ├── romfs-explorer.json
    │   ├── rtchanger.json
    │   ├── s8ds.json
    │   ├── safe-nand-manager.json
    │   ├── safeb9sinstaller.json
    │   ├── satellazone.json
    │   ├── save-data-copy-tool.json
    │   ├── savvymanager.json
    │   ├── scratch-3ds.json
    │   ├── screenshot-merge.json
    │   ├── scummvm.json
    │   ├── seedminer.json
    │   ├── sharedfonttool.json
    │   ├── shut-the-cam-up.json
    │   ├── sliderpong.json
    │   ├── smash-amiibo-cheat-tool.json
    │   ├── smilebasic-file-manager.json
    │   ├── snake-for-3ds.json
    │   ├── snake2ds.json
    │   ├── snakes.json
    │   ├── snemulds.json
    │   ├── snes9x.json
    │   ├── sonic-1--2.json
    │   ├── sonic-cd.json
    │   ├── sonic-mania.json
    │   ├── sonic-robo-blast-2.json
    │   ├── space-invaders.json
    │   ├── specializemii.json
    │   ├── spirited-ds.json
    │   ├── srau.json
    │   ├── stackmill.json
    │   ├── starcruiser7.json
    │   ├── stellads.json
    │   ├── streamu.json
    │   ├── stuff.json
    │   ├── sudokul.json
    │   ├── super-haxagon.json
    │   ├── super-photo-studio.json
    │   ├── superml.json
    │   ├── supertux.json
    │   ├── tasmanquest.json
    │   ├── temperpce.json
    │   ├── terminal-clicker.json
    │   ├── terrariads.json
    │   ├── the-pirate-launcher.json
    │   ├── thextech.json
    │   ├── tic-tac-ds.json
    │   ├── tiksweep.json
    │   ├── tinyvnc.json
    │   ├── tjaplayer_for_3ds.json
    │   ├── tmfh.json
    │   ├── toolchaingenericds-multimediaplayer.json
    │   ├── topos_3ds-video-player.json
    │   ├── touch-keys.json
    │   ├── trekt_3d.json
    │   ├── tricord.json
    │   ├── trogdor-reburninated.json
    │   ├── tunez-3ds.json
    │   ├── turtleinvaders.json
    │   ├── twilight-menu.json
    │   ├── twlfix-cfw.json
    │   ├── twlsavetool.json
    │   ├── twpatch.json
    │   ├── uae3ds.json
    │   ├── universal-edit.json
    │   ├── universal-updater.json
    │   ├── updatesuppressor.json
    │   ├── uxnds.json
    │   ├── vapecord-achhd-plugin.json
    │   ├── vapecord-acnl-plugin.json
    │   ├── vconv.json
    │   ├── vice3ds.json
    │   ├── video-player-for-3ds.json
    │   ├── virtuanes.json
    │   ├── white-space-ds.json
    │   ├── wifimanager.json
    │   ├── witb_3d.json
    │   ├── wordle-ds.json
    │   ├── wordle-terminal-3ds.json
    │   ├── wumiibo.json
    │   ├── xash3ds.json
    │   ├── xrick-3ds.json
    │   ├── yahtzee3ds.json
    │   ├── yanbf.json
    │   ├── yet-another-flappy-bird.json
    │   ├── yet-another-mario-kart-clone-3ds.json
    │   ├── zappka3ds.json
    │   ├── zelda3t.json
    │   ├── zeldaolb.json
    │   ├── zeldapicross.json
    │   ├── zeldaroth-1-0-3-beta.json
    │   └── zeldaroth.json
    ├── generate.py
    ├── img2tdx.py
    ├── requirements.txt
    ├── unistore.py
    └── utils.py
Download .txt
SYMBOL INDEX (64 symbols across 11 files)

FILE: docs/assets/js/app-request.js
  constant ISSUE_URL (line 1) | const ISSUE_URL = "https://github.com/Universal-Team/db/issues/new?templ...
  constant GITHUB_API (line 2) | const GITHUB_API = "https://api.github.com";
  constant GITLAB_BASE (line 3) | const GITLAB_BASE = "https://gitlab.com";
  constant GITLAB_API (line 4) | const GITLAB_API = `${GITLAB_BASE}/api/v4`;
  function clearError (line 89) | function clearError() {
  function error (line 95) | function error(errorMessage) {
  function getSlug (line 102) | function getSlug(str) {
  function setGit (line 110) | function setGit(provider) {
  function fetchApi (line 132) | async function fetchApi(url, mappings) {
  function fetchInfo (line 157) | async function fetchInfo() {
  function createInput (line 193) | function createInput(item, key) {
  function fillInfo (line 299) | function fillInfo() {
  function exportJson (line 373) | async function exportJson() {

FILE: docs/assets/js/i18n.js
  function loadHead (line 29) | function loadHead(lang) {
  function loadLang (line 67) | function loadLang(initing) {
  function getLang (line 112) | function getLang() {
  function setLang (line 135) | function setLang(lang) {

FILE: docs/assets/js/modal.js
  function updateModal (line 1) | function updateModal(event) {

FILE: docs/assets/js/relativeTime.js
  function timeDifference (line 13) | function timeDifference(now, then) {
  function updateDates (line 28) | function updateDates() {

FILE: docs/assets/js/search.js
  function search (line 1) | function search(query) {

FILE: docs/assets/js/sort.js
  function toggleSortDirection (line 12) | function toggleSortDirection() {
  function sort (line 18) | function sort(prop) {

FILE: docs/assets/js/theme.js
  function loadTheme (line 1) | function loadTheme() {
  function setTheme (line 25) | function setTheme(theme) {

FILE: source/generate.py
  function saveIcon (line 41) | def saveIcon(img: Image.Image, index: int, ds: bool,
  function retroarchUniStore (line 86) | def retroarchUniStore() -> None:
  function handle_gbatemp_app (line 154) | def handle_gbatemp_app(r, app: Dict[str, Any]):
  function handle_github_app (line 223) | def handle_github_app(github: GitHubAPI, app: Dict[str, Any]):
  function handle_bitbucket_app (line 370) | def handle_bitbucket_app(app: Dict[str, Any]):
  function handle_gitlab_app (line 416) | def handle_gitlab_app(app: Dict[str, Any]):
  function create_web_file (line 467) | def create_web_file(app: Dict[str, Any]):
  function handle_screenshots (line 506) | def handle_screenshots(app_title: str, docs_dir: pathlib.Path):
  function create_error_report (line 521) | def create_error_report(e, app_name, webhook: discord.SyncWebhook):
  function fetch_app_data (line 530) | def fetch_app_data(app: Dict[str, Any], github_session: GitHubAPI):
  class FetchAppDataError (line 560) | class FetchAppDataError(Exception):
    method __init__ (line 561) | def __init__(self, inner: Exception):
  function process_app_entry (line 566) | def process_app_entry(app: Dict[str, Any], fp: str, icon_idx: int, githu...
  class GitHubAPI (line 796) | class GitHubAPI:
    method __init__ (line 797) | def __init__(self, *, token=None):
    method get_username (line 807) | def get_username(self, username: str):
    method format_markdown (line 817) | def format_markdown(self, content: str, *, mode: str = "markdown", con...
  function process_from_folder (line 829) | def process_from_folder(sourceFolder: pathlib.Path, ghToken: str, webhoo...
  function check_for_docs_dir (line 1043) | def check_for_docs_dir(path: str) -> pathlib.Path:
  function main_entry_group (line 1054) | def main_entry_group():
  function all_command (line 1075) | def all_command(source: str, docs: str, background: str, github_token: s...
  function gen_retroarch (line 1098) | def gen_retroarch(docs):
  function app_test (line 1111) | def app_test(apps: TextIO, github_token: Optional[str], docs: str):

FILE: source/img2tdx.py
  function img2tdx (line 10) | def img2tdx(tds, tdx, header=None, imgPath="."):

FILE: source/unistore.py
  class StoreEntry (line 12) | class StoreEntry:
    method _bmpOnly (line 55) | def _bmpOnly(string: str) -> str:
    method __init__ (line 60) | def __init__(self, title: str, author: str, description: str, version:...
    method addInstalledFile (line 85) | def addInstalledFile(self, file):
    method addScript (line 89) | def addScript(self, scriptName: str, script: list):
    method addDownloadScript (line 94) | def addDownloadScript(self, scriptName: str, file: str, url: str, arch...
  class UniStore (line 286) | class UniStore:
    method __init__ (line 310) | def __init__(self, title: str, author: str, description: str, url: str...
    method append (line 331) | def append(self, entry: StoreEntry) -> None:
    method save (line 336) | def save(self, output: pathlib.Path, infoPath: Optional[pathlib.Path] ...

FILE: source/utils.py
  function format_traceback (line 11) | def format_traceback(exc: Exception):
  function was_recently_updated (line 18) | def was_recently_updated(app: Dict[str, Any]) -> bool:
  function get_matching_app (line 27) | def get_matching_app(app: Dict[str, Any], old_data: List[Dict[str, Any]]...
  function format_to_web_name (line 43) | def format_to_web_name(name: str) -> str:
  function to_friendly_bytes (line 55) | def to_friendly_bytes(bytes: int) -> str:
Condensed preview — 822 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,699K chars).
[
  {
    "path": ".github/ISSUE_TEMPLATE/app-request.yml",
    "chars": 1656,
    "preview": "name: App request\ndescription: Request an app on GitHub be added to Universal-DB\nlabels: [\"app request\"]\nassignees: [\"Ep"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/config.yml",
    "chars": 399,
    "preview": "blank_issues_enabled: true\ncontact_links:\n  - name: Universal-Updater issue\n    url: https://github.com/Universal-Team/U"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/site-request.md",
    "chars": 109,
    "preview": "---\nname: Site request\nabout: Request a change to the site\ntitle: ''\nlabels: site request\nassignees: ''\n\n---\n"
  },
  {
    "path": ".github/workflows/crowdin-commit.yml",
    "chars": 1306,
    "preview": "name: Import translations from Crowdin\n\non:\n  schedule:\n    - cron: \"0 0 1,15 * *\"\n  workflow_dispatch:\n\njobs:\n  build:\n"
  },
  {
    "path": ".github/workflows/crowdin-upload.yml",
    "chars": 794,
    "preview": "name: Upload source files to Crowdin\n\non:\n  push:\n    branches: [ master ]\n    paths:\n      - 'docs/_data/i18n/en-US.jso"
  },
  {
    "path": ".github/workflows/pull-request.yml",
    "chars": 1230,
    "preview": "name: Pull request check\non:\n  pull_request:\n\njobs:\n  run:\n    runs-on: ubuntu-latest\n\n    steps:\n    - uses: actions/ch"
  },
  {
    "path": ".github/workflows/update-priority.yml",
    "chars": 2010,
    "preview": "name: Update priority sources\n\n# Run hourly except when the real update runs\non:\n  schedule:\n    - cron: 0 1-5,7-11,13-1"
  },
  {
    "path": ".github/workflows/update.yml",
    "chars": 1835,
    "preview": "name: Update sources\n\n# Run on push and 4 times per day\non:\n  schedule:\n    - cron: 0 0,6,12,18 * * *\n  workflow_dispatc"
  },
  {
    "path": ".gitignore",
    "chars": 132,
    "preview": "*.DS_Store\n*__pycache__\n*.venv\n\n*_site\n*.sass-cache\n*.jekyll-cache\n*.jekyll-metadata\n*Gemfile.lock\n*/vendor/bundle\n*.bun"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 1990,
    "preview": "## App Requests\n\nNOTE: Even if your app complies with our rules, we (Universal-Team members) reserve the right to remove"
  },
  {
    "path": "LICENSE",
    "chars": 35149,
    "preview": "                    GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free "
  },
  {
    "path": "README.md",
    "chars": 4647,
    "preview": "# Universal-DB\n> An online database of 3DS and DS homebrew\n\n[![Crowdin](https://badges.crowdin.net/universal-db/localize"
  },
  {
    "path": "crowdin-pull.sh",
    "chars": 269,
    "preview": "#!/bin/bash\n\n# Add new languages here, space separated and using the ID for `crowdin pull`\nLANGUAGES=\"bruh de es-ES fr h"
  },
  {
    "path": "crowdin.yml",
    "chars": 169,
    "preview": "project_id: 461174\napi_token_env: CROWDIN_TOKEN\npreserve_hierarchy: true\n\nfiles:\n  - source: /docs/_data/i18n/en-US.json"
  },
  {
    "path": "docker/.gitignore",
    "chars": 5,
    "preview": ".env\n"
  },
  {
    "path": "docker/Dockerfile",
    "chars": 583,
    "preview": "FROM python:3.9 AS compiler\nENV PYTHONUNBUFFERED 1\n\nWORKDIR /app\nRUN python -m venv /opt/venv\nENV PATH=\"/opt/venv/bin:$P"
  },
  {
    "path": "docker/Dockerfile.server",
    "chars": 104,
    "preview": "FROM ruby:3.3\n\nWORKDIR /app/docs\nCOPY /docs/Gemfile* .\nRUN gem install bundler jekyll && bundle install\n"
  },
  {
    "path": "docker/compose.yaml",
    "chars": 992,
    "preview": "# How to use this file:\n\n# Step 1: Token\n#   If you plan on compiling the full database, you'll need a GH access token\n#"
  },
  {
    "path": "docs/3ds/category/app.md",
    "chars": 79,
    "preview": "---\nlayout: cards\ntitle: 3DS - Apps\ndescription:\nsystem: 3ds\ncategory: app\n---\n"
  },
  {
    "path": "docs/3ds/category/emulator.md",
    "chars": 171,
    "preview": "---\nlayout: cards\ntitle: 3DS - Emulators & Hypervisors\ndescription: Emulators, hypervisors, and anything else that helps"
  },
  {
    "path": "docs/3ds/category/firm.md",
    "chars": 131,
    "preview": "---\nlayout: cards\ntitle: 3DS - FIRMs\ndescription: Low level apps that run outside the normal 3DS OS\nsystem: 3ds\ncategory"
  },
  {
    "path": "docs/3ds/category/game.md",
    "chars": 116,
    "preview": "---\nlayout: cards\ntitle: 3DS - Games\ndescription: Games! Play them and have some fun\nsystem: 3ds\ncategory: game\n---\n"
  },
  {
    "path": "docs/3ds/category/save-tool.md",
    "chars": 143,
    "preview": "---\nlayout: cards\ntitle: 3DS - Save Tools\ndescription: Apps for editing or backing up/restoring save files\nsystem: 3ds\nc"
  },
  {
    "path": "docs/3ds/category/translation.md",
    "chars": 146,
    "preview": "---\nlayout: cards\ntitle: 3DS - Translations\ndescription: Translations of existing apps into other languages\nsystem: 3ds\n"
  },
  {
    "path": "docs/3ds/category/utility.md",
    "chars": 157,
    "preview": "---\nlayout: cards\ntitle: 3DS - Utilities\ndescription: Utilities to help manage your DS, from file managers to save edito"
  },
  {
    "path": "docs/3ds/index.md",
    "chars": 45,
    "preview": "---\nlayout: cards\ntitle: 3DS\nsystem: 3ds\n---\n"
  },
  {
    "path": "docs/3ds.rss",
    "chars": 1602,
    "preview": "---\nlayout: compress\n---\n\n<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<rss version=\"2.0\" xmlns:atom=\"http://www.w3.org/2005/"
  },
  {
    "path": "docs/404.md",
    "chars": 595,
    "preview": "---\ntitle: Error 404\ndescription: Oh no! This page doesn't exist!\npermalink: /404.html\nlayout: default\n---\n\n# Error! 404"
  },
  {
    "path": "docs/CNAME",
    "chars": 21,
    "preview": "db.universal-team.net"
  },
  {
    "path": "docs/Gemfile",
    "chars": 1060,
    "preview": "source \"https://rubygems.org\"\n\n# Hello! This is where you manage which Jekyll version is used to run.\n# When you want to"
  },
  {
    "path": "docs/_3ds/-hackez-i.md",
    "chars": 1517,
    "preview": "---\nauthor: Twilight Games Studio\navatar: https://avatars.githubusercontent.com/u/5776225?v=4\ncategories:\n- game\ncolor: "
  },
  {
    "path": "docs/_3ds/2048---3ds-port.md",
    "chars": 3100,
    "preview": "---\nauthor: Carlos '0rientd' Henrique\navatar: https://avatars.githubusercontent.com/u/10491532?v=4\ncategories:\n- game\nco"
  },
  {
    "path": "docs/_3ds/3d-pinball---space-cadet.md",
    "chars": 9412,
    "preview": "---\nauthor: MaikelChan\navatar: https://avatars.githubusercontent.com/u/7031754?v=4\ncategories:\n- game\ncolor: '#77819a'\nc"
  },
  {
    "path": "docs/_3ds/3deins.md",
    "chars": 5099,
    "preview": "---\nauthor: Universal-Team\navatar: https://avatars.githubusercontent.com/u/49733679?v=4\ncategories:\n- game\ncolor: '#b89c"
  },
  {
    "path": "docs/_3ds/3delf.md",
    "chars": 3390,
    "preview": "---\nauthor: StackZ\navatar: https://avatars.githubusercontent.com/u/47382115?v=4\ncategories:\n- game\ncolor: '#79c0b9'\ncolo"
  },
  {
    "path": "docs/_3ds/3dfetch.md",
    "chars": 2835,
    "preview": "---\nauthor: Alice\navatar: https://avatars.githubusercontent.com/u/9029520?v=4\ncategories:\n- utility\ncolor: '#beb6be'\ncol"
  },
  {
    "path": "docs/_3ds/3diceroller.md",
    "chars": 1991,
    "preview": "---\nauthor: r4t\navatar: https://avatars.githubusercontent.com/u/39613006?v=4\ncategories:\n- app\ncolor: '#8c5763'\ncolor_bg"
  },
  {
    "path": "docs/_3ds/3ds-button-tester.md",
    "chars": 1312,
    "preview": "---\nauthor: TheCoolesttOne\navatar: https://avatars.githubusercontent.com/u/155274623?v=4\ncategories:\n- utility\ncolor: '#"
  },
  {
    "path": "docs/_3ds/3ds-controller.md",
    "chars": 1862,
    "preview": "---\nauthor: icicle1133\navatar: https://avatars.githubusercontent.com/u/178066848?v=4\ncategories:\n- utility\ncolor: '#dc00"
  },
  {
    "path": "docs/_3ds/3ds-donut.md",
    "chars": 2834,
    "preview": "---\nauthor: Max Parry\navatar: https://avatars.githubusercontent.com/u/66670928?v=4\ncategories:\n- app\ncolor: '#313131'\nco"
  },
  {
    "path": "docs/_3ds/3ds-ebook-reader.md",
    "chars": 1288,
    "preview": "---\nauthor: reworks\navatar: https://avatars.githubusercontent.com/u/8564184?v=4\ncategories:\n- utility\ncolor: '#905933'\nc"
  },
  {
    "path": "docs/_3ds/3ds-fbge-installer.md",
    "chars": 2289,
    "preview": "---\nauthor: AtexBg\navatar: https://avatars.githubusercontent.com/u/151460611?v=4\ncategories:\n- utility\ncolor: '#bfc3c2'\n"
  },
  {
    "path": "docs/_3ds/3ds-filebrowser.md",
    "chars": 1560,
    "preview": "---\nauthor: ZIXT233\navatar: https://avatars.githubusercontent.com/u/9472407?v=4\ncategories:\n- app\ncolor: '#dec873'\ncolor"
  },
  {
    "path": "docs/_3ds/3ds-google-maps.md",
    "chars": 3822,
    "preview": "---\nauthor: Oldhimaster1\navatar: https://avatars.githubusercontent.com/u/179153474?v=4\ncategories:\n- utility\ncolor: '#5a"
  },
  {
    "path": "docs/_3ds/3ds-hbmenu.md",
    "chars": 1015,
    "preview": "---\nauthor: devkitPro\navatar: https://avatars.githubusercontent.com/u/7538897?v=4\ncategories:\n- utility\ncolor: '#4bbbf5'"
  },
  {
    "path": "docs/_3ds/3ds-httpd.md",
    "chars": 2558,
    "preview": "---\nauthor: Thog, SciresM, Dimaguy\navatar: https://avatars.githubusercontent.com/u/7207103?v=4\ncategories:\n- utility\ncol"
  },
  {
    "path": "docs/_3ds/3ds-parentalunlock.md",
    "chars": 985,
    "preview": "---\nauthor: MechanicalDragon\navatar: https://avatars.githubusercontent.com/u/43786828?v=4\ncategories:\n- utility\ncolor: '"
  },
  {
    "path": "docs/_3ds/3ds-random-game-launcher.md",
    "chars": 2664,
    "preview": "---\nauthor: ruben\navatar: https://avatars.githubusercontent.com/u/65969186?v=4\ncategories:\n- utility\ncolor: '#c2c2c2'\nco"
  },
  {
    "path": "docs/_3ds/3ds-recovery-tool.md",
    "chars": 3132,
    "preview": "---\nauthor: Joel\navatar: https://avatars.githubusercontent.com/u/6271991?v=4\ncategories:\n- utility\ncolor: '#cccfd0'\ncolo"
  },
  {
    "path": "docs/_3ds/3ds-sorting.md",
    "chars": 3863,
    "preview": "---\nauthor: Tobias\navatar: https://avatars.githubusercontent.com/u/31214870?v=4\ncategories:\n- game\ncolor: '#a39f9f'\ncolo"
  },
  {
    "path": "docs/_3ds/3ds-vgmstream.md",
    "chars": 1650,
    "preview": "---\nauthor: Brandon\navatar: https://avatars.githubusercontent.com/u/824564?v=4\ncategories:\n- utility\ncolor: '#182448'\nco"
  },
  {
    "path": "docs/_3ds/3ds-vjoy-controller.md",
    "chars": 1359,
    "preview": "---\nauthor: memeToasty, StringJan\navatar: https://avatars.githubusercontent.com/u/76664723?v=4\ncategories:\n- app\ncolor: "
  },
  {
    "path": "docs/_3ds/3ds1010.md",
    "chars": 1747,
    "preview": "---\nauthor: Théo B.\navatar: https://avatars.githubusercontent.com/u/16072534?v=4\ncategories:\n- game\ncolor: '#f3998d'\ncol"
  },
  {
    "path": "docs/_3ds/3ds_codedit.md",
    "chars": 3765,
    "preview": "---\nauthor: David Cuevas\navatar: https://avatars.githubusercontent.com/u/98664178?v=4\ncategories:\n- utility\n- app\ncolor:"
  },
  {
    "path": "docs/_3ds/3ds_quick_reboot.md",
    "chars": 1020,
    "preview": "---\nauthor: Asellus\navatar: https://avatars.githubusercontent.com/u/18345369?v=4\ncategories:\n- utility\ncolor: '#42b76e'\n"
  },
  {
    "path": "docs/_3ds/3dsbank.md",
    "chars": 1590,
    "preview": "---\nauthor: RocketRobz\navatar: https://avatars.githubusercontent.com/u/16110127?v=4\ncategories:\n- utility\ncolor: '#99d6e"
  },
  {
    "path": "docs/_3ds/3dscontroller.md",
    "chars": 1342,
    "preview": "---\nauthor: CTurt\navatar: https://avatars.githubusercontent.com/u/6132330?v=4\ncategories:\n- utility\ncolor: '#939393'\ncol"
  },
  {
    "path": "docs/_3ds/3dscookieclicker.md",
    "chars": 983,
    "preview": "---\nauthor: Creckeryop\navatar: https://avatars.githubusercontent.com/u/25725992?v=4\ncategories:\n- game\ncolor: '#546f7d'\n"
  },
  {
    "path": "docs/_3ds/3dscreen.md",
    "chars": 1400,
    "preview": "---\nauthor: AllisterMKW\navatar: https://avatars.githubusercontent.com/u/216767408?v=4\ncategories:\n- app\n- utility\ncolor:"
  },
  {
    "path": "docs/_3ds/3dsdi.md",
    "chars": 1327,
    "preview": "---\nauthor: Aep\navatar: https://avatars.githubusercontent.com/u/86505664?v=4\ncategories:\n- utility\n- app\ncolor: '#495eb4"
  },
  {
    "path": "docs/_3ds/3dshell.md",
    "chars": 2790,
    "preview": "---\nauthor: Joel\navatar: https://avatars.githubusercontent.com/u/6271991?v=4\ncategories:\n- utility\ncolor: '#2c8ce1'\ncolo"
  },
  {
    "path": "docs/_3ds/3dsident.md",
    "chars": 2661,
    "preview": "---\nauthor: Joel\navatar: https://avatars.githubusercontent.com/u/6271991?v=4\ncategories:\n- utility\ncolor: '#597066'\ncolo"
  },
  {
    "path": "docs/_3ds/3dslibris.md",
    "chars": 12940,
    "preview": "---\nauthor: Rigle\navatar: https://avatars.githubusercontent.com/u/8595185?v=4\ncategories:\n- app\ncolor: '#bfa387'\ncolor_b"
  },
  {
    "path": "docs/_3ds/3dsoundboard.md",
    "chars": 2306,
    "preview": "---\nauthor: Sunrase\navatar: https://avatars.githubusercontent.com/u/101834111?v=4\ncategories:\n- app\ncolor: '#9a6480'\ncol"
  },
  {
    "path": "docs/_3ds/3dsx-play-coin-setter-mod.md",
    "chars": 912,
    "preview": "---\nauthor: Fabi\navatar: https://avatars.githubusercontent.com/u/73954978?v=4\ncategories:\n- utility\ncolor: '#894b01'\ncol"
  },
  {
    "path": "docs/_3ds/3dvier.md",
    "chars": 3971,
    "preview": "---\nauthor: Universal-Team\navatar: https://avatars.githubusercontent.com/u/49733679?v=4\ncategories:\n- game\ncolor: '#a34f"
  },
  {
    "path": "docs/_3ds/3dweb.md",
    "chars": 2351,
    "preview": "---\nauthor: WLHQ\navatar: https://avatars.githubusercontent.com/u/106452668?v=4\ncategories:\n- utility\ncolor: '#cbe1f8'\nco"
  },
  {
    "path": "docs/_3ds/3dzwei.md",
    "chars": 5085,
    "preview": "---\nauthor: Universal-Team\navatar: https://avatars.githubusercontent.com/u/49733679?v=4\ncategories:\n- game\ncolor: '#3b40"
  },
  {
    "path": "docs/_3ds/able-atelier-3ds.md",
    "chars": 1334,
    "preview": "---\nauthor: Ghaztly97\navatar: https://avatars.githubusercontent.com/u/124470932?v=4\ncategories:\n- utility\n- save-tool\nco"
  },
  {
    "path": "docs/_3ds/anarch.md",
    "chars": 1027,
    "preview": "---\nauthor: drummyfish, blitzdoughnuts\navatar: https://avatars.githubusercontent.com/u/140563955?v=4\ncategories:\n- game\n"
  },
  {
    "path": "docs/_3ds/anemone3ds.md",
    "chars": 2465,
    "preview": "---\nauthor: A. Taber\navatar: https://avatars.githubusercontent.com/u/7305572?v=4\ncategories:\n- utility\ncolor: '#5a9cc8'\n"
  },
  {
    "path": "docs/_3ds/angband.md",
    "chars": 9721,
    "preview": "---\nauthor: The Angband team\navatar: https://avatars.githubusercontent.com/u/458884?v=4\ncategories:\n- game\ncolor: '#8585"
  },
  {
    "path": "docs/_3ds/antibounce.md",
    "chars": 1988,
    "preview": "---\nauthor: Serena Postelnek\nautogen_scripts: true\navatar: https://avatars.githubusercontent.com/u/6239208?v=4\ncategorie"
  },
  {
    "path": "docs/_3ds/apotris.md",
    "chars": 6262,
    "preview": "---\nauthor: akouzoukos\ncategories:\n- game\ncolor: '#ffe74a'\ncolor_bg: '#7d2999'\ncreated: '2022-04-16T00:02:43Z'\ndescripti"
  },
  {
    "path": "docs/_3ds/artic-base-server.md",
    "chars": 2295,
    "preview": "---\nauthor: PabloMK7\navatar: https://avatars.githubusercontent.com/u/188636407?v=4\ncategories:\n- emulator\n- utility\ncolo"
  },
  {
    "path": "docs/_3ds/atari800-randomman25xx.md",
    "chars": 1465,
    "preview": "---\nauthor: Captain_Jerkass96\navatar: https://avatars.githubusercontent.com/u/13063346?v=4\ncategories:\n- emulator\ncolor:"
  },
  {
    "path": "docs/_3ds/atari800.md",
    "chars": 1238,
    "preview": "---\nauthor: Adrian \"asie\" Siekierka\navatar: https://avatars.githubusercontent.com/u/113514?v=4\ncategories:\n- emulator\nco"
  },
  {
    "path": "docs/_3ds/audioswitcher3ds.md",
    "chars": 1553,
    "preview": "---\nauthor: Sunrase\navatar: https://avatars.githubusercontent.com/u/101834111?v=4\ncategories:\n- utility\ncolor: '#558aa0'"
  },
  {
    "path": "docs/_3ds/aurorachat.md",
    "chars": 1744,
    "preview": "---\nauthor: Unitendo\navatar: https://avatars.githubusercontent.com/u/241876109?v=4\ncategories:\n- app\ncolor: '#2d8d97'\nco"
  },
  {
    "path": "docs/_3ds/b9s_check.md",
    "chars": 1036,
    "preview": "---\nauthor: zoogie\navatar: https://avatars.githubusercontent.com/u/28328903?v=4\ncategories:\n- utility\n- firm\ncolor: '#eb"
  },
  {
    "path": "docs/_3ds/balatro3ds.md",
    "chars": 2346,
    "preview": "---\nauthor: Gazpacho\navatar: https://avatars.githubusercontent.com/u/29783694?v=4\ncategories:\n- game\ncolor: '#774d52'\nco"
  },
  {
    "path": "docs/_3ds/ballcopter.md",
    "chars": 1941,
    "preview": "---\nauthor: '!mp!sh'\navatar: https://avatars.githubusercontent.com/u/190294319?v=4\ncategories:\n- game\ncolor: '#51142e'\nc"
  },
  {
    "path": "docs/_3ds/bandolero-3ds.md",
    "chars": 3774,
    "preview": "---\nauthor: Tristán Álvarez\navatar: https://avatars.githubusercontent.com/u/76444200?v=4\ncategories:\n- utility\ncolor: '#"
  },
  {
    "path": "docs/_3ds/bart-bash.md",
    "chars": 1903,
    "preview": "---\nauthor: JereM\navatar: https://avatars.githubusercontent.com/u/91017285?v=4\ncategories:\n- game\ncolor: '#475830'\ncolor"
  },
  {
    "path": "docs/_3ds/battery_mark_for_3ds.md",
    "chars": 2481,
    "preview": "---\nauthor: Core 2 Extreme\navatar: https://avatars.githubusercontent.com/u/45873899?v=4\ncategories:\n- utility\ncolor: '#3"
  },
  {
    "path": "docs/_3ds/bcstm-player.md",
    "chars": 9304,
    "preview": "---\nauthor: NPI-D7\navatar: https://avatars.githubusercontent.com/u/71648010?v=4\ncategories:\n- app\ncolor: '#a1a0c9'\ncolor"
  },
  {
    "path": "docs/_3ds/better-nfcreader.md",
    "chars": 1456,
    "preview": "---\nAuthor: cylin577\nauthor: cylin577\navatar: https://avatars.githubusercontent.com/u/78150792?v=4\ncategories:\n- utility"
  },
  {
    "path": "docs/_3ds/biniax2-3ds.md",
    "chars": 2017,
    "preview": "---\nauthor: nop90\navatar: https://avatars.githubusercontent.com/u/6418965?v=4\ncategories:\n- game\ncolor: '#fddfbc'\ncolor_"
  },
  {
    "path": "docs/_3ds/blargspc.md",
    "chars": 1869,
    "preview": "---\nauthor: DiscostewSM\navatar: https://avatars.githubusercontent.com/u/10163038?v=4\ncategories:\n- app\ncolor: '#463c35'\n"
  },
  {
    "path": "docs/_3ds/blockamok-remix.md",
    "chars": 2046,
    "preview": "---\nauthor: Mode8fx\navatar: https://avatars.githubusercontent.com/u/57763469?v=4\ncategories:\n- game\ncolor: '#49ef8e'\ncol"
  },
  {
    "path": "docs/_3ds/bootntr.md",
    "chars": 4411,
    "preview": "---\nauthor: Nanquitas\navatar: https://avatars.githubusercontent.com/u/13298129?v=4\ncategories:\n- utility\ncolor: '#7c626d"
  },
  {
    "path": "docs/_3ds/bottomless-block-barrage.md",
    "chars": 4300,
    "preview": "---\nauthor: Brandon\navatar: https://avatars.githubusercontent.com/u/824564?v=4\ncategories:\n- game\ncolor: '#8b8c8b'\ncolor"
  },
  {
    "path": "docs/_3ds/breakup-simulator-portable.md",
    "chars": 1966,
    "preview": "---\nauthor: Dangerbites\navatar: https://avatars.githubusercontent.com/u/119724559?v=4\ncategories:\n- game\ncolor: '#d2b8ca"
  },
  {
    "path": "docs/_3ds/budgiessh.md",
    "chars": 1763,
    "preview": "---\nauthor: MaxBrick\navatar: https://avatars.githubusercontent.com/u/71112739?v=4\ncategories:\n- utility\ncolor: '#1e282d'"
  },
  {
    "path": "docs/_3ds/bugdom.md",
    "chars": 3117,
    "preview": "---\nauthor: Carl Hewett\navatar: https://avatars.githubusercontent.com/u/4166251?v=4\ncategories:\n- game\ncolor: '#50837f'\n"
  },
  {
    "path": "docs/_3ds/bullets.md",
    "chars": 991,
    "preview": "---\nauthor: Sethamphetamine\navatar: https://avatars.githubusercontent.com/u/88207140?v=4\ncategories:\n- game\ncolor: '#d1d"
  },
  {
    "path": "docs/_3ds/buttonpresser3ds.md",
    "chars": 1931,
    "preview": "---\nauthor: Ike Rolader\navatar: https://avatars.githubusercontent.com/u/10735668?v=4\ncategories:\n- game\ncolor: '#872217'"
  },
  {
    "path": "docs/_3ds/calculathreeds.md",
    "chars": 1503,
    "preview": "---\nauthor: Théo B.\navatar: https://avatars.githubusercontent.com/u/16072534?v=4\ncategories:\n- app\ncolor: '#c0c0d4'\ncolo"
  },
  {
    "path": "docs/_3ds/captureassistant.md",
    "chars": 1858,
    "preview": "---\nauthor: StonedModder\navatar: https://avatars.githubusercontent.com/u/16449821?v=4\ncategories:\n- utility\ncolor: '#715"
  },
  {
    "path": "docs/_3ds/cec-tool.md",
    "chars": 1238,
    "preview": "---\nauthor: Sorunome\navatar: null\ncategories:\n- utility\ncolor: '#b2d3a5'\ncolor_bg: '#6c8064'\ncreated: '2025-10-27T14:55:"
  },
  {
    "path": "docs/_3ds/chatgpt3ds.md",
    "chars": 1716,
    "preview": "---\nauthor: Carson Kompon\navatar: https://avatars.githubusercontent.com/u/5159369?v=4\ncategories:\n- app\ncolor: '#97c0b5'"
  },
  {
    "path": "docs/_3ds/checkpoint.md",
    "chars": 4746,
    "preview": "---\nauthor: Bernardo Giordano\navatar: https://avatars.githubusercontent.com/u/17624378?v=4\ncategories:\n- utility\ncolor: "
  },
  {
    "path": "docs/_3ds/cia-installer.md",
    "chars": 2641,
    "preview": "---\nauthor: Zachary-Rude\navatar: https://avatars.githubusercontent.com/u/84681078?v=4\ncategories:\n- app\n- utility\ncolor:"
  },
  {
    "path": "docs/_3ds/citrahold-3ds.md",
    "chars": 3231,
    "preview": "---\nauthor: Jamie Adams, regimensocial\navatar: https://avatars.githubusercontent.com/u/57022113?v=4\ncategories:\n- utilit"
  },
  {
    "path": "docs/_3ds/class-of-09.md",
    "chars": 2291,
    "preview": "---\nauthor: the gabe\navatar: https://avatars.githubusercontent.com/u/52845476?v=4\ncategories:\n- game\ncolor: '#747664'\nco"
  },
  {
    "path": "docs/_3ds/classicube.md",
    "chars": 18258,
    "preview": "---\nauthor: UnknownShadow200\navatar: https://avatars.githubusercontent.com/u/51250960?v=4\ncategories:\n- game\ncolor: '#c5"
  },
  {
    "path": "docs/_3ds/cpymo.md",
    "chars": 4243,
    "preview": "---\nauthor: Strrationalism Studio\navatar: https://avatars.githubusercontent.com/u/36921849?v=4\ncategories:\n- emulator\nco"
  },
  {
    "path": "docs/_3ds/craftus-reloaded.md",
    "chars": 1378,
    "preview": "---\nauthor: Kemal Afzal\nautogen_scripts: true\navatar: https://avatars.githubusercontent.com/u/9352526?v=4\ncategories:\n- "
  },
  {
    "path": "docs/_3ds/cro-mag-rally.md",
    "chars": 3915,
    "preview": "---\nauthor: Carl Hewett\navatar: https://avatars.githubusercontent.com/u/4166251?v=4\ncategories:\n- game\ncolor: '#615851'\n"
  },
  {
    "path": "docs/_3ds/crosscraft-classic.md",
    "chars": 3664,
    "preview": "---\nauthor: CrossCraft\navatar: https://avatars.githubusercontent.com/u/75173998?v=4\ncategories:\n- game\ncolor: '#7d766a'\n"
  },
  {
    "path": "docs/_3ds/cs3ds.md",
    "chars": 1379,
    "preview": "---\nauthor: Josh Huelsman\navatar: https://avatars.githubusercontent.com/u/1700799?v=4\ncategories:\n- game\ncolor: '#333c49"
  },
  {
    "path": "docs/_3ds/cstimer-3ds.md",
    "chars": 1487,
    "preview": "---\nauthor: Menshion01\navatar: https://avatars.githubusercontent.com/u/227543187?v=4\ncategories:\n- app\ncolor: '#a49e66'\n"
  },
  {
    "path": "docs/_3ds/ctgp-7-downloader.md",
    "chars": 1730,
    "preview": "---\nauthor: CTGP-7 Team\navatar: https://avatars.githubusercontent.com/u/46403089?s=200&v=4\ncategories:\n- game\ncolor: '#6"
  },
  {
    "path": "docs/_3ds/ctgp7-savetransfer.md",
    "chars": 2127,
    "preview": "---\nauthor: CyberYoshi64\navatar: https://avatars.githubusercontent.com/u/35138367?v=4\ncategories:\n- utility\n- save-tool\n"
  },
  {
    "path": "docs/_3ds/cthulhu.md",
    "chars": 1110,
    "preview": "---\nauthor: Lázaro Vieira\navatar: https://avatars.githubusercontent.com/u/13871621?v=4\ncategories:\n- utility\ncolor: '#54"
  },
  {
    "path": "docs/_3ds/ctr-alarmo.md",
    "chars": 2503,
    "preview": "---\nauthor: Felix Homebrew\navatar: https://avatars.githubusercontent.com/u/120497980?v=4\ncategories:\n- app\ncreated: '202"
  },
  {
    "path": "docs/_3ds/ctrmus.md",
    "chars": 2817,
    "preview": "---\nauthor: Mahyar Koshkouei\navatar: https://avatars.githubusercontent.com/u/3747104?v=4\ncategories:\n- app\ncolor: '#f7f6"
  },
  {
    "path": "docs/_3ds/ctroller.md",
    "chars": 1737,
    "preview": "---\nauthor: Philipp Joram\navatar: https://avatars.githubusercontent.com/u/10487782?v=4\ncategories:\n- utility\ncolor: '#a8"
  },
  {
    "path": "docs/_3ds/ctrquake.md",
    "chars": 1504,
    "preview": "---\nauthor: Felipe Izzo\navatar: https://avatars.githubusercontent.com/u/15205297?v=4\ncategories:\n- game\ncolor: '#44291b'"
  },
  {
    "path": "docs/_3ds/ctrrgbpat2.md",
    "chars": 5717,
    "preview": "---\nauthor: CPunch & Golem64\navatar: https://avatars.githubusercontent.com/u/65229557?v=4\ncategories:\n- utility\ncolor: '"
  },
  {
    "path": "docs/_3ds/ctrxplorer.md",
    "chars": 1595,
    "preview": "---\nauthor: d0k3\navatar: https://avatars.githubusercontent.com/u/12467483?v=4\ncategories:\n- utility\ncolor: '#b49e8d'\ncol"
  },
  {
    "path": "docs/_3ds/cube-adventures.md",
    "chars": 3169,
    "preview": "---\nauthor: xXHighTideXx\navatar: https://avatars.githubusercontent.com/u/84487860?v=4\ncategories:\n- game\ncolor: '#3c4d71"
  },
  {
    "path": "docs/_3ds/custom-yacht-3ds.md",
    "chars": 2103,
    "preview": "---\nauthor: chalenged\navatar: https://avatars.githubusercontent.com/u/2724215?v=4\ncategories:\n- game\ncolor: '#7c6e5c'\nco"
  },
  {
    "path": "docs/_3ds/daedalusx64-3ds.md",
    "chars": 2754,
    "preview": "---\nauthor: Felipe Izzo\nautogen_scripts: true\navatar: https://avatars.githubusercontent.com/u/15205297?v=4\ncategories:\n-"
  },
  {
    "path": "docs/_3ds/ddlc-love.md",
    "chars": 2445,
    "preview": "---\nauthor: LukeeGD\nautogen_scripts: true\navatar: https://avatars.githubusercontent.com/u/26163116?v=4\ncategories:\n- gam"
  },
  {
    "path": "docs/_3ds/dead-pixel-checker.md",
    "chars": 1649,
    "preview": "---\nauthor: classyham\navatar: https://avatars.githubusercontent.com/u/16343437?v=4\ncategories:\n- utility\ncolor: '#6e5d54"
  },
  {
    "path": "docs/_3ds/demo-reset.md",
    "chars": 1204,
    "preview": "---\nauthor: NPX-I7/Tobi\navatar: https://avatars.githubusercontent.com/u/62360113?v=4\ncategories:\n- utility\ncolor: '#e2e6"
  },
  {
    "path": "docs/_3ds/devilutionx.md",
    "chars": 3168,
    "preview": "---\nauthor: diasurgical\navatar: https://avatars.githubusercontent.com/u/40645014?v=4\ncategories:\n- game\ncolor: '#695d5d'"
  },
  {
    "path": "docs/_3ds/doodle.md",
    "chars": 2166,
    "preview": "---\nauthor: Thomas Armstrong\navatar: https://avatars.githubusercontent.com/u/12937683?v=4\ncategories:\n- game\ncolor: '#ba"
  },
  {
    "path": "docs/_3ds/doors-3ds.md",
    "chars": 6576,
    "preview": "---\nauthor: Carmander152\navatar: https://avatars.githubusercontent.com/u/226231353?v=4\ncategories:\n- game\ncolor: '#6b594"
  },
  {
    "path": "docs/_3ds/dosbox.md",
    "chars": 2107,
    "preview": "---\nauthor: MrHuu\navatar: https://avatars.githubusercontent.com/u/561623?v=4\ncategories:\n- emulator\ncolor: '#977331'\ncol"
  },
  {
    "path": "docs/_3ds/drawattack.md",
    "chars": 1394,
    "preview": "---\nauthor: Thomas Edvalson\navatar: https://avatars.githubusercontent.com/u/383999?v=4\ncategories:\n- game\ncolor: '#edb0a"
  },
  {
    "path": "docs/_3ds/drider.md",
    "chars": 992,
    "preview": "---\nauthor: ingolemo\navatar: https://avatars.githubusercontent.com/u/616859?v=4\ncategories:\n- app\ncolor: '#e5b8b8'\ncolor"
  },
  {
    "path": "docs/_3ds/ds-forwarder-packs.md",
    "chars": 2555,
    "preview": "---\nauthor: RocketRobz\navatar: https://avatars.githubusercontent.com/u/16110127?v=4\ncategories:\n- utility\ncolor: '#e12b2"
  },
  {
    "path": "docs/_3ds/dses.md",
    "chars": 3193,
    "preview": "---\nauthor: Trihexagram\navatar: https://avatars.githubusercontent.com/u/13433513?v=4\ncategories:\n- utility\ncolor: '#f1f1"
  },
  {
    "path": "docs/_3ds/dsp1.md",
    "chars": 1670,
    "preview": "---\nauthor: zoogie\navatar: https://avatars.githubusercontent.com/u/28328903?v=4\ncategories:\n- utility\ncolor: '#686d75'\nc"
  },
  {
    "path": "docs/_3ds/dungeons-of-daggorath-3ds.md",
    "chars": 2393,
    "preview": "---\nauthor: pyroticinsanity\navatar: https://avatars.githubusercontent.com/u/1209016?v=4\ncategories:\n- game\ncolor: '#2d2d"
  },
  {
    "path": "docs/_3ds/easyrpgdlre.md",
    "chars": 1069,
    "preview": "---\nauthor: Mário Alexandre Lopes Liberato\navatar: https://avatars.githubusercontent.com/u/11259227?v=4\ncategories:\n- ut"
  },
  {
    "path": "docs/_3ds/eduke3d.md",
    "chars": 2277,
    "preview": "---\nauthor: Felipe Izzo\navatar: https://avatars.githubusercontent.com/u/15205297?v=4\ncategories:\n- game\ncolor: '#6fb1f4'"
  },
  {
    "path": "docs/_3ds/evolution_sav3d_me.md",
    "chars": 1289,
    "preview": "---\nauthor: Manuel Rodríguez Matesanz\navatar: https://avatars.githubusercontent.com/u/17181899?v=4\ncategories:\n- game\nco"
  },
  {
    "path": "docs/_3ds/ezb9supdater.md",
    "chars": 4220,
    "preview": "---\nauthor: PabloMK7\navatar: https://avatars.githubusercontent.com/u/10946643?v=4\ncategories:\n- utility\ncolor: '#8a959b'"
  },
  {
    "path": "docs/_3ds/faketik.md",
    "chars": 1389,
    "preview": "---\nauthor: ihaveahax\navatar: https://avatars.githubusercontent.com/u/590576?v=4\ncategories:\n- utility\ncolor: '#9785b8'\n"
  },
  {
    "path": "docs/_3ds/falling-blocks-watch-out.md",
    "chars": 1025,
    "preview": "---\nauthor: Spaqin\navatar: https://avatars.githubusercontent.com/u/1278433?v=4\ncategories:\n- game\ncolor: '#a09585'\ncolor"
  },
  {
    "path": "docs/_3ds/fastplaycoin.md",
    "chars": 1485,
    "preview": "---\nauthor: Cory Sanin\navatar: https://avatars.githubusercontent.com/u/2897351?v=4\ncategories:\n- utility\ncolor: '#7e9a6e"
  },
  {
    "path": "docs/_3ds/fbi-nh.md",
    "chars": 1333,
    "preview": "---\nauthor: Steveice10 & Nintendo Homebrew\navatar: https://avatars.githubusercontent.com/u/38025742?v=4\ncategories:\n- ut"
  },
  {
    "path": "docs/_3ds/flappy-bird.md",
    "chars": 4238,
    "preview": "---\nauthor: NPI-D7\navatar: https://avatars.githubusercontent.com/u/71648010?v=4\ncategories:\n- game\ncolor: '#6eb16f'\ncolo"
  },
  {
    "path": "docs/_3ds/fmsx3ds.md",
    "chars": 4352,
    "preview": "---\nauthor: h.tomioka\navatar: https://avatars.githubusercontent.com/u/168841671?v=4\ncategories:\n- emulator\ncolor: '#2a3f"
  },
  {
    "path": "docs/_3ds/forecast.md",
    "chars": 1340,
    "preview": "---\nauthor: Nat Osaka\navatar: https://avatars.githubusercontent.com/u/16436651?v=4\ncategories:\n- app\ncolor: '#a2a3a4'\nco"
  },
  {
    "path": "docs/_3ds/fourthtube.md",
    "chars": 2400,
    "preview": "---\nauthor: Erie Valley Software\navatar: https://avatars.githubusercontent.com/u/65189871?v=4\ncategories:\n- app\ncolor: '"
  },
  {
    "path": "docs/_3ds/friendmii.md",
    "chars": 2377,
    "preview": "---\nauthor: Joel\navatar: https://avatars.githubusercontent.com/u/6271991?v=4\ncategories:\n- utility\ncolor: '#9d9d9d'\ncolo"
  },
  {
    "path": "docs/_3ds/ftpd.md",
    "chars": 2459,
    "preview": "---\nauthor: mtheall\navatar: https://avatars.githubusercontent.com/u/896483?v=4\ncategories:\n- utility\ncolor: '#001900'\nco"
  },
  {
    "path": "docs/_3ds/game-tipper.md",
    "chars": 1697,
    "preview": "---\nauthor: xXHighTideXx\navatar: https://avatars.githubusercontent.com/u/84487860?v=4\ncategories:\n- app\ncolor: '#0094f5'"
  },
  {
    "path": "docs/_3ds/gameyob-3ds.md",
    "chars": 1612,
    "preview": "---\nauthor: Steven Smith\navatar: https://avatars.githubusercontent.com/u/74314538?v=4\ncategories:\n- emulator\ncolor: '#9e"
  },
  {
    "path": "docs/_3ds/gemini3ds.md",
    "chars": 1669,
    "preview": "---\nauthor: stefanoborra\navatar: https://avatars.githubusercontent.com/u/81436798?v=4\ncategories:\n- app\ncolor: '#283951'"
  },
  {
    "path": "docs/_3ds/github3ds.md",
    "chars": 1510,
    "preview": "---\nauthor: Morris, Artendo\navatar: https://avatars.githubusercontent.com/u/271882124?v=4\ncategories:\n- app\n- utility\nco"
  },
  {
    "path": "docs/_3ds/godmode9.md",
    "chars": 2706,
    "preview": "---\nauthor: d0k3\navatar: https://avatars.githubusercontent.com/u/12467483?v=4\ncategories:\n- utility\n- firm\ncolor: '#1300"
  },
  {
    "path": "docs/_3ds/graphcalc3ds.md",
    "chars": 2281,
    "preview": "---\nauthor: Sparkette\navatar: https://avatars.githubusercontent.com/u/687313?v=4\ncategories:\n- app\ncolor: '#becdda'\ncolo"
  },
  {
    "path": "docs/_3ds/griffon-legend-3ds.md",
    "chars": 1071,
    "preview": "---\nauthor: nop90\navatar: https://avatars.githubusercontent.com/u/6418965?v=4\ncategories:\n- game\ncolor: '#d0e2cf'\ncolor_"
  },
  {
    "path": "docs/_3ds/gytb.md",
    "chars": 1365,
    "preview": "---\nauthor: MrCheeze\nautogen_scripts: true\navatar: https://avatars.githubusercontent.com/u/6541413?v=4\ncategories:\n- uti"
  },
  {
    "path": "docs/_3ds/halo-renewed-solitude.md",
    "chars": 2330,
    "preview": "---\nauthor: Arcade Jumpers\navatar: https://avatars.githubusercontent.com/u/120754662?v=4\ncategories:\n- game\ncolor: '#528"
  },
  {
    "path": "docs/_3ds/halo-revamped.md",
    "chars": 1139,
    "preview": "---\nauthor: TCPixel\navatar: https://avatars.githubusercontent.com/u/5771065?v=4\ncategories:\n- game\ncolor: '#696a6b'\ncolo"
  },
  {
    "path": "docs/_3ds/hax0r.md",
    "chars": 1482,
    "preview": "---\nauthor: Serena Postelnek\navatar: https://avatars.githubusercontent.com/u/6239208?v=4\ncategories:\n- game\ncolor: '#343"
  },
  {
    "path": "docs/_3ds/hexisopath.md",
    "chars": 1536,
    "preview": "---\nauthor: Théo B.\navatar: https://avatars.githubusercontent.com/u/16072534?v=4\ncategories:\n- game\ncolor: '#40c62f'\ncol"
  },
  {
    "path": "docs/_3ds/hokakuctr.md",
    "chars": 3218,
    "preview": "---\nauthor: Pretendo Network\navatar: https://avatars.githubusercontent.com/u/36684034?v=4\ncategories:\n- utility\ncolor: '"
  },
  {
    "path": "docs/_3ds/homebrew_launcher_dummy.md",
    "chars": 1206,
    "preview": "---\nauthor: PabloMK7\navatar: https://avatars.githubusercontent.com/u/10946643?v=4\ncategories:\n- utility\ncolor: '#4bbbf5'"
  },
  {
    "path": "docs/_3ds/horihd-gallery.md",
    "chars": 1656,
    "preview": "---\nauthor: RocketRobz\navatar: https://avatars.githubusercontent.com/u/16110127?v=4\ncategories:\n- utility\ncolor: '#5f5f5"
  },
  {
    "path": "docs/_3ds/hrt3ds.md",
    "chars": 1708,
    "preview": "---\nauthor: vinegar77\navatar: https://avatars.githubusercontent.com/u/209826631?v=4\ncategories:\n- game\ncolor: '#519f0a'\n"
  },
  {
    "path": "docs/_3ds/inpost3ds.md",
    "chars": 1390,
    "preview": "---\nauthor: TehFridge\navatar: https://avatars.githubusercontent.com/u/85436576?v=4\ncategories:\n- app\ncolor: '#ffd01b'\nco"
  },
  {
    "path": "docs/_3ds/ioquake3ds.md",
    "chars": 2387,
    "preview": "---\nauthor: Felipe Izzo\navatar: https://avatars.githubusercontent.com/u/15205297?v=4\ncategories:\n- game\ncolor: '#abd9db'"
  },
  {
    "path": "docs/_3ds/ip-cam-viewer.md",
    "chars": 1746,
    "preview": "---\nauthor: MC-Gaming-59o\navatar: https://avatars.githubusercontent.com/u/139686965?v=4\ncategories:\n- utility\ncolor: '#8"
  },
  {
    "path": "docs/_3ds/jksm.md",
    "chars": 1811,
    "preview": "---\nauthor: JK\navatar: https://avatars.githubusercontent.com/u/39171744?v=4\ncategories:\n- utility\n- save-tool\ncolor: '#8"
  },
  {
    "path": "docs/_3ds/kartdlphax.md",
    "chars": 1009,
    "preview": "---\nauthor: PabloMK7\navatar: https://avatars.githubusercontent.com/u/10946643?v=4\ncategories:\n- utility\n- exploit\ncolor:"
  },
  {
    "path": "docs/_3ds/kavita-3ds.md",
    "chars": 5552,
    "preview": "---\nauthor: Elliot Kempson\navatar: https://avatars.githubusercontent.com/u/55849851?v=4\ncategories:\n- app\ncolor: '#92cfb"
  },
  {
    "path": "docs/_3ds/leafedit-pattern-editor.md",
    "chars": 4508,
    "preview": "---\nauthor: StackZ\navatar: https://avatars.githubusercontent.com/u/47382115?v=4\ncategories:\n- utility\n- save-tool\ncolor:"
  },
  {
    "path": "docs/_3ds/leafedit.md",
    "chars": 8500,
    "preview": "---\nauthor: Universal-Team\navatar: https://avatars.githubusercontent.com/u/49733679?v=4\ncategories:\n- utility\n- save-too"
  },
  {
    "path": "docs/_3ds/lego-island.md",
    "chars": 1614,
    "preview": "---\nauthor: isledecomp\navatar: https://avatars.githubusercontent.com/u/93691320?v=4\ncategories:\n- game\ncolor: '#868649'\n"
  },
  {
    "path": "docs/_3ds/level256-installer.md",
    "chars": 1389,
    "preview": "---\nauthor: Tekito_256\navatar: https://avatars.githubusercontent.com/u/84363225?v=4\ncategories:\n- game\ncolor: '#6babed'\n"
  },
  {
    "path": "docs/_3ds/limeplayer3ds.md",
    "chars": 2377,
    "preview": "---\nauthor: oreo639\navatar: https://avatars.githubusercontent.com/u/31916379?v=4\ncategories:\n- app\ncolor: '#4d5351'\ncolo"
  },
  {
    "path": "docs/_3ds/line-for-3ds.md",
    "chars": 3527,
    "preview": "---\nauthor: Core 2 Extreme\navatar: https://avatars.githubusercontent.com/u/45873899?v=4\ncategories:\n- app\ncolor: '#86de8"
  },
  {
    "path": "docs/_3ds/ludo3ds.md",
    "chars": 5289,
    "preview": "---\nauthor: StackZ\navatar: https://avatars.githubusercontent.com/u/47382115?v=4\ncategories:\n- game\ncolor: '#675f5d'\ncolo"
  },
  {
    "path": "docs/_3ds/luma3ds.md",
    "chars": 3458,
    "preview": "---\nauthor: LumaTeam\nautogen_scripts: true\navatar: https://avatars.githubusercontent.com/u/65085206?v=4\ncategories:\n- ut"
  },
  {
    "path": "docs/_3ds/luma3dsweather.md",
    "chars": 1205,
    "preview": "---\nauthor: Dzhmelyk135\navatar: https://avatars.githubusercontent.com/u/204916344?v=4\ncategories:\n- utility\ncolor: '#537"
  },
  {
    "path": "docs/_3ds/lumalocaleswitcher.md",
    "chars": 2457,
    "preview": "---\nauthor: Daniel LeWarne\navatar: https://avatars.githubusercontent.com/u/153100?v=4\ncategories:\n- utility\ncolor: '#8b9"
  },
  {
    "path": "docs/_3ds/magic-draw.md",
    "chars": 1811,
    "preview": "---\nauthor: natsune\navatar: https://avatars.githubusercontent.com/u/135076690?v=4\ncategories:\n- app\ncolor: '#c2c9ed'\ncol"
  },
  {
    "path": "docs/_3ds/mars.md",
    "chars": 2211,
    "preview": "---\nauthor: Bot Studio\navatar: https://avatars.githubusercontent.com/u/114881271?v=4\ncategories:\n- game\ncolor: '#907c73'"
  },
  {
    "path": "docs/_3ds/mcu-bricker.md",
    "chars": 934,
    "preview": "---\nauthor: MarcuzD\navatar: https://avatars.githubusercontent.com/u/59751328?v=4\ncategories:\n- app\ncolor: '#9d9290'\ncolo"
  },
  {
    "path": "docs/_3ds/mgba.md",
    "chars": 2590,
    "preview": "---\nauthor: mGBA\navatar: https://avatars.githubusercontent.com/u/10085927?v=4\ncategories:\n- emulator\ncolor: '#503a7e'\nco"
  },
  {
    "path": "docs/_3ds/mk7-plugin-dx.md",
    "chars": 3128,
    "preview": "---\nauthor: SFC-hacker\navatar: https://avatars.githubusercontent.com/u/67318218?v=4\ncategories:\n- utility\n- save-tool\nco"
  },
  {
    "path": "docs/_3ds/modmoon.md",
    "chars": 2672,
    "preview": "---\nauthor: Swiftloke\navatar: https://avatars.githubusercontent.com/u/22382655?v=4\ncategories:\n- utility\ncolor: '#496373"
  },
  {
    "path": "docs/_3ds/moonlight-streaming-client.md",
    "chars": 2365,
    "preview": "---\nauthor: zoeyjodon\navatar: https://avatars.githubusercontent.com/u/76182954?v=4\ncategories:\n- utility\ncolor: '#91959a"
  },
  {
    "path": "docs/_3ds/multi-pokemon-framework.md",
    "chars": 1387,
    "preview": "---\nauthor: semaj14\navatar: https://avatars.githubusercontent.com/u/81500902?v=4\ncategories:\n- app\ncolor: '#e3d5a2'\ncolo"
  },
  {
    "path": "docs/_3ds/multidownload.md",
    "chars": 1605,
    "preview": "---\nauthor: Kartik\navatar: https://avatars.githubusercontent.com/u/16360444?v=4\ncategories:\n- utility\ncolor: '#2d880f'\nc"
  },
  {
    "path": "docs/_3ds/nazi-zombies-portable.md",
    "chars": 3832,
    "preview": "---\nauthor: NZ:P Team & masterfeizz\navatar: https://avatars.githubusercontent.com/u/91418801?v=4\ncategories:\n- game\ncolo"
  },
  {
    "path": "docs/_3ds/ndsforwarder.md",
    "chars": 3468,
    "preview": "---\nauthor: MechanicalDragon\navatar: https://avatars.githubusercontent.com/u/43786828?v=4\ncategories:\n- utility\ncolor: '"
  },
  {
    "path": "docs/_3ds/neopop-sdl.md",
    "chars": 1289,
    "preview": "---\nauthor: nop90\navatar: https://avatars.githubusercontent.com/u/6418965?v=4\ncategories:\n- emulator\ncolor: '#e5c3c3'\nco"
  },
  {
    "path": "docs/_3ds/netpass.md",
    "chars": 1737,
    "preview": "---\nauthor: NetPass\navatar: https://gitlab.com/uploads/-/system/project/avatar/56839786/icon.png\ncategories:\n- utility\nc"
  },
  {
    "path": "docs/_3ds/nexus3ds.md",
    "chars": 3349,
    "preview": "---\nauthor: 2b-zipper, cooolgamer, Rep, LumaTeam\navatar: https://avatars.githubusercontent.com/u/119087427?v=4\ncategorie"
  },
  {
    "path": "docs/_3ds/nfcheckrem.md",
    "chars": 4914,
    "preview": "---\nauthor: Golem64\navatar: https://avatars.githubusercontent.com/u/65229557?v=4\ncategories:\n- utility\ncolor: '#3f3428'\n"
  },
  {
    "path": "docs/_3ds/nimbus.md",
    "chars": 4028,
    "preview": "---\nauthor: Pretendo Network\navatar: https://avatars.githubusercontent.com/u/36684034?v=4\ncategories:\n- utility\ncolor: '"
  },
  {
    "path": "docs/_3ds/noise-commander-3ds-demo.md",
    "chars": 2393,
    "preview": "---\nauthor: gearmo3ds\nautogen_scripts: true\navatar: https://avatars.githubusercontent.com/u/156527942?v=4\ncategories:\n- "
  }
]

// ... and 622 more files (download for full content)

About this extraction

This page contains the full source code of the Universal-Team/db GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 822 files (4.1 MB), approximately 1.1M tokens, and a symbol index with 64 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!