ついに fx-5800P がPCリンク可能になった
2018/02/10
更新 2021/01/04
更新 2021/01/04
fx-5800P と PCのデータリンクを使いこなす CcLinker
▶ アップデート状況
- CcLinker Dongle の頒布 ⇒ 詳しくはこちら [2019/05/08]
- CcLinker が Ver 4.0a にアップデート ⇒ ダウンロードはこちら [2019/05/08]
※ fx-5800Pと連動して自動化され、さらにWindowsバージョンの違いによる誤動作発生が低減されました。
▋はじめに
小型でバランスのとれた fx-5800P での Casio Basic プログラミングは、当ブログの重要テーマです。しかし致命的な問題として、カバーのヒンジが壊れやすいこと、そしてPCとのデータリンクができない点が挙げられる。これについては "fx-5800P プログラムのバックアップ" で取り上げている。
本来カシオが提供すべきものだと思うのだが、fx-5800P 発売から10年以上経ても、カシオ自身やサードパーティからまだ提供されていなかったが、ついに待ち望んだPCとのデータリンクが実現した。
以前から、fx-5800P のデータリンクが検討されてきた。当ブログにおいても、"fx-5800P プログラムのバックアップ" の記事に kikkawa様や AkSd様のコメントで、データ解析ができて、なんとかなるかも知れないというコメントを頂いていた。そして、AkSd様の 関数電卓ファン掲示板 で様々な情報交換がなされ、応援コメントなども集まるようになった。
その中で、takumako様 が CcLinker というデータリンクツールを完成なさった。
takumako様の CcLinkerホームページ
現在は、ファームウェア書き込み済みの以下のような形態で頒布なさっている。

▍CcEditor の紹介
CcLinker で転送したプログラムファイル (CCLファイル) を CcEditor というプログラミングアプリで編集・作成すると fx-5800P の隠し機能が使えてプログラミングの幅が広がる。また、ソースコードにインデントが付けられたり、Getkey のキーコードが簡単に入力できたりと、CcEditor は fx-5800P 専用の優れたプログラミングツールだ。 CcLinker と合わせて CcEditor を使う価値は十分ある。
[2019/05/08 追記]
CcEditor は Ver 2.2 にアップデートされ、さらに使い勝手が改善されている。
CcEditor の簡単な紹介
▋CcLinker Dongle の導入

[2018/08/07 追記]
できるだけ多くの方に使って頂きたいという作者のtakumako様のお考えから、期間限定を無くして、いつでも有償頒布を受け付けるとのこと。とてもありがたい話だ。
fx-5800P をPCとリンクするには、写真の USBドングルとWindows デスクトップアプリを使う。
実際にWindows 10 で使ってみたので、以下に紹介する。
▍デバイスドライバーのインストール
先にUSBドングルをPCに奥まできちんと刺し、添付の Windowsデスクトップアプリ - CcLinker を起動すると、自動的にデバイスドライバのインスト-ルが始まる。Windows 10 では、右下にインストールが終了した旨のメッセージが現れる。但し、Windowsアプリのウィンドウは表示されない。
一旦デバイスドライバがインストールされた後 CcLinker アプリを起動するとアプリウィンドウが表示される。
▍PC保護の警告
Ver 1.6d 以前の CcLinker を初めて起動するとき、Windowsの保護機能が発動してしまう。

自作プログラムでは、最初は間違い無くこれが表示される。CcLinker も危険ではないのに大きなお世話である。気をつけるべきはダウンロード先は作者のオリジナルサイトを使うことだ。おそらく Microsoft がユーザーのPCからインストールプログラムを監視し、そのデータを抽出し、多数決方式でインストール数が少なければ一旦待ったをかける機能だろうと思われる。
ここで、詳細情報 をクリックしたら現れる [実行]をクリックし、アプリを実行すれば次回からこの警告は現れない。
自作プログラムがPC保護機能に引っかかる
[2018/07/31 追記]
※ CcLinker Ver 1.6e 以降は、この問題を回避するために フリーの圧縮解凍アプリ CGA にて圧縮されたファイル(拡張子がCGA)でも供されている(詳しくはコチラを参照)。
[2019/05/08 追記]
CcLinker Ver 4.0a は zipファイルでの提供もされている。古いバージョンからのアップデートなら zipファイルを入手上書きすれば良く、PC保護機能に引っかかることはない。
▍CcLinker の起動
最初に USBドングルとfx-5800Pを接続した後、USBドングルをPCに刺す (確実に接続する方法)。
その後 Windowsアプリ CcLinker を起動する。無事に起動すると、CcLinker のウィンドウが表示される。


CcLinker Ver 2.0b 以降は [Transmit] ボタンと [Receive] ボタンが廃止され、fx-5800P 上で Transmit や Receive を選択した時に CcLinkerが自動的に連動するようになった。Ver 2.1a で画面の背景に薄い色が付き、見やすくなった。
もし、ドングルを刺さずに アプリを起動すると、エラーメッセージが表示される。

そこで、メッセージに従って ドングルを刺してから [OK] で、正常起動する。
▍CcLinker の終了
USBドングルを外す前に、CcLinkerアプリを必ず先に終了させる。
そうでないとエラーになり、結局 CcLinkerを強制終了することになる。
▋CcLinker の操作
CcLinkerアプリには [AC] ボタンしかない。基本操作は 接続した fx-5800P で行い、PC上ではファイルやフォルダの選択操作のみを行うようになっている。
▍fx-5800P からPCへ特定のプログラムファイルを転送 (PCにバックアップ)
CcLinker は、fx-5800P のプログラムファイルを CCL ファイル (CcLinker独自フォーマットのファイル形式)でバックアップする。
試しに、"fx-5800P【ゲーム】:Hit & Blow" で作ったプログラムのメインルーチンをPCにバックアップしてみる。私の fx-5800P ではメインルーチンのプログラム名を HB に変更している。
fx-5800Pを繋いだUSBドングルをPCに挿入した後 CcLinkerアプリを起動。


アプリでは何もせず、fx-5800P で、[MODE] - [▼] - [1] (LINK) - [1] (Transmit] - [2] (Select) と押し、
Select Data で バックアップしたいプログラム (今は "HB") にカーソルを合わせ、[1](SEL) を押し、最後に [0] (TRAN) を押す。
Transmit OK? で [EXE] (Yes) を押すと、PCの一時ファイルに一旦バックアップされ、 fx-5800P で Completed! と表示される。

そして、バックアップ先を選択するフォルダの選択画面が現れるので、そこでハックアップ先のフォルダを指定する。

ファイル名を変更せず、そのまま [開く] ボタンをクリックすると、一時フォルダに一旦転送されたファイルが、指定したフォルダに移動される。
ここで最初に表示されるファイル名は、fx-5800Pに保存されているファイル名のうしろに COMP [ファイルサイズ] の情報が付加されている。この例では、HB COMP 027.cll になっている。ここでファイル名を自由に変更可能で、変更されたファイル名でバックアップできる。
なお、HB COMP 0127 の "COMP 0127" の部分は 必ずしも必要ではなく、消してしまっても問題ない。COMPモードのファイルであることを明示的に示すだけで、0127 はファイルサイズだ。
このファイル選択画面は、いわゆるコモンダイアログになっており、右クリックして現れるメニューから新規にフォルダを作ってからそこへ保存するなど Windows標準の操作ができる。
▍fx-5800P からPCへ全てのファイルを一気に転送 (PCに全てバックアップ) - Ver 1.7 以降 [2018/08/18]
fx-5800P のプログラムを全て一気にPCに転送できる。
上と同じ要領で、fx-5800P とPC を USBドングルで接続してから、CcLinker アプリを起動する。
CcLinkerアプリでは何もせず、fx-5800P で [MODE] - [▼] - [1] (LINK) - [1] (Transmit) - [1] (All) 、そして [EXE] をキーインする。
すると、「ファイルを選択してください」ダイアログが現れるので、バックアップするフォルダに移動するか、右クリックして新たにフォルダを作り、 [開く(O)]をクリックするか PCの [Enter] キーを押す。これで、電卓内の全てのプログラムがPCへ転送される。
保存先フォルダに同名ファイルがある場合は次のポップアップが現れる。

ここで、[はい(Y)] を押すと、他に同名ファイルがあっても上書きコピーされる。無事に転送が終わると、fx-5800P と CcLinker アプリの両方で Completed! と表示される。
上書き確認は安全のため表示されるが、頻繁に表示され面倒になり、バックアップを中止したい時は、[キャンセル] を押せば、一連の転送そのものをキャンセルできる。
なお、何かエラーが発生したら、エラーメッセージが表示される。エラーメッセージで [OK] をクリック後、CcLinker アプリで [AC] をクリックして一旦バックアップを中止し、バックアップをやり直す。何度か繰り返す必要があるかも知れない。
▍PCから fx-5800P へ特定のプログラムファイルを転送 (電卓に転送)
CcLinker でバックアップしたCCLファイルを fx-5800P にプログラムファイルとして転送する。
fx-5800P をUSBドングルに繋いだ上で、ドングルをPCに刺し、CcLinkerアプリを起動する。

CcLinker アプリでは何もせず、fx-5800P で [MODE] - [▼] - [1] (1:LINK) - [2] (Receive) と押すと、保存するファイルの選択画面が現れる。

このファイル選択ダイアログで、転送したいファイルを選び [開く] ボタンをクリック。
既に同名ファイルがある場合は、上書きして良いかを確認するメッセージが現れるので、

[はい(Y)] か [いいえ(N)] をクリックして先に進む。

無事に転送されると、fx-5800P と CcLinker の両方で Complete! と表示される。

▍PCから fx-5800P へ全てのファイルを一気に転送 (電卓に全て転送) [2018/08/18]
PCにバックアップしたファイルを一気に fx-5800P に転送できる。
fx-5800P で [MODE] - [▼] - [1] (LINK) - [2] (Receive) をキーイン。CcLinker アプリで [Transmit] クリックする。するとTransmit コモンダイアログが開くので、そこでfx-5800P へ転送するファイルのあるバックアップフォルダを開き、転送するファイルを選ぶ。[Ctrl]-[A] で全て選択するか、[SHIFT] や [Ctrl] を押しながら複数ファイルを選択し、[開く(O)] クリック。これで、選択したファイルが一気に fx-5800P に転送される。
転送が無事に完了した時は、fx-5800P と CcLinkerアプリの両方で Completed! と表示される。
fx-5800P に同名ファイルが有る場合は、見つかる度に以下のポップアップが表示される。

転送を中止したいときは、fx-5800P で [AC] (Cancel) を押すか、このダイアログで [キャンセル] をクリックする。
▋fx-5800P プログラムをCCLファイルで公開
当ブログで公開している fx-5800P 用プログラムファイルは、今後 CCLファイルでダウンロードできるようにしてゆく予定だ。
これまでは、プログラムを fx-5800P に手入力するしかなかったが、ダウンロードしたCCLファイルを CcLinker を使って fx-5800P に転送できるので、インターネットを使った fx-5800P のプログラムの流通が容易になる。
▋CcEditor
Takumako様のホームページ では、CcEditor が公開されている。
これを使うと、fx-5800P の Casio Basic をPC上でコーディングし、CcLinker で扱える CCL ファイルに変換できる。CCL ファイルを変更し、CCLファイルに変換することも可能だ。
それ以上に CcEditor の面白いところは、fx-5800P の Casio Basic で公開されていない機能を使うことが出来る点にある。
- 表示文字列としてアルファベットの小文字、ギリシャ文字(大文字と小文字)が自由に使える
- 変数にアルファベット小文字やギリシャ文字(大文字と小文字)が使える
- 変数に添え字として数字アルファベットギリシャ文字を使える。
CcLinker と CcEditor を併用すると、fx-5800P の隠し機能として、表示に小文字が使え、使える変数が大幅に増加するので、fx-5800 Casio Basic プログラミングの幅が大きく広がる。
今後、何か分かれば随時追記修正してゆく。
応援クリックをお願いします。励みになるので...