If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!
This article has a talk page!

SmileBASIC (Nintendo 3DS)

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

SmileBASIC

Also known as: Petit Computer 3 SmileBASIC (JP)
Developer: SmileBoom
Publisher: SmileBoom
Platform: Nintendo 3DS
Released in JP: November 19, 2014
Released in US: October 15, 2015
Released in EU: August 17, 2017


GraphicsIcon.png This game has unused graphics.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
Carts.png This game has revisional differences.


BASIC software in the 2010s, who knew?

SmileBASIC is a BASIC programming application, with the 3DS iteration being the successor to the DSi's Petit Computer (and is luckily much better than last time). A Japan-exclusive enhanced port was later released digitally for the Wii U, titled Puchikon BIG.

Unused Graphics

All of the system's graphics are stored in two files: SysBASIC.GRP for BASIC environment graphics, and SysUI.GRP for the Top Menu graphics. Curiously, they are stored in SmileBASIC's native GRP format.

SMILEBASIC-UnusedPlaceholder.png
A very small graphic. Could be a placeholder, if the "P" is any indication. Can sometimes be seen very briefly when DIALOGs are flickering.

SmileBASIC-UnusedKeyswitch.png
File sorting options were added in v3.3, but the graphics existed long before then.

SmileBASIC-UnusedLogo.png
A larger variant of the white-on-black SmileBASIC logo.

SmileBASIC-SilhouetteBoom.png
A 1/4 silhouette version of the SmileBoom gear.

SmileBASIC-UnusedPalette.png
A palette likely used by the developers to color the menu sprites.

Unused Text

System Dialogs

The text of the system dialogs is stored in the file sys.pdlt in the romfs. There's some text for dialogs that don't appear anywhere, giving clues to changes made during development (or features to be added in future updates; we can't know until it happens, can we?).

Some reformatting has been done to make things more wiki-friendly, such as inserting linebreaks.

Text Description
 You can also specify publication conditions and other settings
 that will apply when others view the project.
 
 □Do not allow editing of the program  
 □Hide the files in the project  
 □Prohibit copying of the project  
 □Prohibit renaming of the project  
 □Clear resources when stopping execution of the program
A dialog that would presumably appear before publishing projects for sharing. It describes restrictions you could apply to your project when other users download and use it. No such feature is available in the current version; users may do as they please with downloaded files.

The tokens may mark check-boxes to select publishing settings.

__unused__ An unused dialog caption. Could be a dummy, or could've been something else that was removed.
 If a project that you obtain using a server ID and password
 received from another person includes any of the following,
 please notify SmileBoom. using the Report function.
 
 - Content that is offensive to contemporary community standards
 - Copyright infringing material
 - Personally identifiable information such as addresses or
   telephone numbers
 
 SmileBoom will check the content and take appropriate action.
 You can find the Report function on the Options screen
Run-of-the-mill content rules PSA. In the current version, there is no built-in Report function. Instead, bad content can be added to your personal blacklist, preventing you from downloading other content from that user. The SmileBASIC website does contain a contact form, however. Also note the references to "server ID and password."

Help Entries

Text Description
 Variable=Numerical value << Number of times
   Comment
     Shifts a numerical value to the left
     by the specified number of bits
   Arguments
     Numerical value
       Bit string 1
     Number of times
       Number of bit shifts
   Examples
     A=100 << 2
     A=100 >> 2
An inaccessible help entry for the << (binary left shift) operator. The lookup table for help keywords contains this operator, but the popup help will not trigger when used on <<. The reason for this is, as of now, unknown.
 Variable=Numerical value >> Number of times
   Comment
     Shifts a numerical value to the right
     by the specified number of bits
   Arguments
     Numerical value
       Bit string 1
     Number of times
       Number of bit shifts
   Examples
     A=100 >> 2
Same as above, but for the >> operator.

Debugging Features

In the sample games Jump-kun and Danmaku, pressing Left or Right on the title screen will activate a stage select and debug mode. In both games the player becomes invincible, and Danmaku shows a frame rate counter.

Revisional Differences

Hmmm...
To do:
Replace this section with a comprehensive subpage containing complete changelogs. Full patch notes can be found here and here for anyone willing to take on this behemoth of updates.

SmileBASIC has seen 14 updates since its initial Japanese 3.0.0 release. The North American version released with version 3.2.1, and did not receive any updates past 3.6.0. Each version will just be summarized here, as there's a massive amount of changes.

Version 3.0.2

Released on January 7, 2015. This version comprised exclusively of bug fixes for the BASIC interpreter, Top Menu, Smile Tool, and the GAME3JUMP sample program.

Version 3.1.0

Released on March 4, 2015. This update fixed bugs for the BASIC interpreter and Top Menu, added some new options to the Top Menu, added new functionality to pre-existing functions, and also added the following new functions:

  • CLASSIFY
  • GTRI
  • GPUTCHR
  • BGCOLOR
  • HARDWARE

among other various changes.

Version 3.2.0

Released on June 17, 2015. Among other changes, there were bug fixes, a syntax highlighter for the editor, more additional functionality for pre-existing functions, and the following new functions:

  • FADE
  • FADECHK
  • SPUSED
  • SPFUNC
  • BGFUNC
  • CALL SPRITE / CALL BG
  • FILL

Also added in this version was the Gold Membership. This service was priced at 100 yen for 30 days, or 500 yen for 180 days. Having a Gold Membership increases the maximum amount of files uploaded to 100, and maximum file size is increased to 20MB.

Version 3.2.1

Released on August 5, 2015. This is the version the North American release launched with. That aside, this update consists exclusively of fixes for the BASIC interpreter, Top Menu, and Smile Tool.

Version 3.3.0

Released on April 6, 2016. There was once again additional functionality added for pre-existing functions, as well as the following new functions:

  • BGMPAUSE
  • BGMCONT
  • SNDSTOP
  • MILLISEC
  • CLIPBOARD
  • GOFS
  • BIN$
  • DLCOPEN
  • EXTFEATURE

Furthermore, the following functions were added as a part of the then-newly-released Advanced Sound Unit DLC:

  • BIQUAD
  • BQPARAM
  • FFT
  • IFFT
  • FFTWFN
  • PCMSTREAM
  • PCMPOS
  • PCMVOL
  • PCMSTOP
  • PCMCONT
  • ARYOP
  • RINGCOPY

Of course, there were also bug fixes and several other, more minor changes.

Version 3.3.1

Released on May 25, 2016. This version comprised exclusively of bug fixes for the BASIC interpreter and Top Menu.

Version 3.3.2

Released on July 27, 2016. This version comprised exclusively of bug fixes for the BASIC interpreter and Top Menu.

Version 3.5.0

Released on December 28, 2016. This update was primarily for the newly-released Puchikon BIG for Wii U. It added the arguments 3DS, WIIU, and COMPAT for XON. 3DS and WIIU restrict functionality to those respective consoles, while COMPAT allows both. And, as always, the update also contained bug fixes for the BASIC interpreter.

Version 3.5.1

Released on February 1, 2017. This version comprised exclusively of bug fixes for the BASIC interpreter.

Version 3.5.2

Released on March 1, 2017. This version comprised exclusively of bug fixes for the BASIC interpreter.

Version 3.6.0

Released on March 14, 2017. This version added the ability to take JPEG screenshots with Select, changed the Start button behavior so now it must be held to stop a program as opposed to just tapping it, and added the CHKMML function.

This is the last update the English versions of the program would receive.

Version 3.6.1

Released on July 18, 2018. This version comprised exclusively of bug fixes for the BASIC interpreter.

Version 3.6.2

Released on October 11, 2018. This version comprised exclusively of bug fixes for the BASIC interpreter.

Version 3.6.3

Released on December 5, 2018. This version comprised exclusively of bug fixes for the BASIC interpreter.

Differences from Petit Computer

SmileBASIC contains many differences from its predecessor, Petit Computer, in regards to sample programs, the editor, and various other features.

Dot-Racer

Petit Computer SmileBASIC
PTC-DotRCTitle.png SB DotRCTitle.png

A SmileBoom logo was added as well as a background. The text flashes blue in SmileBASIC, but flashes yellow in Petit Computer. The copyright date was updated.

Petit Computer SmileBASIC
PTC-DotRCLvl1.png SB-DotRCLvl1.png

There is no enemy on the first level in Petit Computer. In Petit Computer, running over dots increases speed while in SmileBASIC, holding A increases speed. The map size is also increased in SmileBasic.

Petit Computer SmileBASIC
PTC-DotRCDeath.png SB-DotRCDeath.png

In Petit Computer, upon death the screen is cleared and random circles and lines are drawn around your death point. In SmileBASIC, it's a grid of circles changing color.

Dungeon Tanken

Petit Computer SmileBASIC
N/A SB-DungTankTitle.png

SmileBASIC added a title screen to the game.

Petit Computer SmileBASIC
PTC-DungTankIngame.png SB-DungTankIngame.png

SmileBASIC added borders to the areas, increased the render size, and added a map to the touch screen.

Danmaku

Petit Computer SmileBASIC
PTC-DanmakuTitle.png SB-DanmakuTitle.png

SmileBASIC's Danmaku runs on both screens and has a fancier background, and the name is written in Japanese. Copyright has been added.

Kakutou

Petit Computer SmileBASIC
PTC-KakutouTitle.png SB-KakutouTitle.png

In Petit Computer, the game is named Fighting Game. SmileBASIC's title is written in Japanese. Due to SmileBASIC lacking palette support, the CPU character is tinted dark blue instead of having cyan hair.

Code Editor and Console

Petit Computer SmileBASIC
PTC-Console.png SB-Console.png

SmileBASIC has a 50×30 upper screen console while Petit Computer's is only 32×24, due to the 3DS having a larger upper screen. Petit Computer says "READY" instead of "OK", and SmileBASIC shows the current project's name.

Petit Computer SmileBASIC
PTC-Keyboard.png SB-Keyboard.png

SmileBASIC has wider keys and one page for code operations. It also has 4 code slots and a SmileTool button that goes to a user-set temporary utility program.

Petit Computer SmileBASIC
PTC-ManualLocate.png SB-ManualLocate.png

SmileBasic uses an on-screen help system instead of the firmware's native help system. The help in SmileBASIC is translated more legibly than in Petit Computer.

Petit Computer SmileBASIC
PTC-CodeEditor.png SB-CodeEditor.png

Petit Computer's code editor has a dark olive background with a grid and a solid white text color, while SmileBASIC has a black background with customizable text colors for each type of command. SmileBASIC also shows column numbers as well as row numbers.

Differences between Puchicon and Puchicon Mk.II

An earlier version of Petit Computer was released in Japan in 2011.

Puchicon Puchicon Mk.II
PTC-JPTitleScreen.png

The original did not have a title screen or sample programs and instead booted directly to the console.

Puchicon Puchicon Mk.II
PTC-JPConsoleMkI.png PTC-JPConsoleMkII.png

Mk.II fixed the "byte free" and extended the copyright to 2012, removed the "プチコン" text, and removed the credits to JOEDOWN and Rocket Studio. It also added a search function and pressing "a" to insert a new line. Backgrounds were added to the symbol keys.

Other Differences

  • Petit Computer used 8 small sprite/BG pages with 16 16-color sprite/BG palettes.
  • Petit Computer had much more limited colors and 1/8 of the memory.
  • Petit Computer lets you use the SD Card for file operations as well as QR code scanning. SmileBASIC requires using a project key to download others' projects from the SmileBoom servers, homebrewing to use a file manager, or using a modem program to slowly transfer the files over microphone. SmileBASIC for 3DS is the only version that allows the last option.
  • Petit Computer generally had lower quality translations.
  • Petit Computer has less commands and a different syntax, making porting games between versions difficult.
  • The graphics pages are completely different.