=============================================================================== アドイン版 Casio Basic Interpreter (& Compiler) for CG ver 1.x β版 copyright(c)2015-2017-2020 by sentaro21 e-mail sentaro21@pm.matrix.jp 最終更新日:2020/2/9(JST) 最終更新者:Krtyski/sentaro21 =============================================================================== Casio Basic インタプリタのアドイン版、略してC:Baisc(現状インタプリタのみなのでC.Basic)のCG版のとりあえず動く版です。 ・特徴  純正Casio Basic互換(を目指しています)。  純正Casio Basicよりも高速動作(10倍以上)。  操作方法はほぼCasio Basic準拠です。  純正Casio Basic互換の新規ソースファイルの作成、編集が可能です。  ソースファイルはメインメモリではなくストレージメモリに置かれます。(サブフォルダは1階層まで対応しています。)  純正Casio Basic上位互換で独自拡張機能を随時追加していきます。  fx-9860Gシリーズのg1mと、fx-CGシリーズのg3mに対応しています。 ・欠点  現在のところ、CG50のみフル動作可能でCG10/20では一部機能が動作しませんが将来的には両機種完全対応します。  純正Casio Basicのサブセットです。全部の命令が使えません。というか一部の基本的な命令のみのサポートです。  数値演算はCの倍精度2進演算により精度&誤差が若干違います。  PICTがメインメモリ上だけで使えます。  現状とりあえず動く版なので間違いなくバグが大量に残っています(^^;…ので、バグ報告&追加機能の要望などよろしくお願いします。 ========================== 注意!!! ============================================ このツールの使用によって電卓が破壊される可能性はまず無いと思いますが、 予期せぬバグ等でメインメモリが破壊されオールリセットになる可能性はあります。 このツールの使用はメインメモリ&ストレージメモリのバックアップをとった上でお願いいたします。 作者はこのツールの使用の結果においていかなる責任も負わないものとさせていただきます。 =============================================================================== ========================== 注意!!!その2 ====================================== CG10/20では画面更新が遅いのでPtune2で100MHz以上に上げないと画面描画が間に合わず上手く動作しません。 その場合、Ptune2での[F4]プリセットではシステムエラーになる場合があります。 ROMタイミング不足ですのでPtune2でのROMアクセスタイミングを一段階緩めて下さい。 乗算キー[X]を押すとROMタイミングが増えます。 (デフォルトクロックで起動した場合は自動的にオーバークロックします。(58MHz->118MHz) =============================================================================== ------------------------------------------------------------------------------- C.Basic の起動 ------------------------------------------------------------------------------- 起動すると、ファイルリスト画面になります。ここでファイルを選択します。 純正Casio Basicで既に作成しているBasicファイルを、このファイルリストに追加するには、 メインメモリにある元のBasicファイルをストレージメモリへコピーします。 (単一ファイルに限ります。複数ソースファイルをまとめたファイルは未対応です。) Ver 0.53以降、MCS(メインメモリ)のプログラムファイルを使用できるようになりました。 ※セットアップでメインメモリを選択すると、ファイルの保存先、ファイル操作はメインメモリのプログラムファイルが対象になります。 ※ファイルの保存時やコピー時はメインメモリからストレージ、ストレージからメインメモリへと保存先を変更することが可能です。 =============================================================================== クイックマニュアル - C.Basic の開発環境 =============================================================================== ------------------------------------------------------------------------------- ファイルリスト画面(Casio Basic準拠っぽく…ちょっと違っています) ------------------------------------------------------------------------------- -[UP] 一つ前のファイルを選択します。 -[DOWN] 一つ後のファイルを選択します。 (ファイル選択画面ではA-Zのキーを押すとそれを先頭とするファイルにジャンプします。fx-5800P/fx-CG準拠です) ([.]キーで"~"を先頭とするファイルにジャンプします。) ([EXP(x10)]キーでフォルダリストの先頭(ファイルリストの最後の次)にジャンプします。) -[F1] (EXE) 選択ファイルを実行します。 -[F2] (EDIT) 選択ファイルを編集します。 -[F3] (NEW) 新規ファイルを作成します。 -[F4] (COPY) ファイルをコピーします。 -[F5] (DELETE) 選択ファイルを削除します。 -[F6] ( > ) 次のメニューに移動します。   [F1] (>txt/CONVERT) 選択されたBasicソースファイルをテキストファイル⇔g1mファイル/g3mファイル/MCSの間で変換します。   [F2] (RENAME)ファイル名を変更します。   [F3] (Fav.) 選択ファイルをお気に入りに追加、解除します。   [F4] (Fv.↑) お気に入りを一つ上に移動します。   [F5] (Fv.↓) お気に入りを一つ下に移動します。   [F6] ( > ) 次のメニューに移動します。   [F1] (MKEFLDR) フォルダを作成します。   [F2] (RENFLDR) フォルダ名を変更します。   [F6] ( > ) 前のメニューに移動します。 -[EXE] プログラムを実行します。 -[SHIFT] [EXIT](QUIT) サブフォルダからルートに戻ります。 [UP] お気に入りを一つ上に移動します。 [DOWN] お気に入りを一つ下に移動します。   [F1] (Var) 変数画面   [F2] (MAT) Mat変数画面   [F3] (V-WIN)ViewWindow表示   [F4] (Pass) パスワード設定/解除   [F6] (Debug) デバッグモードでエディタを起動します。 -[VARS] 変数画面   [F1] (A<>a) 大文字変数と小文字変数、任意英数字名変数の表示切替え   [F2] (INITIAL) 表示変数の一括初期化   [F3] (D<>I) 整数変数と実数変数の表示切替え   [F6] (->Hex/->Dec) 16進数/10進数表示に切り替え   [SHIFT]+[UP]/[DOWN] 1ページずつスクロール ※ローカル変数の場合は=を反転表示します。 -[SHIFT] [MENU] (SETUP) 初期設定    [F6] バージョン情報表示 -[OPTN] 選択ファイルをお気に入りに追加、解除します。 -[EXIT] ファイルリストの最初に戻ります。 すでにファイルリストの最初の場合はルートに戻ります。 ------------------------------------------------------------------------------- エディタ編集画面(Casio Basic準拠っぽく…ちょっと違っています) ------------------------------------------------------------------------------- ・ファイル内のカーソルの現在位置を示すスクロールバーが右端に表示されます。 -[F1] (JUMP) ジャンプサブメニューを表示します。 [F1] (TOP↑) ファイル先頭にジャンプします。 [F2] (BTM↓) ファイル末尾にジャンプします。   [F3] (GO) ファイルの任意の行にジャンプします。(画面上での見た目上での行数です)   [F5] (Skip↑) (セットアップで設定された)ページ数スキップアップします。   [F6] (Skip↓) (セットアップで設定された)ページ数スキップダウンします。 -[F2] (SEARCH) 文字列サーチ/置換モードに入ります。 -[F3] (COMMAND) コマンド選択画面(fx-5800P準拠モード)(ここで選択できるコマンドがサポートされています) (MENU) コマンド選択モード(fx-CG/9860G準拠モード) -[F4] (A<>a) 大文字小文字切り替え -[F5] (CHAR) キャラクタ選択画面 -[F6] (EXE) プログラムを実行します。一時停止状態であれば再開します。 -[SHIFT] [EXIT](QUIT) ファイルリスト画面に戻ります。 [LEFT] エディタの表示文字の大きさおよび行間隔を小さくします。 [RIGHT] エディタの表示文字の大きさおよび行間隔を大きくします。 [UP]  (セットアップで設定された)ページ数スキップアップします。 [DOWN] (セットアップで設定された)ページ数スキップダウンします。   [F1] (Var) 変数画面   [F2] (MAT) Mat変数画面   [F3] (V-WIN) ViewWindow表示   [F4] (Dump)/(List) Basicリスト表示/16進ダンプ表示切替(fx-5800P準拠モード)    (SKTCH)コマンド選択モード(fx-CG/9860G準拠モード)   [F5] (A<>a) 大文字小文字切り替え   [F6] (G<>T) グラフィックス画面とテキスト画面の切替(fx-5800P準拠モード)    (CHAR) キャラクタ選択画面(fx-CG/9860G準拠モード) [3] Getkeyコマンドのキーコードを入力します。 [6] カラーピッカーを起動します。 -[OPTN] OPTN対応コマンド入力画面(ここで選択できるコマンドがサポートされています) -[VARS] VARS対応コマンド入力画面(ここで選択できるコマンドがサポートされています) -[MENU] コマンド入力履歴(左右キーで時系列⇔入力頻度順を切り替えられます。) [AC/ON] 入力履歴を削除します。 -[SHIFT][VARS] (PRGM) PRGM対応コマンド入力画面(ここで選択できるコマンドがサポートされています) -[SHIFT][MENU] (SETUP) 各種設定 (後述)(fx-5800P準拠モード)   [F6] バージョン情報表示(fx-5800P準拠モード)             SETUP対応コマンド入力画面(ここで選択できるコマンドがサポートされています)(fx-CG/9860G準拠モード) -[ALPHA][DEL] (UNDO) 削除とPasteを一回だけ元に戻しまします。 -[EXIT] サブメニューからメインメニュー、クリップモードのキャンセル、またはファイルリスト画面に戻ります。 ------------------------------------------------------------------------------- デバッグモード編集画面 (通常エディタと違う部分) ------------------------------------------------------------------------------- -[F1](Cont):カーソル位置よりプログラムを再開します。 -[F2](TRACE):カーソル位置よりトレース実行。コマンド実行後、即エディタ画面に戻ります。 -[F3](STEPS):カーソル位置よりトレース+ステップオーバー。サブルーチンの場合は一気に実行されます。ステップ実行後、即エディタ画面に戻ります。 -[F4](S.Out):カーソル位置よりステップアウト。サブルーチンの終了まで一気に実行します。ステップ実行後、即エディタ画面に戻ります。 -[F5](L<>S):エディタリスト表示とプログラム実行画面の切替をします。切替後も実行画面が維持されるので実行画面そのまま[F1]-[F4]のデバッグ動作が可能です。 -[F6]( > ) :デバッグメニューとエディタメニューを切り替えます。実行画面(グラフィック/テキスト)の場合はファンクションメニュー表示をします。 -[EXIT] サブメニューからメインメニュー、クリップモードのキャンセル、または通常エディタ画面に戻ります。 ※デバッグモード時、ステータスラインの背景がシアンになります。 ------------------------------------------------------------------------------- プログラム実行時(ほぼCasio Basic準拠…です) ------------------------------------------------------------------------------- -[AC] プログラム実行を中止します。 [EXIT] デバッグモードのエディット画面に戻ります。カーソルは中断箇所を示します。 [←/→] デバッグモードのエディット画面に戻ります。カーソルは中断箇所を示します。 [F1] プログラムに復帰します。 [EXE] プログラムに復帰します。 ▲一時停止コマンドで停止した時(- Disp - 表示の時) -[SHIFT]   [F1] 変数画面   [F2] Mat変数画面   [F3] ViewWindow表示   [F6] グラフィックス画面とテキスト画面の切り替え -[EXE] プログラムを再開します。 ------------------------------------------------------------------------------- 行列エディタ画面 ------------------------------------------------------------------------------- ・行列一覧画面(操作方法はMat、List、Vct共通です。) ※アドレス指定で確保した行列は一覧表示で*マークが付きます。 -[F1] (DEL) 選択されている行列/リスト/ベクトルを消去します。 -[F2] (DEL-ALL) すべての行列/リスト/ベクトルを消去します。 -[F3] (DIM) 行列/リスト/ベクトルの次元、要素サイズ、インデックス開始値を設定します。 -[F4] (INITIAL) 選択されている行列/リスト/ベクトルのすべての要素を初期化します。 -[F5] (Mat#/Lst#/Vct#) 番号を指定してジャンプします。 -[F6] (A<>a) 大文字小文字(リストの場合は 1-26 と 27-52)を切り替えます。 -[EXE] 行列編集画面に入ります。(詳細後述) -[SHIFT]+[F1] (>Mat) 行列一覧に切り替えます。 -[SHIFT]+[F2] (>List) リスト一覧に切り替えます。 -[SHIFT]+[F3] (>Vct) ベクトル一覧に切り替えます。 -[OPTN] Mat<>Listの切り替えをします。 -[VARS] Mat<>Vctの切り替えをします。 -[LEFT] 26戻ります。 -[RIGHT] 26進みます。 -[SHIFT]+[UP]/[DOWN] 1ページ分スクロールします。 ・ 行列編集画面 ※行列編集モード時に[SHIFT]+[8](CLIP)でコピー、[SHIFT]+[9]でペースト出来ます。  (C.Basic)形式なのでエディタにて行列データをペースト出来ます。 ※[SHIFT]+カーソルキーで改ページ出来ます。 (数値編集モード) -[F1] (EDIT) 行列の要素を編集します。 -[F2] (GO) 要素を指定してジャンプします。 -[F3] (INITIAL) すべての要素を初期化します。 -[F4] (>x,y / >m,n) 表示形式を切り替えます。 -[SHIFT]+[F5] (>Bin / >Dec) 10<>2進数表示を切り替えます(ニブル(4ビット)、バイト(1バイト)、ワード(2バイト)型行列で有効)。 ([F5]でショートカットできます。) -[SHIFT]+[F6] (>Hex / >Dec) 10<>16進数表示を切り替えます(1ビット、複素数(16バイト)型以外で有効、実数(8バイト)型は内部データをそのまま表示)。 ([F6]でショートカットできます。) -[SHIFT]+[F2] (DotEd) 数値編集モード<>ドットエディタを切り替えます。 ([OPTN] でショートカットできます。) -[SHIFT]+[F3] (StrEd) 数値編集モード<>文字列編集モードを切り替えます。([VARS] でショートカットできます。) 以下、g3mモードのみ(1ビット行列を除く) -[SHIFT] [5] ニブル(4ビット)では4ビットカラー値を、それ以外では16ビットカラー値を入力します。 [6] 16ビットカラー値を入力します。(ニブル(4ビット)行列を除く) (ドットエディタ) ※数値編集モードとの相違点のみ説明します。 ・行列の各要素の値をカラーコードとして扱います。  1ビット行列およびg1mモードでは0が白、1が黒です。  ニブル(4ビット行列)では4ビットカラー値です。 -[F1] (0<>1) 要素の値を0<>1で切り替えます。(1ビット行列およびg1mモード) -[F1] ファンクションメニューに表示されている色に切り替えます。(g3mモードかつ1ビット行列以外)    ※既にその色である場合は黒に切り替えます。 -[SHIFT]+[F1] (↓) 選択している要素の色を [F1] に設定します。(g3mモードかつ1ビット行列以外) ------------------------------------------------------------------------------- 文字列サーチ/置換モード ------------------------------------------------------------------------------- [文字列を検索する] ・文字列を入力し、[F1](SEARCH)または[EXE]を押します。 ・次を検索するには、再度[F1](SEARCH)または[EXE]を押します。 ・[F6](RETRY)で、検索画面に戻ります。 [文字列を置換する] ・置換前の文字列を入力し、[F2](REPL)を押します。 ・次に、置換後の文字列を入力し、[F1](SEARCH)、[F2](REPL)、または[EXE]を押します。 ・次を検索するには、再度[F1](SEARCH)または[EXE]を押します。 ・置換するには、[F2](REPL)を押します。 ・すべて置換するには、[F3](ALL)または[F4](ALL+)を押します。中断するには[AC]を押します。  [F4](ALL+)では置換の途中経過を表示しません。 ------------------------------------------------------------------------------- キャラクタ選択画面 ------------------------------------------------------------------------------- ・純正より多くの文字がサポートされています。 ・[F6]でASCII、仮名、外字を入力できます。 ・[SHIFT]または[F1]〜[F6]を押すことで、連続入力ができます。 ・[OPTN]でノーマルフォント<>ミニフォントを切り替えます。 ・[VARS]で選択画面で表示するフォントをC.Basic<>OSで切り替えます。  OSのフォントで表示している間は、特殊文字をエスケープなしで入力できます。 (GB文字について) GB文字を使用できます。 ・GB文字をを使用すうるためには、SETUPページで "Edit GB Font"を "On" か "Full" に設定します。 ・その上で、[x^2]を押してGB文字入力モードに入ります。 -[F1] 先頭の0xA0**にジャンプします。 -[F2] 16ページ戻ります。 -[F3] 1ページ戻ります。 -[F4] 1ページ進みます。 -[F5] 16ページ進みます。 -[F6] 最後の0xFE**にジャンプします。 ※GB文字表示時、特殊文字を表示するためにはエスケープ(0x5C)が必要になることがあります。  エスケープ付きの文字は背景が黄色で表示されます。 =============================================================================== Casio Basicとの相違点 =============================================================================== 基本的には全く同じ動作になるように作成されていますが、動作の違う部分があります。 ・?コマンドの入力部分は1ラインのみで横スクロールします。 ・描画コマンドの直後が:(区切りコード)だと画面書換え更新をしません。(グラフィック命令、Locate,Text等) ・プログラム終了時に実行時間を表示することができます。(セットアップで設定) ・行頭やコマンド間に空白を入れてもエラーになりません。 ・コメント文の終了は改行と▲一時停止コマンドのみです。:(区切りコード)では終了となりません。 さらに同じCasio Basicが動作するプログラム関数電卓のfx-5800Pの便利な部分を取り込んでいます。 ・?コマンドで?A形式を追加サポートしています。 ・文字列出力コマンド " " の出力仕様はfx-5800P準拠とfx-9860G/fx-9860GII/fx-CG準拠を選択できます。  セットアップで設定できます。  fx-5800Pとfx-9860G/fx-9860GII/fx-CGのCasio Basic仕様の違いについては、  やす(Krtyski)様のサイトに詳細な解説がありますので参照して下さい。  https://egadget.blog.fc2.com/blog-entry-170.html =============================================================================== -[SHIFT][MENU] (SETUP) セットアップでの設定 =============================================================================== Angle :Deg/Rad/Gra Complex Mode:Real/a+bi/r∠θ Draw Type :Connect/Plot Coord :on/off Grid :on/off/Line Axes :on/off/Scale Label :on/off Derivative :on/off Background :None / Pict1〜20 Plot/LineCol:Black etc. Sketch Line :Normal/Thick/Broken/Dot/Thin ----------------------------ここまで純正Casio Basic互換です。 ------------------------------------------------------------------------------- Display :Fix/Sci/Nrm/Eng 小数以下の桁数は15桁まで。0を指定した場合は16桁となります。 Nrmに関してはNrm1とNrm2のみCasio Basic互換10桁表示仕様です。 Nrm1:0.01以下は指数表示 Nrm2:0.000000001以下は指数表示 それ以外は桁数指定となります。 Eng :ENGオフ、ENGオン(/E)、3桁区切り(/3)の切り替えとなります。 ・関連コマンド Fix,Sci,Norm,EngOn,EngOff,Eng ------------------------------------------------------------------------------- Exp Display : E / Stdx10 / Allx10     指数表示の記号を選択します。    E: -1.23e99 従来の表示形式です。 Stdx10: -1.23(x10)99 スタンダードフォントのみ切り替わります。 Allx10: -1.23(x10)99 すべてのフォントサイズで切り替わります。 ・関連コマンド '#exp 0 // 従来の表示形式です。 '#exp 1 // スタンダードフォントのみ切り替わります。 '#exp 2 // すべてのフォントサイズで切り替わります。 ------------------------------------------------------------------------------- Syntax Help : On/Off エディタでコマンドのヘルプ表示の有効/無効を設定します。 ------------------------------------------------------------------------------- SetupRecover : on/off すでにセットアップで設定してある上記の純正Casio Basic互換設定をプログラム終了後に復帰するかどうかを設定します。 ------------------------------------------------------------------------------- Command Inpt : C.Basic/Standard/>5800/>9800 コマンド入力方法をC.Basic(fx-5800P)方式とStandard(fx-9860G)方式を選択できます。 " "出力仕様をfx-5800P互換モードとFX/CG互換モードの切り替えができます。 ・関連コマンド '#58 '#98 ------------------------------------------------------------------------------- [X]character : [0x90]/[X] [X,θ,T]キーで入力できる文字を選択します。 ------------------------------------------------------------------------------- EnableExFont : on/off 外部フォントの使用を設定します。 ・関連コマンド SetFont 0 // 外部フォント無効 SetFont 1 // 外部フォント有効 ------------------------------------------------------------------------------- Edit Indent+ : Off/1/2/4 Save- 自動インデントを設定します。 Off: 自動インデントを使用しません。 1:  インデント幅を1に設定します。 2:  インデント幅を2に設定します。 4:  インデント幅を4に設定します。 Save-:保存時にインデントを含むコマンド間の空白を削除します。(=CasioBasic準拠ソースに変換します。) ------------------------------------------------------------------------------- Edit ExtFont : on/off エディタ上で外部フォント表示を使用します。 ------------------------------------------------------------------------------- Edit GB Font : on/off/Full エディタ上でのGBフォントの表示を設定します。 off:GBフォントを表示しません。通常のモードです。 on:コマンド&特殊文字と重なるF7xx,F9xx,E5xx,E6xx,E7xxのGBコードを除いて表示します。 (※文字列に0x03A8コードがあればそれ以後の文字列はFull表示になります。文字列コマンドの終了でon表示に戻ります。) Full:内蔵のすべてのGBフォントを表示します。(GBコードと重なる一部コマンドがGBフォントに化けます。) (※この設定はエディタとテキスト変換で有効になります。プログラム内での制御は以下のコマンドを使用して下さい。) ・関連コマンド '#GB0 GBフォントを表示しません。従来のモードです。 '#GB1 以後、コマンド&特殊文字と重なるF7xx,F9xx,E5xx,E6xx,E7xxを除いてGBコードとして表示します。 '#GB2 以後、内蔵のすべてのGBコードを表示します。 ------------------------------------------------------------------------------- EditFontSize : Std/Mini/MiniMini/MiniMiniFX /+Fixed pitch/+Gap 表示文字の大きさおよび行間隔を変更します。 ------------------------------------------------------------------------------- Edit LineNum : on/off 行番号表示を選択します。 ------------------------------------------------------------------------------- EditListChar : List / 反転L / ボールドL ListとMat表示を短縮表示(1文字の反転とボールド)に切り替えます。 ------------------------------------------------------------------------------- Edit-backCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー エディタの背景色を設定します。 ------------------------------------------------------------------------------- Edit-baseCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー エディタの基本色を設定します。 ------------------------------------------------------------------------------- E-NumericCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー エディタの数値表示色を設定します。 ------------------------------------------------------------------------------- E-CommandCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー エディタのコマンド表示色を設定します。 ------------------------------------------------------------------------------- Ed-QuotColor : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー エディタの文字列表示色を設定します。 ------------------------------------------------------------------------------- E-CommentCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー エディタのコメント表示色を設定します。 ------------------------------------------------------------------------------- E-LineNumCol : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー エディタの行番号表示色を設定します。 ------------------------------------------------------------------------------- Auto OverClk : on/off 自動オーバークロックを有効/無効の設定をします。 ------------------------------------------------------------------------------- Heap RAM Size : 96KB/117KB/127KB/SIZE C.Basicで使用する最大ヒープメモリサイズを指定します。 ※プログラム編集時は変更できません。 ------------------------------------------------------------------------------- Use Hidn RAM : on/off 隠しRAMをC.Basicで使用するかどうかを設定します。(fx-CG10/20は未対応です。) fx-CG50では8MBのRAMが搭載されており、そのうち6MBはOS未使用領域となっているためにこれをプログラム領域と行列領域として利用できるようにします。 ------------------------------------------------------------------------------- HidnRAM Init : on/off 隠しRAM使用時に、Mat行列&ListをC.Basic起動時に初期化するかどうかを設定します。(fx-CG10/20は未対応です。) 初期化しない場合は、Mat行列&Listの結果が消えないで残ります。 (※注意 ただし、CG50では電源オフから1時間でメモリがクリアされてしまうので、C.Basicが再起動します。) ------------------------------------------------------------------------------- Max Pict No : 20 〜20 CGシリーズでは無効です。20から変更できません。 ------------------------------------------------------------------------------- Max List No : 52 〜1040 隠しRAM使用時に、Listの上限を増やせます。 設定を変更するとPict&Mat&Listデータが初期化されます。 ------------------------------------------------------------------------------- AT DebugMode : on/off [AC]で中断した時にデバッグモードの有効/無効を設定します ------------------------------------------------------------------------------- ExitDM Popup : on/off デバッグモードから[EXIT]で抜ける場合の確認PopUpを設定します。 ------------------------------------------------------------------------------- Break Stop :on/off [AC]キーによる中断の有無。 offの場合は[AC]キーによる中断が出来ません。 ・関連コマンド '#Break0 // [AC]キー無効 '#Break1 // [AC]キー有効 (デフォルト) ------------------------------------------------------------------------------- Exec TimeDsp : on/off/%HR/on reset プログラム終了時にプログラムの実行時間を表示します。 計測開始はプログラムの最初の行からですが、途中?コマンドや一時停止コマンドがあった場合はそれまでの計測時間はリセットされます。 Getkey1/2の場合は計測が一時停止になり、コマンド実行後に再スタートします。 on resetは、Getkey1/2実行後に計測がリセットされ再スタートします。 %HR:計測に1/32768sタイマーを使います。 ・関連コマンド '#GetkeyC // Getkey1/2実行後に時間計測を一時停止、リスタートします。(デフォルト) '#GetkeyR // Getkey1/2実行後に時間計測がリセット&リスタートします。 ------------------------------------------------------------------------------- IfEnd Check : on/off IfとIfEndが一対一で対応しているかどうかをチェックします。 ------------------------------------------------------------------------------- ACBreak : on/off ACBreakコマンドの有効/無効を切り替えます。 ・関連コマンド ACBreak ------------------------------------------------------------------------------- Force Return : None/F1/EXE/F1&EXE プログラム実行中の中断でエディタに戻るかファイルリストに戻るかを選択できます。 (例)Force Return: F1 の場合、 ・ ファイルリスト画面 → [F1](EXE) → [AC] → [EXIT] …… ファイルリスト画面に戻ります。 ・ ファイルリスト画面 → [EXE] → [AC] →[EXIT] …… エディタに戻ります。 ・ ファイルリスト画面 → [F1](EXE) → [AC] → [EXE](再開) → [AC] → [EXIT] …… ファイルリスト画面に戻ります。      (初めにどちらのキーを押したかによって動作が決まります。) ------------------------------------------------------------------------------- Key 1st time : 25ms〜1000ms(デフォルト値 500ms) リピート開始までの時間 (25ms単位) Key Rep time : 25ms〜500ms(デフォルト値 125ms) リピート継続時間 (25ms単位) ------------------------------------------------------------------------------- SkipUp/Down : 1〜9999 SkipUp/SkipDownでの一回分の改ページ数を指定します。 ※改行ごとに一行増える論理行ではなく画面上での見た目上での物理行数です。 ------------------------------------------------------------------------------- Mat Dsp mode : [m,n]/[X,Y] 行列エディタ画面での表示形式を指定します。 それぞれ転置行列の関係になりますが、行列内部は何も変化なく表示上だけの指定です。 Matrix base : 0/1 行列インデックスの初期値を0か1が指定します。 初期値に0を指定した場合は、グラフィック座標が左上端の(0,0)から有効になります。 ・関連コマンド '#Mat 0 // 行列のインデックス開始値を0にします。 '#Mat 1 // 行列のインデックス開始値を1にします。(デフォルト) ------------------------------------------------------------------------------- DATE : 2017/01/17 MON TIME : 23:59:59 内蔵RTCを設定します。曜日は自動設定されます。 ・関連コマンド DATE、TIME ------------------------------------------------------------------------------- Root Folder : / ファイルアクセスの基本となるルートフォルダを設定します。 [F1]:ストレージメモリのルートフォルダに設定します。 [F2]:カレントフォルダを以後ルートフォルダに設定します。 ・関連コマンド '#R/ // ストレージメモリのルートフォルダに設定します。 '#R. // カレントフォルダをルートフォルダに設定します。 ------------------------------------------------------------------------------- Favorite Col : Black/Blue/Red/Magenta/Green/Cyan/Yellow/White/16ビットカラー ファイルリストのお気に入りの色を設定します。 ------------------------------------------------------------------------------- Auto file save : on/off 編集後、自動的に保存するかどうか設定します。 ------------------------------------------------------------------------------- Force g1m save : on/off テキストファイル編集/実行後に同時にg1m形式でも保存するかどうかを設定します。 ------------------------------------------------------------------------------- Direct GB cnvt : on/off プログラム内のGBコードをテキスト変換無しでそのままテキストファイルに保存するかどうかを設定します。 (※変換無しでテキストファイルにした場合はGB2312対応エディタではそのまま表示できます。) (※変換対象GBコードはエディタのGBコード表示モードに対応しています。) ------------------------------------------------------------------------------- Pict mode : S.Mem/Heap/Both (S.Mem) Pictファイルをストレージメモリ上に作ります。若干時間がかかります。 (Heap) Pictファイルとしては作成されずにメモリ上に互換ファイルが作成されます。(推奨設定です) (Both) HeapモードでもPictファイルが常にストレージメモリ上に作成されます。 (Clear) メモリ上に作成されるPict互換ファイルをプログラム開始時に削除します。 ------------------------------------------------------------------------------- Storage mode : S.Mem/Main Mem ファイルの保存先、ファイル操作の対象を選択します。 ------------------------------------------------------------------------------- RefrshCtl DD : off/Grph/All 描画コマンドにおける画面の更新を設定できます。 Off:リフレッシュコントロール無し。表示においては純正互換仕様です。 Grph:グラフィックコマンドのみリフレッシュコントロール有り。ClrText,Locate,Text,LocateYX," "は無しで以前のバージョン互換です。 All:すべての描画コマンドがリフレッシュコントロールされた表示となります。必要に応じてPutDispDDコマンドが必須となります。 Time:リフレッシュコントール時間を設定します。n/128秒単位で画面更新します。デフォルトは3で約1/42秒での更新となっています。    0を指定するとリフレッシュされなくなります。 ・関連コマンド RefrshCtrl/RefrshTime ------------------------------------------------------------------------------- Wait count : 0〜9999 C.Basic全体の実行速度を調整します。 ・関連コマンド Wait ------------------------------------------------------------------------------- G1M/G3M mode : Auto/g3m/g1m デフォルトのプログラムの実行モードを切り替えます。 ・関連コマンド '#G1M '#g1m '#G3M '#g3m ------------------------------------------------------------------------------- Execute mode : DBL#/INT%/CPLX デフォルトのプログラムの実行モードを切り替えます。 ・関連コマンド '#CBasic '#CBASIC '#CBDBL '#CBdbl '#CBINT '#CBint '#CBCPLX '#CBcplx =============================================================================== 謝辞 =============================================================================== プログラム内部仕様&情報は SuperH-based fx calculators (version 20) Cemetech WikiPrizm, を参考にさせていただいています。(一部プログラム引用させていただいています。) 基本ソース部分はfx-9860Gシリーズ版のC.Basicからの移植です。 CASIO公式SDK1.00に基づくminiSDK1.09によりコンパイルされています。 このツールのファイル操作部分は、 https://community.casiocalc.org/topic/6836-wsc-fvm-v12-casio-fx-9860-series-on-calc-c-compiler/ Wsc & Fvm V1.2 - Casio Fx-9860 Series On-calc C Compiler を参考にさせていただいています。(一部引用) g1mモードにおけるカナフォントはこちらのサイトよりカナフォントデータおよび表示ルーチンを引用させていただいています。 http://www.d-b.ne.jp/~k-kita/fx_sdk_005.html g3mモードの外部フォントはIPAフォントを使わせていただいております。 PierrotLL氏とNinestars作成のMonochromeLibをCG対応版として修正して使わせていただいています。 Patrick Powell氏のオリジナルsprintfを改良したsprintfソースを利用させていただいています。 純正Casio Basicとの動作互換性チェックにおいて大変有用なプログラムをたくさん掲載されているPlanet-Casioと作者の皆様に感謝いたします。 プログラム実行時の細かい動作に関しては、 やす(Krtyski)様の e-Gadget - プログラム関数電卓 プログラム電卓の濃い話: 今は fx-5800P / fx-9860GII と Casio Basicプログラミングが中心 https://egadget.blog.fc2.com/ を参考にさせていただいています。 C.Basicが誕生するきっかけとなったサイトです。 管理人様および、ガノー様(FX版)、ツル様(FX+CG版)、iron2様(CG版)、Colon様(CG版) には対応アプリの開発+バグ出しで大変お世話になっております。 いつもありがとうございます。 これからもよろしくお願いいたします。 最後にとても興味深いグラフ電卓を発売してくださったCASIO計算機(株)に感謝いたします。 このアドインプログラムが皆様のお役に立つことがあれば幸いです。 =============================================================================== ライセンス =============================================================================== このソフトウエアはフリーソフトウエアです。 ライセンスはGPLv2に準じます。 =============================================================================== ご質問、ご要望、バグ報告等 =============================================================================== やす(Krtyski)様のサイトにてC.Basic for CG プロジェクト専用エントリを作成していただいています。 C.Basic for CG 開発が始動 https://egadget.blog.fc2.com/blog-entry-630.html C.Basic for CG 開発が始動 - Part 2 (Ver 0.38α以降) https://egadget.blog.fc2.com/blog-entry-658.html C.Basic for CG 開発が始動 - Part 3 (Ver 0.56α以降) https://egadget.blog.fc2.com/blog-entry-664.html ご質問、ご要望、バグ報告等ありましたらコメント欄にて随時受け付けています。 UCF (C.Basic - International Release) https://community.casiocalc.org/topic/7637-cbasic-international-release/ Planet-Casio (C.Basic Projets) https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html =============================================================================== 更新履歴 =============================================================================== ChangeCG_J.txtを参照して下さい。