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

[HELP WANTED] Decompiling SmileBASIC

Root / General / [.]

MasterR3C0RDCreated:
I'm looking for people who are good with IDA Pro, C and ARM11 assembly to decompile SmileBASIC. Why? So we can finally figure out how SmileBASIC generates the footer on saved files. This could also pave the way for modifications of SmileBASIC. If you're interested in helping, send me a site PM or try and get me on chat.

This is in the name of cross compatibility with a computer, and not for Piracy I assume. What kind of modifications would this allow? Because we don't want Nintendo to freak out, if we enable too much, and take Smile BASIC down from sale.

This is in the name of cross compatibility with a computer, and not for Piracy I assume. What kind of modifications would this allow? Because we don't want Nintendo to freak out, if we enable too much, and take Smile BASIC down from sale.
It could allow a lot of magic things to happen, though it'd also require a lot of rewriting of code in order to recompile without the official 3DS SDK. The biggest reason for decompiling is still, of course, what I said, figuring out the footer.

Isn't there a Japanese SmileBASIC already out? I kind of seen one but cannot find one, but I am sure PetitProfessor has it.

Isn't there a Japanese SmileBASIC already out? I kind of seen one but cannot find one, but I am sure PetitProfessor has it.
SmileBASIC came out in Japan like a year before it did in the US.

There is already a compatible interpreter for PC https://github.com/otya128/otyaSMILEBASIC However, it would be nice to figure out the extdata format of SmileBASIC for cross-conversion.

Isn't there a Japanese SmileBASIC already out? I kind of seen one but cannot find one, but I am sure PetitProfessor has it.
SmileBASIC comes from Japan. Its name there is プチコン3号 ("Petit Computer No. 3"), and as the name suggests, it's the successor to プチコン ("Petit Computer", Japan-only) and プチコンmkII ("Petit Computer mkII", localized as "Petit Computer") for the DSi.

Isn't there a Japanese SmileBASIC already out? I kind of seen one but cannot find one, but I am sure PetitProfessor has it.
SmileBASIC comes from Japan. Its name there is プチコン3号 ("Petit Computer No. 3"), and as the name suggests, it's the successor to プチコン ("Petit Computer", Japan-only) and プチコンmkII ("Petit Computer mkII", localized as "Petit Computer") for the DSi.
I mean the PC version of Japanese SmileBASIC that PetitProfessor has.

Isn't there a Japanese SmileBASIC already out? I kind of seen one but cannot find one, but I am sure PetitProfessor has it.
SmileBASIC comes from Japan. Its name there is プチコン3号 ("Petit Computer No. 3"), and as the name suggests, it's the successor to プチコン ("Petit Computer", Japan-only) and プチコンmkII ("Petit Computer mkII", localized as "Petit Computer") for the DSi.
I mean the PC version of Japanese SmileBASIC that PetitProfessor has.
Noooo that's him recording his 3DS with a capture card and displaying it on his computer screen and screen recording it.

Yeah, that's 3DS footage. There is no PC version of SmileBASIC, other than that unofficial interpreter linked earlier, but it has some bugs, and some stuff isn't implemented at all, like audio.

Call me dense, but I don't understand what you are looking for. What is this footer, and what exactly does understanding it buy you? If this is for user created files, then how does screaming a file over with Petite Modem not help? You can get all the user created files you want that way. Is the footer just the id of the user who wrote the program? If instead you want to edit the SmileBasic executable... well that might be a cryptographically signed key. In fact I would be surprised if every program on the 3DS isn't cryptographically signed. Oh and that would be copyright infringement too. Please don't get SmileBasic taken down on the eShop again. If you want to code on the PC there are other languages and versions of Basic. There is also a large learning curve of course.

There is already a compatible interpreter for PC https://github.com/otya128/otyaSMILEBASIC However, it would be nice to figure out the extdata format of SmileBASIC for cross-conversion.
it's quite bad however

snip
we need this footer in able to upload custom files to the official smilebasic/petit computer servers

Call me dense, but I don't understand what you are looking for. What is this footer, and what exactly does understanding it buy you? If this is for user created files, then how does screaming a file over with Petite Modem not help? You can get all the user created files you want that way. Is the footer just the id of the user who wrote the program? If instead you want to edit the SmileBasic executable... well that might be a cryptographically signed key. In fact I would be surprised if every program on the 3DS isn't cryptographically signed. Oh and that would be copyright infringement too. Please don't get SmileBasic taken down on the eShop again. If you want to code on the PC there are other languages and versions of Basic. There is also a large learning curve of course.
Yes, SmileBASIC is cryptographically signed. The code can be edited locally, however, using Luma3DS. There's no distribution of copyrighted files involved. The footer is required if emulating a SmileBASIC server is going to properly work. There's already ways to upload files to a fake server and download them, but being able to edit the header data on upload and other things like that would make things much more interesting, and add more possibilities to what we can do with SmileBASIC.