こうしんデータのおしらせ
更新データのお知らせ

2016年5月25日より、下記の誤作動の修正を行った更新データ(Ver.3.3.1)を配信しました。
ご迷惑をおかけして申し訳ありませんが、更新データをダウンロードしていただきますよう、よろしくお願いいたします。

こうしんデータの
ダウンロードほうほう
更新データのダウンロード方法

1. 更新データをさがす

インターネットに接続したニンテンドー3DSシリーズ本体で、次のQRコードを読み取ってください。

または、ニンテンドー3DSで『ニンテンドーeショップ』を起動して、「プチコン3号 更新」と検索しても更新データが探せます。

QRコードの読み取り方法

1. HOMEメニューでLボタンとRボタンを同時に押してカメラを起動します。
(システムバージョン 7.0.0-13J以降の本体で使用できる機能です。ご使用の本体がそれ以前のバージョンの場合は、本体の更新を行ってください)

2. 下画面の左側にあるQRコード読み取りボタンをタッチします。

3. カメラでQRコードを読み取り、更新データのダウンロード画面に移動します。

※インターネットに接続している必要があります。方法についてくわしくは(株)任天堂様のページをごらんください。

※ニンテンドー3DSシリーズの本体更新が必要な場合があります。その場合は画面の指示に従って本体更新を行ってください。

2. 更新データをダウンロードする

『プチコン3号』の更新データ Ver.3.3.1 を選択してダウンロードしてください。
ダウンロード完了後、自動で更新が行われます。

3. 更新を確認する

『プチコン3号』を起動して、バージョンが「3.3.1」であることをご確認ください。
起動してメニュー画面(上画面)の右下に「3.3.1」と表示されていれば更新完了です。

ご注意

更新データは、本体に差し込まれたSDカードに保存されます。SDカードの空き容量が少ない場合は更新データを受け取れませんので、ご注意ください。空き容量はHOMEメニューから「本体設定」>「データ管理」よりご確認いただけます。

ニンテンドー3DSシリーズ本体の初期設定時に、ネットワークサービスに関する利用規約について「同意しない」を選択されていた場合、通信を行うことができません。「本体設定」>「インターネット設定」>「その他の情報」>「利用規約の確認」をご覧ください。

こうしんないよう

更新内容

Ver.3.3.1において修正 (2016.5.25)

BASICインタプリタの問題

重大度:高

無限ループ内でタイムアウト1フレームのDIALOG命令を使用すると、STARTボタンでプログラムが停止できず、HOMEボタンで強制終了するしかなくなる

重大度:中

キーワード補完候補に、存在しないキーワード'CONVOL'が出現する
WAITやVSYNC命令で長時間処理を停止している間に3DSの蓋を閉開すると実行していたWAIT/VSYNC命令がキャンセルされる
GSAVEでグラフィックデータを保存した配列をDAT形式でSAVEし、LOADでGRP形式としてロードしようとすると正常にロードできない
DIALOGやACLS等の実行時に、上画面に一瞬カーソルが表示される事がある

メニュー画面等の問題

重大度:高

オプション画面の編集色設定が変更できない

重大度:中

「作品を見る」からプログラムを実行し、プログラムがエラーで停止した場合、3.2.1まではAボタンでもTOPMENUに戻れたが3.3では戻れなくなっている
ファイルコピーでコピー先選択時にソート順切り替え機能が使用できない

サンプルプログラム・スマイルツールの問題

スマイルツールについて

スマイルツールプログラムのバージョンが古い

Ver.3.3.1 互換性に関する問題(2016.5.25)

  • 新規追加命令をDEFしていた場合、Duplicate functionエラーが発生します。
  • (新規追加命令は BGMPAUSE, BGMCONT, SNDSTOP, CLIPBOARD, GOFS, BIN$, DLCOPEN, BIQUAD, BQPARAM, FFT, IFFT, FFTWFN, PCMSTREAM, PCMPOS, PCMVOL, PCMSTOP, PCMCONT, ARYOP。新規システム変数は MILLISEC, EXTFEATURE。)
  • これまでTXT:ファイルをロードする際に、&H0D を &H0A に変換していたのを、3.3.0 からは変換しなくなりました。
  • SPLINK設定時にZ座標も追従するように修正いたしました。この影響で、SPLINK使用時にリンク元(子)の表示優先度が変化します。
  • 3.1.0までSQR関数の別名としてSQRT関数が誤って登録されていましたが、3.2.0で削除されました。
  • 命令・関数のチェックがより厳密になり、正しくない引数を指定していた場合3.1.0までは引数を無視していましたが、3.2.0からはエラーとなる場合があります。
  • サンプルゲーム「GAME3JUMP」で、BGの優先度を 0<1<2<3 から 3>2>1>0 に修正しています。このため、GAME3JUMPのマップデータを流用してプログラムを作っている場合、異なる挙動を起こすことがあります。
  • SPSET命令に管理番号の空き番号の取得機能が追加されます。この影響で、SPSET命令を経由せずにSPRITEを扱う(例:SPOFSやSPHIDEを行っている)処理はエラーとなります。SPRITEを使う場合は必ず先にSPSETしてから使うよう必要があります。
  • これまではSPHIDE中にSPCHRを使うとSPSHOW状態になる不具合がありました。新しいバージョンではSPCHRを使ってもSPSHOW状態にしない(表示しない)ように修正しています。
    このため、SPHIDEとSPCHRだけの組み合わせで表示を制御していたプログラムは、SPSHOW状態(表示)にならなくなります。
    SPCHRの後にSPSHOWを追加して表示させるようにしてください。
  • 標準でインストールされているスプライトの定義番号2048番以降は、原点X,原点Y座標がより一般的な位置に調整されます。このため、定義番号2048番以降で主に〈真上から見ているタイプの画像〉はホーム座標が変化します。(底辺軸の〈足場〉に限定せず、上から見た図形等は中心が原点となります。)
    たとえば戦闘機などの画像は、足元が原点ではなく画像中央が原点となったため、回転を使ったプログラムの動作が旧バージョンとずれる可能性があります。
  • 原点の位置が変更になるスプライト
    1473ブロック部品
    2161-2163ピッケル
    2165-2167スコップ
    2169-2171ピコピコハンマー
    2177-2179パチンコ
    2181-2183フック
    2185-2187小さな剣
    2189-2191
    2193-2195すごい剣
    2197-2199木の杖
    2201-2203鉄の枝
    2205-2207すごい杖
    2209-2211
    2212-2215装備盾
    2218-2221木の弓
    2222-2225鉄の弓
    2227-2229
    2230手裏剣
    2237-2239フライパン
    2241-2243泡立て器
    2245-2247包丁
    2249-2251木製スプーン
    2253-2255木製フォーク
    2286風船ひも
    2308-2309大きいトゲ
    2322-2323足跡
    2324-2328リバーシコマ
    2329-2334サイコロ
    2335-2337じゃんけん
    2338-2345カーソル
    2346-2347照準
    2348-2351三角印
    2352
    2353注意
    2364-2366バット
    2367-2370ゴルフクラブ
    2372-2374卓球ラケット
    2376-2378野球グローブ
    2380-2382ラケット
    2383-2388スポーツ用品
    2389ダーツ
    2392-2393ボウリング
    2395-2410
    2412チェッカーフラグ
    2421-2436ボート
    2437-2452カエル
    2453-2460クラゲ
    2461-2464
    2465-2472蜘蛛
    2473-2480ネズミ
    2481-2484ゴキブリ
    2485-2488
    2489-2492
    2494-2499音符
    2500-2511星座
    3225-3228審判旗
    3229-3230エフェクト
    3233-3242吹き出し
    3243-3270オプション、シューティング敵、トゲトゲ玉、ワーム
    3271-3274ボム
    3275-3278パワーアップ
    3279-3282破片
    3299-3341シューティング自機、敵ロボ
    3341-3415シールド、エフェクト、レーザー、弾、泡、水滴、氷柱
    3424-3431爆発エフェクト
    3432-3434
    3435-3436G親分
    3465-3470大型の敵、潜水艦
    3476-3479ノビールハンド
    3480-3494ハカセ、ワンパク、神崎、インテリ、ダミー
    3495-3500,
    3504
    エビ大将
    3507-3511,
    3513-3514
    カニ将軍
    3515-3520ブロック


(以前の更新内容もVer.3.3.1に含まれます)以前の更新内容

Ver.3.3.0において修正 (2016.4.6)

BASICインタプリタの問題

重大度:高

INC,DEC命令でシステム変数を指定するとシステム変数が破壊され、次にそのシステム変数を使用した時にハングアップする
プログラムをRUNコマンド等で実行開始した直後にTOPMENUボタンを押すと、画面が壊れたりハングアップしたりする事がある
※プログラムが大きいほど発生確率が高くなります
文字列*数値の計算で、計算結果文字列の長さが巨大になる場合ハングアップする
※起動直後の状態で、結果文字列の長さが4000000文字以上になるとハングアップする危険性が高くなります

重大度:中

整数 DIV 実数 という式の結果が、整数 DIV INT(実数) ではなく、整数 / INT(実数)となる
未定義命令・関数の呼び出しをプログラム中に書き、該当行の前でその命令:関数を指定してCHKCALL関数を使用すると、命令・関数が未定義にも関わらずTRUEが返る
RSORTで開始位置を指定したソートが正しく動作しない
&H1F0,&H387,&H2014,&H2018の文字コードに相当するフォントが間違っている
編集画面でTO,STEP,負数のマイナス符号に色がつかない
BASICプログラムを実行したままHOMEボタンを押してプチコン自体を終了させようとすると、終了しない事がある
下画面でSPHITSP,SPHITRCを使用した場合、SPHITINFOの情報が正確に入らない事がある
※1対1の衝突判定では、SPHITINFOは正常な値を返します
ファイルをダウンロードする際にSDカードの空き容量が不足している場合、「ファイルエラーが発生しました。エラーコード: (3桁の数字)」というわかりにくいエラー画面が表示される
VAL関数で数値の後ろに非数値文字が続く文字列を与えた場合、文字列長が10文字以下の場合と11文字以上の場合で返り値が異なる
XSCREEN 4の状態でGCLIP,SPCLIP,BGCLIP命令を使いクリッピング領域をクリアした場合、クリッピング領域設定がおかしな状態になる
※画面全体がクリッピング領域になるよう手動で値を設定する事で回避可能です
GPUTCHRで描画領域から左右方向にはみでて文字を描画すると、文字の上下方向も削れて描画される
BGANIMで変数アニメーションを指定し、2セット以上のデータを指定すると、該当アニメーションが正常に動作しなくなる
SPLINK で、座標のZ値がリンク先のZ値と連動しない

メニュー画面等の問題

重大度:中

公開したプログラムが公開停止となった場合、NETWORK MENU中でのファイルリスト表示で公開キーの場所にゴミが表示される

Ver.3.3.0において追加・変更 (2016.4.6)

新規命令

  • BGMPAUSE(BGMの一時停止)
  • BGMCONT(一時停止したBGMの再開)
  • SNDSTOP(全音声の停止)
  • MILLISEC(MAINCNTのミリセカンド版)
  • CLIPBOARD(クリップボード設定・取得)
  • GOFS(グラフィック画面表示オフセットの設定・取得)
  • BIN$(数値の2進数文字列化)
  • DLCOPEN(カタログIPオープン化プロジェクト対応コンテンツの宣言)
  • EXTFEATURE(拡張命令のサポート状況を返すシステム変数)

有料追加命令(高度サウンドユニット)

  • BIQUAD(BiQuadフィルタ)
  • BQPARAM(BiQuadパラメータ生成)
  • FFT(フーリエ変換)
  • IFFT(フーリエ逆変換)
  • FFTWFN(FFT窓関数作成)
  • PCMSTREAM(PCMストリーム再生)
  • PCMPOS(PCMストリーム再生位置取得)
  • PCMVOL(PCMストリーム音量設定)
  • PCMSTOP(PCMストリーム再生の停止)
  • PCMCONT(停止したPCMストリーム再生の再開)
  • ARYOP(配列間の一括演算)
  • RINGCOPY(リングバッファコピー)

  • <ご注意>
    これらの命令は入力候補として表示されますが、追加機能を購入していない状態で実行した場合は DLC not found(命令名) というエラーが出ます。


既存命令・関数への機能追加

  • BGSCREEN(キャラクターサイズ指定の追加)
  • BGLOAD(ロードするスクリーンデータのキャラ番号をオフセット可能)
  • FORMAT$(%B(2進数)の追加)
  • SPDEF(ロードする定義データの定義番号、U,V座標をオフセット可能)
  • SPLINK(リンク先IDを取得する機能を追加)
  • MICSTART(第2引数で 2(8bit符号付き),3(16bit符号付き)を追加)
  • ACLS(GRP,SPDEF,フォントを保存するオプションを追加)
  • LOAD(GRPロード時に読み込み座標を指定するオプションを追加)

有料追加コンテンツ:「カタログIP」コラボ

  • TOP MENUの「追加機能の購入」に、「追加コンテンツの購入」ボタンを追加。
    ここからカタログIPのコンテンツを購入することにより、IPの世界観を合体させたゲームの開発も可能となる。
  • 初回2種類のカタログIPのコンテンツ提供から開始し、「カタログIPオープン化プロジェクト」として現在公開されている17種類の対象タイトルを順次配信予定。
  • 価格:100円〜(税込)

  • <ご注意>
    カタログIPコラボの追加コンテンツを購入しても対象となるゲームが遊べるものではありません。
    参考として画像とサウンドは含まれていますが、この作品を題材とした新しいゲームを生み出すための権利を手に入れるための仕組みです。

    カタログIPオープン化プロジェクト
    許諾番号:86679
    ©BANDAI NAMCO Entertainment Inc.
    カタログIPコラボについてはこちらのページもご覧ください。

有料追加コンテンツ:「高度サウンドユニット」

  • TOP MENUの「追加機能の購入」に、「追加コンテンツの購入」ボタンを追加。
    ここから高度サウンドユニット機能を購入することにより、BASIC上でソフトウェアシンセサイザーやエフェクターのような音に特化したプログラムを作成することが可能となる。
  • 価格:500円(税込)

  • 高度サウンドユニットについてはこちらのページもご覧ください。

Ver.3.2.1において修正 (2015.8.5)

BASICインタプリタの問題

重大度:高

EXEC命令で現在実行中のスロットに他のプログラムを読み込んで実行した時、プログラムをSTOPキー等で停止させた後BACKTRACE命令を使用すると、正常なトレース情報が出ず、最悪ハングアップする事がある
DEF定義内でエラーまたはSTOPで停止した時、ダイレクトモードでDEF命令・関数を呼び出した後にDEF内のローカル変数を参照・代入するとハングする
EXEC命令で複数スロット間をジャンプするようなプログラムで、2つ以上前のEXEC呼び出しスロットにEXEC命令でジャンプし、ジャンプ先でGOTO/GOSUB/DEF命令コールを使用するとハングする
※例えば、 EXEC "PRG1:FOO"→EXEC "PRG2:BAR"→EXEC "PRG1:FOO"→FOOの中でDEF命令を使用しているというような場合にハングします
New3DSでBEEP命令を頻繁に呼び出すとハングする事がある
※「頻繁に」とは、例えばWHILE 1:BEEP:WENDといった記述をした場合を指します

重大度:中

GCIRCLEで円弧を描画した場合、おかしな描画になる事がある
※全円の描画は問題ありません
ステートメントのOUTパラメータのうち一番最後を省略すると、プログラムが正常に動作しなくなる
回避方法:OUTパラメータの最終引数を省略しないようにする(OUTパラメータがカンマで終わらないようにする)
ユーザー定義命令・関数内で、変数名・ラベル名に32文字以上の名前を使用できない
定数リテラルのうち、#BGROT90,#BGROT180,#BGROT280の値が間違っている
加算合成属性がオンになっているスプライトにSPCHRを使用して加算合成をオフにしようとしても、オフにならない
※SPSETしなおすのは問題ありません
プログラムをSTOP命令もしくはSTOPキーで中断後、ダイレクトモードで何か命令を実行し、その後CONTすると、ダイレクトモードで実行できない命令でエラーが発生する

メニュー画面等の問題

重大度:高

Webプチコン入門でブラウザを起動した後HOMEボタンを押し、プチコンを再開せずにそのまま終了させるとプチコンが終了せず3DSを再起動するしかなくなる
※ブラウザから一旦プチコンに戻るのは問題ありません

重大度:中

エディタ画面で検索・置換を行っている時にL,Rボタンを押すと、検索・置換用ボタンがファンクションキー表示に置き換わってしまう
FILE MENUでコピーする際、既存ファイルがあった時の処理選択ダイアログで、パスボタンと変更ボタンが反応しない事がある

サンプルプログラム・スマイルツールの問題

スマイルツールについて

WIDTH 16時にスマイルツールが使用できない

Ver.3.2.0において修正 (2015.6.17)

BASICインタプリタの問題

重大度:高

※回避方法は暫定的なものです

MML内で内部変数への代入を行うとハングする
関数の引数に定数文字列を使用し、関数内のINC命令の第1引数としてその引数を直接使用するとハングする
回避方法:一旦別の変数に引数をコピー後、その変数をINCの第1引数に指定する
XSCREENの第3引数に0か4を指定し、BGが割当たっていない方のDISPLAYでBGPAGEを実行するとハングする
GLINEで 32768以上、もしくは-32768以下の座標値を使用すると正常な描画が行われず、さらにハングする事がある
ダイレクトモードからユーザー定義ステートメント・関数を呼び出し、そのステートメント・関数内でエラーが発生した場合、ダイレクトモードでもう一度同じユーザー定義ステートメント・関数を呼び出すとハングする
組み込み命令や関数と同じ名前を使ってDEF命令を実行するとハングする事がある
ユーザー定義ステートメント・関数内で文法エラーが発生した場合、エラーのあったユーザー定義ステートメント・関数をダイレクトモードで使おうとするとハングする
BGLOAD命令で、引数で幅を与えた時にその幅がBGスクリーン幅より大きい場合、ハングする
プログラム中でCOPY命令を引数なしで実行するとハングする
巨大なプログラムや、大量のDEF文、大量のDATA文が存在するプログラムを実行するとメモリ破壊が発生し、ハングする
※破壊の発生する目安は、1スロット当たりプログラムサイズが1メガバイト、DEFは900個、DATA文は実数20万個、整数34万個、文字列は100万文字です

重大度:中

※回避方法は暫定的なものです

DISPLAY 1時に関数型のSPSETが正しく動作しない
回避方法:関数型を使用する場合はDISPLAY 0側、あるいはXSCREEN 0,1,4で行なう
IF文の後ろにREMでコメントを付けると、次行をTHENの続きとして続けて解釈してしまう
回避方法:コメントを ' で付ける
XSCREEN命令で第2引数に0または512を指定すると、スプライトが割り当たっていない側のDISPLAYでBGPAGEの設定が無視される
回避方法:第2引数に0もしくは512を指定する事を避ける
ユーザー定義ステートメントや関数の引数・OUT変数が文字列型で、定数文字列を指定または代入後、直接 PUSH,POP,SHIFT,UNSHIFTの第1引数に指定すると、Type mismatchエラーが発生する
GPUTCHRで、拡大率が等倍(スケール値を省略しているか、1,1を指定している場合)で、描画範囲の右辺が描画クリッピング領域からはみ出ている場合、描画がおかしくなる
BGOFSでZ座標を取得すると、実際の値と符合が反転した値が返ってくる
SPOFSでZ座標を指定したスプライトをSPCLRし、再度SPSETすると、Z=0となっているにも関わらず表示上のZ座標は以前設定したZ座標になっている
回避方法:SPSET後、SPOFSでZ座標を再設定する
GCIRCLEで、描画範囲からはみ出るような円を描画しようとした時に、円の一部が欠けたり、異常な円弧が描画される事がある
文字列をパラメータとして指定したステートメントや関数内でエラー停止するとメモリリークが発生する
REPEAT命令とUNTIL命令の間でCONTINUE命令を使用すると、UNTIL命令の所ではなくREPEAT命令の所にジャンプする
FORMAT$("%D",&H80000000)とした場合、正しい結果が返ってこない
※&H80000000を%Dで表示する時のみ発生します
DEF内でグローバル変数と同名のローカル配列を定義できない
GTRIで3点のY座標が同じ値だった場合、おかしな色で描画される
リソースタイプを指定してFILESを使用すると、メモリリークが発生する
リソースタイプを省略し、プロジェクトを指定してFILESを使用すると、TXTタイプのファイルのみ取得される
BGMPLAYで、最大8トラック同時再生できるはずが、4トラックまでしか再生できない
DISPLAY 1時にSPHITSP,SPHITRCで判定範囲を指定した場合、当たり判定が正常に動作しない
ワイヤレス通信中、BUTTON関数でリピート機能付きの値が正常に取得できなくなる

メニュー画面等の問題

重大度:高

※回避方法は暫定的なものです

「作品を見る」のファイルを選択する画面で、下画面の「TXT」をタッチすると同時にYボタンを押すと強制終了する
FILE MENUの「名前変更」で何度もファイルの名前を変更すると、強制終了する
※20回以上ファイル名変更をすると強制終了する可能性が高いです
きわめて高速なループ内でダイアログ表示を繰り返すとプログラムの終了処理が行なえない

重大度:中

※回避方法は暫定的なものです

EDITモードで検索ボタンをタッチした後、キーボードをグラフィック文字モードに切り替えると、検索終了ボタンが検索ボタンに入れ替わる
ダイアログ中で長いファイル名を表示した場合、ファイル名が画面からはみ出る事がある
存在しているファイルと同名のファイルをサーバからダウンロードしようとした時に、ファイル名を変更するボタンが反応しない事がある
ファイル選択画面への切り替え直後にDATを押してYで画面が崩れる
MPSTARTで親機になった場合の子機接続待ちダイアログで、2回以上連続して親機になった場合、子機名がおかしくなる事がある

Ver.3.2.0において追加・変更 (2015.6.17)

定数リテラルの追加

  • #ではじまる英数字を定数リテラルとして取り扱う。
  • 定数リテラルは、コンパイル時にそれぞれ対応する定数値に解釈される。

数値定数式の取り扱い

  • 従来は、項がすべて定数の式も実行時に計算をしていたが、3.2では実行前に計算を済ませて実行時には1個の定数として扱うようになった。
    この変更により、定数値しか使用できない命令(=DATA文)でも、定数だけで構成されているならば式が使用可能となった。
    (ただしこの変更は数値定数のみの扱いで、文字列は従来通り演算子をまぜると式として扱うので注意)

スプライト・BGのコールバック一斉実行

  • SPFUNC,BGFUNC命令で、スプライトやBG一枚毎にコールバックルーチンを設定できる。
  • 設定したコールバックルーチンはCALL SPRITE、もしくはCALL BGで一斉に呼び出される。
  • コールバックから対応するスプライト管理番号やBGレイヤ番号はCALLIDXシステム変数で取得可能。
  • コールバックは、サブルーチン(ラベル)、もしくはユーザー定義ステートメントを設定できる。

スプライトの加算合成

  • アトリビュートでbit5をONにすると、加算で描画される。

コンソールキャラクタの追加

  • JIS第1水準相当の漢字をコンソールキャラクタとして追加した。(フォントは美咲フォントを使用)

新規命令

  • FADE(画面のフェード制御)
  • FADECHK(フェードアニメーション終了チェック)
  • SPUSED(スプライトが使用中かどうか返す関数)
  • SPFUNC(スプライトコールバックの設定)
  • BGFUNC(BGコールバック設定)
  • CALL SPRITE/CALL BG(スプライト・BGコールバックの実行)
  • FILL(配列要素の一括設定)

既存命令・関数への機能追加

  • SPCHR(U,V,W,H,ATTRが省略可能)
  • SPPAGE(設定値の取得が可能)
  • BGPAGE(設定値の取得が可能)
  • GPAGE(設定値の取得が可能)
  • DIALOG(特殊モード、ファイル名入力モードが追加)
  • TALK(ピッチ、音量変更)

ゴールド会員権

  • TOP MENUに「追加機能の購入」ボタンを追加。
    ここからゴールド会員権を購入する事で、アップロード可能なファイル数が100個に、1ファイル当たり最大サイズが20MBに拡張される。
    (ゴールド会員有効な間に11個以上のファイルをアップして、そのまま期限切れとなっても、アップしたファイルは全てダウンロード可能。ただしその時点で10個以上のファイルをアップ済みとなるので、新規ファイルはファイルを削除するか再度ゴールド会員とならない限りアップできない)
  • 価格:100円/30日間、500円/180日間

その他

  • DIRECTモードとEDITモードで簡易ファイルメニューが追加された。
    LまたはRボタンを押すと、下画面上部にSAVE/LOAD/ファイル名と表示され、SAVEまたはLOADをタッチすると、現在編集中のスロットの保存・読み込みができる。
  • EDITモードで、組み込み命令に色が付くようになった。
    また、オプション画面でEDITモードの背景色を設定出来るようになった。
  • ファイル選択メニューのソート順をアルファベット順に変更。

Ver.3.1.0において修正 (2015.3.4)

BASICインタプリタの問題

重大度:高

※回避方法は暫定的なものです

GCOPY命令で、始点・終点共にグラフィックページ領域外の座標を指定するとハングする事がある
文字列配列に対してUNSHIFT命令を使用するとメモリが破壊され、ハングする事がある
文字列*数値 の式で、結果の長さが 1073741824 以上になるとハングする
SPLINK命令で第1引数に指定したSPRITEにSPSET命令を使用し、再度SPLINK命令で第1引数に指定するとリンクが破壊され、その後のSPRITE操作でハングする
ラベル名定義とDATA文との間に変数定義やDEF〜ENDを記述した場合、そのラベルをRESTOREしてREADしようとするとInternal Errorが発生したり、ハングする事がある
回避方法:RESTORE用のラベルの直後にDATA文以外のコードを書かないようにする
MML内で内部変数への代入を行なうとハングする

重大度:中

MMLを使った演奏で、正しい文法にも関わらずIllegal MMLエラーが発生する場合がある
BGMPLAYで音量に0を指定すると、デフォルト音量で再生される
配列への代入で、変数名ではない式を変数名の個所に記述してもエラーにならない
※将来の更新版で修正後はエラーとなります
文字列配列に対してPOP命令, SHIFT命令を使用するとメモリリークが発生する
TOP MENUで3DS本体のSTARTボタンを押した後に「SmileBASICでプログラムを作る」を選択すると、SmileBASICに移行した直後にRUNコマンドが実行される
SMILEツールに割り当てたプログラムからCHKFILE命令を使用するとOut of rangeエラーが発生する
回避方法:ファイル名に"PRG0:"等のSLOT指定をつける
SPSETしていないSPRITEに対し各種操作を行ってもエラーとならない
SPANIM命令のアニメ対象に変数(SPRITE変数7)を指定した時、正常に動作しない
FOR〜NEXT等のループ構文内で文字列配列を宣言した場合メモリリークが発生する
回避方法:配列宣言をループ外に移動させる
GCLIP命令実行後、GPAGE命令を使用すると設定した描画クリッピング領域がリセットされる
GPAINT命令で境界色を指定した場合、複雑な形状の塗りつぶしに失敗することがある
ACLS命令で下画面の設定の一部(コンソール色、グラフィック各種設定)がリセットされない

メニュー画面等の問題

重大度:高

ファイル選択画面で、ファイルが選択されていない状態でも「決定」ボタンが有効になっている事があり、その場合に決定ボタンを押すとハングする事がある

重大度:中

※回避方法は暫定的なものです

サイズ0のファイルが含まれたプロジェクトをアップロードすると、ダウンロードに失敗する
回避方法:サイズ0のファイルをプロジェクトから削除して、アップロードし直す
ファイル名を入力する際、ピリオドを入力できない
プロジェクト/ファイルを選択するメニューで、十字ボタンで選択したファイルがダブルタッチで決定できない
プロジェクトを選択するメニューで「ファイルを選択」が押せない場合がある
ファイル名が14文字のファイルをスマイルブームサーバーにアップロードすると、ファイルの末尾文字が削れる
※プロジェクトのアップロードは問題ありません

Ver.3.1.0において追加・変更 (2015.3.4)

ラベルを式中で使用すると文字列として扱われる

  • @foo は "@foo" と等価に扱われる。
    従来は命令引数としてラベルを与えたい場合、文字列として与える必要があったが、ラベルを直接記述できるようになる。
    COPY A,"@FOO"
    COPY A,@FOO
    ※「一般的な式中のラベルリテラルは文字列定数として解釈するようになった」のであり、「ラベル型という値が増えた」のではない事に注意
  • 式中ではラベルは文字列として扱われる事になるので、このような記述も可能。

    A$=@FOO*3 '@FOO@FOO@FOO

ELSEIFの追加

  • IF文中でELSEIFキーワードが使用できるようになった。
    IF COND1 THEN
    ELSEIF COND2 THEN
    ELSEIF COND3 THEN
    ENDIF
    ELSE IFと違い、ENDIF は1個で良い

追加命令

  • CLASSIFY(通常数値、無限大、非数(NaN)のいずれになるかを返す)
  • GTRI(グラフィック画面に三角形を描いて塗りつぶす)
  • GPUTCHR(グラフィック画面に文字を描く)
  • BGCOLOR(BGの表示色を設定 / BGの表示色を得る)
  • HARDWARE(環境判定用システム変数)

既存命令・関数への機能追加

  • GCIRCLE(円弧を描く機能を追加)
  • SPHITSP(衝突を判定するSPRITEの範囲指定が可能に)
  • SPHITRC(衝突を判定するSPRITEの範囲指定が可能に)
  • SPCOL(OUT形式でパラメータを取得できる)
  • SPSET(SPRITE管理番号の空きを探して割り当てる機能追加)
  • SPDEF(SPRITEのキャラクタ定義用テンプレートをコピーしパラメータに修正を加える機能を追加)
  • BGANIM(アニメ対象に表示色を追加)
  • CHKLABEL(DEF内にラベルが無ければグローバルラベルを検索するオプションを追加)
  • PRGEDIT(行番号に-1を指定すると最終行を指定した事になる)
  • PRGINS(第2引数に1を指定するとカレント行の後方に挿入する)
  • BGMSTOP(通常では停止しない特殊な音も止める機能の追加)

その他 BASIC関連の変更点

  • フォント修正(かな及びいくつかの文字が読みやすくなった)
  • SPSETしていないSPRITEへの操作がエラーになるようになった
  • SPRITEの衝突判定で、マスク値0の意味を 必ず衝突する→衝突判定無視 に変更
  • ACLS命令の結果に、フォントのリセットが追加された
  • MML関連のエラーが詳しく出るようになった
  • LOCATE命令のX座標を画面右端+1まで受け付けるようになった
  • ダイレクトモードのコマンド履歴で、現在入力中の行まで戻れるようになった

TOP MENUへの機能追加

  • Webブラウザを起動して見る「Webプチコン入門」ボタンを追加
  • 内蔵サンプルの起動に特化した「サンプルを見る」ボタンを追加
  • 「オプション」に「設定を初期化」ボタンを追加

Ver.3.0.2において修正 (2015.1.7)

BASICインタプリタの問題

重大度:高

DATA文で-32768以下、もしくは65536以上の整数を使用していて、実数変数にREADしようとするとハングアップする事がある
DIMやVARで配列を定義する際、要素数に文字列を指定するとハングアップ
POPまたはSHIFTを使用するとハングアップする場合がある
RSORTを使用するとメモリリークが発生し、繰り返し使用すると最終的にハングアップ
DEF〜END内でSTOPし、DIRECTモードで未定義変数を使用するとハングアップ
ファイル命令(SAVE,LOAD,RENAME,DELETE,CHKFILE)で、本来ファイル名として使用できない文字が使用出来る
READ命令のパラメータにラベルを指定したり、パラメータを省略するとハングアップ
未初期化の文字列型ローカル変数をユーザー定義関数の返値として返すと、値が破壊される。
(数値型ローカル変数では問題は発生しない)
RUN,NEWの後ろにスペースを空けずに解釈不能文字(カナ等)が入っているとハングアップ
ダイレクトモードでDEFを使って定義した命令を使用するとハングする
RENAME命令で、ファイルを元と同じ名前に変更すると、ファイルが消滅する
BEEP命令を高い頻度で使用するとフリーズする
ダイレクトモードで変数定義から続けてマルチステートメント実行中に構文エラーが発生した場合、次にその変数を使用した所でハングする事がある
読み込めないフォーマットのデータを読み込もうとするとハングアップする
(例:配列としてSAVEしたファイルをGRPとしてLOADする 等)

重大度:中

配列への代入で、変数名ではない式を変数名の個所に記述してもエラーにならない
(代入式全体が無視される)
WAVSETAのデフォルト基準音程がWAVSETの基準音程と異なる(66、正しくは69)
RNDの引数に0を渡す( RND(0) )と異常な値が返る
GLOADでビットマップデータやパレットデータに実数配列を指定すると、正常に描画されない
ユーザー定義関数内でSTOP命令やエラーで停止すると、ローカル変数が解放されずメモリリークが発生する
SPANIMによるキャラアニメーションによって、SPHIDEの効果が無効となる
SPCHR OUTでスプライト定義番号を取得できない
ACLSでページ0,4,5以外のグラフィックページが初期化されない
SPHIDEを使ったスプライトがSPHITSPやSPHITRCの当たり判定対象になってしまう場合がある
GCIRCLEで半径が0の円を描くとOut of rangeエラーになる
境界色の指定がないGPAINTで、塗り残しが発生する場合がある
VSYNC・WAIT命令による同期と、システムの描画同期がずれる事がある
(がたつき、ちらつきといった状態で確認されやすい)
ユーザー定義ステートメント内から、外部のラベルをRESTOREで指定する事ができない
命令入力支援機能に誤り(並び順、キーワード末尾のスペースの有無)
コンソール画面のスクロール時に、Z(奥行き)情報だけスクロールしない
ACLS命令実行後、スプライトとBGの使用可能数が最大使用可能数の半分となる。
ユーザー定義ステートメント中で、定義済みのグローバル変数と同名のローカル変数を定義できない
BGMPLAYのNコマンドに内部変数を使用した場合、指定した音より低くなる
BGOFS, BGHOME, BGSCALE で戻り値の格納順が逆転している
PRINTセミコロンの後にELSEを続ける(PRINT; ELSE)とType mismatchエラーとなる
DATE$, TIME$を式の途中で使用するとメモリリークが発生する
(命令や関数のパラメータとして直接TIME$やDATE$を使用する事に問題はない)
スマイルツールを起動後、ツールで使用したメモリを解放する手段がなく、結果としてメモリリークとなる

メニュー画面等の問題

重大度:高

「プロジェクトとファイルの管理」のコピー機能で既存ファイルに上書きコピーしようとすると、ファイルが破壊される場合がある
BASICプログラム実行中にHOMEボタンを押下しMiiverseを起動すると、BASICプログラムが終了するまでMiiverseがログイン画面より先に進まない
サーバー上のファイルを選択するダイアログでYボタンを押すとハングアップ
Lボタン+Rボタンを押したまま起動すると画面が遷移しない事がある
「プロジェクトとファイルの管理」→「削除」→任意のフォルダをタブルクリック→「決定」で停止する
作品リストアイテムが無い時に方向ボタン/アナログスティックを押すとハングアップする
XON EXPADをした状態のまま拡張スライドパッドのキャリブレーションを行うとフリーズする
FILEMENUの名前変更で「戻る」ボタンが押せなくなる場合がある

重大度:中

MPSTART実行後、子機となり親機選択画面上で無線スイッチをOFFにすると、表示が異常になる
XON EXPAD実行後TOPMENUに行き、3DSの蓋を閉めると、蓋を開けた時に希に「拡張スライドパッドが切断されました」というダイアログがTOPMENUに重なって表示される

サンプル・スマイルツールの問題

サンプルプログラム

サンプルプログラム「GAME3JUMP」で、BGの優先度上(前面のBGに隠れて)表示されないBG面がある

スマイルツール

スマイルツールのMAPエディタで回転すると異なる画像が表示される