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

既知の不具合

パンくずリスト

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

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

プチコン3号やBIGで不具合を発見したときは、このページのコメント欄にコメントするか、ページを直接編集してください。
Ver3.6.0 以降で発見された不具合情報が掲載されています。

目次

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

実行すると、SmileBASIC の強制終了やハングアップ、恒久的なメモリリークなど、重大な問題を引き起こす場合がある不具合をまとめています。掲載されているプログラムは危険である場合があるので、検証以外の目的で実行しないでください。実行する前に未保存のデータは保存しておいてください。

FFTIFFT で変な挙動が発生する

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

  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

SmileBASIC で RUN を実行したり START ボタンを押して実行したりすると、本来なら4行目でエラーが発生するはずですが、何故か発生しません。その後、DIRECTモードで、

  1. ?FREEMEM

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

特定の命令を繰り返すと恒久的なメモリリークが起こる

詳しくは下記を参照

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

3.6.0で確認

  1. ’<<警告>>いずれか1行でも実行するとハングアップします
  2. DATE$[0]=”B”
  3. TIME$[99]=”B” ’添字が文字数以上でも発症します。
  4. INC DATE$,”B”

添字について:添字が0から2,147,483,647(整数型のうちマイナスではない範囲)なら発症する可能性があります。(要検証) DATE$の場合&HFFFFFFがひとつの目安の模様。&H7FFFFFFFとかだとエラーが出ます。

なお、INC命令の場合は、加える文字列が空文字列ではないときに発症します。 ほかの変数操作命令は安全です。

  1. ’このあたりは安全です
  2. ?SHIFT(DATE$)
  3. ?POP(DATE$)
  4. PUSH DATE$,”B”
  5. INC DATE$,””

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

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

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

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

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

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

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

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

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

Petitverse : http://petitverse.hosiken.jp/community/petitcom/topic/?read=208

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

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

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

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

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

例えば、

  1. DEF TEST OUT
  2. END

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

  1. Out of code memory in 0:1

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

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

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

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

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

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

解決策

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

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

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 が表示される。

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

3.6.0でも確認
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 などで括って複数回ソートさせると値によっては「順番が変わる」ことがあります。

解決策

なし

修正された不具合

すべての数値変数が実数として扱われる (ver 3.5.2)

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

解決策

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

原因

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

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

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

  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号】

ヘルプ

リンク

最近の更新

最近の人気ページ

オンライン情報

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

ページの先頭に戻る

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