インサイドCasio Basic

 目 次
< English | 日本誤 > 

記載内容は fx-5800P、fx-9860GII、fx-CG20、fx-CG50で確認したものです.
本プロジェクトは進行中のため、追記修正があるかも知れません.

取扱説明書に書かれていない重要な内容には UNDOCUMENTED マークを付けています.



取扱説明書に書かれていないCasio Basic

表示エリア UNDOCUMENTED
多様なグラフィックス座標系 UNDOCUMENTED
内部カーソル行の制御 UNDOCUMENTED


コマンドリファレンス
*1) 機種: "5800" (fx-5800P)、"9860" (fx-9860Gシリーズ OS 2.00以降) 、"CG" (fx-CG10/20/50).
 
基本動作コマンド機種 *1)
  (代入)5800, 9860, CG
" " (テキスト表示)5800, 9860, CG
(表示と一旦停止)5800, 9860, CG
? (入力)5800
?→ (入力)5800, 9860, CG
 
入出力コマンド機種 *1)
Getkey5800, 9860, CG
Locate5800, 9860, CG
Menu9860, CG
 
プログラムコマンド機種 *1)
If... Then... [Else...] IfEnd5800, 9860, CG
For... To... [Step...] Next5800, 9860, CG
While... WhileEnd5800, 9860, CG
Do... LpWhile5800, 9860, CG
 
プログラム制御コマンド機種 *1)
Break5800, 9860, CG
Return5800, 9860, CG
Stop5800, 9860, CG
Prog5800, 9860, CG
 
ジャンプコマンド機種 *1)
Goto... Lbl5800, 9860, CG
5800, 9860, CG
Isz5800, 9860, CG
Dsz5800, 9860, CG
  
関係演算子機種 *1)
=, ≠, <, >, ≤, 5800, 9860, CG
 
論理演算子機種 *1)
And, Or, Not5800, 9860, CG
Nor9860, CG
 
記述コード機種 *1)
: (区切りコード)5800, 9860, CG
' (コメント文指定)9860, CG
  
変 数機種 *1)
アルファベット (大文字)5800, 9860, CG
配列: DimZ, Z[ ]5800
行列: Dim, Mat, Det, Trn, Fill, ...5800, 9860, CG
List: Dim, List, Fill, Min, Max, ...5800, 9860, CG
 
表示設定 (テキスト)機種 *1)
Cls (テキスト)5800
ClrText (テキスト)9860, CG
Eng9860, CG
EngOn, EngOff5800, 9860, CG
Norm5800, 9860, CG
Sci5800, 9860, CG
Fix5800, 9860, CG
Deg, Rad, Gra
°, r (rad), g (gra), DMS5800, 9860, CG
f, p, n, μ, m5800, 9860, CG
k, M, G, T, P, E5800, 9860, CG
 
文字列操作コマンド機種 *1)
Str, StrJoin, StrLen, StrCmp5800, 9860, CG
StrSrc, StrLeft, StrRight, StrMid5800, 9860, CG
ExpStr, Exp, StrUpr, StrLwr5800, 9860, CG
StrInv, StrShift, StrTorate, \, +5800, 9860, CG
  
グラフィックス設定機種 *1)
ClrGraph9860, CG
ViewWindow9860, CG
StoV-Win9860, CG
RclV-Win9860, CG
Xmin, Xmax, Xdot, Xscl9860, CG
Ymin, Ymax, Yscl9860, CG
 AxesOn, AxesOff9860, CG
AxesScaleCG
 GridOn, GridOff9860, CG
GridLineCG
 LabelOn, LabelOff9860, CG
CoordOn, CoordOff9860, CG
S-L-Normal, S-L-Thick, S-L-Dot, S-L-Broken9860, CG
S-L-ThinCG
Plot/Line-ColorCG
  
グラフィックス Sketch コマンド機種 *1)
Cls (グラフィックス)9860, CG
ClrGraph9860, CG
Text9860, CG
PxlOn9860, CG
PxlOff9860, CG
PxlChg9860, CG
PxlTest(9860, CG
Plot9860, CG
Line9860, CG
PlotOn9860, CG
PlotOff9860, CG
F-Line9860, CG
Vertical9860, CG
Horizontal9860, CG
Circle9860, CG
SketchNormal, SketchThick, SketchDot, SketchBroken9860, CG
SketchThinCG
StoPict9860, CG
RclPict9860, CG
Black, Blue, Red, Magenta, Green, Cyan, YellowCG
 
 






Copyright (C) 2013 Krtyski / egadget.blog.fc2.com  All Rights Reserved.


関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

Inside Casio Basic

 Inside Casio Basic - Index
< English | 日本語

Content is checked by fx-5800P, fx-9860G Sreis (OS 2 or later) and fxCG10/20/50 (OS 2 or later).
This is on-going project, any changes may be made.



Undocumented Casio Basic
 - Display Area UNDOCUMENTED
Variety of Coordinate Systems for Graphics UNDOCUMENTED
Control of Internal Cursor Row UNDOCUMENTED



Command Reference

*1) Models: "5800" (fx-5800P), "9860" (fx-9860G Series OS 2.00 or later) and "CG" (fx-CG10/20/50).
 
Basic Operation CommandsModels *1)
  (Substitution)5800, 9860, CG

" " (Text Display)5800, 9860, CG
 (Display & Pause)5800, 9860, CG
? (Input)5800
?→ (Input)5800, 9860, CG
 
I/O CommandsModels *1)
Getkey5800, 9860, CG
Locate5800, 9860, CG
Menu9860, CG
 
Program CommandsModels *1)
If... Then... [Else...] IfEnd5800, 9860, CG
For... To... [Step...] Next5800, 9860, CG
While... WhileEnd5800, 9860, CG
Do... LpWhile5800, 9860, CG
 
Program Control CommandsModels *1)
Break5800, 9860, CG
Return5800, 9860, CG
Stop5800, 9860, CG
Prog5800, 9860, CG
 
Jump CommandsModels *1)
Goto... Lbl5800, 9860, CG
5800, 9860, CG
Isz5800, 9860, CG
Dsz5800, 9860, CG
  
Relational OperatorsModels *1)
=, ≠, <, >, ≤, 5800, 9860, CG
 
Logical OperatorsModels *1)
And, Or, Not5800, 9860, CG
Nor9860, CG
 
Description CodesModels *1)
: (Multi-statement code)5800, 9860, CG
' (Comment Text Delimiter)9860, CG
  
VariablesModels *1)
Alphabets (Capital Letters)5800, 9860, CG
Array: Dim, Z[ ]5800
Matrix: Dim, Mat, Det, Trn, Fill, ...5800, 9860, CG
List: Dim, List, Fill, Min, Max, ...5800, 9860, CG
 
Display Setup (text)Models *1)
Cls (Text)5800
ClrText (Text)9860, CG
Eng9860, CG
EngOn, EngOff5800, 9860, CG
Norm5800, 9860, CG
Sci5800, 9860, CG
Fix5800, 9860, CG
Deg, Rad, Gra5800, 9860, CG
°, r (rad), g (gra)DMS5800, 9860, CG
f, p, n, μ, m5800, 9860, CG
k, M, G, T, P, E5800, 9860, CG
  
StringsModels *1)
Str, StrJoin, StrLen, StrCmp5800, 9860, CG
StrSrc, StrLeft, StrRight, StrMid5800, 9860, CG
ExpStr, Exp, StrUpr, StrLwr5800, 9860, CG
StrInv, StrShift, StrTorate, \, +5800, 9860, CG
 
Graphics SetupModels *1)
ClrGraph9860, CG
ViewWindow9860, CG
StoV-Win9860, CG
RclV-Win9860, CG
Xmin, Xmax, Xdot, Xscl9860, CG
Ymin, Ymax, Yscl9860, CG
 AxesOn, AxesOff9860, CG
AxesScaleCG
 GridOn, GridOff9860, CG
GridLineCG
 LabelOn, LabelOff9860, CG
CoordOn, CoordOff9860, CG
S-L-Normal, S-L-Thick, S-L-Dot, S-L-Broken9860, CG
S-L-ThinCG
Plot/Line-ColorCG
  
Graphics Sketch CommandsModels *1)
Cls (Graphics)9860, CG
ClrGraph9860, CG
Text9860, CG
PxlOn9860, CG
PxlOff9860, CG
PxlChg9860, CG
PxlTest(9860, CG
Plot9860, CG
Line9860, CG
PlotOn9860, CG
PlotOff9860, CG
F-Line9860, CG
Vertical9860, CG
Horizontal9860, CG
Circle9860, CG
SketchNormal, SketchThick, SketchDot, SketchBroken9860, CG
SketchThinCG
StoPict9860, CG
RclPict9860, CG
Black, Blue, Red, Magenta, Green, Cyan, YellowCG
 
 


Copyright (C) 2013 Krtyski / egadget.blog.fc2.com  All Rights Reserved.



続きを読む

関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

プログラムライブラリ - キーコード取得

プログラムライブラリ
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します
2014/12/19 更新: fx-9860GII 専用プログラム追加
2015/02/28 更新: g1mファイルのダウンロード追加
2016/04/26 更新: g3mファイルのダウンロード追加


キーコード取得: GET KEYCODE / KEYCODE

※ fx-9860GII 用 g1mファイルのダウンロード・リンク追加 [2015/02/28]
※ fx-CG20 / fx-CG50 用 g3mファイルのダウンロード・リンク追加 [2016/04/26]


著作権者

やす (Krtyski)
[当ブログ管理人]



対応機種

Casio fx-5800P、fx-9860GII、fx-CG20、fx-CG50 (そしておそらく fx-FD10 Proも対応すると思われます)

GET KEYCODE は、fx-5800P、fx-9860GII および fx-CG20 / fx-CG50 で100%互換性があります。fx-FD10 Pro でも動作すると思われます。

KEYCODE は、fx-9860GII 専用プログラムで、C言語用 Casio SDK で使う Bkey_GetKeyWait( ) 関数の code1 と code2 を併せて表示する機能を追加したもの。fx-9860GII の広い画面に合わせて表示も変更しています。fx-CG20 / fx-CG50 へも100%互換で移植できます。



プログラム GETKEYCODE の説明

fx-5800P や fx-9860GII, fx-CG20/10/50、fx-FD10 Pro などに搭載されている Casio Basic には、どのキーが押されたかを知るための Getkey コマンドが用意されています。数字以外のキーが押されたことも分かるので、プログラミングの幅が広がります。Casio Basic を優れたものにしている1つが Getkey です。

Getkey コマンドを使えば、[AC] キーを除く全てのキーに対して個別に割り当てられたキーコードが得られます。

このキーコードは取扱説明書に記載されていますが、手元に取扱説明書が無い場合は、すぐにキーコードを調べられる本プログラムが役立ちます。

本プログラム作成方法の詳細については、Casio Basic 入門3 ~ 8 を参照。

 ・ Casio Basic入門3



プログラムの使い方

プログラムを起動すると、キー入力待ちになります。ここで、[AC] キーを除くいずれかのキーを押すと、対応するキーコードが表示されます。[AC] キーはプログラム終了に使います。



動作画面

起動時およびキー入力待ちの状態
GK_5800_1 GK_9860_1  


[DEL] キーを押した時
 GK_5800_2 GK_9860_2  

同じキーでも機種が違うとキーコードが異なる。



ソースコード (GET KEYCODE / GETKEY)

※ fx-5800P用に作っていますが, fx-9860GII や fx-CG20 / fx-CG50でも動作します。
注)fx-5800Pはファイル名に12文字まで使えますが、
  fx-9860GII や fx-CG20 / fx-CG50では最大8文字です。
  そこで、fx-9860GII や fx-CG20 / fx-CG50では、私はファイル名を GETKEY としています。

  GetKeycode_src 

注1) 一番上の行の "  GET KEYCODE" の冒頭はスペース2個
注2) 下から3行目の Locate 1,1,"KEYCODE =     " の = の後ろはスペース4個



ソースコード (KEYCODE) fx-9860GII 専用 [fx-CG20 / fx-CG50でも動作]

プログラムファイル keycode.g1m のダウンロード
プログラムファイル keycode.g3m のダウンロード

Casio Basic のキーコード表示と共に、C言語用 Casio SDK の Bkey_GetKeyWait( )関数の code1 と code2 を併せて表示。

KeyCode_src for fx-9860GII 

注3)下から6行目の "KeyCode ="の = 以降はスペース12個
注4) 下から3行明の Locate 15,3,"  " はスペース2個

起動した直後
KeyCode for 9860 Start 

分数キーを押した時
KeyCode for 9860 KeyCode 




応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


  


keywords: fx-5800PCasioBasic、プログラムライブラリプログラム関数電卓

リンク集 | ブログ内マップ


関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

Casio Basic入門2

Casio Basic入門
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します.
最終:2016/04/23


3. fx-5800P CasioBasicの コマンド一覧

fx-5800P Casio Basic の主なコマンド

(1) 入力
 ・入力命令:?
 ・Getkey

(2) 出力
 ・出力命令:
 ・文字列出力: "   "
 ・Cls
 ・Locate

(3) 代入
 ・代入:

(4) ジャンプ
 ・Goto / Lbl 
 ・Dsz / Isz 
 ・ 

(5) 条件分岐
 ・If 文: If ~ Then ~ Else ~ IfEnd 

(6) ループ(繰返し)
 ・Goto / Lbl
 ・Do 文: Do ~ LpWhile 
 ・While 文: While ~ WhileEnd 
 ・For 文: For ~ To (~ Step) ~ Next 

(7) 関係演算
 ・= / / > / / < /

(8) 論理演算
 ・And / Or / Not

(9) 配列変数
 ・Z[ ]

(10) リスト
 ・List

(11) 行列
 ・MAT
 ・det( )
 ・Trn( )
 ・MAT A-1
 など

(12) 実行制御コマンド
 ・Prog
 ・Break
 ・Return
 ・Stop

(13) 各種関数
 ・Int( ) / Frac( )
 ・log( )
 など

(14) 出力設定コマンド
 ・EngOn / EngOff
 ・Norm / Fix / Sci
 など


※ CasioBasic 特有のものは、入力:?出力:代入:ジャンプ命令:Dsz / Isz / ⇒ です。これらの中で、特にジャンプ命令は、非常に利用価値の高いものです。


さて、多くのプログラミング言語と比較すると、fx-5800P のCasioBasic で覚えるべき項目は、とても少ないのです。と言うのも、一般的にパソコンでプログラミングを覚えるには、WindowsなどのOSの動作に関する知識、APIやMFC、様々な機能の多層構造などを知らなくてはなりません。プログラミングの本質を覚える前にギブアップとなりやすいのです。

プログラミングの基本は fx-5800P の CasioBasic に凝縮されていると言えます。

[2016/04/23 追記]
fx-9860GII、fx-CG20 を入手し、これらの Casio Basic についても調べています。機種が異なれば、ハードウェアの違いなどから Csio Basic も少し違ったものになっています。グラフィックスに関しては、fx-9860GII について詳しく調べて Casio Baisc入門 G01~G14 で紹介しています。そして、fx-CG20 までを含めて Casio Basic の互換性について調べました。

Casio Basic - 機種別の互換性

これを見て改めて思うことは、機種間の互換性がかなりのレベルで保たれていて、fx-5800P の Basic Basic が基本になっているということです。Casio Basic 入門には 価格面で入手し易い fx-5800P が適していると言えます。

グラフィックスの描画速度が、fx-CG20 よりも fx-9860GII が速いので、グラフィックスまで含めれば、そして余裕があれば、¥10,000 ~ ¥20,000 程度の fx-9860GII が入門機として良いかも知れません。グラフィックス・プログラミングをしないのであれば、fx-CG20 も入門機として問題ないと思いますが、fx-9860GII と同様に価格が気になります。


「CasioBasic入門」では、実際にプログラムを作りながら、これらのコマンド類を解説してゆく予定です。作って面白いプログラムを題材に取り上げたいと考えています。基本は fx-5800P 向けの内容ですが、fx-9860GII への移植についても触れています。


Casio Basic 入門と並行して、コマンドリファレンスも作っています。

⇒ CasioBasicコマンドリファレンス: 目次 (随時拡充中)

当初 fx-5800P 向けに書いていますが、fx-9860GII や fx-CG20 への適用についても、順次付記してゆく予定です。




4. CasioBasicを使ってみる

実際に手を動かしてプログラムを作ってみることが、プログラミングのスタートです。そして、正しく動作する簡単なプログラムを改良することが、プログラミング習得の最短の道だと思います。

そこで、実際にプログラムを一緒に作りながら、ゆっくりと確実に進めてゆきます。



Chapter 0
プログラム作成・実行の操作ポイント

多くの場合、電源を入れると以下のCOMPモードの画面になります。

Compモード 

fx-5800P は電源を切った時の状態が保存され、次に電源を入れた時に保存された状態で画面表示されます。従って電源を入れた時、上記のCOMPモードでない可能性もあります。

fx-5800P では、左上にある [MODE] キーが操作の起点となります。どのような状態であっても、[MODE] キーを押すと必ず以下に示すモード選択画面になります。

ch1-ModeSelect 

このモード選択画面では、メニュー番号を入力する以外に、この画面からの遷移はできません。

通常の電卓の画面にするには、[1] (1:COMP)、プログラムモードにするには、[5] (5:PROG) とします。

[5] (5:PROG) を選ぶと、以下の Program Menu 画面になります。

TC7-ProgMenu 

この Program Menu 画面から抜けるには、[MODE] キーを押してモード選択を行います。

プログラムの作成、実行、編修は、全てこの Program Menu 画面を起点に操作します。
プログラムの作成、実行、編修中に、[EXIT] キーを何回か押せば、必ず Program Menu に戻ります。


プログラムの作成、実行、編修でポイントとなる画面は、以下の4つです;

1) Program Menu 画面: [EXIT] キーを何回か押せばここに戻る

TC7-ProgMenu 


2) Prog Edit 画面: Program Menu から [3] (3:EDIT) で編修するプログラムを選択

TC7-ProgEdit 


3) Prog List 画面: Program Menu から [2] (2:RUN) で実行するプログラムを選択

TC7-ProgList 


4) プログラム編修画面: プログラムの作成、編修を行う

TC3-5 


先ずは fx-5800P の取り扱い説明書 の88ページ以降の説明を読みながら、実際に操作をしてみてください。また、ハードカバーの裏側に説明のあるステッカーが貼ってありますので、それも少しは参考になります。

1. 最も多用するキー
プログラムの編集画面が表示されている時は、

[FUNCTION] キー

[EXIT] キー

[MODE] キー


を押すと、必要なメニューが出てきます。これら3つのキーから始まる操作で、プログラム作成作業の殆どを行えます。


1.1 [FUNCTION] キー
これを押すと出てくるメニューのうち、最も多用するのが、「3:PROG」メニューと、「1:MATH」です。ここから Casio Basic のコマンドを選んで、編集画面でコマンドを書き込みます。

1.1.1 [1] (1:MATH) メニュー
様々な関数を選択して、プログラム編集画面に書き込めます。さらに、ミリ(m)、マイクロ(μ)、キロ(k)、メガ(M)といった、3桁区切りの接尾記号も、その本来の意味で使えます。例えば1000と書く代わりに1kと書けます。
また、"  " で括られた中には、数字やアルファベット以外にも、表示すべき文字列を書き込めますが、「1:MATH」メニューから文字として書き込むこともできます。

1.1.2 [3] (3:PROG) メニュー
ほぼ全てのコマンドを、このメニューから選んで書き込めます。
また、"  " で括られる中には、数字やアルファベット以外にも、表示すべき文字列を書き込めますが、「3:PROG」メニューから文字として書き込むこともできます。例えば、"<EXE>" などという表示は、「3:PROG」 メニューから、大小関係を判定する <> を選んで文字として使えます。


1.2 「EXIT] キー
1つ前の表示に戻るために使います。分からなくなったら、[EXIT] キーを何度か押せば Program Menu へ戻ります。


1.3 [MODE] キー
Program Manu から抜けて、関数電卓の画面へ戻る時には、[1] (1:COMP) を選びます。
もし、うっかり [MODE] を押してしまうことがありますが、そこで出てくるメニューから [5] (5:PROG) を選べば、プログラム編集画面へ戻れます。この場合でも、作業中の内容はj保存されています。



2. プログラム実行の手順

作成したプログラムを実行するには、2つの方法があります。

Program Menu 画面からのプログラム実行
COMPモードからのプログラム実行: [FILE] キー


2.1 Program Menu 画面からのプログラム実行
Program Menu 画面で、[2] (2:RUN) を選び、ここで表示される Prog List からプログラムを選べば、実行できます。

2.2 COMPモードからのプログラム実行: [FILE]キー
[MODE] [1] (1:COMP) で遷移する、通常の電卓画面(COMP モード)で、プログラムを実行したい時に [FILE] キーを押します。そこで現れるプログラムリストから、プログラムを選んで実行します。


2014/01/21追記: 上記いずれの方法においても、プログラムリストが表示されている時、目的のプログラム名の頭のアルファベットを入力すると(例えば "P")、そのアルファベット("P")で名前が始まるプログラム名にジャンプします。もし "P" で始まるプログラムが無い場合は、アルファベット順で "P" よりも後ろの文字で始まるプログラム名までジャンプします。
プログラムリストが表示されている時はアルファベット入力モードになっているので、例えば "P" で始まるプログラムへジャンプさせるには、[ALPHA] キーを押さずに、いきなり [6] キー(このキーの右上にピンク色で "P" と印刷されています)を押すだけのワン・アクションなので、便利です。


3. アルファベットや数字の入力

[ALPHA] キー と [SHIFT] キーを使って、通常入力モード、ALPHAモード、SHIFTモードを切り替えて入力します。

[ALPHA] を押すと、画面左上に A が表示され、ALPHA入力モードになっていることを示し、キーの右上にピンク色で印刷されているアルファベットや記号を入力できます。但し、キーを1つ入力する前に必ず [ALPHA] を押す必要があります。[ALPHA] をもう一度押すと、画面左上の A  が消え、キーに白で印刷されている数字や関数などを入力できます(通常入力モード)。

[SHIFT] を押すと、画面左上に S  が表示され、SHIFT入力モードになっていることを示し、キーの左上にオレンジ色で印刷されている記号や関数を入力できます。もう一度 [SHIFT] を押すと、画面左上の S  が消え、キーに白で印刷されている数字や関数などを入力できます(通常入力モード)。

[SHIFT] を押してから [ALPHA] を押すと、画面左上に A のみが表示され、ALPHA入力モードであることを示し、ALPHAモードで入力できるアルファベットや記号を、連続して入力できます。いちいちキー一つごとに [ALPHA] を押す必要がありません。


これで、プログラムを作成する準備ができました。


つづく...

⇒ CasioBasic入門3 / 目次




応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


カシオプログラム関数電卓 FX-5800P-Nカシオプログラム関数電卓 FX-5800P-N
(2006/09/22)
CASIO(カシオ)

商品詳細を見る


keywords: fx-5800PCasioBasicプログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ

関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

fx-CG20 の高速化 - Ptune2 の導入

2016/04/23

画像と文章が重なっている場合は、ページを再読込してください(最近この問題が発生しています)。

fx-9860GIIfx-CG20_M 
はじめに

カシオのグラフ関数電卓 fx-CG20 は、fx-9860GII で動作する Casio Basic プログラムの移植性が高く、fx-9860GII から fx-CG20 へのプログラムファイルの転送が簡単にできで、転送してそのまま動作するプログラムもあります。fx-CG20 の最大の特徴は、高精細カラー液晶が搭載されていることでしょう。

そこで、fx-CG20 を fx-5800P や fx-9860GII と比較しながら fx-CG20 の概要 にまとめています。ここでは、オーバークロックを行ってプログラムの処理速度の比較も行っています。

さらに、fx-5800P、fx-9860GII、fx-CG20 の Casio Basic の互換性について Casio Basic - 機種別の互換性 でまとめています。


fx-CG20/10 用のオーバークロック・アドイン Ptune2 は、fx-9860GII 用 Ftune2 を紹介している fx-9860GII のオーバークロック -Ftune2 - からダウンロードできます。



fx-CG20 と fx-9860GII


fx-CG20 を使ってみると、計算処理速度やグラフィックス描画速度が fx-9860GII に比べてかなり遅いことに気付きます。表現力の高い高精細カラー液晶を搭載しているだけに、物足りなさを感じます。


fx-CG20 のアドイン機能

アドイン機能は電卓に新たなプログラムを導入して使うもので、fx-CG20 にもアドイン機能があります。そこで、fx-CG20/10 専用のアドイン Ptune2 で、処理の高速化が可能です。


fx-CG20 の高速化

Casio Basic プログラムを速く動作させるには、ロジックの見直しなどを最初に考えるべきですが、それも限度があります。手っ取り早く高速化するには、そもそも電卓の動作速度を向上すれば良いわけです。そこで役立つのが、 fx-CG20/10 の処理速度を大幅に向上させる、Ptune 2 というアドインプログラムです。

Ptune2 は、当ブログの読者のお一人 sentaro様の作品です。fx-CG20/10 のCPUは、実際の能力よりもかなり低い状態で使われていて、実際の能力を引き出すことで処理速度を高速化するのが、このアドインの仕事です。

sentaro様のオーバークロック・アドインは、以下のカシオのグラフ関数電卓に対応しています。
  • Ftune: fx-9860G、fx-9860GII USB POWER GRAPHIC (いずれもCPUに SH3 を使った製品)
  • Ftune2: fx-9860GII USB POWER GRAPHIC 2 (fx-9860GII はマイナーアップデートしている)
  • Ptune2: fx-CG20、fx-CG10 Prizm (北米専用モデル)
Ptune2 を使うと、fx-CG20/10 はオリジナルの4~5倍の高速化が可能になり、計算量の多いプログラムやグラフィックスプログラムの実行に、このアドインの最大のメリットがあります。


Ptune2 利用の前に

オーバークロックを行う場合の注意事項があります。詳しくは下記記事の オーバークロックとはどのようなものか? を必ずお読み下さい。簡単に言えば、メーカー保証外の使用方法なので、オーバークロックに起因する不具合は保証対象外になります。
fx-9860GII のオーバークロック - Ftune2 -


それでも Ptune2 を紹介する理由

Ptune2 は、海外でも取り上げられており、世界で愛好者が増えています。
その最大の理由が、できるだけ安全に利用できる配慮がされていることです。そして、これまで作者の sentaro様との11ヶ月間以上のやりとりから、プログラミングスキルと、プログラム作成に関する考え方、プログラミングへの取り組む姿勢、そしてお人柄が分かるにつれ、このアドインの安全性への配慮には疑いがないと考えています。

sentaro様の発言は、当ブログ、高機能電卓の情報、Universal Casio Forum 、CEMETECH、に残っていますので、気になる方はじっくりとお読みください(Universal Casio Forum や CEMETEC では sentaro21 というハンドルネームをお使いです)。

オーバークロックには避けられないリスクがあるわけですが、それでも Ptune2 を改めて紹介するのは、この作者個人への信頼性が最大の理由です。Ptune2 は、プリセットされた最大クロックで使う限り、リスクがかなり低いと言って良いと思います。但し、メーカー保証外の機能を引き出すわけで、リスクがゼロではなく、利用者の責任でお使い頂くのは、絶対条件です。

このアドインの性格を正しく理解して、正しく使ってください。


Ptune2 を使ってみよう

先ずは、電卓に保存されているデータやプログラムを全てバックアップしておき、電卓をリスタートしたり工場出荷状態にリセットした後に、データやプログラムを元に戻せるように準備することが最も重要です。

  1. fx-CG20/10 と PC をリンクする: 付属の USBシリアルケーブルでPCと fx-CG20 を繋ぐと、fx-CG20/10 のメモリが、PCの外部ドライブとして認識されます。ファイルのやりとりは、PC上のファイル処理で行えます。
  2. データのバックアップ: PCとリンクした後、fx-CG20/10 のメインメモリ保存メモリの両方のバックアップをPCに保存します。
  3. ダウンロードPtune2 をダウンロードします。間違って FtuneFtune2 をダウンロードしないように!
  4. インストール: PCとリンクした状態で、ダウンロードした Ptune2.g3a を fx-CG20/10 にコピーします。詳しくは、fx-CG20/10 ソフトウェア バージョン 2.02 取扱説明書の第13章 - データ転送 を参照のこと。
  5. MAIN MENU: fx-CG20/10 で [MENU] キーをクリックして MAIN MENU 画面を表示します。
  6. Ptune2 起動: MAIN MENU 画面で、Ptune2 のアイコンを選んで Ptune2 を起動します。
  7. メモリチェック: 始めて起動すると自動的にメモリチェックが始まります。安全対策の1つです。
  8. ノーマルクロック: ノーマルクロックが 58.98MHz と表示されます。
  9. オーバークロック:  [F5] キーを押すと 191.69MHz と表示されます。これでオーバークロック終了です。
  10. MAIN MENU[MENU] キーを押して MAIN MENU に戻ります。
しばらくプログラムを走らせてみたり、その他の電卓の機能を使ってみて、画面表示や、キーの応答性などに異常が無いことを確認します。


さらに高速化してみる
私の事例では、現在使用している fx-CG20 は、オーバークロックで 243.30MHz で動作させています。機種個別に注目点が異なりますので、さらに高速化したい場合の疑問点については、コメント欄でご質問ください。
作者の sentaro様からの回答が貰えるかも知れません。

私の場合は、安全動作できる最高クロックより1段低いところで使う方針にしています。

私の使用機では、250.68MHz で動作するので、一段低い243.30MHz で使うようにしています。
具体的には、Ptune2 を起動して、[SHIFT] [MENU] で出てくる 安全設定メニューで、以下のようになっています。

ROM margin: 3%
RAM margin: 3%
PLL CLK Max: 800.00MHz
CPU CLK max: 250.00MHz
Shw CLK Max: 180.00MHz
Bus CLK Max: 180.00MHz
I/O CLK Max: 24.00MHz
Start MemCK: on
F1 Yes/No: off
Wait Auto -: on
RAM WW Auto: on
ROM IWW At-: on
PFC Auto Up: on
FLL Diso: on
Batt Disp: on

主に、下線の値を変更します。
この設定は、これ以上の厳しい設定が出来なくするためのもので、Ptune2 の安全対策の1つです。
[EXIT] キーを押してメイン画面に戻ってから、[F1] キーでこの設定を保存しておきます。
そして、メイン画面でまず [F5] キーで 191.69MHz にしてから、右矢印キーを押してクロックを上げて行きます。そしてこの設定以上の値にはできないようになっていることを確認しましょう。

電卓個体によって、設定は変わってきますので、デフォルトの [F5] (191.69MHz) より高いクロックに設定する際は、注意が必要です。
何かおかしくなって、リスタートして元に戻るのなら、多くの場合大丈夫のようです。万一 ROM が書き換えられたり消去されると、電卓が起動できなくなり回復不可能になります。

デフォルトの [F5] の 191.69MHz で使えばかなり安心できますので、先ずはここから高速化の世界を体験してみてください。



アマループ

オーバークロックは電力消費が激しいので、2~3日で LOW BATTERY になってしまいます。そこで、ニッケル水素充電池をお勧めします。初期は乾電池よりも電圧が高いのがニッケル水素電池ですが、fx-9860GII では問題なく使えます。

私は、Amazonブランドのエネループ(アマループ(^^;)を愛用しています。富士通グループのFDK株式会社製で、性能は三洋電機が以前製造していたエネループと同等です。三洋電機から正式に製造移管(売却)されて製造していますので、三洋電機製と同等の性能や品質なので、安心しています。特に最新の最高性能である必要もなく、とにかく安い(Panasonic製の半値近い)アマループが気に入っています。

エネループはニッケル水素電池の一種ですが、お勧めの記事;
エネループを購入するときに候補にしたいアマゾン版エネループ、通称『アマループ』ができるヤツ。
アマゾンのエネループ、通称アマループを買ってみた

さらに、詳しく興味があれば以下が面白いです;
第10回:ニッケル水素電池はどれを使えば良い?国内メーカーガチンコ対決!【前編】


アマゾンでは、本日時点で、単四8本パックで、¥1,380 と、市販のエネループの半額近くなっています。
⇒ Amazonベーシック 充電式ニッケル水素電池 単4形8個パック (最小容量750mAh、約1000回使用可能)

私は、充電した4本を常に準備しています。海外出張などでは、8本を持ち歩きます。
1000回充電可能と謳っていますが、経験的には300回程度で充電容量が低下しますが、300回ということは1年以上使える計算で、それが690円(4本分)なので、これで十分でしょう。


補間や持ち歩き用の電池ケースは以下を使っています。
★クリア★単3形&単4形電池兼用電池ケース。単3、単4兼用!収納保管ケースエネループ・エネロング等の充電池の保管に最適!単3形電池なら4本まで単4電池なら5本まで収納可能パーテーション(間仕切り)で電池を固定!

1個99円ですが、配送料が82円かかるので、4つほどまとめて購入しています。このケースは繋げて使えるので便利です。


充電器は、4本同時に充電できて、1本づつ充電状態を制御&表示できる機能のあるものを強く勧めます。私は既に持っていた Panasonic のENELOOP PRO 用の、単三/単四向け充電器を使っています。これで、アマループを含めた全てのニッケル水素充電池に対応するので、敢えてグレードの高いものを購入しました。出張時には持って行きます。





応援クリックをお願いします。励みになるので...


人気ブログランキングへ


FC2ブログランキングへ







keywords: fx-9860GIICasioBasic

リンク集 | ブログ内マップ





関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

Casio Basicコマンドリファレンス

Casio Basic
コマンドリファレンス

Casio fx-5800P と fx-9860GII、fx-CG20 で確認をとっています。Casio fx-FD10 Pro では互換性はあると考えられますが、実機で確認していないので「可能性」としてご覧ください。
※随時拡充してゆきます
最終:2016/04/23


目 次


◆ 入力
      ? 
      Getkey

◆ 出力
     
      "  "

◆ 代入
     

◆ 画面表示
      Locate
      Cls

◆ 条件分岐
      If文: If ~ Then (~ Else) ~ IfEnd

◆ ジャンプ
      Goto / Lbl
      Dsz命令
      Isz命令
      ⇒命令

◆ ループ(繰り返し)
      Lbl / Goto
      Do文 (Do ~ LpWhile)
      While文 (While ~ WhileEnd)
      For文 (For ~ To (~ Step) ~ Next)

◆ 関係演算
  = / ≠ / > / ≧ / < / ≦

◆ 論理演算
  Or / And / Not

配列変数 (fx-5800Pのみ)

◆ リスト
  List [  ]

◆ 行列計算 (fx-5800P)

◆ 実行制御
  Prog
  Break
  Return
  Stop

◆ 各種関数
  Int / Frac
  log()


◆ 計算結果の出力設定 
  EngOn / EngOff / Eng
  Norm 

グラフィックスコマンド [fx-9860GII]
  ※ 探索集のグラフィックスコマンドをまとめたもの
  ※ コマンドリファレンス作成中





応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ

  

商品詳細を見る

keywords: fx-5800PCasioBasicプログラミング入門プログラム関数電卓

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

プログラムライブラリ - ピタゴラス数

プログラムライブラリ
<目次>

誤字脱字・記載ミスや分かりにくい表現は随時追記・修正します
更新:2017/08/05


ピタゴラス数探索プログラム: PYTHAGORAS


著作権者

やす (Krtyski)
[当ブログ管理人]



対応機種

・Casio fx-5800P
・Casio fx-9860GII、fx-CG20、fx-CG50 (キーコードおよび Locateで設定する座標を変更)

※ Casio fx-FD10 pro は fx-9860GII 用プログラムで動作すると思われる



プログラムの説明

a2 + b2 = c2 となる自然数の組 (a, b, c) をピタゴラス数という。なかでも a, b, c の最大公約数が 1 の時原始ピタゴラス数という。本プログラムはピタゴラス数の以下の性質を利用して、原始ピタゴラス数を探索して表示する。

ピタゴラス数の性質 

関連記事は以下を参照。

 ・ fx-5800P でピタゴラス数
 ・ fx-9860GII への移植 - ピタゴラス数



プログラムの使い方

・プログラム終了には、[AC] キーを押す。

・動作モード: 「ステップモード」と「連続モード」がある。
ステップモードで [EXE] キーを長押しすると連続モードに切り替わる。
連続モードで [(-)] キーを押すとステップモードに切り替わる。

・プログラム起動時は「ステップモード」である。

・ステップモード
[EXE] キーを押すたびに、次の原始ピタゴラス数を表示する。

・連続モード
次々と原始ピタゴラス数を探索して表示する。



動作画面

プログラム起動時(ステップモード)

Pytha1 

最初に見つかった原始ピタゴラス数を表示している。
起動時はステップモードなので、[EXE] キーを押すと次の原始ピタゴラス数を探索する。

Pytha2 

さらに [EXE] キーを押すと、3つめの原始ピタゴラス数が探索される。

Pytha3 

ここで、[EXE] キーを長押しすると、連続モードに切り替わり、原始ピタゴラス数を次々に探索して表示を続ける。



連続モードでは、[(-)] キーを押すとステップモードに切り替わる。再び [EXE] キーを長押しすると連続モードになる。
連続モードのまま置いておくと、以下のようになる。





プログラムファイル

fx-5800P 用 PYTHAGORAS

Pythagoras_Source 
※ 13行目、15行目、17行目の Locate の空白はスペース14個


▶ fx-9860GII & fx-CG20用 PYTHA

※ プログラムファイル・ダウンロード:
  - fx-9860GII用 PYTHA.g1m
  - fx-CG20 / fx-CG50用 PYTHA.g3m
 
このソースコードは、fx-9860GII、fx-CG20共通
fx-9860GII PYTHA CB Source 
※ fx-5800P と異なる部分を赤文字で示す。
※ 13行目、15行目、17行目の Locate の空白は、スペース19個

9860_Pytha1 fx-CG20_Pytha 

9860_Pytha2 fx-CG20_Pytha2 







応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ



  

カシオプログラム関数電卓 FX-5800P-N カシオプログラム関数電卓 FX-5800P-N
(2006/09/22)
CASIO(カシオ)

商品詳細を見る



keywords: fx-5800P、 fx-9860GIICasioBasic、プログラムライブラリプログラム関数電卓

リンク集 | ブログ内マップ


関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

楽屋裏 - Casio Basic コメントアウト ' のバグ

楽 屋 裏
e-Gadget

追記 2015/07/15
追記 2016/04/09

Casio Basic のコメントアウト ' のバグ報告です。

※ [2016/04/09: カシオの対応を確認]

※ [2015/07/15: カシオに問い合わせた結果を追記]


バグが確認されているのは、以下の機種とOSバージョンです。
  • fx-9860G OS 1.04
  • fx-9860GII OS 2.04 
  • fx-CG20 / fx-CG10 OS2.00
fx-5800P には、コメントアウト機能が無いので、対象外です。


先ず最初に、以下をそれぞれ実行すると、問題ありません。

Locate 1,1,"Line:1"

Text 1,1,"Line:1"

"Line:1"



次に、それぞれをコメントアウトして実行すると、エラーになります。

'Locate 1,1,"Line:1"

'Text 1,1,"Line:1"

'"Line:1"


一方、以下のように区切りコード := に変えれば、コメントアウトしてもエラーになりません。

'Locate 1,1,"Line=1"

'Text 1,1,"Line=1"

"Line=1"


さて、コメントアウト '  について、fx-9860GII OS 2.04 の取扱説明書には、以下のように説明されています。

' (コメント文指定)
機能 : プログラム中にコメント文を挿入します。
解説 : 行の先頭に ' を入力した行はコメント文として扱われ、実行時には無視されます。

仕様通りの動作ではなさそうです。

==========


ここで、1つ前の OS 2.01 でのバグが思い出されます。

Casio Basic のバージョンとバグ

Locate 1,1,"Line:1"

で、エラーになったバグです。" " で囲まれる文字列の中に、区切りコード : が含まれることで、バグが発生しました。字句解析に失敗していたと考えられます。

なお、この OS バージョンでは、旧来の出力命令 " " では、バグが発生していません。例えば、

"Line:1"

はバグになりませんでした。

なお、このバグは、最新の OS バージョンでは解消されていることが分かっています。

==========


現状では、解消したかに見える区切りコード : の字句解析のバグが、コメントアウト ' が絡むと解消されていないようです。

区切りコード : は、fx-9860GII OS2.04 の取扱説明書では、以下のように説明されています。

: (区切りコード)
機能 : 2つの文を結合し、途中で停止せずに、連続して実行します。
解説 : 
・出力コマンド(◢) と異なり、区切りコードで結合した文は途中停止せずに実行されます。
・区切りコードは2つの計算式や2つのコマンドを結合するために使われます。
・区切りコードの代わりに、 (キャリッジリターン)を使うこともできます。


字句解析において、区切りコードが (キャリッジリターン)として認識されているとすると、ここで  記号を使って表現すると、

'Locate 1,1,"Line:1"↵

は、

'Locate 1,1,"Line↵
1"↵


と同じことになり、2行目でエラーになるのは当然です。

ならば、このエラーを解消するには、2行目の最初に ' を追加してコメント文にすれば良いはずです。

'Locate 1,1,"Line↵
'1"↵


これはエラーになりません。それなら、区切りコードを使って元の1行に戻して、

'Locate 1,1,"Line:'1"↵

とすると、エラーにならないことが確認できました。


これで、 ' でコメントアウトされた行の字句解析において、区切りコード : (キャリッジリターン)と解釈してしまっていることが分かります。

==========


結果として、Casio Basic で、 ' でコメントアウトする行に 区切りコード : が含まれると発生するエラーは、面倒でも区切りコードの直後にもう一つ ' を入れることで、対処できることが分かりました。


他のグラフ関数電卓での状況について、情報をお寄せ頂ければ幸いです。
[2015/07/07 追記]
sentaro様からコメント欄で情報をお寄せ頂きました。バグ発生が確認された機種とOSバージョンは記事冒頭に追記しました。


ところで、コメントアウトの入力ですが、[SHIFT] [4] (CATALOG) から、延々と探して入力しています。もっと楽に入力できる方法があれば、教えて頂けませんか?

 ⇒ sentaro様から情報を頂きました。コメント欄にも書いたように、これが使えないと私が思い込んでいましたが間違っていました。

[2015/07/07 追記]
プログラムの編集画面に入った時の状態で、
[F6] (CHAR) [F2] (SYBL) [▶] [▶] [▶] [▶] [▶] [▶] (右矢印6回) で ' を選び、[EXE]


[2015/07/15 追記]
本件、カシオに問い合わせをし、回答を頂きました。
これは、取扱説明書のバグとのことで、次回のバージョンアップで対処するとのことです。

「コメントアウト ' を行頭に付けると、行頭から 区切りコード : 、キャリッジリターン 、出力命令  までをコメント文として扱う」のが仕様であって、次回のバージョンアップ時に下記のように取扱説明書の記載を改訂するとのことです。

【現在の取扱説明書の記載】

 解説:行の先頭に ’ を入力した行はコメント文として扱われ、

 実行時には無視されます。

   ↓

【改訂後の取扱説明書の記載】

 解説:行の先頭に ’ を入力した行は

  :(区切りコード) (キャリッジリターン) ▲(出力コマンド)

 までをコメント文として扱われ、実行時には無視されます。


なお、コメントアウトする場合は、その行にある 区切りコード : 、キャリッジリターン 、出力命令  の直後に ' を入れるのは、正しい対策とのことです。

問い合わせをしてから比較的時間がかかりましたが、取扱説明書の記載の改訂という、結論に至るまでの時間と考えれば、納得です。いつもように真摯な対応でした。


[2016/0409 追記]
本件に関するカシオの見解は、コメントアウトの動作は仕様通りで、むしろ取扱説明書のバグ で、次の取扱説明書の改訂時に修正するとのことでした。

fx-9860GII (バージョン 2.09) ソフトウェア取扱説明書

カシオのサイトで、ソフトウェア取り扱説明書が改訂され バージョン 2.09 になっており、そこでコメントアウトの機能説明が修正されていることが確認されました。



応援クリックをお願いします。励みになるので...

人気ブログランキングへ


FC2ブログランキングへ


  


keywords: fx-9860GII、CasioBasicプログラム関数電卓コメントアウトバグ

リンク集 | ブログ内マップ
関連記事

テーマ : プログラム関数電卓
ジャンル : コンピュータ

最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

Author:やす (Krtyski)
since Oct 30, 2013


プログラム電卓は、プログラムを使ってナンボ!

実際に触って気づいたこと、自作プログラム、電卓プログラミングについて書いています

おもしろい・役に立つならクリックしてください。励みになります。
にほんブログ村 IT技術ブログ 開発言語へ
にほんブログ村


人気ブログランキングへ


FC2ブログランキングへ


写真: 「4駆で泥んこ遊び@オックスフォード郊外」

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

RSSリンクの表示
最新トラックバック
ブロとも申請フォーム

この人とブロともになる

QRコード
QR