3DS Store › Apps

BCSTM-Player v2.0.0 by NPI-D7

Released Dec 25, 2025 · Apps
15,477 downloads on GitHub · Source code

Plays BCSTM, the streamed music files 3DS games use, from your SD card

Install on your 3DS

QR code of the download link for BCSTM-Player.cia

Method 1Scan the QR code
With FBI (Remote Install › Scan QR Code) or 3dsDL (Scan QR Code). Either one installs it.

Method 2Send it to your 3DS
Open 3dsDL › Receive on the same Wi-Fi, then press:
Send to 3dsDL

Other ways to install

From your SD card: copy BCSTM-Player.3dsx into /3ds/ and start it from the Homebrew Launcher.

Files

FileSizeSHA-256
BCSTM-Player.3dsx1.5 MB 4f6ba2e6…c3cc Download
BCSTM-Player.cia1.3 MB 4330420a…5ecc Download

Downloads come from the developer's GitHub release while it's there. If GitHub stops serving a file, or the file there changes, the same link serves our copy.

All versions (7)

Screenshots

About BCSTM-Player

The file browser only lists .bcstm files. It plays ADPCM, PCM8 and PCM16 tracks with up to eight channels, and tracks that don't loop play through to the end. A file inspector shows what's inside a file, and opens BCWAV sounds too, though it can't play those yet. The menus are in English and German.

Without a DSP dump on the SD card there's no sound.

The author's known bugs: it runs at 30fps on an original 3DS, the licence screen runs off the edge, and you can get stuck in the licence menu. tobid7 wrote it. cheuble made the original BCSTM-Player, and some of that decoding code is still in there.

Release notes

v2.0.0 · Dec 25, 2025

After almost 3 years, it's time for a new big update.

As all the Updates before only fixed Logical issues with the filebrowser and some visual bugs, it was time to focus on the file loading/decoding and playing code.

General Stuff

| Type | Before | After |
| ------------------- | --------- | ------------------------------ |
| Encoding | ADPCM | ADPCM, PCM8, PCM16 |
| Chennels | 1, 2 | 1, 2, 4, 6, 8 |
| Play NonLoop to End | No | Yes |

Github Generated

Full Changelog: https://github.com/npid7/BCSTM-Player/compare/v1.5.0...v2.0.0

Fixes

  • Fixed the glitched sound bug 1085acb5b8bf507fb023650f83723edea3d265c4
  • Fixed all the crashes of course by add c++ exceptions to catch issues

New Stuff

  • Switched to palladium 0.6.0 alpha as backend library
  • Added UI7 UI on the Bottom Screen
  • Added ctrff for fileinspector and ctrff-decoder
  • Added Custom UI for FileInspector and Filebrowser on Top Screen
  • Added Translations [en, de]
  • Added partial theme support (Only for top Screen)
  • Added support for opening bcwav in fileinspector (Not playable yet)

Other changes

  • No more citro2d support
  • No Systemfont support yet (cause it freezes)

> [!WARNING]
>## Known Bugs
>
> - License View shows text a bit out of the screen
> - OLD3DS Only runs at 30FPS (WIP)
> - It is possible to softlock in license menu

Credits

  • @tobid7: Lead developer of the Project, German and Englisch Translation
  • @devkitpro: libctru, citro3d

> [!IMPORTANT]
>And finally it is time to mention @cheuble, the creator of the Original BCSTM-Player which took advantage of ~~Freeshops~~ BCSTM Playing Code. This code is still kinda used in the BCSTMV2 decoder which i left in the codebase for historical reasons.

Last words

If you encounter any issues (including crashes or just bugs), report them in an issue please.

If you want to want to have your language supported as well, feel free to open a pullrequest with the json of your language. But keep in mind that i will remove some strings in some cleanup commit

I will get on them when I have time but for now i need to step back from coding. I always do too much projects and other stuff at once and it is finally time to take a break.

And finally:

Merry Christmas and happy holidays to everyone 🎄

-tobid7

Full changelog

Something wrong with this listing? Report a problem · Are you the developer? Claim this listing