プチコン3号&BIGまとめWiki

既知の不具合

パンくずリスト

プチコン3号およびBIGで見つかった、既知の不具合の一覧です。

ソフトの性質上、またユーザーがよく訓練された人たちということもあって、「配信直後のゲームソフト」として見ればすごい勢いでバグが見つかりましたが、最新バージョンではほぼ修正されています。

プチコン3号やBIGで不具合を発見したときは、このページのコメント欄にコメントするか、このページを直接編集して加筆・修正してください。

現在バージョン表記は Ver.x.x.x で統一しています。

Ver.3.6.0 以降の不具合情報が掲載されています。

最終更新: 2019/04/13 (土) 16:00:14

目次

外部リンク

強制終了やハングアップ、メモリリークなどが確認される不具合

実行すると、SmileBASIC の強制終了やハングアップ、恒久的なメモリリークなど、重大な問題を引き起こす場合がある不具合をまとめています。

注意

掲載されているプログラムは危険です。実行するとハングアップ、強制終了、メモリリークするものが含まれています。
これらのプログラムは検証以外の目的で実行しないでください。未保存のデータは実行する前に保存しておいてください。

FFTIFFT でフリーズが発生する

Ver.3.6.2 で確認

下記のプログラムを実行すると変な挙動が発生します。

  1. DIM inR[1024],inI[1024]
  2. DIM outR[1024],outI[1024]
  3. FFT outR,outI,inR,inI
  4. outR=SETARY(0) ’outRの配列操作
  5. IFFT outR,outI,inR,inI
  6. END
  7. DEF SETARY(F)
  8. DIM A%[F]
  9. RETURN A%
  10. END

このプログラムを実行すると本来なら5行目でエラーが発生するはずですが、何故か発生しません。その後、DIRECTモードで、

  1. ’警告:このコマンドを実行するとハングアップします。ただしHOMEボタンは反応します。
  2. ?FREEMEM

というように、 FREEMEM を確認しようとすると、プログラム実行中の状態になったまま終了できなくなります。 VIEWER から実行すると真っ黒な画面でハングアップしますが HOME ボタンは反応します。

文字列型のシステム変数で書き込みなどをするとハングアップする

Ver 3.6.3 で確認

Ver 3.6.3 現在でも INC 命令において発生します。

  1. ’警告:このプログラムを実行するとハングアップします。
  2. INC DATE$,”B”

なお、INC 命令においては空文字列を指定したときはハングアップしません。 ほかの変数操作命令は安全です。

  1. ?SHIFT(DATE$)
  2. ?POP(DATE$)
  3. PUSH DATE$,”B”
  4. INC DATE$,””
  5. ’3.6.3では正常にエラーになる
  6. DATE$[0]=”B”
  7. TIME$[99]=”B”

明らかにおかしな挙動や不具合

上記の不具合には当てはまらないものの、意図した仕様とは思われない挙動をまとめています。

プチコンBIGで作成されたファイルをプチコン3号で保存した際に、PRGリソースで正常に読み込めない

プチコン3号 Ver.3.5.0 で確認

プチコンBIGで作成されたTXTファイルを、プチコン3号に保存してPRGファイルとして上書きすると、以下のプログラムでは正常に読み込むことができません。また、メニューからの読みこみ (SHIFT + LOADキー) も正常にできません。

  1. LOAD ”PRG3:ファイル名”,FALSE

TXTリソースとして読み込むはできるようです。

  1. LOAD ”TXT:ファイル名”,FALSE OUT CONTENT$

プチコンBIGのみで BGLOAD に指定できるキャラ番号オフセットの挙動がおかしい

プチコンBIG Ver.3.5.0 で確認

BGLOAD では、配列の後に正の数値を指定すると、配列の全要素に加算してからキャラ番号として描画します。しかし、プチコンBIGでは正しく動作しません。加算されるのではなく、絶対的にその数値に変化してしまうようです。(すなわち BGFILL )

インターネットブラウザーで撮ったプチコンBIGのTV画面のスクリーンショットがおかしい

確認状況不明

Wii Uのインターネットブラウザーには、起動中のソフトのスクリーンショットをアップロードする機能があります。しかし、その機能を使いDIRECTモードでTVとGamePadそれぞれに異なる表示をするモードにした状態でプチコンBIGのTV画面のスクリーンショットを撮ると、おかしい画像がアップロードされてしまいます。

保存した際の画像の縦横比と、表示時の縦横比が合っていないような感じの画像がアップロードされます。
TV画面なので本来ならサイズは1280×720になるはずなのですが、854×480(FWVGA,GamePad画面のサイズ)になっています。
EXIF情報やファイル名は正常です。

派生して、全体が前回HOMEボタンを押したときのスクリーンショットで上半分がおかしい画像が撮れるようになることもあります。上半分は少しだけ透けて下半分の画像の続きが見えます。その状態になると、2画面に同じ表示をするモードでもおかしくなり、いつスクリーンショットを撮ろうとしてもその状態のスクリーンショットが撮れるようになります。

SPANIMでZ座標を変化させると、本来の範囲を超えて変化させられてしまう

Ver.3.6.0 で確認

SPANIMで、Spriteの「Z座標」を相対値で変化させる際に、本来の上限/下限を越えてしまう現象があります。

検証用プログラムを用意しました。

検証プログラム KRB_3DBUG_TEST
RF3XX53

実行すると、ワンパクとダミーとハカセが表示されます。
ワンパクは本来のZ座標奥側最大値、ダミーは本来のZ座標手前側最大値を表しています。
十字ボタンの上を押すごとにSPANIMを使ってハカセが奥側へ、下を押すごとに手前に動きます。LRボタンは微調整です。(ここでもSPANIMで動かしている)
どちらか一方に繰り返し動かし続けると、どこかでハカセが画面から消えます。(Zクリッピングの範囲からはみ出てしまうため?)

例として、

  1. ’これを一定方向に繰り返すと、Z座標が本来の範囲を超える
  2. ’3D立体視にも影響が出る
  3. SPANIM 0,”Z+”,−8,100 ’手前
  4. SPANIM 0,”Z+”,−8,−100 ’奥

などのような相対指定で奥行きを移動させ続けると、本来の範囲である奥1024〜手前-256の制限を超えてしまいます。

3DS/3DSLL/New3DS/New3DSLLのような3D立体視機能のあるハードでは立体視に影響が出ます。
(特に手前方向。視差が大きすぎて正常に立体感をとらえられなくなる。無理に見ようとすると目に悪影響を及ぼす危険性がありますので注意してください。)

Wii U/2DS/New2DSLLでは立体視がないため3D立体視には影響が出ませんが、Z座標がある一定の値(+1536以上、-512以下)を超えたあたりでZクリッピング範囲と思われる範囲からはみ出してしまうため、2D表示にしていてもそのSPRITEが見えなくなってしまいます。

引数無しの OUT で発生するエラーの種類がおかしい

Ver.3.6.2 で確認

例えば、

  1. DEF TEST OUT
  2. END

のようなプログラムを実行した際、

  1. Out of code memory in 0:1

のように表示されます。内蔵ヘルプでは

12:Out of code memory (コード領域のメモリー不足)

とあります。このような場合は Syntax error の方がエラーの意味としては正しいと思われます。

作品を見る で実行中にエラーが発生すると、次に実行したプログラムがすぐに止まってしまう

Ver.3.6.2 で確認

「作品を見る」でプログラムを実行している際にエラーが発生すると、次に実行しようとしたプログラムが実行されず、すぐに戻ってしまう問題です。

必ず実行されないわけではないようです。その条件は不明です。

解決策

再度実行すれば問題ありません。

INPUT および LINPUT における CONT 停止時の挙動に問題がある

Ver.3.6.0 で確認

INPUT および LINPUT で入力待ち状態にて START ボタンなどで中断したのちに CONT で再開する場合に、想定する動作をしないというものです。
具体的には、INPUTLINPUT ともに入力の再開ができないのと、両命令の挙動に差異があるということです。

解決策
  • DIRECT モードでは命令を再開できない (CONT は「プログラム」を再開する命令)
  • INPUT での入力待ち時に中断した際は、再開時に入力できずにプログラムが続く
  • LINPUT での入力待ち時に中断した際は、再開できない

ことを留意しておく

詳細

これは、それぞれのモードで以下の命令を実行して、入力待ちの状態で中断したあと、CONT で再開した場合の挙動をまとめたものです。

実行した命令DIRECT で検証EDIT で検証
INPUT ACan't continueエラーなし
INPUT A$Can't continueエラーなし
LINPUT A$Can't continueUninitialized variable used
  • これらの命令に限らず基本 DIRECT モードで実行した命令は、中断しても CONT で再開できません。
    • これは不具合ではなく仕様だと思われます。
  • INPUT では再開してもエラーが発生せず、指定された変数は変更されないまま次の命令へ進む。
  1. A=30
  2. INPUT A
  3. PRINT A

数値を入力した場合はその数値が表示されるが、中断して CONT した場合は 30 が表示される。

整数型配列のソート結果がおかしい

Ver.3.6.3 で確認

SORT による整数型配列のソート結果がおかしいという不具合。
負数が含まれる配列で、かつ絶対値が大きい値が含まれると発生しやすい。

詳細

たとえば、このようなプログラムで発生します。

  1. DIM ARY%[8]
  2. ARY%[0]=1<<31
  3. ARY%[1]=−128
  4. ARY%[2]=128
  5. ARY%[3]=NOT (1<<31)
  6. SORT ARY%
  7. FOR I=0 TO LEN(ARY%)−1
  8.  ?ARY%[I]
  9. NEXT

また、FOR-NEXT などで括って複数回ソートさせると値によっては「順番が変わる」ことがあります。

解決策

なし

特定のヌル文字列をVAL関数に渡すと不正なエラーが発生する

Ver.3.6.3 で確認

文字列型の引数を渡しているにもかかわらず、Type mismatchエラーが発生します。

詳細

このバグを引き起こす「特定のヌル文字列」は2種類存在します。

  • ヌル文字列を乗算したもの(変数に格納したものを含む)
  • DIALOG関数の文字列入力フォームで、キャンセルしたときに返されるもの
  1. ?VAL(””*1)
  2. ?VAL(DIALOG(””,”INPUT NUMBER”))
  3. ’乗算ヌル文字列は変数格納後も不正な状態
  4. A$=””*1:?VAL(A$)
解決策

一度、文字列を変数に格納し、長さがゼロの場合はVAL関数に渡さないように処理する。

メモリが残っているのにPUSH命令で『Out of memory』が発生する

Ver.3.6.3 で確認

FREEMEMが明らかに残っているにもかかわらず、整数型配列に対するPUSH命令で『Out of memory』エラーが発生することがあります。
(他の型での発生の有無は分かりません)

詳細

発生条件は正確には分かりませんが、PUSHする配列の要素数が多いほど場合発生しやすいと思われます。(目安として数万要素)
問題の発生するプログラムを、別のプロジェクトフォルダにコピーして実行すると問題が発生しなくなるなど、不可解な点があります。
(そのため、問題が発生するプログラムを掲載できません)
問題が発生した直後のFREEMEMの値には法則がありません。
50 キロバイト程度で発生するときもあれば約 646 キロバイト( 646,740 バイト)で発生することもあります。

不具合ではないが不便な挙動

コマンドが意図せず再補完される

CO まで打ち、入力補完の CONT をタッチした際、すばやくタッチペンを離さないと CONTROLLER( と入力されてしまう。

修正された不具合

BEEP を32回以上一気に実行するとハングアップすることがある (Ver.3.6.3 で修正)

Ver 3.6.2 で確認。Ver 3.6.3 で修正。

BEEP の添え字に関係なく発症します。 HOME ボタンを含めた全てのボタンが反応しなくなります。 また、その状態でスリープモードにすると画面が真っ黒になったまま戻りません。 絶対に発生するわけではなく、 モードや BEEP の回数によっても発症したりしなかったりするようです。

+  起こらない例
+  起こる例

すべての数値変数が実数として扱われる (Ver.3.5.2 で修正)

Ver.3.5.1 で確認。Ver.3.5.2 で修正

A=100:PRINT A とすると、100.00000000と表示される

解決策

FORMAT$() などの文字列関数を使用して表示する

原因

プチコンBIGから仕様を引っ張ってきたために起きてしまった不具合のようです。

引数無しの OPTION を記述するとコンパイル時に強制終了する (Ver.3.6.0 で修正)

Ver.3.6.0 で修正

[#OptionWithoutArguments] コンパイル時に強制終了なので、例えすぐに実行されなくても瞬時に強制終了します。

  1. WAIT 120
  2. OPTION

コメント

次の内容はこちらでお願いします。

  • このページに示されていない SmileBASIC の不具合報告
  • あるいはページに対するご意見、ご指摘
  • その他の SmileBASIC 不具合に関する情報
  • このページの内容を一部削除、あるいは大きく改変した場合の報告
    • 荒らしと誤解を避けるため報告することが望ましい

SmileBASIC の不具合またはこのページそのものに関係のないコメントはこの場所ではせず、掲示板でお願いします。 荒らしはしないでください。

  • 名無しさん : SPANIM "I" で原点変更されるのはSPDEFを正しく読み取った結果だから不具合とするのはおかしいのでは (2018/01/26 (金) 21:11:26)
  • 名無しさん : うん、SPANIM "I" 別に問題ないね (2018/01/26 (金) 22:49:26)
  • Ryou Tanpo : 遅くなりましたが、SPANIM "I" の情報を削除しておきました (削除したのはだいぶ前) (2018/02/17 (土) 19:30:49)
  • 初心者 : 質問する場所を間違えてるかもですが、 (2018/03/22 (木) 14:41:27)
  • 初心者 : ごめんなさい!ほんとに質問する場所間違えてました! (2018/03/22 (木) 14:49:38)
  • Ryou Tanpo : 誰か (2018/03/23 (金) 20:34:46)
  • Ryou Tanpo : OPTION の不具合編集してくださってありがとうございます (2018/03/23 (金) 20:35:09)
  • 名無しさん : プチコンBIGで、USBキーボードで入力していると入力行が時々勝手に消えるのは仕様でしょうか? (2018/04/09 (月) 14:18:36)
  • アナログの人 : 3号から。 スマイルツールから「お絵描き」→COPYで範囲選択→この状態で上下/左右反転、R90を選択すると、COPYした範囲が下画面左上に表示され(半透明の状態)、スライドパッドや十字キーを押してもくっついてくる。一旦スマイルツール画面に戻ると直るし、致命的でもないけど、直しといたほうがいいのでは。 (2018/05/16 (水) 15:24:47)
  • 天郷思音 : スマイルツールといえば透明色バグが健在なのですごくダメ (2018/05/16 (水) 15:50:58)
  • 天郷思音 : (スマイルツール、バージョンが古いままなんだよね、だからバグが健在なのよね) (2018/05/16 (水) 16:46:20)
  • 名無しさん : CONTの件ですが、実際は正しく補完されています。但しCONTが入力された瞬間に「CONTで始まる語」が候補に表示されてしまうので、すぐにタッチパネルからペンを離さないと、たまたま同じ場所に表示された「CONTで始まる語」が入力されてしまいます。 (2018/05/20 (日) 00:07:08)
  • 天郷思音 : なるほどぅ 後でもう一回挙動確かめておきます バグじゃなくて不便点として社長さんにお伝えするかな。(連続で補完する挙動ってへんなので) (2018/05/20 (日) 17:48:18)
  • 天郷思音 : 直前に編集された方にご質問ですが、バグ情報が1項目削除されていますが、当該項目が誤情報or虚偽であると検証された結果でしょうか?荒らしと紛らわしいので一報お願いします。 (2018/07/19 (木) 16:46:50)
  • ( : 文字列の透明色バグが直らない; (2018/07/27 (金) 11:51:05)
  • 天郷思音 : うーん、何そのバグ(詳しく聞きたい) (2018/07/27 (金) 19:15:31)
  • 天郷思音 : 『最新バージョン 3.6.1 ではほぼ修正されています。』っていちいち修正するのは面倒なので、具体値なしで『最新バージョンでは〜』と書けば良いのではないか? (2018/08/04 (土) 21:39:03)
  • カービィ★KIRBY : 3D立体視のZ座標の件は最新Ver(V3.6.2)でも健在のようです 一応ノトホホ社長に報告はしたけど仕様なのかバグなのか……… (2018/10/11 (木) 18:03:23)
  • 名無しさん : v3.6.2でMMLの内部変数がおかしい。(ような気がする) サンプルの公開キー RT3NVNV ちょっと不便? (2018/11/04 (日) 18:37:51)
  • kai : 至急です!プチコン3号を起動しようとすると、真っ暗ながめんになって、エラーが発生しました。任天堂サービスセンターに電話してください。みたいなことが表示されて、強制終了するはめになります。(最初から) (2018/11/10 (土) 00:33:57)
  • はる : http://img17.shop-pro.jp/PA01148/723/product/63132997.jpg このような画面ですか?でしたら、それはソフトウェア側の問題ではなくハードウェア側の問題です。 (2018/11/10 (土) 07:23:47)
  • いぶいぶ : RGBで色指定しても白にしかならないんですが… (2018/11/23 (金) 22:59:57)
  • はる : 3号のVer.3.6.3が配信されたので内容を変更しました。 (2018/12/07 (金) 20:22:26)
  • あまさとしおん : 3.6.3ですが、ソートバグ、ヌル文字列バグは健在ですorz (2018/12/29 (土) 19:45:12)
  • あまさとしおん : システム変数の書き換えハングですが、添字指定については修正済みを確認しました (2018/12/29 (土) 19:53:10)
  • あまさとしおん : ソートバグについて補足を加えました。負数が含まれない配列では発生は確認されていません。正数のみの配列で発生した場合はここに一報いただけると助かります。 (2018/12/29 (土) 19:56:27)
  • あまさとしおん : 連投失礼します。内容を消したりした場合(荒らしと紛らわしいので)、コメントに報告を推奨する旨を追加しました。 (2018/12/29 (土) 20:04:47)
  • 塩昆布 : プログラム作成中、Lボタンを押しながら下画面のLOADを押すと、ファイルを選んでロードできるが、ファイル選択中にSTARTボタンを押すと下画面がおかしくなる (2019/01/01 (火) 09:04:07)
  • はる : 3号ですね。SAVE でも発生しますね。 (2019/01/01 (火) 10:45:39)
  • 名無しさん : GYROAのヘルプではPitch,Roll,Yawの順だと書いてありますが、EX8TECHDEMO(3076行目)ではYaw,Pitch,Rollの順に取得しています。 (2019/01/27 (日) 12:23:44)
  • たっくん : ver.3.6.3で ラベルの入力に何も文字列が入っていない文字列引数を使うと Internal Error(内部エラー)を吐きます(本来であればIllegal symbol stringを吐くはず) (2019/04/13 (土) 14:56:09)
  • はる : それについては既にMame/Errormsg#err1ex1に書かれていますね。バグかどうかの判断は難しいですが。 (2019/04/13 (土) 15:59:00)

メニュー 【3号】

ヘルプ

リンク

最近の更新

最近の人気ページ

オンライン情報

  • 現在同時に 3 人がこのサイトを見ています
  • このページはこれまでに 3845 回、本日は 1 回、昨日は 4 回閲覧されました

ページの先頭に戻る

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.056 秒 | このページの最終更新 : 2019/04/13 (土) 16:00:14 (12d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30