LoginLogin
Nintendo shutting down 3DS + Wii U online services, see our post

Making SB projects from computer?

Root / FAQs / [.]

SmokelessRaccoonCreated:
Hey is there any possibility of some way to code games from a computer instead of having to type it out on the 3DS touch screen? If so, can someone leave a download? Thanks.

Actually, I’m currently working on making a SmileBASIC (Switch version) transcompiler. I don’t know if it will necessarily be as fit for development, because you’ll probably need to run it manually every time you want to test it and because I don’t know how fast it will be at transpiling stuff. But it will let you turn SmileBASIC (Switch) code into a working Lua program (with Love2D framework). I’m nowhere close to done with this so no promises, but I’m working on it and don’t intend to stop.

If you have a modded 3DS, you can install this app called "SmileBasic File Manager", which can copy smilebasic projects to your SD card as actual files. On your computer you can then rename them with the .txt extension and just open them in notepad, or some basic-based IDE if u want syntax highlighting. Only one thing I noticed is that the very first and last line of the file are always some random symbols. Idk what it is, probalby some metadata. The first line also contians the autors name if your file was downloaded with a public key. But if you just create your file in smilebasic and not create an empty txt file on your computer, you'll automatically have these symbols, so no worries about that. (though I haven't tested if just a plain computer created empty txt file also works on smilebasic). And then just import them back into smilebasic using that filemanager app. The downside is, you will probably not find a text editor with really good syntax highlighting for this version of BASIC, and you cant run and test your code immediately on your computer. About graphics files, idk how to read them, they look like some kind of bitmap, but just a .BMP extension doesnt do the trick. They also have this random string at the beginning and the and.

There already exists a language extension in Visual Studio Code, although it's meant for SB4; I use it for SB3 too. "random string at the beginning and the [end]." - that's the SmileBASIC headers and footer. These are what makes these files stand out from regular text and BMP files, as these contain metadata and a hash for validity checking respectively. SBFM only fills in the data with dummy info which has the side-effect of being invalid to upload without saving over the file within SmileBASIC itself. There's tools like 12Me21's SBTools that creates valid files from a text file or PNG, which are to be imported using FBI. While you can't run code immediately to test it, you can make a script that converts the files, places them into Citra and runs Citra with SB3 so you can navigate to the program and run it. (If your Citra build even lets you run SB3 without crashes) An insight to be gathered for SmileBASIC's file format is here on SBS: SmileBASIC File Formats inb4 I am making a modpack for SB3, much like CTGP-7. lol I hope I get it to a state that people can use. I want to merge in SBFM as well, so you'd just need to boot into SB3 to convert the files and then open them in BASIC.