Submit a news tip



SmileBASIC returns to the 3DS eShop

Posted on August 10, 2016 by (@NE_Brian) in 3DS eShop, News

SmileBASIC was recently pulled from the 3DS eShop due to a exploit discovered leading to homebrew installation. The issue has now been addressed, and the app has returned.

SmileBASIC can now be purchased once again. Additionally, version 3.3.2 is now available for download.

We’ve included extensive patch notes about the new update below.

Bug Fixes in Ver. 3.3.2 (August 10, 2016)

BASIC Interpreter-related

Severity: High

  • Vulnerability due to checking given parameters found in BGSCREEN instruction
  • Screen display is corrupted if a GRP file is loaded by LOAD instruction with a strings or an array specified in the second or third arguments then the application stops responding as it goes
  • In an infinite loop with WHILE or GOTO instruction a LOAD function with an nonexistent file and FALSE parameter specified causes a program unstoppable by pressing the STOP or START button in an error dialog
  • RINGCOPY instruction may bring SmileBASIC a forced termination if an negative number is set to a “copy destination offset” argument
Severity: Middle
  • PRGNAME function returns a corrupted file name if a program is loaded with a length of both a project and a file is 14 characters long
  • MIN or MAX function returns unexpected values if an array with zero elements is specified
    CHKFILE function returns incorrect value if any file(s) included in a DLC project which does not exist or not yet purchased are specified
  • BACKTRACE instruction does not work properly in the DIRECT mode
  • FILES and LOAD instruction fails if PROJECT instruction points to the SYS folder as a default project

MENU and UI-related

Severity: Middle
  • Incorrect characters on “á” key top
  • Incorrect definition of the standard sprite #166

Compatibility notes until Ver.3.3.2 (As of August 10, 2016)

    • If the newly added instructions have already been defined, duplicate function errors will occur.
    • (The newly added instructions are: BGMPAUSE, BGMCONT, SNDSTOP, CLIPBOARD, GOFS, BIN$, DLCOPEN, BIQUAD, BQPARAM, FFT, IFFT, FFTWFN, PCMSTREAM, PCMPOS, PCMVOL, PCMSTOP, PCMCONT, and ARYOP. The new system variables are: MILLISEC and EXTFEATURE.)
    • Previously, when loading a text file, &H0D was converted to &H0A. However, from Ver. 3.3.0, this conversion will no longer be made.
    • Fixed so that the Z-coordinate will also be tracked when setting SPLINK. Due to this change, the display priority for the link source (child) when using SPLINK will change.
    • Up until Ver. 3.1.0, the SQR function was mistakenly also registered as the SQRT function. This was deleted in Ver. 3.2.0.
    • Instruction and function checks are now stricter. If an argument was incorrectly specified, up until Ver. 3.1.0 the argument was ignored, but from Ver. 3.2.0 an error may occur.
    • In the sample game GAME3JUMP, the BG priority has been changed from 0<1<2<3 to 3>2>1>0. Therefore, when creating a program using the GAME3JUMP map data, unexpected behavior may occur.
    • A function was added that gets empty management numbers in the SPSET instruction. Due to the addition of this function, processes that handle sprites (e.g. SPOFS, SPHIDE) will return an error when the SPSET instruction is not passed. When using a sprite, it must first be converted to SPSET.
    • Up until now, there was a bug in which if SPCHR was used during SPHIDE, the sprite’s state would become SPSHOW. The new version has been fixed so that even if SPCHR is used, the sprite’s state will not become SPSHOW (the sprite will not be displayed).
      Therefore, programs in which display is controlled using only a combination of SPHIDE and SPCHR, the sprite’s state will no longer become SPSHOW (the sprite will no longer be displayed).
      Please add SPSHOW after SPCHR to display the program.
    • The Origin X and Y coordinates for sprites with a definition number greater than 2048 that are installed as standard are adjusted to a more general position. The center of the diagram seen from the top becomes the origin and is not limited to the footing of the base axis.
      Therefore, the home coordinate for sprites with a definition number greater than 2048 will change (mainly image types that are viewed from directly above).
      For example, as the origin of images, such as a fighter plane, has changed from the bottom to the middle of the image, the behavior of programs that use rotation may differ to the previous version.
Sprites for which the origin position has changed
1473Block Parts
2161-2163Pickle
2165-2167Shovel
2169-2171Blinking Hammer
2177-2179Slingshot
2181-2183Hook
2185-2187Small Sword
2189-2191Knife
2193-2195Super Sword
2197-2199Wooden Cane
2201-2203Steel Stick
2205-2207Super Cane
2209-2211Axe
2212-2215Shield
2218-2221Wooden Bow
2222-2225Steel Bow
2227-2229Arrow
2230Throwing Star
2237-2239Frying Pan
2241-2243Whisk
2245-2247Kitchen Knife
2249-2251Wooden Spoon
2253-2255Wooden Fork
2286Balloon String
2308-2309Big Thorn
2322-2323Footprint
2324-2328Reversi Piece
2329-2334Dice
2335-2337Rock-Paper-Scissors
2338-2345Cursor
2346-2347Aim
2348-2351Triangle Mark
2352Flag
2353Warning
2364-2366Bat
2367-2370Golf Club
2372-2374Table-Tennis Racket
2376-2378Baseball Glove
2380-2382Racket
2383-2388Sports Equipment
2389Darts
2392-2393Bowling
2395-2410Car
2412Checkered Flag
2421-2436Boat
2437-2452Frog
2453-2460Jellyfish
2461-2464Fish
2465-2472Spider
2473-2480Mouse
2481-2484Cockroach
2485-2488Bee
2489-2492Butterfly
2494-2499Musical Note
2500-2511Zodiac Sign
3225-3228Umpire’s Flag
3229-3230Effect
3233-3242Speech Balloon
3243-3270Option, Shmup Enemy, Spiky Ball, Worm
3271-3274Bomb
3275-3278Power-Up
3279-3282Broken Pieces
3299-3341Shmup Player Craft, Enemy Robot
3341-3415Shield, Effect, Laser, Bullet, Bubble, Water Droplet, Icicle
3424-3431Explosion Effect
3432-3434Dragon
3435-3436G Boss
3465-3470Large Enemy, Submarine
3476-3479Stretching Hand
3480-3494Hakase, Wanpaku, Kanzaki, Intelli, Dummy
3495-3500,
3504
Shrimp General
3507-3511,
3513-3514
Crab Lord
3515-3520Block

Leave a Reply
Manage Cookie Settings