Homebrew Cave Story DS port (based on CSE2 Decompilation)


Stylish TWiLight Hero
Oct 1, 2010
United States
I don't think this has been posted here before, so let's fix that!

This recent DS port of Cave Story has been made available on December (8th?) 2020, which is based on the CSE2 decompilation project, which itself is a decompilation of the freeware version of Cave Story.
Unfortunately, despite the project being based on the freeware version, it got taken down by Nicalis, who to my knowledge, do not own the freeware version (though correct me if I'm wrong).

So, for preservation sake, and a way to play Cave Story on your DS console, I'll upload the port here as an attachment!

Latest version is v0.3a

Local multiplayer is here! Explore the caves with a friend over wireless.
Thanks to Drenn1 and huiminghao's wonderful Nifi code from GameYob and NesDS respectively.
If you experience lag, try selecting another channel.
Note that the client will not write the profile to the SD card during netplay
(so you can take out the flashcart after loading on one console, and put it in the other to play with only one flashcart for both DSes).
Take care not to fire the Spur in a big area.

  • Moved input processing to beginning of frame, saving 1 frame of input lag.
  • Fixed bosses damage frames not appearing half the time.
  • Fix camera position in H**l ending event.
  • Tile 0 is no longer rendered.
  • Added some "fun" ROMs to play.
  • v0.3a: Fix shooting while dead in netplay.
  • Japanese language support!
  • Reduced filesize, so it can run on more flashcarts. (ADPCM sound with waveconv.exe)
  • Minimap works now.
  • 60/50 FPS toggle.
  • Transparent textbox toggle.
  • Resize inventory screen.
  • Draw stage on inventory, teleporter, and map screen.
  • Emulators can save temporarily.
  • Fix L2/L3 missile sprite.
  • Fix camera position in Balcony heli event, and Passage.
  • Added event jump to cheat menu.
  • Text will appear when an error occurs.
  • Initial release.
  • CaveStoryDS-0.1.nds: For use with regular flashcard kernels
  • CSDSdsi.nds: For use with nds-hb-menu and/or TWiLight Menu++
    (No CIA is included, due to the ARM9 binary being too big)
The source will not be uploaded, due to a risk of a DMCA takedown.

Thanks to:
  • rain, who developed the port!
  • arceus on the DS(i) Mode Hacking Discord server for providing both a build and a backup of the source code including compiled builds!
Times v0.1 downloaded before the re-upload: 62


  • CaveStoryDS.7z
    1.1 MB · Views: 561
  • CaveStoryDS-v0.2.zip
    8.6 MB · Views: 350
  • CaveStoryDS-v0.3.7z
    4.7 MB · Views: 107
  • CaveStoryDS-v0.3a.7z
    4.7 MB · Views: 161
Last edited by RocketRobz,


playing around in the dsiware
Nov 30, 2014
Micronesia, Federated States of
"An error has occurred" with the installed 3ds cia version. 11.14 old3ds, latest luma.
Is there some trick to getting this version working?

edit: to answer my own question, it appears the .cia installed version would need a source change to use the correct savegame filepaths, like datapub:/profile.dat for example. Anyways, running the dsi version as dsi homebrew works fine.
Last edited by zoogie,
General chit-chat
Help Users
  • No one is chatting at the moment.
    KenniesNewName @ KenniesNewName: Afrocandy looks like a good movie