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

Toukou/SZ-Prompt の変更点

パンくずリスト


#title(投稿プログラム : SZ-PROMPT 2.2)
#contents

2019年3月10日投稿
/ 2019年7月17日更新
/ 投稿者 : すず
/ &tag(投稿プログラム,実用ツール,初心者);

ページ更新内容 (8/22) : 過去バージョンの公開を終了しました

* これってなに? [#WhatIsIt]
こんにちは、すずっていいます。

これはたぶんコマンドプロンプト的なプログラムです((そういえばこれn番煎じですね))。そんなに機能はないけどプログラムのサイズが無駄に大きくなってきました。

プログラムを投稿するのは初めてなので、間違ってるところがあったら教えてください!

PIANO.BAT を付属しておきました。きっとたのしいですよ((そんなことないよ))。

* 使い方 [#HowToUse]
** 起動するには [#Launch]
SZ-PROMPT.EXE っていう名前のファイルがたぶんあるので、それを実行してください。

無事に起動したら、そこにコマンドを入力してEnterで実行してください。

ユーザー設定ファイルが存在しない場合、エラーが出ますが気にしなくて大丈夫ですよ。

** 操作方法 [#HowToControl]
基本的に下画面のキーボードで操作します。

Aボタンでエンター、Yボタンで1文字削除、十字キーの上下で入力履歴を表示することもできますよ。

...バグありそうですけど。

もしバグってコマンドの実行が止まらなくなったら L+X ボタンで強制停止できますよ。

** 実行できるコマンド [#Commands]
*** コマンド一覧 [#ComList]
r2.2 でついにコマンド数が200を超えてしまいました
#region(長いかもしれませんよ?)
| コマンド名 (文法) | 説明 |
| ABS <変数1> <変数2> | 変数1の絶対値を変数2に代入します |
| ACOS <変数1> <変数2> | 変数2のアークコサインを変数2に代入します |
| ALARMSET <時> <分> | アラームを設定します |
| ALARMSTART | アラームを開始します |
| ALARMSTAT | アラームの状態を表示します |
| ALARMSTOP | アラームを停止します |
| AND <変数1> <数値> <変数2> | 変数1 AND 数値 を変数2に代入します |
| APP <アプリID> | 内蔵アプリを起動します |
| ARY | 配列を表示します |
| ARYADD <数値> | 配列に数値を代入します |
| ARYAVE | 配列の平均値を返します |
| ARYCLR | 配列を初期化します |
| ARYDEL <配列番号> | 指定した配列番号に0を代入します |
| ARYLOAD <ファイル名> | 配列を読み込みます |
| ARYMAX | 配列の最大値を返します |
| ARYMID | 配列の中央値を返します |
| ARYMIN | 配列の最小値を返します |
| ARYMUL | 配列の総積を返します |
| ARYRND | 配列をシャッフルします |
| ARYSAVE <ファイル名> | 配列を保存します |
| ARYSRTM | 配列を昇順に並べかえます |
| ARYSRTN | 配列を降順に並べかえます |
| ARYSUM | 配列の総和を返します |
| ASC <文字列> | 文字列をASCIIコードに変換します |
| ASIN <変数1> <変数2> | 変数1のアークサインを変数2に代入します |
| ATAN <変数1> <変数2> | 変数1のアークタンジェントを変数2に代入します |
| BACKGROUND <赤> <緑> <青> | 背景色を変更します |
| BAT <ファイル名> | バッチファイルを実行します |
| BATD <ファイル名> | バッチファイルの中身を表示します |
| BCFG | BIOS設定を表示します |
| BEEP <BEEP番号> | 効果音を再生します |
| BGMCONT | BGMの再生を再開します |
| BGMCRNT | BGMの再生状態を表示します |
| BGMPAUSE | BGMの再生を中断します |
| BGMPLAY <BGM番号> | BGMを再生します |
| BGMSTOP | BGMの再生を停止します |
| BGMVOL | BGMの音量を変更します |
| BIN <10進数> | 2進数に変換します |
| BLINK <回数> | 3Dランプを点滅します |
| BTN <機能ID> <変数> | 入力されたボタンIDを変数に代入します |
| CALC <数値1> <演算子> <数値2> | 計算をします |
| CEIL <変数1> <変数2> | 変数1を小数切り上げした値を変数2に代入します |
| CHKSUM | チェックサムの結果を表示します |
| CLR | 画面を初期化します |
| CLS | コンソールを初期化します |
| CLIPCLR | クリップボードの内容を消去します |
| CLIPREAD | クリップボードの内容を表示します |
| CLIPSET <文字列> | 文字列をクリップボードに格納します |
| CMDLIST | コマンドを一覧で表示します |
| CMEM <変数> | CALCの計算結果を変数に代入します |
| COIN | 0か1の乱数を返します |
| COMPMODE | 互換モードを切り替えます |
| COPY <変数1> <変数2> | 変数1から変数2に値をコピーします |
| COPYS <文字列変数1> <文字列変数2> | 文字列変数1から文字列変数2に文字列をコピーします |
| COS <変数1> <変数2> | 変数1のコサインを変数2に代入します |
| COSH <変数1> <変数2> | 変数1のハイパボリックコサインを変数2に代入します |
| CSLMOVE <X> <Y> | コンソールを移動します |
| CSRPOS | カーソル位置を表示します |
| CVSV <文字列変数> <変数> | 文字列変数を変数に変換します |
| CVVS <変数> <文字列変数> | 変数を文字列変数に変換します |
| DEASC <ASCIIコード> | ASCIIコードから文字列に変換します |
| DEBIN <2進数> | 2進数から10進数に変換します |
| DEG <変数1> <変数2> | 変数1(ラジアン)を度に変換して変数2に代入します |
| DEHEX <16進数> | 16進数から10進数に変換します |
| DICE <回数> <最大値> | nDnの乱数を返します |
| DIV <変数1> <数値> <変数2> | 変数1/数値 の整数部を変数2に代入します |
| DRUN | 開発用コマンドの実行権限を取得します |
| ECHO <文字列> <繰り返す回数> | 指定した回数文字列を繰り返します |
| EFCLOAD <ファイル名> | エフェクターの設定を読み込みます |
| EFCOFF | エフェクターを無効化します |
| EFCON | エフェクターを有効化します |
| EFCPRE <プリセット番号> | エフェクターのプリセット設定を読み込みます |
| EFCSAVE <ファイル名> | エフェクターの設定を保存します |
| EFCSET <反射> <ディレイ> <減衰> <フィルタ1> <フィルタ2> <反射ゲイン> <残響ゲイン> | エフェクターの設定をします |
| EFCWET <BEEP効果量> <BGM効果量> <TALK効果量> | エフェクターの効果量を設定します |
| EOS | コマンド実行を終了します |
| EXIT | SZ-PROMPTを終了します |
| EXP <変数1> <変数2> | e^変数1 を変数2に代入します |
| FILE <プロジェクト名> <種別> | 指定したプロジェクト内のファイルの一覧を表示します |
| FKEY <キー番号> <文字列> | ファンクションキーに文字列を登録します |
| FKEYCLR | ファンクションキーを初期化します |
| FLASH | 画面を発光させます |
| FLOOR <変数1> <変数2> | 変数1を小数切り捨てした値を変数2に代入します |
| FQ | 強制的に入力状態を通常に戻します |
| GET <取得ID> <変数> | 取得IDの値を変数に代入します |
| GETS <取得ID> <文字列変数> | 取得IDの値を文字列変数に代入します |
| GRPBOX <SX> <SY> <EX> <EY> | グラフィックに四角形を描画します |
| GRPCHR <X> <Y> <文字列> | グラフィックに文字列を描画します |
| GRPCIR <CX> <CY> <半径> | グラフィックに円を描画します |
| GRPCOL <赤> <緑> <青> | グラフィック描画色を変更します |
| GRPCOPY <SX> <SY> <EX> <EY> <CX> <CY> <モード> | グラフィックをコピーします |
| GRPCLR | グラフィックを初期化します |
| GRPFILL <SX> <SY> <EX> <EY> | グラフィックに塗りつぶされた四角形を描画します |
| GRPLINE <SX> <SY> <EX> <EY> | グラフィックに線を描画します |
| GRPLOAD <ファイル名> | グラフィックを読み込みます |
| GRPSAVE <ファイル名> | グラフィックを保存します |
| GRPSET <X> <Y> | グラフィックに点を描画します |
| GRPSFL | グラフィック全体を塗りつぶします |
| GRPTRI <X1> <Y1> <X2> <Y2> <X3> <Y3> | グラフィックに三角形を描画します |
| HELP | ヘルプを表示します |
| HEX <10進数> | 16進数に変換します |
| HISTORY | 最新10件の履歴を表示します |
| HR <文字> | 指定した文字で水平線を引きます |
| HWBTN | ボタンの動作をテストします |
| HWINFO | ハードウェア情報を表示します |
| IF <変数> <論理演算子> <数値> | 条件を満たした場合 IFEND 間を実行します |
| IFS <文字列変数> <文字列> | 文字列変数=文字列 を満たした場合IFSEND間を実行します |
| IFEND | IFの終わり |
| IFSEND | IFSの終わり |
| INFLPOFF | REPEATの無限ループを解除します |
| INFLPON | REPEATを無限ループにします |
| INLET <変数> | 数値を入力して変数に代入します |
| INLETS <文字列変数> | 文字列を入力して文字列変数に代入します |
| LAST | 最後に入力したコマンドを表示します |
| LAUNCH <スロット> <ファイル名> | 他のプログラムを起動します |
| LEFT <文字列変数1> <文字数> <文字列変数2> | 文字列変数1の左から指定した文字数の文字列を文字列変数2に代入します |
| LENGTH <文字列> | 文字数を数えます |
| LENGTHS <文字列変数> | 文字列変数の文字数を数えます |
| LET <変数> <数値> | 変数に数値を代入します |
| LETS <文字列変数> <文字列> | 文字列変数に文字列を代入します |
| LIST <ページ> | コマンドの一覧を表示します |
| LOG <変数1(実数)> <変数2(底)> <変数3> | Logを変数3に代入します |
| LONG | 長いコマンドが実行できる状態にします |
| MDIV <変数1> <数値> <変数2> | 変数1/数値 を変数2に代入します |
| MOD <変数1> <数値> <変数2> | 変数1/数値 の余りを変数2に代入します |
| MID <文字列変数1> <文字位置> <文字数> <文字列変数2> | 文字列変数1の文字位置から指定した文字数の文字列を文字列変数2に代入します |
| MEMORY | メモリ使用状況を表示します |
| MKEMP <ファイル名> | 空のテキストファイルを作成します |
| MMIN <変数1> <数値> <変数2> | 変数1-数値 を変数2に代入します |
| MML <MML> | 記述したMMLを再生します |
| MMLCLR <BGM定義番号> | MMLを消去します |
| MMLIN <ファイル名> | MMLを読み込みます |
| MMLOUT <ファイル名> | MMLを出力します |
| MMLPLAY <BGM定義番号> | MMLを再生します |
| MMLSAVE <BGM定義番号> | MMLを保存します |
| MMUL <変数1> <数値> <変数2> | 変数1*数値 を変数2に代入します |
| MSUM <変数1> <数値> <変数2> | 変数1+数値 を変数2に代入します |
| NOT <変数1> <変数2> | NOT 変数1 を変数2に代入します |
| OR <変数1> <数値> <変数2> | 変数1 OR 数値 を変数2に代入します |
| PAUSE | SZ-PROMPTの実行を一時停止します |
| POW <変数1> <数値> <変数2> | 変数1^数値 を変数2に代入します |
| PRGCRNT | プログラム編集行を返します |
| PRGDEL <行数> | プログラムを指定行数削除します |
| PRGINS <文字列> <方向> | プログラムに文字列を挿入します |
| PRGPOS <行番号> | プログラム編集行を指定します |
| PRGSET <文字列> | プログラム編集行を置き換えます |
| PROJECT | プロジェクトの一覧を表示します |
| RAD <変数1> <変数2> | 変数1(度)をラジアンに変換して変数2に代入します |
| REBOOT | SZ-PROMPTを再起動します |
| RECOMPILE | SZ-PROMPTを保存し直します |
| RELEASE | メモリを解放します |
| REM <文字列> | コメントとして扱います |
| RENAME <元の名前> <新しい名前> | ファイル名を変更します |
| REPEAT <回数> | REPEAT~REPEND間を指定回数ループします |
| REPEND | REPEATループの終わり |
| RIGHT <文字列変数1> <文字数> <文字列変数2> | 文字列変数1の右から指定した文字数の文字列を文字列変数2に代入します |
| RND <最小値> <最大値> | 指定範囲内の乱数を返します |
| RNDF | 0~1の小数の乱数を返します |
| RNDS <文字数> | ランダムな文字列を生成します |
| ROM | 残り空き容量を表示します |
| ROUND <変数1> <変数2> | 変数1を小数四捨五入した値を変数2に代入します |
| SCSHOT <ファイル名> | コンソールをファイルに保存します |
| SECRET | シークレットモードに切り替えます |
| SGN <変数1> <変数2> | 変数1の符号を変数2に代入します |
| SIN <変数1> <変数2> | 変数1のサインを変数2に代入します |
| SINH <変数1> <変数2> | 変数1のハイパボリックサインを変数2に代入します |
| SLOT | 実行中のスロットを表示します |
| SPCLR | スプライトを削除します |
| SPDEL <管理番号> | 指定した管理番号のスプライトを削除します |
| SPHID <管理番号> | 指定した管理番号のスプライトを非表示にします |
| SPHIT <管理番号> <変数> | 指定した管理番号のスプライトの当たり判定を変数に代入します |
| SPOFS <管理番号> <X> <Y> | 指定した管理番号のスプライトの座標を変更します |
| SPROT <管理番号> <角度> | 指定した管理番号のスプライトを回転します |
| SPSCL <管理番号> <X> <Y> | 指定した管理番号のスプライトの大きさを変更します |
| SPSET <管理番号> <ID> | 指定したIDのスプライトを表示します |
| SPSHW <管理番号> | 指定した管理番号のスプライトを表示します |
| SQR <変数1> <変数2> | 変数1の平方根を変数2に代入します |
| STINFO | 起動チェック結果を表示します |
| STR <文字列> <密着> | 文字列を表示します (密着:1で有効) |
| STRS <文字列変数> <密着> | 文字列変数の値を表示します (密着:1で有効) |
| STRV <変数> <密着> | 変数の値を表示します (密着:1で有効) |
| SYSTEM | システム情報を表示します |
| TAB <行数> | 指定した行数改行をします |
| TALK <文字列> | 指定した文字列を読み上げます |
| TAN <変数1> <変数2> | 変数1のタンジェントを変数2に代入します |
| TANH <変数1> <変数2> | 変数1のハイパボリックタンジェントを変数2に代入します |
| TIME <T/D> | 現在の時間を表示します |
| USERCFG <設定> [設定値] | ユーザー設定を変更します |
| USERLOAD | ユーザー設定を読み込みます |
| USERSAVE | ユーザー設定を保存します |
| VAR | 変数を一覧で表示します |
| VARS | 文字列変数を一覧で表示します |
| VARCLR | 変数を初期化します |
| VARSCLR | 文字列変数を初期化します |
| VER | バージョン情報を表示します |
| WAIT <フレーム数> | 指定したフレーム数動作を停止します |
| WAITB <ボタンID> | 指定したボタンが入力されるまで動作を停止します |
| WAITE | ENTERキーが押されるまで動作を停止します |
| WAITK <キー> | 指定したキーが入力されるまで動作を停止します |
| XOR <変数1> <数値> <変数2> | 変数1 XOR 数値 を変数2に代入します |
#endregion

** コマンドの詳細 [#ComDet]
#region(長いかもしれませんよ?)
*** BTNでの機能IDと返り値 [#ReturnBTN]
| 機能ID | 説明 |
| 1 | 押しっぱなし |
| 2 | 押した瞬間 |
| 3 | 押して離した瞬間 |

| ボタン | 返り値 |
| ↑ | 1 |
| ↓ | 2 |
| ← | 4 |
| → | 8 |
| A | 16 |
| B | 32 |
| X | 64 |
| Y | 128 |
| L | 256 |
| R | 512 |

*** CALCで利用可能な演算子 [#CanCalcLit]
| 演算子種類 | 演算子 |
| 基本演算 | + - * / % |
| 三角関数 | SIN COS TAN ASIN ACOS ATAN SINH COSH TANH |
| 小数処理 | FLOOR ROUND CEIL |
| 数学関数 | ABS SQRT EXP POW LOG |

*** GETでの取得ID [#CanIDGet]
| TM.H | 時 |
| TM.M | 分 |
| TM.S | 秒 |
| DT.Y | 年 |
| DT.M | 月 |
| DT.D | 日 |
| MM.FR | 残りメモリ |
| MM.MX | 最大メモリ |
| MM.US | 使用メモリ |
| SYS.LINE | 行番号 |
| SYS.SCTM | シークレットモードか? |
| SYS.DRNM | 開発者モードか? |
| SYS.CMPM | 互換モードか? |
| SYS.UPTM | プチコン起動時間(フレーム) |
| SYS.UPMS | プチコン起動時間(ミリ秒) |
| SYS.ROM | 残り空き容量 |
| SYS.VCOD | バージョンコード |
| CFG.<0~511> | ユーザー設定 |
| HW.ID | 使用ハードウェアID |
| CS.X | カーソル位置X |
| CS.Y | カーソル位置Y |

*** GETSでの取得ID [#CanGETSGet]
| HW.HWR | ハードウェア種類 |
| HW.CPU | CPU情報 |
| HW.GPU | GPU情報 |
| HW.RAM | メモリ情報 |
| HW.RES | 解像度情報 |
| HW.BTR | バッテリー情報 |

*** IFで利用可能な論理演算子 [#CanIfLit]
| == >= <= != < > |

*** TIMEで利用可能な引数 [#CanTimeLit]
| 引数 | 説明 |
| T | 時間を表示します |
| D | 日付を表示します |

*** WAITBで指定できるボタン [#CanWaitbBtn]
| ボタンID | 対応するボタン |
| UP | 上 |
| DW | 下 |
| LF | 左 |
| RG | 右 |
| A | A |
| B | B |
| X | X |
| Y | Y |
| L | L |
| R | R |

*** APPで起動できるアプリケーション [#InternalApps]
| アプリID | アプリ名 | 説明 |
| STATBAR | ステータスバー | 現在の時間やモード等を表示するバーです |
| FPS | FPS表示 | FPSを微妙な精度で表示します |
| RUNTIME | 実行時間表示 | コマンドの実行時間と平均時間を表示します |
| ALARM | アラーム | 指定した時間にBEEP音を鳴らします |
| SZPTMNG | SZ-PROMPTマネージャー | 使用メモリ量と起動中のアプリを1文字のアイコンで表示します |
| DELAY | 遅延表示 | 入力遅延時間を表示します |
| CFGEDI | 設定ファイルエディタ | ユーザー設定ファイルを編集できます |

*** USERCFGで利用可能な設定 [#CanUsercfgLit]
| 書式 | 説明 |
| USERCFG NAME <String 名前> | ユーザー名を設定します |
| USERCFG BIRTHDAY <Int 月> <Int 日> | 誕生日を設定します |
| USERCFG BGCOLOR <Int 赤> <Int 緑> <Int 青> | 背景色を設定します |
| USERCFG CSCOLIN <Int 色コード> | コンソール入力文字の色を変更します |
| USERCFG CSCOLNR <Int 色コード> | コンソール通常文字の色を変更します |
| USERCFG CSCOLER <Int 色コード> | コンソールエラー文字の色を変更します |
| USERCFG CSCOLSP <Int 色コード> | コンソール特殊文字の色を変更します |
| USERCFG CURSOL <String 文字> | カーソルを変更します |
| USERCFG LINE | 行番号表示を切り替えます |
| USERCFG RESET | ユーザー設定を初期化します |
| USERCFG SYSMODE | 新動作モード・旧動作モードを切り替えます |
#endregion

* 仕様 [#Specs]
** 制約 [#Limit]
- スロット0で実行するのを想定しています
- スロット3では実行できません
- 同時に40文字程度まで入力ができます
- 3DS, New3DS, WiiUが認識できます
- ファイル操作はプロジェクトを指定できません
- プログラム編集はスロット3を利用します

** システム変数 [#SysVar]
| 変数 | 内容 |
| R | REPEATループ回数メモリ |

** ファイル拡張子 [#GenExt]
| 拡張子 | ファイル種類 | ファイル型 |
| .EXE | 実行ファイル | TXT |
| .SYS | システムファイル | TXT, DAT |
| .BAT | バッチファイル | TXT |
| .MML | MMLファイル | TXT |
| .GRP | 画像ファイル | DAT |
| .SCR | スクショファイル | TXT |

* コマンドの実行が遅いと思ったら... [#UThinkSlow]
ときどきコマンドの実行が遅かったりするみたいです。

そんなときの対処法を紹介します。

- プチコンの再起動
- CLEARコマンドをダイレクトモードで実行
- 常駐アプリを終了
-- 特に RUNTIME アプリは結構重たいみたいです

* 更新履歴・更新予定 [#Updates]
** 更新履歴 [#updh]
#region(過去バージョンの更新履歴だよ)
*** r1.0 (Build at 3_9) [#updh10]
公開した最初のバージョンですよ。

たぶん不具合がたくさんあります。

*** r1.1 (Build at 3_11) [#updh11]
- コマンドとコマンドの間に#を入れることで連続でコマンドを実行できます
-- 例) BGMPLAY 16 # BGMCRNT
-- こうするとBGM16番の曲名が調べられます
- ARRAYMAX, ARRAYMID, ARRAYMIN, ARRAYSRTM, ARRAYSRTNコマンドを追加しました
- DEASC, DEBIN, DEHEXコマンドを追加しました
- ユーザー設定が実装されました
-- USERCFGコマンドで変更可能ですが、EXITコマンドで正常に終了する必要があります
-- r1.1 (Build at 3_11)では、ユーザー名と背景色の設定が利用できます
- ユーザー設定実装により、プロジェクト内にファイルが2つ生成されます
-- TXT:NAM ユーザー名が保存されます
-- DAT:BKG 背景色が保存されます

*** r1.2 (Build at 3_13) [#updh12]
- BASICコマンドが追加されました
-- 非常に限られた動作しかしませんが、:で区切ることで複数の命令を同時に実行できます
- LISTコマンドの一部引数書き忘れを修正しました

*** r1.3 (Build at 3_23) [#updh13]
- LISTコマンドにTYPE引数を追加しました
-- 引数の型の一覧を表示します
- HELP, PAUSE, TIMEコマンドを追加しました
- FKEYコマンドの挙動を修正しました
-- ファンクションキーにそれぞれ [Last], [Ans], [m1], [m2], [m3] が入ります
- 連続実行を削除しました
-- 2つまでとかいらないですもんね
- EXITコマンドで終了時にファンクションキーを復元するようにしました
- 設定が変更されていないときにダイアログを非表示にするようにしました
- ステータスバーの位置を微調整しました

*** r1.4.1 (Build at 3_26) [#updh141]
- LINPUTの代わりに自作入力機構を実装しました
-- 40文字程度の入力制限があります
-- AボタンでのEnterは現在実装されていません
-- Yボタンで1文字削除
-- 十字キー上下で履歴
- 漢字を用いて表示するようになりました
- ステータスバーが常時更新されるようになりました
- 右上にFPSが表示されるようになりました
-- あまり正確じゃないです
- 簡易的なバージョンチェッカーが実装されました
-- バージョン先頭の文字で判断されます

*** r1.5 (Build at 3_27) [#updh15]
- 設定ファイル名が BKG から CFG に変わりました
-- ファイル名を変更するだけでr1.4以前のバージョンから引き継げます
- Aボタンでエンターができるようになりました
- LISTコマンドにLit型ヘルプを追加しました
-- 例) LIST CALC
-- これを実行すると、CALCコマンドのLit型引数である 演算子 の一覧が表示されます
- HISTORYコマンドを追加しました
- RELEASEコマンドを追加しました
-- RELEASEコマンドを実行すると履歴はすべて削除されます
-- HISTORY, RELEASEコマンドは履歴に残りません
- USERSAVEコマンドを追加しました
-- EXITでも保存できますが、SZ-PROMPTを終了したくない場合はこちらを利用してください
- USERCFGにコンソール色変更を追加しました
-- COLOR命令の色コードと同じで0~15で指定します
-- 見づらい色にならないように注意してください
- USERCFGにカーソル変更を追加しました
-- 2文字以上を指定した場合は、一番最初の文字だけがカーソルとして利用されます
- FILEコマンドの挙動を若干変更しました

*** r1.6 (Build at 3_29) [#updh16]
- 一部文字色を変更しました
- コマンド入力にクリップボードが使えるようになりました
-- 下画面キーボードのCOPYとPASTEが使えます
- 行番号が9999でカウンターストップするように変更しました
-- 10000超えるとバグったからね
- HELPコマンドの内容を修正しました
- 配列計算コマンドを大幅に変更しました
-- 配列が無制限に使えます
-- コマンド名が短くなりました
- 一部コマンドの実行中にFPSが表示されるようになりました
-- プログレスバーが表示されるコマンドに表示されます
- ARYRNDコマンドが追加されました
- VERコマンドが追加されました
- デバッグモードが実装されました
-- とあることをすると有効化できます
-- デバッグモード中はユーザー設定が保存されません
-- デバッグモード中にのみ実行できるコマンドがあります
- とってもちいさい隠し要素を追加しました

*** r1.6.1 (Build at 3_31) [#updh161]
- ARYSAVE, ARYLOADコマンドが追加されました
-- 配列を保存・読み込みできます
-- TXT:ARYMX, DAT:ARYの2つのファイルで保存されます
- HWINFOコマンドが追加されました
-- ハードウェア情報が表示されます
-- 適当に調べた情報なので間違っている部分があるかもしれません
-- 無印とLLの差などは認識できません
- デバッグモードに機能が追加されました

*** r1.7 (Build at 4_1) [#updh17]
- EFCOFF, EFCON, EFCPRE, EFCSET, EFCWETコマンドが追加されました
- SYSBEEPがFALSEになりました
-- 代わりに下画面キーボードはBEEP 9で鳴らしています
-- EXITで終了するときにTRUEに戻ります
- デバッグモードに機能が追加されました

*** r1.7.1 (Build at 4_3) [#updh171]
- LISTコマンドを修正しました
-- 一部漢字になってなかったり内容が古かった部分を修正しました
-- 引数に129以上の値を指定するとエラーになるのを修正しました
- LまたはRを押しているときにファンクションキーとコピー・ペーストが使えないようにしました
- メイン部分のコードをある程度インデントしました

*** r1.7.2 (Build at 4_4) [#updh172]
- コマンド入力時のペーストの動作を変更しました
-- いままでクリップボードの中身に化けていたのが後ろに追加されるようになりました
- コマンドが連続実行できるようになりました
-- 2つまで?そんなことないですよ。
-- : で区切ることで連続実行できます
- EFCLOAD, EFCSAVEコマンドを追加しました
-- エフェクター設定を保存できます
-- ファイル名は DAT:EFC です
- DRUNコマンドを追加しました
-- DRUNコマンドを実行した直後のみ開発用コマンドが実行できます
- ユーザー設定を追加しました
-- BIRTHDAYで誕生日が設定できます
- デバッグモードに機能が追加されました

*** r1.7.3 (Build at 4_5) [#updh173]
- HISTORYコマンドを修正しました
-- 最新10件ではなくすべての履歴が表示されていました
- LISTコマンドを修正しました
-- 250とかそれくらい以上の数値を指定するとエラーになっていました
- LASTコマンドを追加しました
- MEMORYコマンドを追加しました
- シークレットモードを実装しました
-- SECRETコマンドで切り替えができます
-- シークレットモード中は履歴に保存されなくなります
- ステータスバーを少し変更しました
- そういえばコマンド数が100に到達しました

*** r1.8 (Build at 4_7) [#updh18]
- 拡張子という概念が導入されました
- BASICコマンドのデバッグ表示消し忘れを修正しました
- 実行スロットチェッカーを実装しました
-- スロット0で実行されていない場合に警告が表示されます
-- スロット0に同名のプログラムが存在する状態で他のスロットで実行するとチェッカーをすり抜けます
- WAITコマンドを追加しました
-- バッチファイル向けですね
- BATコマンドを追加しました
-- バッチファイルを実行するときに実行します
- ARYLOAD, ARYSAVE, EFCLOAD, EFCSAVEにファイル名を指定するようにしました
-- 任意のファイル名で保存できるよ

*** r1.8.1 (Build at 4_8) [#updh181]
- b0.6からずっと修正されなかったFILEコマンドの不具合を修正しました
- LISTコマンドの一部記載ミスを修正しました
- SCSHOTコマンドを追加しました
-- 色はないけどコンソール画面をファイルに出力できますよ
- BLINKコマンドを追加しました
-- 3DSの上画面右側にある 3D のランプが点滅します
-- やりすぎると球切れする気がしてなりません
- MKEMPコマンドを追加しました
-- MKDIR的なコマンドを追加しようとした結果がこれですよ
- GRPLOAD, GRPSAVE, MMLIN, MMLOUTコマンドを追加しました
-- MMLの方だけちょっとコマンド名が違うので注意してね
- MMLコマンドの仕様を変更しました
-- どう考えても今までの仕様は無意味だったね
- メモリ関係の処理を変更しました
- 上画面が3D表示にならないように変更しました
-- ACLSするたびに XSCREEN 0 になるのを初めて知りました

*** r1.9 (Build at 4_17) [#updh19]
- ユーザーメモリ機能を追加しました
-- 現在利用できるユーザーメモリは ABCD R です
-- A~DメモリはCALCコマンドにのみ利用できます
-- RメモリにはREPEATのループ回数が入り、一部コマンドで R を指定することで利用できます
- ALARMSTAT, ALARMSET, ALARMSTART, ALARMSTOPコマンドを追加しました
-- アラーム機能が利用できます
-- 指定した時刻(分まで設定可能)にBEEP音を鳴らします
- BATDコマンドを追加しました
-- .BATファイルの中身が表示できます
- FLASHコマンドを追加しました
-- 画面を一瞬白色で描画するコマンドです
-- 高速で連続実行すると気分が悪くなったりする可能性があります
- STRコマンドを追加しました
-- ECHOコマンドと違って1度のみの描画を行います
-- ECHOコマンドでは必ず引数に 1 を指定しなければならないため、1度のみの場合はこちらを利用してください
- REPEAT, REPENDコマンドを追加しました
-- REPEATコマンドで指定した回数 REPEAT~REPEND 間をループします
-- ループ回数はユーザーメモリRに入ります
- USERMEMコマンドを追加しました
-- ユーザーメモリに入っている数値を確認できます 
- RNDSコマンドで指定した引数より1回多く生成されていた問題を修正しました
-- なんで気づかなかったんだろうね...?
- CALCコマンドの答えがCALCANS変数に入っていましたが、コマンド実行時に初期化されていた問題を修正しました
-- たぶんこの不具合相当前のバージョンからありました
- ファイル名指定時に文字数をチェックするようにしました
-- どうやら一部コマンドでチェック漏れがあったみたいです

*** r1.10 (Build at 4_21) [#updh110]
- 起動時の演出()を少し変更しました
- 変数システムを大幅に改良しました
-- 4文字まで自由な変数が使えます
-- その代償に起動時消費メモリが大幅に増えてしまいました
- EOSコマンドを追加しました
-- REPEATループを使用したとき実行が終わらなかったことがあったので作りました
-- EOSを使わなくてもいいですが、最後に使っておくことをおすすめします
- INLET, LETコマンドを追加しました
-- INLETコマンドはユーザーに数値を入力させて代入します
- STRVコマンドを追加しました
-- 変数の値を表示するときに利用してください
- WAITKコマンドを追加しました
-- 任意のタイミングで次のコマンドに進めたい場合に利用してください
- CMEMDEL, CMEMADELコマンドが削除されました
-- 変数システムV2のおかげで必要なくなりました
- CMEMSAVEコマンドがCMEMコマンドに変更されました
-- SAVEとかいちいちめんどくさいからね
- REPEATループが正常に動作しなかった問題がそれっぽく修正されました
-- いままでは先頭にあるREPEATのみ動作していましたが、途中のREPEATも動作するようになりました
-- 1回のコマンド実行で2つ以上のREPEATが存在した場合正常に動作しませんでしたが、修正されました
-- 多重ループは正常に動作しません
- 一部ファイルを読み込む動作をするコマンドのファイル名指定チェックが実装し忘れていたのを修正しました
-- ARYLOAD, BAT, BATDとかそのあたりのコマンドが対象です
- 多分LISTコマンドの順番が直りました

*** r1.11 (Build at 5_6) [#updh111]
- USERCFGにCSCOLNR, CSCOLER, CSCOLSPを追加しました
- USERCFGのCSCOLORはCSCOLINに変更されました
- APPコマンドを追加しました
-- アプリIDを指定することでその内蔵アプリを起動できます
-- まだアプリが全然ないのでアイデア募集中だったりします
- SZ-PROMPTマネージャーを追加しました
-- マネージャーとかいってますがただ使用量とかを表示してるだけですよ
- REBOOTコマンドを実行すると再起動時にOUT OF MEMORYエラーになっていた問題を修正しました
- ユーザー設定ファイルが読み込めなかった場合の処理を修正しました
- VERコマンドを修正しました
- コマンド実行時間をデバッグ限定の機能から通常時でも使える機能に変更しました
- 添付BATファイルをなんかよくわからない3つのやつから変更しました
-- USERRESET.BATを実行するとユーザー設定を大体初期化できますよ
-- USERCFG RESETでも大体同じような挙動をします

*** r1.11.1 (Build at 5_21) [#updh1111]
- 残り空き容量が取得できるようになりました
-- _SZPT-EMP プロジェクトを作っておくと起動が0.2秒ほど早くなります
- 遅延表示アプリを追加しました
- COMPMODEコマンドを追加しました
-- 互換モードに切り替えるコマンドです
-- もしかしたら過去のバージョンで作られたバッチファイルが動かない場合に役に立つかもしれません
- HWBTNコマンドの挙動が少しだけ改善されました
- LONGコマンドを追加しました
-- 40文字以上の長いコマンドを実行する場合に利用してください
- ROMコマンドを追加しました
-- 残り空き容量を表示します
- TABコマンドを追加しました
-- 指定行数の改行をします
- WAITKコマンドはWAITEコマンドに変更されました
- WAITBコマンドが追加されました
- WAITKコマンドが追加されました
- DEASCコマンドでエラーになっていた問題を修正しました

*** r1.11.2 (Build at 5_27) [#updh1112]
- BIOSもどきが実装されました
-- まだなにもできないです
- CMDLIST, USERLOAD, VARCLRコマンドを追加しました
- コンフィグエディタアプリを追加しました
-- APP CFGEDI で起動できます
-- めちゃくちゃ使いづらいです
- USERMEMコマンドはVARコマンドに変更されました
-- 変数システムV1の名残ですね
- VARコマンドでの数値の表示を10進数に変更しました
-- 16進数のほうが情報量は少なくなるはずなんだけど見づらいよね
- 上下ボタンで履歴を表示しているときにステータスバーに履歴番号が表示されるようになりました
-- 地味に便利かもしれませんよ
- LISTコマンドの順番が修正されました

*** r1.12 (Build at 6_5) [#updh112]
- BIOSの設定項目が増えました
-- ついでに変更非推奨な項目にマークつけときました
- 起動チェックを実装しました
-- WARNINGやERRORがなければたぶんまともに動きますよ
- 新動作モードが追加されました
-- BATファイルがBATコマンドを使わなくても実行できます
-- 存在しないコマンドや存在しないBATファイル名を入力するとエラーが出ます
- IF, IFENDによる条件分岐がついに実装されました
-- IFの条件を満たしたときにIFENDまでのコマンドを実行します
-- 多重IFもできるっぽいですがなんか動作怪しいです
- BCFGコマンドが追加されました
-- BIOSでの設定が表示されます
- STINFOコマンドが追加されました
-- 起動チェックの結果が表示されます
- LISTコマンドを微修正しました
- ハードウェア情報を更新しました
- 起動画面が少し変更されました
- SMPL.BATを同梱しました
-- SZ-PROMPTに実装されているコマンドのサンプルみたいなのです
-- IF~IFENDが実装できたおかげで少しだけ複雑なことができるようになりました

*** r2.0 (Build at 6_22) [#updh20]
- 新動作モードのパフォーマンスが改善されました
-- 6.1ms から 2.7ms まで高速化されました
- 新動作モードで - を入力するとエラーになる不具合を修正しました
- HELP, LISTコマンドの微調整
- GETSEC が GET に統合されました
- LISTのLit型表示機能が削除されました
- コマンドの実行を途中でキャンセルできるようになりました
-- REPEAT 100000とかやってしまったときに L+X ボタンでキャンセルできます
-- 不具合で無限ループになってしまったときにも使えます
- STR, STRVが密着に対応しました
-- とある方がコンソール動かしまくって頑張っていたので対応しました
- 行番号表示の切り替えが追加されました
-- USERCFG LINE で切り替えできます
- 初期設定ウィザードが追加されました
-- ユーザー設定ファイルが見つからないときに自動起動します
- 数学系コマンドが追加されました
- スプライト系コマンドが追加されました
-- 当たり判定はr2.1で追加します
- チェックサム機能が追加されました
-- 何らかの外部プログラム等で勝手にユーザー設定ファイルが書き換わってしまった場合に不正が検出できるかも
-- CHKSUMコマンドで正常かどうか判定できます
- FQコマンドが追加されました
-- IFなどを使ったときにコマンドを入力しても実行されない場合に使用してください
- HRコマンドが追加されました
-- 水平線がラクラク引けますよ
- REMコマンドが追加されました
-- 旧動作モードでは効果薄いですが、新動作モードでは役に立つかもしれません
- GETコマンドが追加されました
-- いろいろな情報を変数に格納できるみたいです
- USERCFGからSTATBAR, FPS, RUNTIMEが削除されました
-- APPを利用してください
- BASICコマンドが削除されました
- 行番号に合わせた文字の表示が行われなくなりました
-- 今までは行番号に合わせて7文字空白を空けてから文字を表示していました

*** r2.1.1 (Build at 7_8) [#updh2011]
- 起動時・終了時の処理(ただの演出ですけど)を高速化しました
- 0.1ミリ秒程度の処理高速化しました
- GETコマンドで取得できるものを追加しました
-- SYS.UPTM, UPMS, ROM, CFG.<Num>
- INFLPOFF, INFLPONコマンドを追加しました
-- REPEATを無限ループにしたい場合に利用します
-- 無限ループから抜け出す処理を記述していない場合は L+X で脱出できます
- BTNコマンドを追加しました
-- ついにボタン入力が取得できますね
- MMLコマンドを修正しました
-- 変更かもしれないけど過去の自分なんて覚えてない
- LOGコマンドを修正しました
-- なんであんなことになってたんだろうね

*** r2.1.2 (Build at 7_12) [#updh2012]
- RNDコマンドで引数が不足するとエラーになるのを修正しました
- CALCコマンドで0で除算したときにエラーになるのを修正しました
- コマンドの実行速度が高速化されたみたいです
-- 従来の1.75倍くらいで動くっぽいです
#endregion

*** r2.2 (Build at 7_17) [#updh202]
- バージョンコードが実装されました
- コマンド解析機構が改善されました
-- GETコマンドから変数に代入できるので、それを使うことでバージョン判定ができます
- 文字列変数が実装されました
-- 0~65535のの変数が利用できます
- 変数変換系コマンド CVSV, CVVS が追加されました
- 文字列変数を利用したコマンド LETS, INLETS, STRS, LEFT, MID, RIGHT, LENGTHS, VARS, VARSCLR, IFS, IFSEND, GETS が追加されました
-- 大量に追加されましたが基本的には変数と同じです
- GETコマンドに SYS.VCOD IDが追加されました
- LISTコマンドが修正されました
-- 一部表記が修正されています
- LAUNCHが引数不足のときエラーになっていたのをたぶん修正
- EXITとREBOOTが壊れていたのを修正
-- 処理の高速化をしたときになんか壊れたみたいです
- 変数代入系命令を修正しました
- STATBARアプリを修正しました

** 更新予定 [#Schedule]
*** r2.3 [#updf23]
- まだ未定

*** 不具合情報 [#Bugs]
- [注意] IFを使ったときにコマンドを実行しても無反応になる
-- FQコマンドを実行すると解決します
- [注意] REPEATループが複数存在するとき実行が終わらないときがある
-- EOSコマンドを最後に入れることで解決するかもしれません
-- L+X ボタンで強制脱出できます
- [微細] プログレスバーが正確に表示されない
- [仕様] 処理が遅い
-- 付属の PIANO.BAT を実行するといかに遅いかがわかります
-- r2.1.2で処理速度が向上したので試してみてください

*** 実装未定 [#Forever]
- このwikiのスクリーンショットの改善
- コメントではやピー氏も言っていたゲームの追加

/////////////////////////////////


* スクリーンショットとか [#ScreenShots]
#ref(HNI_0081.JPG)

* 公開キーはここです [#PubKey]
プチコン3号用の公開キーです。トップメニューの「作品公開とダウンロード」から公開キーを入力すると、作品をダウンロードすることができます。

いまの最新バージョンは r2.2 (Build at 7_17) ですよ。

#ptcmid(E15E43QJ)

/////////////////////////////////


* プログラムリスト [#List]
#basic{{
@Mainloop
For i=0 to i+1
Print "見る価値ないですよ"
Goto @Mainloop
Next
}}


/////////////////////////////////

* アンケートです [#Question]
興味があれば押していってほしいです。同項目に連打はやめてくださいね。

** 正直このプログラムってどうですか [#x790ddee]
#vote(5. いいね[0], 4. それなり[1], 3. わるくはない[0], 2. びみょう[0], 1. だめです[0])

** .NMPや.GPKなど他のプログラムのファイル形式の読み込みに対応するべきですか [#cf117f13]
#vote(1. 対応するべき[1], 2. 対応してもいい[0], 3. 対応しなくてもいい[0], 4. 対応するべきでない[0])
#vote(1. 対応するべき[2], 2. 対応してもいい[0], 3. 対応しなくてもいい[0], 4. 対応するべきでない[0])

// コメントを募集したくないなら、ここから下は削除してください


* なにかあったらここに書いてくださいね [#Comments]
感想とか機能要望とかあったら書いてくれると実装したりするかもしれないのです。

(ここで関係ないことは[[掲示板>Board]]でお願いします!)
- ''MoriKawa/Midorimori'' : ! 今日は 17 人が来てくれました。 合計で 111 人ですよ。 (&new{2019/03/13 (水) 19:26:24};)
- ''はやピー'' : 凄い。僕にはわからない。僕も今コマンドプロンプトを作っています。ゲームとかがあったら面白そう (&new{2019/03/16 (土) 19:18:07};)
- ''すず'' : はやピー氏 >> 簡単なゲームを仕込んでみようとは思っていたり思っていなかったり... (&new{2019/03/23 (土) 15:37:20};)
- ''TASさん[TASソフト]'' : いまTA-DOSを作っているのですがそれにコマンドの一部を移植していいですか? (&new{2019/03/28 (木) 06:45:59};)
- ''すず'' : TASさん[TASソフト]氏 >> 微妙なコマンドしかないけどそれでもいいならどうぞ (&new{2019/03/28 (木) 12:36:01};)
- ''TASさん[TASソフト]'' : やったぜ!!!!!!!!!!! 移植大変 USERファイル互換性もたせようかなー (&new{2019/03/28 (木) 13:23:58};)
- ''すず'' : 毎度毎度更新が地味すぎる割に頻度が高すぎですかね... (&new{2019/04/07 (日) 00:41:15};)
- ''名無しさん'' : すっげすげ…改造してゲーム関数作ろ… (&new{2019/04/18 (木) 21:11:18};)
- ''ichi'' : スゴ! (&new{2019/05/22 (水) 07:14:24};)
- ''ichi'' : もしかして他のプログラミング言語触ったことあります? (&new{2019/05/22 (水) 07:16:27};)
- ''すず'' : ichi氏 >> C#を雀の涙程度になら... (&new{2019/05/22 (水) 13:28:20};)
- ''Na'' : 面白いですね。更新期待してます。 機能要望です ・CHKFILEを使えば「ファイルが見つかりません」は出なくて済みます ・十字キーでカーソル移動できるようにしてほしい ・コマンド以外のものが入力されたときメッセージを出してほしい ・ファイル名入力するだけでbatファイルやbasicプログラムが実行できるようにしてほしい ・上に書いてあるプログラムリストのForが意味ないです(iが永久に0) 長文失礼しました (&new{2019/06/02 (日) 15:16:54};)
- ''すず'' : Na氏 >> わー、なんかたくさんありがとうございます。機能要望のほうはそのうち実装しようと思います(CHKFILEとか存在忘れてました)。プログラムリストくんはわざと無意味なこと書いてます(無意味なので)。 (&new{2019/06/02 (日) 15:46:49};)
- ''Na'' : バッチファイル作ってみました。公開キー[733N459F] カーソル移動なしで文字列と変数をつなぐのは難しい...あとREPEATがなぜか指定回数繰り返す前に終わるよ (&new{2019/06/06 (木) 21:38:30};)
- ''すず'' : Na氏 >> バッチファイルを作ってくださりありがとうございます(サンプル2の再現だ...!)。割と不便な仕様が多いので少しずつ修正していきたいですね...。 (&new{2019/06/06 (木) 22:19:50};)
- ''Na'' : PIANO.BAT改造してみました[AEC373AV]&br; 仕様が不便なのは別に気にしてませんよ。LAUNCHでコマンド作ればいいのだ。&br; バグ報告はRNDで2つめの引数がないとエラーで止まること、CALC 1/0も同様です。 (&new{2019/07/11 (木) 21:29:38};)
- ''すず'' : Na氏 >> 不具合報告ありがとうございます、次のバージョンでたぶん修正されます。 (&new{2019/07/11 (木) 22:58:23};)

#comment


*** すみっこのアクセスカウンタ [#q6a74da5]
今日は &counter(today); 人が来てくれました。
合計で &counter(total); 人ですよ。

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