アドイン Casio Basic - トップページ

C:Basic - アドイン Casio Basic
<Top Page>

内容の更新や修正を随時行います.

初版 2015/12/18
更新 2020/05/31
更新 2021/06/13



C.Basic for FX 最新版: Ver 2.45 beta build 20 [2020/05/21]
C.Basic for CG 最新版: Ver 1.45 beta build 20 [2020/05/23]


目 次
  C:Basicとは?
  最新バージョンのダウンロード
  C.Basic のインストール
  C.Basic の使い方とコマンドリファレンスなど
  チューンアップツール・アドイン
  C.BasicC:Basic の潜在能力 - サンプルプログラム
  C.Basic 英語版Webマニュアル 
[作成中]
  最近のアップデート履歴
  サポートページ
  
 C.Basic for FX はこのページでサポートします
  
 C.Basic for CG は以下のページでサポートします
   ・C.Basic for CG ベータ版公開 - Part 1

    ・
C.Basic for CG アルファ版公開 - Part 3 (旧版)
   ・
C.Basic for CG アルファ版公開 - Part 2 (旧版)
   ・
C.Basic for CG アルファ版公開 (旧版)



最近のアップデート履歴

  C.Basic for CG
  [2020/05/23] C.Basic for CG Ver 1.45 beta build 20 が差替えアップデート 
   - さらに使いやすく色々と変更していってみる版

    ⇒ 詳しくは C.Basic for CG サポートページへ

  C.Basic for FX 
  [2020/05/21] C.Basic for FX が Ver 2.45 beta build 20 にアップデート
  - さらに使いやすく色々と変更していってみる版


(build 20)
  • If [Flase] ~ ElseIf 間の飛越キャッシュの不具合を修正しました。
  • Syetem()コマンドでOSのマイナーバージョンが取得できるようになりました。
    (書式)System(-22)
  • やす(Krtyski)様作成のSystem()コマンドサンプルプログラム(Graph90+E対応版)をアップデートしました。(System_sampleフォルダ)
(build 19)
  • System(-1)での機種判定にfx-9750GIIIを追加しました。
    0:fx-9860G
    1:fx-9860G Slim
    2:fx-9860GII(SH3)
    3:fx-9860GII(SH4A)
    4:Graph35+EII(SH4A)
    5:fx-9860GIII(SH4A)
    6:fx-9750GIII(SH4A)
  • やす(Krtyski)様作成のSystem()コマンドサンプルプログラム(fx-9750GIII対応版)をアップデートしました。(System_sampleフォルダ)
  • Try~TryEndコマンドからBreakで脱出した場合、それ以後、[AC]中断もAcBreakも効かなくなる不具合を修正しました。
  • ReadGraph/WriteGraph/DotGet/DotPutコマンドを現在のVRAMに作用するように仕様変更しました。
  • 描画対象VRAMを退避されているテキストVRAM領域とグラフィックスVRAM領域に変更するScreen.Vコマンドを追加しました。
    (書式)Screen.V
     デフォルトのVRAMに戻します。
    (書式)Screen.VT
     テキストVRAMの退避領域を描画対象にします。
    (書式)Screen.VG
     グラフィックスVRAMの退避領域を描画対象にします。
(build 18)
  • エディタのカーソル位置記憶がプログラム実行終了後にリセットされていいた不具合を修正しました。(build12でのエンバグです。)
  • 行列表示を修正しました。
  • セット・アップで隠しメモリのOn/Offは確認ポップアップを出すようにしました。
(build 17)
  • プログラム開始時に?入力でアルファモードになっていた不具合を修正しました。(build16エンバグ)
  • CPLXの行列表示が異常に遅かったのを修正し、3列から4列表示に変更しました。
  • 隠しメモリの初期化を修正しました。
(build 16)
  • System(-1)での機種判定にfx-9860GIIIを追加しました。
    0:fx-9860G
    1:fx-9860G Slim
    2:fx-9860GII(SH3)
    3:fx-9860GII(SH4A)
    4:Graph35+EII(SH4A)
    5:fx-9860GIII(SH4A)
  • やす(Krtyski)様作成のSystem()コマンドサンプルプログラム(fx-9860GIII対応版)をアップデートしました。(System_sampleフォルダ)
  • 自動インデント機能でのSwitch~Case~SwitchEndの自動整形を改善しました。
  • ElseIfコマンドの直後にコメントがある場合、次のコマンドがIfの場合に終了していた不具合を修正しました。
  • 行列の初期化後に文字列から文字列への代入で代入されない不具合を再修正しました。
    (コピーされない例)
         ClrMat
      "ABC"->Str 1
      Str 1->Str 3
  • Seqコマンドで刻み値が少数の場合に終値に到達しないことがある不具合を修正しました。
    (例)Seq(X, X, 0.1, 1, 0.05 )
  • CPLXモード以外で虚数を使うと無限ループになる不具合を修正しました。(build15でのエンバグです。)
  • 省略乗算の不具合を修正しました。(build15でのエンバグです。)
(build 15)
  • Colon様のサポートにより関数メモリの実装を開始しました。
  • デフォルトのインデックス開始値が0の場合にListの自動確保が出来なかった不具合を修正しました。
  • ファンクションメモリー(Fn)のStore/Recall/SEEのSEEをEditに変更しました。
(build 14)
  • ファンクションメモリー(Fn)のStore/Recall/SEEのSEEで[F5](Edit)を追加し編集可能になりました。
  • ファンクションメモリー(Fn)のStore/Recall/SEEの不具合を修正しました。
(build 13)
  • ファンクションメモリー(Fn)およびグラフメモリー(Y)をデフォルトで数式評価とし、
     文字列関数内および文字列に続く場合は文字列として評価するように変更しました。
     (数式評価)
      fn1->A
      fn1(123)->A
      Locate 1,1,fn1
      Text 1,1,fn1(123)
     (文字列評価)
      "123"+fn1->Str 1
      fn2->Str 2
      StrJoin(fn1,Str 1)
  • 文字列から文字列への代入で代入されない不具合を修正しました。
    (fn3にコピーされない例)
      ClrMat
      "123"->fn1
      "ABC"->Str 1
      Str 1->fn3
  • ファンクションメモリー(Fn)のStore/Recall/SEEを追加しました。
     (※エディタではクリップボードの内容がストア対象です。1行入力では1行全体がストア対象になります。)
  • F_Start/F_End/F_pitchを独立変数に変更しました。
  • ?コマンドで文字列が表示される場合にアスキーコードにデコードしないように修正しました。
(build 11)
  • Screen#、Screen%を連続実行するとエラーになる不具合を修正しました。
  • Screen#、Screen%からListAnsに転送した場合の不具合を修正しました。
    (例)Screen#0,0→List Ans
  • ファイルモードの検索機能を改善しました。
     アルファベットキーを押すと検索窓が開き検索モードになります。
     検索窓では左右移動等、通常の入力が可能です。
     検索窓を解除するには[EXIT]を押してください。
     カーソル上下、[EXE] [F1](EXE) [F2](EDIT) [F3](NEW)キーは検索窓を閉じること無く実行できます。
(build 10)
  • ファイルモードでアルファベットキーによるダイレクト選択時に[SHIFT]、[ALPHA]、小文字や数字が指定が出来るようになりました。
     [F4](A<>a): 大文字小文字切り替えです。
     [F5](CHAR)
     [F5](→Folder): フォルダサーチに切り替わります。
     [DEL]: 一文字戻ります。
     [AC]: 全部消します。
     [EXIT]: 元に戻ります。
     [X^2]: ~
     [^]: '
     [(-)]: @
     [・]: スペース
     [EXP]: "
(build 09)
  • ””コマンドの実行速度が遅かった不具合を修正しました。
  • ファイルモードでアルファベットキーによるダイレクト選択時に2文字以上の指定が出来るようになりました。
     [DEL]:一文字戻ります。
     [AC]:全部消します。
  • ファンクションメモリー(Fn)およびグラフメモリー(Y)に引数が無い場合は文字列として評価するようにしました。
  • インデントの必要なコマンド(If,Else..)の直前で改行した場合にインデントが余分に付加される不具合を修正しました。
(build 06)
  • エミュレータの判定方法をハードウェアID判定に変更しました。(0x8000FFD)
(build 03)
  • ラベルの検索時にコメントでの'#に続くオプションの設定が変更されてしまう不具合を修正しました。
(build 02)
  • VarPtr()コマンドで行列/List/Vctを指定した場合、その添字が常に実数評価されていた不具合を修正しました。
  • FKeyMenuコマンドにカラー引数があってもエラーにならないように修正しました。
(build 01)
  • SortA()/SortD()コマンドに文字配列のソートを追加しました。
    (例)SortA($Mat A)
     Mat Aの文字列が昇順にソートされます。
  • ReadMe、マニュアル更新しました。
  • 行列画面で53以降の拡張領域の一覧表示をサポートしました。
    [←]:26戻ります。
    [→]:26進みます。
  • FkeyMenu(コマンドを拡張しました。
    (書式)FKeyMenu( n[~m], "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L [,アイコン色 [,アイコン背景色]]] )
     ※ "アイコン色" はデフォルトで黒い部分の色指定です。
     ※ "アイコン背景色" はデフォルトで白い部分の色指定です。
     ※ 3 番目以降の引数は省略可能です。引数を省略した場合でも”,"は必要です。
    (書式)FKeyMenu( n[~m], "文字列"/アイコン番号 [,C/M/N/R/I/S/U/L] )
     ※ 3番目以降の引数は省略可能です。引数を省略した場合でも”,"は必要です。
     3番目のオプションは順不同です。
     C:消去します。
     M:マスク処理します。
     m:枠だけマスク処理します。
     N:ノーマル白アイコン。(省略可)
     R:右下が欠けた黒アイコン
     I:四角い黒アイコン
     S:縁取りのある黒アイコン
     U:文字列を1ドット上側に表示。
     L:表示範囲を左右2ドット広げます。
    (例)FKeyMenu (1, "string")
    (例)FKeyMenu (2~3, "longstring",R)
    (例)FKeyMenu (4~5, "longstring",I)
  • やす(Krtyski)様 & CalcLoverHK様 & Colon様作成のFKeyMenu(コマンドのサンプルプログラムを同梱しました。(C.Basic_sample\FKeyMenu_sample)
  • エディタで[SHIFT]を押したときに編集可能空きエリアのサイズをステータスエリアに表示するようにしました。
  • System()コマンドにエミュレータ判定を追加しました。
    (書式)System(-7)
     実機では0、エミュレータでは1が返ります。
  • DBL#モードにおいて、一時停止と変数表示での虚数表示がされていたのを修正しました。
  • 変数表示をINT%,DBL#,CPLXで独立させました。




C:Basic とは?


C:Basic は Casio Basic で楽にコーデイングしたものを高速動作させようというコンセプトでスタートした Casio Basic 上位互換を目指したプログラミング環境で、アドインプログラムとして提供するものです。

fx-9860G 以降で Add-in 機能のある Casio グラフ関数電卓で動作し、純正 Casio Basic プログラムとの互換動作を目指し、さらに純正コマンドの機能を拡張したり、新規コマンドを追加しています。

[2020/05/31 追記]


以前は fx-9860G や fx-9860GII の Add-in プログラムを作成するための Casio純正 SDK が提供されていましたが、これらのモデルは国内では販売中止となっているので、C言語で作成して高速動作する Add-in プログラムは過去のものになっています。2015年に開発が始まった C.Basic は 現在では Add-in プログラム並の処理能力を提供できるレベルにまで進化しています。海外の Planet Casio ではプログラミングコンテストの開発環境の1つに C.Basic が選ばれています (CPC #26 - At the limit of pysics! 参照)。


C:BasicC.Basic
C:Basic は2つの要素を含み、インタープリタ動作するものを C.Basic (ドット1つ)、コンパイラ機能によりさらに高速化するものを C:Basic (ドット2つ) と呼びます。現在は C.Basic のみを提供中、その後 C:Basic を提供予定です。
C.Basic は当初 fx-9860G および fx-9860GII で動作するものから開発が始まりましたが、最近になって 高精細カラー液晶を搭載した fx-CG10 / CG20 および fx-CG50 で動作するものも提供しています。前者の fx-9860Gシリーズ専用版を C.Basic for FX、後者の fx-CFシリーズ専用版を C.Basic for CG と呼んでいます。

C.Basic for FX は国内外でユーザーに鍛えられてきて、Ver 2.00 以降からようやく正式版としてリリースされました。
一方、C.Basic for CG はアルファ版として提供してきましたが、Ver 1.00 以降からベータ版としてリリースされました。
純正Casio Basic と C.Basic / C:Basic について
純正Casio Basic は、言語機能がシンプルで電卓に直接入力して気楽に使えるのが最大の特徴です。限られたハードウェアリソースしか持たない電卓でのプログラミング環境として、最低必要限の機能を有しています。PC上の開発言語と同じことを Casio Basic に要求するのはそもそも考え違いでしょう。

とは言っても Casio Basic は "構造化プログラミング" の考え方でプログラミング可能なので、実用的なプログラムを効率的に作成可能です。ここでいう "構造化プログラミング" は、Donald Knuth, "Structured Programming with goto statement" ACM Comuting Surveys (CSUR) Volume 6 Issue 4, Dec. 1974  (リンク) で主張されている実用的な構造化プログラミングに近いものです。教条主義に陥いることなく、とにかくプログラムソースが分かり易く、バグが出にくく、改造や機能追加が楽なコーディングの方針としてCasio Basicに適用でき有用です。当ブログでは、構造化プログラミングの考え方で、Casio Basicの使いこなしを紹介しています。
Casio Basic は楽に記述できる反面、計算量の大きな処理を行ったり、ビットマップをグラフィックスで描かせると、とても時間がかかります。C.Basic (現行インタープリタ版)は、Casio Basic とほぼソースレベル互換でありながら10~20倍のスピードで実行できます。C:Basic (将来のコンパイラ版) は、予備実験の結果、さらに C.Basic (インタープリタ) の10倍の程度の処理速度になりそうです。
C:Basic プロジェクトは、sentaro様 (本アドインの作者、海外では sentaro21)、Colon様 (システムコールなどOSの深いところまで探索し本質的なところで開発に寄与頂いている), Krtyski (開発のコミュニケーションの場を提供する当ブログの管理人、海外でも Krtyski)、さらに国内外の有志のユーザーの皆様により推進しています。

  ⇒ C:Basic プロジェクト


▋ C.Basic 最新バージョンのダウンロード

 ▶ C.Basic for FX (fx-9860G / fx-9860GII / fx-9860GIII / fx-9750GIII 用)
  ⇒ C.Basic for FX Ver 2.45 beta build 20 (公式最新版)
  C.Basic for FX Ver 2.44 beta build 16 (1つ前の公式最新版)
   ・ C.Basic for FX の入手 (少し前のバージョンも入手できます)

 ▶
C.Basic for CG (fx-CG10 / fx-CG20 / fx-CG50 用)
  ⇒ C.Basic for CG Ver 1.45 beta build 20 (公式最新版)
  ⇒ C.Basic for CG Ver 1.44 beta build 16
 (1つ前の公式最新版)
   ・C.Basic for CG の入手 (少し前のバージョンも入手できます)

注意: 万一に備えて、電卓内のプログラムやデータをバックアップしておくことを勧めます。



C.Basicのインストール

  C.Basic for FX
ダウンロードしたZIPファイルに含まれている CBASIC.g1a を fx-9860G シリーズ、fx-9750GIII、Graph35+EII のストレージメモリに転送します。転送には PCリンクソフト FA-124を用い、電卓とPCをUSBケーブルで接続します。併せてFontフォルダと FontEditフォルダをストレージメモリに転送し、HELPフォルダにある ~~HELP1.g1m をストレージメモリに転送します。
  C.Basic for CG
ダウンロードしたZIPファイルに含まれている CBCGxxx.g3a (xxxはバージョンを示す) を fx-CGシリーズ、Graph90+E のストレージメモリに転送します。転送には、USBケーブルで接続し Windows標準のエクスプローラでファイルやフォルダを操作します。併せて@FontフォルダとFontEditフォルダをストレージメモリに転送し、HELPフォルダにある ~~HELP1.h1m と ~~HELP3.g3m をストレージメモリに転送します。

 詳しくは、C.Basicのインストール を参照。



C.Basicの使い方とコマンドリファレンスなど [最新バージョンに対応しています]

C.Basic for FX

C.Basic for CG
これらのドキュメントは、ダウンロードしたZIPファイルに含まれているものです。



 チューンアップツール - アドイン

電卓内部のクロックを調整して高速動作させるチューンアップツールを C.Basic と一緒に使うと、さらに高速化が可能です。
このプログラムの評判については、下記参照ください;
- @ Unversal Casio Forum
- @ CEMETECH
- @ TI-Planet

管理人は2年以上使っていますが、今のところ問題は起きていません。安全対策がよく考えられていて、おそらく電卓を壊すことは無いでしょう。但し、念のため電卓のデータバックアップは行って下さい。

機種毎に用意されています。

- fx-9860G、fx-9860GII USB POWER GRAPHIC(前期バージョン SH3採用品): Ftune
- fx-9860GII USB POWER GRAPHIC 2(後期初期 SH4採用品): Ftune2
- fx-9860GIII、fx-9750GIII、Graph35+EIIFtune3
- fx-CG10 / CG20: Ptune2
- fx-CG50、Graph90+E: Ptune3


※    違う機種のものを利用しないよう注意してください。

充電池 / 充電器 の紹介
チューンアップすると消費電力が大幅に増えて、1日で電池が空になることもあります。そこで充電池が経済的です。カシオのグラフ関数電卓は、単4アルカリ電池(1.5V) と 単4ニッケル水素充電池(1.2V) が使える。そこでニッケル水素充電池と充電器のお勧めをまとめました。⇒ こちら



C.Basic と C:Basic の潜在能力 - サンプルプログラム

サンプルプログラムを使って、C.BasicC:Basic の潜在能力を見てみましょう。.

ライフゲーム (Conway's Game of Life) - 高速グラフィック描画

C.Basic は純正 Casio Basic の上位互換であり、拡張コマンドや言語機能があります。

ビットマップを素早く更新するようなプログラムを純正Casio Basic で作ろうと考えるのは無謀なことです。しかし C.Basic を使えば、高速ビットマップ更新が可能で、例えばライフゲームを楽しめます。


fx-9750GIII での実行例 - 517世代までの実行時間: 59.4秒
  ダウンロード: ライフゲーム Ver 2.45
  Ftune3 で 235.9MHz にチューンアップ
  C.Basic for FX Ver 2.45 build 20 以降のバージョンを推奨

=====

コンパイラ版の C:Basic をシミュレートするため、ライフゲーム のパターンを1世代更新する処理部分を、ネイティブコードの関数 "DotLife()" に置き換えて実行したのが以下の動画です。 


fx-9750GIII での実行例 - 517世代までの実行時間: 7.8秒
  ダウンロード: ライフゲーム Ver 2.45F
  Ftune3 で 235.9MHz にチューンアップ
  C.Basic for FX Ver 2.45 build 20 以降のバージョンを推奨

517世代までの時間を見る限り 7.6倍高速化しています。将来のコンパイラ版 C:Basic では、これよりも速くなるはずです。

ライフゲームの詳しい説明


2D迷路

以下のような画面全体のグラフィックス描画は、純正Casio Basicではとても時間がかかります。これを C.Basic で走らせると極めて短時間で描画が完了します。

Maze1 

2D迷路プログラムの詳しい説明とダウンロード


3D迷路ゲーム

3D_Maze 

左側の迷路マップの描画は、C.Basic を使うことで極めて高速化できます。右側の3D表示はポリライン処理により純正Casio Basic でも3D描画が軽くなるよう工夫されています。このプログラムでは、C.Basic の独自拡張機能を使いながら 純正 Casio Basicでも動作可能なようになっているのが特徴です。

3D迷路ゲームの詳しい説明とダウンロード


アクションゲーム - DRAGON



これは、C.Basic 独自拡張機能を活用したサンプルプログラムで、高速で多彩なビットマップ処理機能をうまく活用しています。
ゲームとしても飽きないチューニングがされています。このプログラムのソースは、C.Basic 独自拡張機能の理解に役立ちます。

アクションゲーム - DRAGON の詳しい説明とダウンロード


シューティングゲーム - AlienCG

AlianCG1.png AlianCG3.png 

C.Basic の独自コマンドを使い、高精細カラー液晶を活かして、全画面表示、独自フォント、高速グラフィック描画が可能になる例です。
シューティングゲーム - AlienCG のダウンロード


疑似3Dゲーム - Triangle Fieled Ver 0.91 [2020/03/26 アップデート]

TriangleField-FirstScreen 
Planet Casio でのプログラムコンテスト CPC #26 において、アドイン作成用の C / C++ に加えて C.Basic も使用言語として認められた。そこで sentaro様が応募作品として発表したのが Triangle Field。fx-CGシリーズ用が本命だが、参考までに fx-9860Gシリーズ用にも作成された(液晶の応答性が低いのでゲームとしては難易度が高い)。
なお、類似のアドインゲーム CubeFiled があるが、アドインレベルのプログラムが C.Basic で提供できることを示している。
疑似3Dゲーム - Triangle Field のダウンロード


カラー表示確認ツール - RGB

RGB5a_CC2.png RGB5a_QH.png 

C.Basic の独自コマンドを使い、高精細カラー液晶を活かして、全画面表示、バッテリーモニタアイコン表示、16bit RGBカラー表示 (テキストとグラフィックス)、テキストのスクロール表示、QRコード表示が可能になる例です。但し、fx-CG50搭載のカラー液晶は見る角度で色合いが異なって見える廉価版液晶であり、さらに24bit(フル)カラーではなくて16bitカラー表示なので、設定したRGB値に対して実際の液晶上のカラー表示を確認するためのツールです。 
カラー表示確認ツール - RGB の詳しい説明とダウンロード


日本語表示プログラム - YearConv

YC_cb4f YC_cb9f 

fx-CGシリーズ内蔵の GBフォントを用いて日本語風表示を可能にする例です。エディタ画面ではミニフォントが使えてソースコードの視認性が向上し、ソースコードで漢字フォントを表示してプログラミングできる例でもあります。
日本語表示プログラム - Year Conv の説明とダウンロード







応援クリックをお願いします。励みになるので...
にほんブログ村 IT技術ブログ 開発言語へ


 


 


keywords: fx-9860GIICasioBasic、プログラミング入門グラフィックスプログラム関数電卓

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



関連記事

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

コメントの投稿

非公開コメント

Re: C.Basicのカタログ機能のお礼

hangyodon1123様

コマンド入力がスピードアップできたとのこと、良かったです。

マニュアルには一応の記載がありますが、今見返してみるとチョット判りにくいかもです。
コマンドを入力する時とコマンドを表示(出力)する時で、それぞれ2通り、合計4通りの組み合わせを用意しているというわけです。


C.Basicのカタログ機能のお礼

管理人様、こんにちは。

早々のご回答、感謝致します。
実機で試した所、これが一番良いですね。

事前にマニュアルは読んでいたのですが、
「CB5800」のことは書かれていないようですね。
もしかしたら、見落としていたのかも?

おかげで、コマンド入力のスピードアップが
改善できます。ありがとうございます。
ではでは。

Re: C.Basicのカタログ機能の確認

hangyodon1123様

DrawMatの応用プログラム、早速拝見しました。
CG10でも十分いけますね!

コマンドのメニューですが、

[SHIFT]-[MENU] (SETUP)の、Command Inpt の項目で、
[F1](CBas) + [F4](<5800)
としてみてください。
CB5800
と表示されると思います。

これで、fx-5800Pのコマンドメニューに準拠した方法になります。
プログラム編集画面で、[F3](COMMAND) をヒットすると出てくる画面で、全てのコマンドをカバーしています。
fx-5800P ではコマンドが全て一箇所に集まっているので、何処にあるのか判らなくなった場合はとても便利です。

現状では [SHIFT][4] のカタログ機能は内蔵機能の呼出のみで、C.Basicコマンド向けには実装されていません。

なので、コマンドが行方不明になった時は CB5800 でしのぐのが現時点での Best Solution かと...

C.Basicのカタログ機能の確認

管理人様、こんにちは。

ライフゲームですっかりC.Basicの魅力に
取り憑かれております。

C.Basicに同梱されていますサンプルを
参考にDrawMatコマンドの応用を作りました。
https://twitter.com/hangyodon1123/status/1416270432802525185

自動クロックアップではありますが、fx-CG10で
この動作速度ですから、十分実用に耐えるかと
思います。
次はML系のコマンドを試したいと思います。

さて、本題であるC.Basicの質問があります。
C.Basicで利用可能なコマンドを入力する際、
Menu形式が二種類(Casio Basic形式、
C.Basic形式)と、Casio BasicのCATALOG形式が
ありますが、Casio BasicとC.Basicを合わせた
CATALOG形式の検索機能はありませんか?

コマンド名は覚えても、どこにそのコマンドが
あるのか、時間がかかるのが現実です。
それとも何か簡単にコマンドを入力できる裏技が
あるのでしょうか?

以上、ご確認をお願いします。
ではでは。

Re: No title

MetalBlack様

ストレージメモリに保存できないというのは、チョット異常ですね。

C.Basicを立ち上げ、[SHIFT] [MEUU] を押すと設定画面になります。この画面で下から5番目に

Storage mode

という項目があり、ここで [F1] (S.MEM) を選択すると、デフォルトでストレージメモリのプログラムファイルにアクセスするようになります。


あるいは、ファイルリスト画面に戻り、[F6] (▷) を2回押すと [F5] (→Main) あるいは [F5] (→SMEM) というファンクションメニューが現れます。どちらになるかは、現在の保存先に応じて変化します。ここでも保存先をストレージメモリに設定できます。

ご確認ください。



No title

プログラムを作成して保存するときにストレージメモリに保存しようとするとエラーが発生しますが、メインメモリでは問題なく保存・実行できます。
保存先フォルダの選択ミスですかね?

Re: Re:[追記] C.Basic for FX v2.43β - System( 関数の動作について

sentaro様、iron2様、Colon様、皆様

管理人のやすです。

> んと、FX版では、以前はクリップボードエリアは固定されていたのですが、現在ではそのエリアは最初から確保されておらず、クリップボードを使った段階で初めてクリップボードエリアが確保されて、値が返るという形になっています。(^^;

よく分かりました。

試しに文字列をクリップしてから、クリップボードのメモリを見ると、0 になっていないことを確認できました。

ありがとうございます。

Re:[追記] C.Basic for FX v2.43β - System( 関数の動作について

管理人様、iron2様、Colon様、皆様、こんにちは!

すみません、レスが抜けておりました。(^^;

>System(10) でクリップボードバッファ (C.Basic) の取得が、fx-9860G Slim で 0 となります。これって何かおかしくないですか?

んと、FX版では、以前はクリップボードエリアは固定されていたのですが、現在ではそのエリアは最初から確保されておらず、クリップボードを使った段階で初めてクリップボードエリアが確保されて、値が返るという形になっています。(^^;

ということで、

>それとも仕様なのでしょうか?

今の所、そこは仕様ということになります。(^^)

[追記] C.Basic for FX v2.43β - System( 関数の動作について

sentaro様、iron2様、Colon様、C.Basicユーザーの皆様、

管理人のやすです。


C.basic for FX Ver 2,43βですが、

System(10) でクリップボードバッファ (C.Basic) の取得が、fx-9860G Slim で 0 となります。これって何かおかしくないですか?

それとも仕様なのでしょうか?

ちなみに、fx-9860G Slim, OS2.0 と OS1.11 の2台、fx-9860GII SD (SH3) OS2.0、fx-9860GII (SH4) OS 2.04、fx-9860GII (SH4) OS2.09 全てで、

Hex(System(10)) の結果が 0x0 になります。

ご検討頂けますか?

C.Basic for FX v2.43β - System( 関数の動作について

sentaro様、iron2様、Colon様、C.Basicユーザーの皆様、

管理人のやすです。


C.basic for FX Ver 2,43βですが、

System(10) でクリップボードバッファ (C.Basic) の取得が、fx-9860G Slim で 0x0 となります。これって何かおかしくないですか?

今、出先なもので、他の fx-9860G シリーズで試していません。Slim 特有の問題の可能性がありそうですけど...

ご検討頂けますか?

Re:Re:Re: 機能拡張関連 + バグ報告

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>ここからダウンロードしてください。
>先ずはカタチからってことで、完成するかどうか分からないので、 このページはまだどこからもリンクできません。
>あしからず...

ダウンロードさせていただきました!
今すぐにどうこうはできないと思いますが、余裕が出来たらいじくってみたいと思います。(^^)



Colon様、
>Get_AlphaData とかを使うのでしょうが、Get_AlphaData を使った後にどうすれば良いかが把握できていません。
>海外のコミュニティーで質問した方が早いかもしれません。(^^;

了解です。
とりあえず試してみてどうにも行き詰まったらその時にまた考えてみます。(^^)

Re:Re: 機能拡張関連 + バグ報告

管理人様、sentaro様、iron2様、C.Basicユーザーの皆様、こんにちは!

sentaro様、
> この変換に関わるSysCallって揃ってますか?

Get_AlphaData とかを使うのでしょうが、Get_AlphaData を使った後にどうすれば良いかが把握できていません。

海外のコミュニティーで質問した方が早いかもしれません。(^^;


> バグに関してはCG版とFX版とで共通の場合が多いので、こちらで構わないと思います。
> CG版だけしか存在しないバグであれば、CG版エントリーでいいと思います。(^^)

了解しました。(^^)

Re: Re:[URL 追記] Re: C.Basic for FX v2.42β  CG v1.42β (MLコマンド修正+その他グラフィックスコマンド修正+積分修正版)

sentaro様、iron2様、Colon様、C.Basicユーザーの皆様、

管理人のやすです。

> 一応UnicodeはUTF16ではなくUTF8対応で考えてますので、そこのところを変更して、あれこれしていけばエディタの完成となるのでしょうか?
> ってことで、ソースコード希望しますです。(^^)

https://egadget2.web.fc2.com/archives/Src_files/CBedit.html

ここからダウンロードしてください。

先ずはカタチからってことで、完成するかどうか分からないので、 このページはまだどこからもリンクできません。
あしからず...




Re:機能拡張関連 + バグ報告

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

Colon様、
>変数は「DBL# (CPLX) / INT% / アンダーバー変数 / 純正」、List / Mat / Vct は「1bit / VRAM / nibl / byte / word / long / Dbl / CPLX / 純正」という感じでしょうか?

はい、
最終的には全部の形式の相互変換が出来ればというところですが、まずは変数のDBLとCPLXの相互変換からですね。
この変換に関わるSysCallって揃ってますか?


>ユーザー関数機能は是非欲しいところであります。
>関数単位でのコンパイルも組み合わせられるとなると利用価値がさらに上がってきますね。

今のProgを関数の中で使うことも出来ますが、Progはインタプリタだとかなりのオーバーヘッドがあるので、関数形式でかつコンパイルという形で実装していきたいです。(^^)


>SysCall を使う場合でも、ユーザー関数名を設定しておけばエラーのリスクが減らせる & ソースコードが読みやすくなるので便利だと思います。

なるほどですね。


>では、バグ報告です。
>(バグ報告は CG 版のエントリーの方が良いでしょうか?)

使い方が固まってると操作の想定外のバグはなかなか見つけにくいのでいつもありがたいです。(^^)
バグに関してはCG版とFX版とで共通の場合が多いので、こちらで構わないと思います。
CG版だけしか存在しないバグであれば、CG版エントリーでいいと思います。(^^)


>1. フォルダ作成時の不具合
>MKEFLDR でフォルダを作成後、新規フォルダがファイルリストに表示されません。再読み込みして初めて反映されます。

FX版では新規フォルダに移動します。CG版では何も起きないのを確認しました。(^^;


>2. フォルダ改名時の不具合
>フォルダに対して RENAME もしくは RENFLDR を行う際、[F6] にファンクションメニュー [ ▷ ] が残っています。

FX版では[/]が表示され入力できます。CG版では[ ▷ ]ですね。(^^;


>3. SMEM / MAINMEM の変更について
>ストレージメモリの時に [F6] + [F6] + [F4] (→SMEM) を押すと勝手にフォルダに入ったりルートディレクトリに戻ったりしてしまいます。

FX版、CG版ともに異常動作になります。(^^;


>[F4] (→SMEM) と [F5] (→MAIN) を両方表示するのではなく、[SHIFT] + [F5] にある片方のみに変更してはどうでしょうか。

了解です。そのように修正したいと思います。(^^)


>4. SETUP 画面の不具合
>"Sketch Line" の設定時に、[F6] のところに "VERSION" と表示されていないにも関わらず、押すとバージョン情報が表示できてしまいます。


FX版では[F6](VER)表示があり、CG版では無いです。(^^;
ってことで、表示するように修正します。


>5. 変数一覧画面のスクロールバーについて
>ミニフォント表示で最下段を表示した際に、スクロールバーが一番下になっていません。

FX版では変数画面はミニフォントにならないし、スクロールバーがないので、CG版だけのバグですね。(^^;


>その他、FkeyMenu 関係の相談は for CG のエントリーで後程投稿しようと思います (CG 版の話題なので)。

了解です。(^^)

機能拡張関連 + バグ報告

管理人様、sentaro様、iron2様、C.Basicユーザーの皆様、こんにちは!

sentaro様、
> ・純正の変数/List/MatのデータをC.Basicのデータと相互変換が出来たらと思っています。

そうですね。
純正で使いたい行列のデータを C.Basic で高速生成する、ということも可能になるので便利だと思います。(^^)

変数は「DBL# (CPLX) / INT% / アンダーバー変数 / 純正」、List / Mat / Vct は「1bit / VRAM / nibl / byte / word / long / Dbl / CPLX / 純正」という感じでしょうか?


> ・そして、今年こそはコンパイラ版、というよりは、ユーザー関数機能の導入と同時に、関数単位でのコンパイルを導入したいです。

ユーザー関数機能は是非欲しいところであります。
関数単位でのコンパイルも組み合わせられるとなると利用価値がさらに上がってきますね。

SysCall を使う場合でも、ユーザー関数名を設定しておけばエラーのリスクが減らせる & ソースコードが読みやすくなるので便利だと思います。


では、バグ報告です。
(バグ報告は CG 版のエントリーの方が良いでしょうか?)

1. フォルダ作成時の不具合

MKEFLDR でフォルダを作成後、新規フォルダがファイルリストに表示されません。再読み込みして初めて反映されます。


2. フォルダ改名時の不具合

フォルダに対して RENAME もしくは RENFLDR を行う際、[F6] にファンクションメニュー [ ▷ ] が残っています。


3. SMEM / MAINMEM の変更について

ストレージメモリの時に [F6] + [F6] + [F4] (→SMEM) を押すと勝手にフォルダに入ったりルートディレクトリに戻ったりしてしまいます。
[F4] (→SMEM) と [F5] (→MAIN) を両方表示するのではなく、[SHIFT] + [F5] にある片方のみに変更してはどうでしょうか。

・ SMEM にいるときは [F6] + [F6] + [F5] に "→Main" のみを表示
・ MCS にいるときは [F6] + [F6] + [F5] に "→SMEM" のみを表示

というような感じです。


4. SETUP 画面の不具合

"Sketch Line" の設定時に、[F6] のところに "VERSION" と表示されていないにも関わらず、押すとバージョン情報が表示できてしまいます。

折角ですので、[F6] のところに "VERSION" と表示してはどうでしょうか。


5. 変数一覧画面のスクロールバーについて

ミニフォント表示で最下段を表示した際に、スクロールバーが一番下になっていません。

スクロールバーの設定の確認をお願いします。


その他、FkeyMenu 関係の相談は for CG のエントリーで後程投稿しようと思います (CG 版の話題なので)。

Re:[URL 追記] Re: C.Basic for FX v2.42β  CG v1.42β (MLコマンド修正+その他グラフィックスコマンド修正+積分修正版)

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

管理人様、
>新年最初のアップデート、お疲れ様です。
>記事をアップデート対応致しました。

新年より早速にありがとうございます!(^^)


>一昨年のクリスマスカードがテストプログラムになっているのですね!

はい!初期からの互換性チェックで動かしていたのですが、
画面外にはみ出す円弧の描画に異常が発生しているのに気がつくのが遅れました。(^^;

遡ってみると回転機能を実装したときにエンバグしていたようです。
FX版では1.99
CG版では0.84
以降でおかしくなっていたようです。(^^;

DotPutやDrawMatの不具合はもっと前からなので、
あまり使わなかった機能のバグは見つかりにくいですね。(^^;


>これについては、チョットした期待があります。
>実は、2017年にVC++で作りかけ、長年放置している C.Basicエディタ(Winで動くエディタ)があるのですが、とりあえずユニコードに対応した状態までは、ホイホイと出来ているのですが、独自コード対応に手が付いていない状態でした。独自コード対応のために、C#で作り直そうかと思っていたわけです。
>なので、完全にユニコードだけになれば、お蔵入りのものを引っ張り出して短時間で完成できるかも知れません。

>ちなみに半完成状態ですが、アップローダーにアップしておきました。
http://pm.matrix.jp/upload/upload.cgi?get=00051
>Readme_J.txt に目標仕様をまとめていますが、実際はUnicode (UTF-16, Big Endian) に限ります。
>ご参考までに...
>※ご希望の方がいらっしゃれば、ソースコードを差し上げます。

おお!これは雛形としてかなり良い感じですね。(^^)

一応UnicodeはUTF16ではなくUTF8対応で考えてますので、そこのところを変更して、あれこれしていけばエディタの完成となるのでしょうか?
ってことで、ソースコード希望しますです。(^^)



>これも楽しみです。メモリ不足が最大の懸念になったりしませんか? もしそうなら、例えば最初からコンパイル&内部ビルドはSDを使う設定ができると有り難い、と個人的には思います。

内部メモリは使える範囲で収めるとして、FX版の場合、アドインサイズが512KBで限界なのでそこのところのサイズ調整が必須です。
初期の限定版コンパイルならば今のC.Basicへの追加機能でいけると思いますが、
その後はC:Basicとして再スタートになるかと思います。(^^)

[URL 追記] Re: C.Basic for FX v2.42β  CG v1.42β (MLコマンド修正+その他グラフィックスコマンド修正+積分修正版)

sentaro様、iron2様、Colon様、C.Basicユーザーの皆様、

管理人のやすです。

新年最初のアップデート、お疲れ様です。
記事をアップデート対応致しました。


> MLコマンドの不具合はiron2様のXMASのプログラムを実行した場合に楕円の描画で不具合に気が付きました。(^^;

一昨年のクリスマスカードがテストプログラムになっているのですね!


> 拡張部分としては、
> ・テキスト変換にUnicodeを追加して、→や⇒みたいな記号、さらには日本語もそのままで認識できるようにしたいというのがあります。

これについては、チョットした期待があります。
実は、2017年にVC++で作りかけ、長年放置している C.Basicエディタ(Winで動くエディタ)があるのですが、とりあえずユニコードに対応した状態までは、ホイホイと出来ているのですが、独自コード対応に手が付いていない状態でした。独自コード対応のために、C#で作り直そうかと思っていたわけです。

なので、完全にユニコードだけになれば、お蔵入りのものを引っ張り出して短時間で完成できるかも知れません。

ちなみに半完成状態ですが、アップローダーにアップしておきました。
http://pm.matrix.jp/upload/upload.cgi?get=00051
Readme_J.txt に目標仕様をまとめていますが、実際はUnicode (UTF-16, Big Endian) に限ります。
ご参考までに...
※ご希望の方がいらっしゃれば、ソースコードを差し上げます。

> ・そして、今年こそはコンパイラ版、というよりは、ユーザー関数機能の導入と同時に、関数単位でのコンパイルを導入したいです。

これも楽しみです。メモリ不足が最大の懸念になったりしませんか? もしそうなら、例えば最初からコンパイル&内部ビルドはSDを使う設定ができると有り難い、と個人的には思います。


C.Basic for FX v2.42β  CG v1.42β (MLコマンド修正+その他グラフィックスコマンド修正+積分修正版)

管理人様、iron2様、Colon様、C.Basicユーザーの皆様、こんにちは!

新年最初の更新ですが、
ファイル機能関連の更新が終わらぬ間にビットマップ系のコマンドでバグが発見されたのでとりあえずその修正版です。
MLコマンドの不具合はiron2様のXMASのプログラムを実行した場合に楕円の描画で不具合に気が付きました。(^^;

C.Basic for FX v2.42β (MLコマンド修正+その他グラフィックスコマンド修正+積分修正版)
https://pm.matrix.jp/CB/CBASIC242beta.zip

C.Basic for CG v1.42β (MLコマンド修正+その他グラフィックスコマンド修正+積分修正版)
https://pm.matrix.jp/CB/CBASICCG142beta.zip
・次のコマンドで透過色を有効にしました。
_BmpZoom
_BmpRotate
_BmpZmRotate
DrawMat
DotPut

・DrawMatコマンドで16ビットカラービットマップデータの幅と高さが違う場合に描画されない不具合を修正しました。
・DotPutコマンドで16ビットカラー描画が出来なかった不具合を修正しました。

(両バージョン共通)
・MLコマンドで画面外に描画範囲がある場合の不具合を修正しました。
・積分計算式がエラーになる場合の処理を修正しました。
・積分計算の初期精度を有効6桁とし結果を丸めないように変更しました。



Colon様、
>sentaro様が想定なさっている拡張も含め、C.Basic のエントリーの方でお話しいただけると嬉しいです。(^^)

拡張部分としては、
・純正の変数/List/MatのデータをC.Basicのデータと相互変換が出来たらと思っています。
 これは、積分での実装のように、まずC.Basicプログラムで実験してから実装という形を取りたいと思います。

・テキスト変換にUnicodeを追加して、→や⇒みたいな記号、さらには日本語もそのままで認識できるようにしたいというのがあります。

・そして、今年こそはコンパイラ版、というよりは、ユーザー関数機能の導入と同時に、関数単位でのコンパイルを導入したいです。

というのが今の所、考えているところです。(^^)

Re:Re: C.Basic for FX v2.29β CG v1.29β(行列&List初期化高速化+旧Listコマンド修正+α版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>アップデートお疲れ様です。
>昨晩のうちにアップデート対応をしております。

毎度素早い対応していただきまして感謝です。(^^)


>今回の更新部分については、あとで自分なりに見てみたいと思います。

小さな修正ばかりですけど、
SH3機でのキー入力はほんのわずかオーバーヘッドが減ったかなという程度なので体感するのは難しいかもしれませんが、(^^;
よろしくお願いいたします。


>プログラムを起動したあと、[OPTN]キーを受け付けない症状が出ています。Getket まわりの内部動作が変更されていることと何か関係がないのだろうか? などと感じております。

グラフィックスモードを選択するとOkな感じですが、
テキストモードを選択すると再現しました!
どちらのバージョンでも起動時にテキストモードを選択すると[OPTN]が反応しません。(^^;

で、しばらくいじくっていて…
[SHIFT]を押してモードを切り替えると[OPTN]が反応するようになるので、
これはひょっとしてRGB4cとRGB5aのプログラムの仕様という可能性は無いでしょうか?

Re: C.Basic for FX v2.29β CG v1.29β(行列&List初期化高速化+旧Listコマンド修正+α版)

sentaro様、C.Basicユーザーの皆様、

> C.Basic for FX v2.29β(行列&List初期化高速化+旧Listコマンド修正+α版)
> https://pm.matrix.jp/CB/CBASIC229beta.zip
>
> C.Basic for CG v1.29β(行列&List初期化高速化+旧Listコマンド修正+α版)
> https://pm.matrix.jp/CB/CBASICCG129beta.zip

アップデートお疲れ様です。

昨晩のうちにアップデート対応をしております。

今回の更新部分については、あとで自分なりに見てみたいと思います。


ところで、依然作った "RGB指定による色確認プログラム" RGB4c と RGB5a ですが、依然の C.Basic for CG では問題なく動作していましたが、1つ前のバージョンの時、動作異常に気がつき、今回の新バージョンでも同じ状況です。
https://egadget.blog.fc2.com/blog-entry-641.html

プログラムを起動したあと、[OPTN]キーを受け付けない症状が出ています。Getket まわりの内部動作が変更されていることと何か関係がないのだろうか? などと感じております。
手元でソースレベルで確認すべきですが、まだ出来ていません。なのでチョットまだ言いづらい状況ですが、当面バタバタしていりることから、場合によっては大変失礼なことになりますが、報告だけは挙げておきたいと思います。

C.Basic for FX v2.29β CG v1.29β(行列&List初期化高速化+旧Listコマンド修正+α版)

管理人様、C.Basicユーザーの皆様、こんにちは!

ちょこっと間隔空きましたがList関連バグ修正版です。(^^)


C.Basic for FX v2.29β(行列&List初期化高速化+旧Listコマンド修正+α版)
https://pm.matrix.jp/CB/CBASIC229beta.zip
・SH3機でキー入力を改善しました。
・セットアップの"EDIT TopLine"を"HideStatLine"に名称変更しました。


C.Basic for CG v1.29β(行列&List初期化高速化+旧Listコマンド修正+α版)
https://pm.matrix.jp/CB/CBASICCG129beta.zip
・UCFのCalcLoveHK氏にManualCG_EN.txtを修正していただきました。

---共通の修正---
・旧コマンドのList1~6がセットアップの"EditListChar"で変更されなかった不具合を修正しました。
・Listのコピーで旧コマンドのList1~6が機能しなかった不具合を修正しました。
(例) List 1->List2

・行列とリストの読み込みが最大2倍速になりました。
(例){1,2,3}->List 1
(例) [[1,2,3][4.5,6]]->Mat A

Re^25:fxRemote

管理人様、こんにちは!

>名無しの投稿者になっておりましたヨ

あ゛…(^^;
Chromeがアップデート出来ないので一旦アンインストールしたら、再インストールできなくなって、別PCから書き込みしたので失敗しました。
失礼いたしました。(^^;


>sentaro様は、世界中のあちこちで活躍されているので、もう頭が下がります。
>かなり昔にシェアウェアを公開していた時は、国内だけでなく一部海外のユーザーもいたので、バグ対策などの大変さはとてもよく分かります。致命的なバグが出たときは、その場で走り出したくなる気分になったものです。

恐縮です。
最初に比べると、外国でのユーザー状況が把握できてきたというのが大きいかなと思ってます。
バグ修正は毎度のことですが、すぐに対応できない場合はかなり焦りますね。(^^;


>このあたりの情報は、温故知新で使わせて頂きたいので、よろしくお願い致します。

間違っていたら大恥ですが、たぶん大丈夫かと思います。(^^)


>グラフが書ければ良いということで、ドット描画の高速化の優先度が低いのでしょうが、その判断がとても残念です。

ドット描画が速くないのは、ゲームを作りにくくするための教育的配慮もありそうです。(^^;
とはいえ、海外では統計グラフ使用での高速描画技など、CasioBasicの底力を120%引き出しているのがすごいですね。


>消去法だと、そんなところが残ってしまうのでしょうか?

このあたりは謎ですね。(^^;


>海外ではそうなんですね!

サイトに集まってる人たち皆がハッカーといっても良い状況ですから、発売後、数日でソフトもハードも丸裸状態ですね。(^^;


>ところで、e-Gadget読者アンケートを始めました。

面白い試みですね。(^^)


>若い人は Facebook にあまり興味がなく、私の身の回りでも中高年が Facebook メイン、若い人は Twitter か Instagram といった世代分布なんです。

情報拡散のスピードが分かれ道なのでしょうかね。


>既に3名の方から回答を頂いていますが、50歳以上...ここは中高年が多いのかしらん...

日本ではプログラミング電卓市場というのはかなり一部の状況だと思われるので…仕方ないのかもしれません。(^^;


>今更電卓でプログラミングする日本人は、ポケコン世代以上ってことなのかも....UCFでは大学生もバリバリ参加しているのは学校で電卓を使い倒すからなのでしょうね。

海外は授業で必須なのでグラフ電卓を所持している母数が桁違いですよね。
欧米の電卓サイトも高校生大学生が中心で、フランスでは電卓が貰えるプログラミングコンテストも開催されてますね。(^^)
https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15867&page=last#169290
https://tiplanet.org/forum/viewtopic.php?p=245663#p245663


>今チョット面白いことを考えていたりします...

おお!これはまた興味津々です。(^^)

Re^24:fxRemote

sentaro様、

名無しの投稿者になっておりましたヨ


> 私の方もなんやかんやでバタバタで連休には電卓にあまり触れてなかったりしてます。(^^;

sentaro様は、世界中のあちこちで活躍されているので、もう頭が下がります。
かなり昔にシェアウェアを公開していた時は、国内だけでなく一部海外のユーザーもいたので、バグ対策などの大変さはとてもよく分かります。致命的なバグが出たときは、その場で走り出したくなる気分になったものです。

e-Gadgetが超のんびりペースなので仕事と両立できているくらいです。


> TIも最初はZ80-6MHzってことで、CASIOのグラフ電卓とは大差ない処理速度だったと思われますが、
> CFX-9850GBが発売されてる頃から15MHzに高速化(2001年)されてますので、かなり分が悪くなってたと思われます。
> 一気に10倍速にパワーアップした9860G登場するまでの4年ほどはCASIOは遅いという状況だったということになりますね。(^^;

このあたりの情報は、温故知新で使わせて頂きたいので、よろしくお願い致します。


> で、グラフィックスの速度が上がらなかった理由ですが、政治的な配慮以外に技術的な問題として、
> 1ドット毎にLCDに画面データを転送しないといけないという表示方式が遅い原因でもありますね。

> CGシリーズはCG50で90fpsくらいまで高速化されてやっとFXシリーズ並に普通に使える速度になりましたが、
> それでもCasio Basicでのドット描画速度はCFXシリーズレベルのままなのが惜しいです。(^^;

グラフが書ければ良いということで、ドット描画の高速化の優先度が低いのでしょうが、その判断がとても残念です。


> はい、バックアップ電池での差というのはなかなか考えにくい要因ですが、
> USBを挿していると速くなるという仕様(SH4A機で顕著)が存在している以上、
> バックアップ電圧チェックの関連で速度が変わる可能性は案外あるのかもしれません。(^^;

消去法だと、そんなところが残ってしまうのでしょうか?


> OSの日付=ファイルの日付という思考回路で固まってましたね。(^^;
> 海外サイトでは新しい機種やOSはまず診断モードからなので、内部からのデータ取得が確実ですね。(^^)

海外ではそうなんですね!


ところで、e-Gadget読者アンケートを始めました。
PV数獲得を一番に考えているわけではないけど人気のあるブログを見ていますと、Twitter や Facebook を活用されているケースが意外に多くて、e-Gadgetもどうしたもんだろうか? とずっと考えていました。

若い人は Facebook にあまり興味がなく、私の身の回りでも中高年が Facebook メイン、若い人は Twitter か Instagram といった世代分布なんです。

で、e-Gadget読者の世代構成や、ネット利用の実態に興味が出てきました。

既に3名の方から回答を頂いていますが、50歳以上...ここは中高年が多いのかしらん...

今更電卓でプログラミングする日本人は、ポケコン世代以上ってことなのかも....UCFでは大学生もバリバリ参加しているのは学校で電卓を使い倒すからなのでしょうね。

今チョット面白いことを考えていたりします...

Re^23:fxRemote

管理人様、こんにちは!

>この三連休も、ずっと仕事でした(>_<)
>まとまった時間がないと出来ないことが出来たので、やった感満載でチョットした満足感に満たされました。
>なので、今日は気持ち良く平常の仕事に戻っています。

三連休、おつかれさまです。
私の方もなんやかんやでバタバタで連休には電卓にあまり触れてなかったりしてます。(^^;


>fx-7000G はハードウェアとしても搭載言語としても今のグラフ関数電卓の本当の源流ですが、機能追加をすることでどんどん動作が遅くなるのは分からないでもないですね。で、速度低下が fx-9850GC PLUS で行き着くところまで行ってしまったわけです。

同じ程度の処理能力のCPUで続いてきてますから、遅くなるのも必然ですね。


>欧米市場特にアメリカでの対抗上処理速度を上げる必要があることで、fx-9860G が登場し、関数計算とCasio Basicの構造制御の速度が一気に向上したわけです。ところが単にDOTを打ち続ける処理は 依然 fx-7000G が最速のまま。高速化の必要性無しとの判断だったのは間違いないですよね。

TIも最初はZ80-6MHzってことで、CASIOのグラフ電卓とは大差ない処理速度だったと思われますが、
CFX-9850GBが発売されてる頃から15MHzに高速化(2001年)されてますので、かなり分が悪くなってたと思われます。
一気に10倍速にパワーアップした9860G登場するまでの4年ほどはCASIOは遅いという状況だったということになりますね。(^^;

で、グラフィックスの速度が上がらなかった理由ですが、政治的な配慮以外に技術的な問題として、
1ドット毎にLCDに画面データを転送しないといけないという表示方式が遅い原因でもありますね。
Ftuneのベンチマークでノーマルクロックにおける1秒間の画面転送が600fps程ですが、一画面は1KBなので決して速いとは言えません。
CG20では一画面が180KBとなって画面転送がDMA使用でも35fps程と顕著な速度低下が起きてましたけど、
転送量は180KBx35=6300KBなのでFXシリーズからは10倍速くなってます。
このCGシリーズのDMA転送がFXシリーズにもあったならさらに10倍速い画面転送が実現できていたことになりますが、
FXシリーズの段階ではそこまでの高速化は検討されなかった模様ですね。(^^;

CGシリーズはCG50で90fpsくらいまで高速化されてやっとFXシリーズ並に普通に使える速度になりましたが、
それでもCasio Basicでのドット描画速度はCFXシリーズレベルのままなのが惜しいです。(^^;


>仮にその相関性が確認できたとしても、因果関係まではさすがに分からないですよね。バックアップ電池が無いモデルでは、OSレベルで何か裏の処理が常に動いているとか、そんな理由になるのだろうとは想像されるのですけど..

はい、バックアップ電池での差というのはなかなか考えにくい要因ですが、
USBを挿していると速くなるという仕様(SH4A機で顕著)が存在している以上、
バックアップ電圧チェックの関連で速度が変わる可能性は案外あるのかもしれません。(^^;


>弘法も木から落ちましたね(^_^;

あ、いや、弘法では全然ないですけど、
OSの日付=ファイルの日付という思考回路で固まってましたね。(^^;

海外サイトでは新しい機種やOSはまず診断モードからなので、内部からのデータ取得が確実ですね。(^^)

Re: Re^21:fxRemote

sentaro様、

この三連休も、ずっと仕事でした(>_<)
まとまった時間がないと出来ないことが出来たので、やった感満載でチョットした満足感に満たされました。
なので、今日は気持ち良く平常の仕事に戻っています。

ということで、楽しみにしていた fx-9860G無印とAUのOS入れ替え実験がまだ出来ていません。おいおいやってゆこうと思います。


> 最初のうちは機能的にも初期の段階なので一番シンプルな実装になっていて速いのでしょう。
> 後になってくるにつれて機能増強であれこれと遅くなってくるイメージですが、
> それにしても、9860Gシリーズ以降に処理性能が飛躍的に上がったにも関わらずグラフィックスが遅くなってしまったのは、ちょっと情けない状況ではあります。(^^;

fx-7000G はハードウェアとしても搭載言語としても今のグラフ関数電卓の本当の源流ですが、機能追加をすることでどんどん動作が遅くなるのは分からないでもないですね。で、速度低下が fx-9850GC PLUS で行き着くところまで行ってしまったわけです。

欧米市場特にアメリカでの対抗上処理速度を上げる必要があることで、fx-9860G が登場し、関数計算とCasio Basicの構造制御の速度が一気に向上したわけです。ところが単にDOTを打ち続ける処理は 依然 fx-7000G が最速のまま。高速化の必要性無しとの判断だったのは間違いないですよね。


> ところで、
> オリジナルとAU版との速度差の原因としてちょっと思いついたことがあったので、
> うちの元祖9860G(バックアップ電池のあるバージョン)でもちょこっと計測してみました。
> ・OSは9860G版1.05と2.01です。
> ・メインメモリ初期化後ベンチマークプログラムのみを転送して計測。
>
> --------------------------------------------
>       1.05   2.01
> --------------------------------------------
> TSTSUM1_  _16.9  _33.0(10000回ループ)
> TSTSUM2_  __9.9  _22.0(10000回ループ)
> TSTFUNC1  _14.2  _16.9
> TSTFUNC2  _13.1  _15.1
> DOT_    250.8  295.3
> DOT2    255.3  301.4
> PYTHA_   _89.1  _95.7
> MONTECAR  115.5  128.6
> --------------------------------------------
>
> 管理人様のAU版に近い結果となりました。
> ひょっとすると、バックアップ電池のある無しが原因?かもしれないでのでしょうか。(^^;

バックアップ電池の有無と速度の相関関係については、お陰様で再現性がありそうだと分かったのは貴重です。
ありがとうございます。

次に、無印とAUでOSを入れ替えて実験すると、この仮説が裏付けられるかも知れませんね!
つまり、OSとは無関係でバックアップ電池の有無が速度に影響する、ということになるかどうか...

仮にその相関性が確認できたとしても、因果関係まではさすがに分からないですよね。バックアップ電池が無いモデルでは、OSレベルで何か裏の処理が常に動いているとか、そんな理由になるのだろうとは想像されるのですけど...



> 内部のidを削除しているだけと思いますが、ソース確認すれば安心ですね。(^^)

このお楽しみもお預けになっております。


> あ゛…そういえばROMにアップデートのタイムスタンプがありました!
> そこに早く気がつくべきでした。(^^;

弘法も木から落ちましたね(^_^;


...ということで、生存証明 兼 ビジーモードの報告でした。

Re^21:fxRemote

管理人様、こんにちは!

>全体の傾向として、関数計算が速くなってきているなど、まぁそうなんだろう...と単なる確認データみたいのが多いわけですが、一方で Plotを使ってドットで画面を埋めるのは、fx-7000Gが今でも最速だったりするなど、チョット面白い結果も見られるのが楽しいですよね!

最初のうちは機能的にも初期の段階なので一番シンプルな実装になっていて速いのでしょう。
後になってくるにつれて機能増強であれこれと遅くなってくるイメージですが、
それにしても、9860Gシリーズ以降に処理性能が飛躍的に上がったにも関わらずグラフィックスが遅くなってしまったのは、ちょっと情けない状況ではあります。(^^;


>同じコマンドとアルゴリズムを使って、ヒューマンファクターも含めて徹底的に同じ計測方法で貫くのは、私なりのこだわりというか、私なりの科学的アプローチです。

管理人様による計測のこだわりとそれによる信頼性は半端ないですね。(^^)

ところで、
オリジナルとAU版との速度差の原因としてちょっと思いついたことがあったので、
うちの元祖9860G(バックアップ電池のあるバージョン)でもちょこっと計測してみました。
・OSは9860G版1.05と2.01です。
・メインメモリ初期化後ベンチマークプログラムのみを転送して計測。

--------------------------------------------
      1.05   2.01
--------------------------------------------
TSTSUM1_  _16.9  _33.0(10000回ループ)
TSTSUM2_  __9.9  _22.0(10000回ループ)
TSTFUNC1  _14.2  _16.9
TSTFUNC2  _13.1  _15.1
DOT_    250.8  295.3
DOT2    255.3  301.4
PYTHA_   _89.1  _95.7
MONTECAR  115.5  128.6
--------------------------------------------

管理人様のAU版に近い結果となりました。
ひょっとすると、バックアップ電池のある無しが原因?かもしれないでのでしょうか。(^^;



>ところで、PolyOS ですが、ソースファイルに binファイル を指定して、本当に fls ファイルが得られるのかがよく分からないので、後でソースをジックリ見てみようと思っています。下手なファイルで fxRemoteの操作をするのはかなり怖いですから...


内部のidを削除しているだけと思いますが、ソース確認すれば安心ですね。(^^)


>ふと思いついて、fxRemoteでOSを入れ替えてから、ファクトリーモードに入って DateO を見てみると、そのバージョンのROMがリリースされたタイムスタンプだと気づきました。一方 Model ID の GYxxx や ブートコード・リリースのタイムスタンプ DateA は持っているハードウェア固有の情報で、OSを入れ替えても変化しないことが殆どですね。ただしフラッシュファイルによっては Model ID が変わるものもあったりします (例えば Slim の OS2.00 のフラッシュファイル)。

あ゛…そういえばROMにアップデートのタイムスタンプがありました!
そこに早く気がつくべきでした。(^^;


>古いファイルやWebのURLなど、sentaro様はきちんと管理して保存されていて、必要な情報がさっと出てくるのはさすがですね!

恐縮です。
OSファイル等はフォルダにまとまっているのであちこち探すことはないのでサクッといけますね。(^^;

Re^20:fxRemote

sentaro様,


> >温故知新のネタバレになりますが、これを眺めていると結構面白いです。
> これは見応えありますね。(^^)

全体の傾向として、関数計算が速くなってきているなど、まぁそうなんだろう...と単なる確認データみたいのが多いわけですが、一方で Plotを使ってドットで画面を埋めるのは、fx-7000Gが今でも最速だったりするなど、チョット面白い結果も見られるのが楽しいですよね!

同じコマンドとアルゴリズムを使って、ヒューマンファクターも含めて徹底的に同じ計測方法で貫くのは、私なりのこだわりというか、私なりの科学的アプローチです。

するとつまらないことでも、本当にそうなんだ!と確認できるので、あとで余計なことを考える必要がなくなり、頭がスッキリする自己満足的効果満点だったりします。

ところで、PolyOS ですが、ソースファイルに binファイル を指定して、本当に fls ファイルが得られるのかがよく分からないので、後でソースをジックリ見てみようと思っています。下手なファイルで fxRemoteの操作をするのはかなり怖いですから...


> 手元にあるアップデータの日付を記しておきます。
>
> 9860G 1.05  2008/08/19
> 9860G 2.00  2009/03/25
> 9860G 2.01  2011/04/26
>
> 9860GII 2.01 2011/04/26
>
> Slim 1.11 2008/02/14
> Slim 2.00 2009/04/13

これは貴重なデータを頂き、大変ありがとうございます。

ふと思いついて、fxRemoteでOSを入れ替えてから、ファクトリーモードに入って DateO を見てみると、そのバージョンのROMがリリースされたタイムスタンプだと気づきました。一方 Model ID の GYxxx や ブートコード・リリースのタイムスタンプ DateA は持っているハードウェア固有の情報で、OSを入れ替えても変化しないことが殆どですね。ただしフラッシュファイルによっては Model ID が変わるものもあったりします (例えば Slim の OS2.00 のフラッシュファイル)。

なので、現在sentaro様から頂いたフラッシュファイルを使う限り、DateO が結構価値のある情報だと思います。

で、この DateO タイムスタンプは、上記のアップデータの日付に近いことにも改めて気づきました。

古いファイルやWebのURLなど、sentaro様はきちんと管理して保存されていて、必要な情報がさっと出てくるのはさすがですね!


> リリース前の数年はデバッグ期間として、2.00の原型は2006年当時にはすでにあったと考えるのが自然かもですね。

それが自然な結論だと、私も思います。

温故知新としては、結構ポイントになる情報が得られて、嬉しいです\(^_^)/


Re^19:fxRemote

管理人様、こんにちは!

>これまでためてきたベンチマークの結果とプログラムファイルをZIPファイルに放り込みました。
https://egadget2.web.fc2.com/archives/bench_mark/bench_mark.html

>このベンチマークは、全て純正Casio Basicで実行した結果です。

>温故知新のネタバレになりますが、これを眺めていると結構面白いです。


これは見応えありますね。(^^)
おつかれさまです。


>これは、これまでの経験と体感で分かっていて、必ずオーバークロックツールを入れてからC.Basicを転送しています。

さすが管理人様です!(^^)


>但し温故知新の記事では、PCで動作する SGクロックというストップウォッチアプリを一貫して使っています。
>[Enter]キーでクロックスタート、[Space]キーでストップとなるように設定して、同じ動作で繰り返し精度を上げています。
>5回測定し、最大と最小を無視して、3個の平均をとるのも一貫して行っています。すると 0.1秒程度の繰り返し精度が得られています。おそらく0.1秒精度のベンチマーク職人になってきています。 

C.Basicの実行時間計測機能を使わないでストップウォッチ5回計測は結構大変ですね。(^^;


>Slimの発売が 2007年なので、発売当初に OS1.10 で OS2.00 になっていません。するとひょっとして OS2.00 は fx-5800P のかなり後という可能性もありそうではあります。

手元にあるアップデータの日付を記しておきます。

9860G 1.05  2008/08/19
9860G 2.00  2009/03/25
9860G 2.01  2011/04/26

9860GII 2.01 2011/04/26

Slim 1.11 2008/02/14
Slim 2.00 2009/04/13

というところでした。

2.00は2009年リリースということで、fx-5800P発売からはずっと後です。(^^;
ですが、
リリース前の数年はデバッグ期間として、2.00の原型は2006年当時にはすでにあったと考えるのが自然かもですね。

入力時に以前の内容を表示するところの、
?A
コマンドは5800P独自でしたが、FD10Proでやっと採用されたように、CasioBasicのコマンドは引き出しの中から、それぞれに適するコマンドを選択して搭載しているのかもしれません。

Re: Re^17:fxRemote

sentaro様、


これまでためてきたベンチマークの結果とプログラムファイルをZIPファイルに放り込みました。
https://egadget2.web.fc2.com/archives/bench_mark/bench_mark.html

このベンチマークは、全て純正Casio Basicで実行した結果です。

温故知新のネタバレになりますが、これを眺めていると結構面白いです。


> ちなみに、C.Basicでの速度はアドインの置かれた位置に関係するかもしれないので、
> 徹底的にテストする場合は、ストレージを完全初期化した後、まっさなら状態から、Ftune、そしてC.Basicとインストールしてください。
> C.Basicが先でもいいですが、C.Basicは書き換えると配置が変わるので、Ftuneを先にインストールしてストレージ上の配置を固定化しておいた方がいいと思われます。
> このインストール順が違っていると微妙な速度差が出るかもしれません。

これは、これまでの経験と体感で分かっていて、必ずオーバークロックツールを入れてからC.Basicを転送しています。

但し温故知新の記事では、PCで動作する SGクロックというストップウォッチアプリを一貫して使っています。
[Enter]キーでクロックスタート、[Space]キーでストップとなるように設定して、同じ動作で繰り返し精度を上げています。
5回測定し、最大と最小を無視して、3個の平均をとるのも一貫して行っています。すると 0.1秒程度の繰り返し精度が得られています。おそらく0.1秒精度のベンチマーク職人になってきています。



> >つまり、9860G がOS1.xx で2005年に発売され、1年後の fx-5800P のROMと 9860G OS2.xx がほぼ同時並行していた可能性です。
>
> 間違いなく9860Gの方が先に開発されていますし、管理人様の推測は完全に当たってると思われます。(^^)
>
> fx-5800Pの企画が持ち上がった場合、載せる言語をどうするかというところで、
> 9860Gよりも前のCFXシリーズからバージョンアップ中のグラフ電卓のCasioBasicと同じでいいじゃないか、ということになったと想像されますね。

はい、私もほぼこれに間違いないと思っています。
なので、次は、OS2.00 リリースの舞台裏に興味があるわけです。

fx-5800P と OS2.00 はどちらが先か?

そのためには OS2.00リリースがいつかを知りたいところです。

2005年に 9860G OS1.00 が出て、その後 OS2.00 は fx-5800P 発売の2006年某月の前か後か...?

Slimの発売が 2007年なので、発売当初に OS1.10 で OS2.00 になっていません。するとひょっとして OS2.00 は fx-5800P のかなり後という可能性もありそうではあります。

ネットで fx-9860G OS2.00 リリース時期を検索しているところですが、なかなか見つかりません。

あとはカシオ電卓のSNSで探すしかないのかも知れません。で、sentaro様なら何かご存じではないでしょうか?


Re^17:fxRemote

管理人様、こんにちは!

>fx-9860G の バックアップ電池付きAU機と、単四4本のみの無印機の処理速度の違いを各OSバージョンごとに調べてゆくと確実にバックアップ電池付きAU機が優位性をもって確実に速いことが分かりました。

お!これは興味深い結果です。(^^)


>AU機と無印機の違いですが、AU機には無印機用のOSを入れ替えています。
> 1) AU機用のOSと無印機のOSで速度差がある
> 2) 単純のハードウェアの設定が違う
> 3) その両方
>速度差の違いはこの3点くらいでしか説明できないですよね。

OSが一緒なのに速度差が出るのは、なかなかに不思議な現象ですが、

>1) については、実際にモデルIDを認識できるOSに入れ替えることで実験できるような気がしていますが、どうでしょうか?

はい、それで分かると思います。


>2) については、Ftune で設定値を比較してみるくらいしか思いつきません。

はい、これもそうですね。内部レジスタの設定が微妙に違うと速度差が出てきます。


>バックアップ電池の有無が速度差に影響することはプログラム実行速度に影響することが考えにくいし、メインメモリ容量が 0.9MB か 1.5MB かの違いも速度差に影響するとは考えにくいと思っています。

バックアップ電池は初期の9860Gには付いていましたし、OS1.03あたりでバックアップ電池無し対応になってたと思うので、それが違いとは考えにくいですね。
ストレージ容量の差については、同じ9860GのOSでチェックされての結果なので全く関係ないですよね。
本家9860Gの方にAU版のOSを載せた場合にどうなるかというところですが…。
実験だけなら出来そうです。(^^)


>今のところ謎ですが、何か分かると面白いと思っています。次の土日に実験してみようと思います。何かご意見があれば是非お聞かせください。

純正9860G版のOSとAU版のOSをそれぞれの機種に相互に載せ替えて調べたら完璧でしょうか。

ちなみに、C.Basicでの速度はアドインの置かれた位置に関係するかもしれないので、
徹底的にテストする場合は、ストレージを完全初期化した後、まっさなら状態から、Ftune、そしてC.Basicとインストールしてください。
C.Basicが先でもいいですが、C.Basicは書き換えると配置が変わるので、Ftuneを先にインストールしてストレージ上の配置を固定化しておいた方がいいと思われます。
このインストール順が違っていると微妙な速度差が出るかもしれません。


>fx-5800P の後継機として見ると、OS1.xx では RanInt# などの 5800P にある関数が無いなど微妙なところがあります。

あ゛、そうでした。
OS1.0xは5800Pの完全上位でもなかったですね。(^^;


>つまり、9860G がOS1.xx で2005年に発売され、1年後の fx-5800P のROMと 9860G OS2.xx がほぼ同時並行していた可能性です。

間違いなく9860Gの方が先に開発されていますし、管理人様の推測は完全に当たってると思われます。(^^)

fx-5800Pの企画が持ち上がった場合、載せる言語をどうするかというところで、
9860Gよりも前のCFXシリーズからバージョンアップ中のグラフ電卓のCasioBasicと同じでいいじゃないか、ということになったと想像されますね。


>これについても、記事に追加しておこうと思います。

今はTI-PlanetだけじゃなくPlanet-Casioの管理人でもありますね。(^^)


>あ、こちらでもう一度トライし、その状況を報告致します。
>よろしくお願い致します。

了解しました。(^^)

Re: Re^15:fxRemote

sentaro様、


> >fx-9860G Slimの勧めのエントリーにOS Updateの項目を追記し、紹介しました。
> >なお、Slim のベンチマークも修正しております。

fx-9860G の バックアップ電池付きAU機と、単四4本のみの無印機の処理速度の違いを各OSバージョンごとに調べてゆくと確実にバックアップ電池付きAU機が優位性をもって確実に速いことが分かりました。

この測定精度でSlimを各OSごとに調べなおしてみると、OS1.10 が一番速く、バージョンがあがってゆくほど遅くなることが分かりました。その結果で記事をアップデートしたわけです。

AU機と無印機の違いですが、AU機には無印機用のOSを入れ替えています。
 1) AU機用のOSと無印機のOSで速度差がある
 2) 単純のハードウェアの設定が違う
 3) その両方
速度差の違いはこの3点くらいでしか説明できないですよね。

1) については、実際にモデルIDを認識できるOSに入れ替えることで実験できるような気がしていますが、どうでしょうか?
2) については、Ftune で設定値を比較してみるくらいしか思いつきません。

バックアップ電池の有無が速度差に影響することはプログラム実行速度に影響することが考えにくいし、メインメモリ容量が 0.9MB か 1.5MB かの違いも速度差に影響するとは考えにくいと思っています。

今のところ謎ですが、何か分かると面白いと思っています。次の土日に実験してみようと思います。何かご意見があれば是非お聞かせください。


> SlimのOSはfx-5800Pの後継なら1.10か1.11で無問題ですが、
> 9860Gシリーズとしてみれば機能面でちょっと見劣りするので、
> 管理人様が選択された2.00が最適ですね。

fx-5800P の後継機として見ると、OS1.xx では RanInt# などの 5800P にある関数が無いなど微妙なところがあります。

と、いうことは、fx-5800P は fx-9860G OS2.00 のサブセット版で、同時開発された可能性があるかも知れない、と気づきました。

つまり、9860G がOS1.xx で2005年に発売され、1年後の fx-5800P のROMと 9860G OS2.xx がほぼ同時並行していた可能性です。

9860G の OS2.00 のリリース時期が分かれば、上の仮説の裏付けとなりそうです。
...ってことでリリース時期を調べていますが、まだ見つかっていません。ご存じでしょうか?

或いは、5800P が評判良いから 後から9860G に盛り込んだというにも十分アリなんですけど...



> PolyOSを使って修正してみてください。
> それで読めるOSファイルになると思います。(^^)

ありがとうございます。あとで試してみようと思います。


> ちなみにPolyOSはTI-Planet管理人のCritor氏が作成されています。

これについても、記事に追加しておこうと思います。


> ところで、Planet-Casioの管理人様アカウントはどうしましょうか?

あ、こちらでもう一度トライし、その状況を報告致します。
よろしくお願い致します。


Re^15:fxRemote

管理人様、こんにちは!

>fx-9860G Slimの勧めのエントリーにOS Updateの項目を追記し、紹介しました。
>なお、Slim のベンチマークも修正しております。

おつかれさまです。(^^)

SlimのOSはfx-5800Pの後継なら1.10か1.11で無問題ですが、
9860Gシリーズとしてみれば機能面でちょっと見劣りするので、
管理人様が選択された2.00が最適ですね。


>ありがとうございます。
>ところで、binファイルの取扱いを書いてある資料はどこかにありませんでしょうか?
>fxRemoteでは binファイルを対象にしていないと思います。

PolyOSを使って修正してみてください。
それで読めるOSファイルになると思います。(^^)
ちなみにPolyOSはTI-Planet管理人のCritor氏が作成されています。

ところで、Planet-Casioの管理人様アカウントはどうしましょうか?

Re: Re^13:fxRemote

sentaro様、

> >https://egadget2.web.fc2.com/archives/exe_files/fxRemote/fxRemote_fx9860G.html
>
> 無事ダウンロードできました。
> 内容的には何も問題は無いと思います。(^^)

ありがとうございます。

fx-9860G Slimの勧めのエントリーにOS Updateの項目を追記し、紹介しました。

なお、Slim のベンチマークも修正しております。



> 管理人様からダウンロードしたファイルで2.01に書き換えて試してみたところ、同様にファクトリモードには入れませんでした。
> 2.04では入れるので、2.01だけ何やらバグってる可能性もありますね。(^^;
> 公式にはSlimは2.00までなので、何も文句は言えません。(^^;

この点も、上のエントリーに追記しました。その上で、OS2.01 と OS2.04 は推奨しない旨も追記しています。



> とりあえず、こっそり置いておきます。(^^;
> https://pm.matrix.jp/CB/9860G_au_OS.zip

ありがとうございます。
ところで、binファイルの取扱いを書いてある資料はどこかにありませんでしょうか?
fxRemoteでは binファイルを対象にしていないと思います。

Re^13:fxRemote

管理人様、こんにちは!

>改めてアップしましたので、こちらからお願い致します。
https://egadget2.web.fc2.com/archives/exe_files/fxRemote/fxRemote_fx9860G.html

無事ダウンロードできました。
内容的には何も問題は無いと思います。(^^)


>ところで、fx-9860G Slim OS2.01 へアップデートすると、[OPTN]-[EXP]-[AC] でファクトリモードに入れないことに気がつきました。fxRemoteの設定は、2つのチェックボックス両方ともチェックを入れていません。

管理人様からダウンロードしたファイルで2.01に書き換えて試してみたところ、同様にファクトリモードには入れませんでした。
2.04では入れるので、2.01だけ何やらバグってる可能性もありますね。(^^;
公式にはSlimは2.00までなので、何も文句は言えません。(^^;


>なるほど、事前にバックアップしておけば良かったですね。

とりあえず、こっそり置いておきます。(^^;
https://pm.matrix.jp/CB/9860G_au_OS.zip

Re: Re^11:fxRemote

sentaro様、

> こちらのリンクが、
> >https://egadget2.web.fc2.com/archives/exe_files/fxRemote/fxRemote.html
>
> 404Error - Page not found
> になってしまいます。(^^;

すみません、htmlファイルを間違って消してしまったようです。
改めてアップしましたので、こちらからお願い致します。
https://egadget2.web.fc2.com/archives/exe_files/fxRemote/fxRemote_fx9860G.html

ところで、fx-9860G Slim OS2.01 へアップデートすると、[OPTN]-[EXP]-[AC] でファクトリモードに入れないことに気がつきました。fxRemoteの設定は、2つのチェックボックス両方ともチェックを入れていません。

何か使い方に問題ありますでしょうか?


> >[ABS Mark NG]
> >という表示が出てきます。
> おそらく、OSが機種と合ってないというメッセージですね。(^^;
> ABSというのはPCでいうところのIPL部分で、OS書き換えがされない部分なので、機種別に固有な情報が保存されているものと思われます。
> そこのところで、ノーマル版とAU版とでは違いがありそうです。

>
> AU版はストレージメモリが制限されてるので、アドインを1.5MB分まるごと使おうと思えばノーマル版のOSに入れ替える必要がありますし、
> そこのところは仕方ないところですね。(^^;

なるほど、事前にバックアップしておけば良かったですね。


Re^11:fxRemote

管理人様、こんにちは!

>あ"、忘れてました。
>...ということでこれを変更した上で、再アップしました。

こちらのリンクが、
https://egadget2.web.fc2.com/archives/exe_files/fxRemote/fxRemote.html

404Error - Page not found
になってしまいます。(^^;


>英語でのマニュアル OSUpsate.pdf があるので、インターナショナル版になりますでしょうか?

はい、英語版なので世界対応ですね。(^^)


>一方、fx-9860G AU を OS1.05 に入れ替えてから ファクトリーモードに入ると、
>[ABS Mark NG]
>という表示が出てきます。

>これは、OS書換に伴うものに思えますが、何を意味しているのかお分かりでしょうか?

おそらく、OSが機種と合ってないというメッセージですね。(^^;
ABSというのはPCでいうところのIPL部分で、OS書き換えがされない部分なので、機種別に固有な情報が保存されているものと思われます。
そこのところで、ノーマル版とAU版とでは違いがありそうです。

AU版はストレージメモリが制限されてるので、アドインを1.5MB分まるごと使おうと思えばノーマル版のOSに入れ替える必要がありますし、
そこのところは仕方ないところですね。(^^;

Re: Re^9:fxRemote

sentaro様、


> ReadMe_J.Txtの方がまだ未修正のようです。(^^;

あ"、忘れてました。
...ということでこれを変更した上で、再アップしました。
英語でのマニュアル OSUpsate.pdf があるので、インターナショナル版になりますでしょうか?

先ずは、fx-9860G Slim の勧めのエントリーに、リンクを追加しようとおもいます。
で、温故知新 - fx-9860G のエントリ(これから作成) にもリンクを入れる予定です。


> お!これは新たな発見かもですね!
> 電池の差で速度差が出るとは考えにくいですが、載せたOSが全く同じで速度差が出るとしたらハード自体に何か差があるとしかいえません。

そうなんです。そのハードの差が、どこからくるのか、もう少し調べて見ようかと思っています。


ところで fx-9860G OS1.04 (購入したままの状態で、まだOS入れ替えをしてません)のファクトリーモードでは、
[GY365 MAIN]
と表示されます。これは正常に見えます。

一方、fx-9860G AU を OS1.05 に入れ替えてから ファクトリーモードに入ると、
[ABS Mark NG]
という表示が出てきます。

これは、OS書換に伴うものに思えますが、何を意味しているのかお分かりでしょうか?


sentaro様から入手したOSコピーファイルを使って、全てのOSバージョンに改めて入れ替えて ファクトリーモードでの表示を調べて見ようと思っています。


Re^9:fxRemote

管理人様、こんにちは!

>ありがとうございます。
>polyosを使ってみました。model ID が残っていた上記のファイルを polyos で処理して model ID を取り除く、fxRemoteでコピーしたら、うまくできました。

うまく行ったようで良かったです。(^^)


>fxRemoteの世間的に正しい使い方は、自分の電卓の flash や RAMのバックアップと書き戻し、そして同じ機種を2ぢあ異常持っている時に、機種間でのOSのコピーとなるべきです。そして複数の同じ実機間でOSをコピーするために polyos が必要...といった説明を、ある種のアリバイ作りの意味で、OSUpdate.odf に追記しました。

はい、PolyOSの正しい使い方は、管理人様のおっしゃるとおりで何も問題はないです。(^^)


>その上て、9860Gシリーズは USBケーブルで繋ぐだけで通信できるように修正しました。

ReadMe_J.Txtの方がまだ未修正のようです。(^^;


>ところで、9860G でOSを変えて速度ベンチマークをやっていて、手持ちの 9860G AU と 9860G で速度が違うことが分かってきました。何が原因なのか調べているところです。一応同じ電池に入れ替えてみましたが AU の方が速い結果がでています。

お!これは新たな発見かもですね!
電池の差で速度差が出るとは考えにくいですが、載せたOSが全く同じで速度差が出るとしたらハード自体に何か差があるとしかいえません。


>先ずはお詫びです。TI-Planet にはログインできております。
>私がログインできなくて困っていたのは、Planet-Casio なんです。
>Planet-Casio を書いていたつもりですたが、タイプミスか文脈上で勘違いさせてしまったようです。
>申し訳ありません。

あ、いえいえ、最初からPlanet-Casioでログインできないことだと認識してましたのでそれは無問題です。(^^)

私もPlanet-Casioでの登録では向こうからのメールが届きにくかったことがあったので、そこら辺のトラブルが発生していた可能性ありですね。
今でもUCFのようにフォーラム書き込みでのお知らせメールが直に届くわけではないので、メール関係はちょっと怪しいところもあります。
別のメールアドレスで登録を試してみれば案外上手くいくかもしれないのですが、
最初の登録名とメールアドレスでということであれば、それで管理人様の登録申請を出すことができます。(^^)

Re: Re^7:fxRemote

sentaro様


> >で、Slim ではなくて 9860G でOS変更をやってベンチマークをやっています。
>
> お!これはまた楽しみな案件です!(^^)




> ってことで調べたら9860Gの2.01はid付きのファイルでした。(^^;

> こういう場合に使うツールが、PolyOSです。
> このPolyOSを使ってidをキャンセルすれば書き換え可能なファイルになります。
> https://tiplanet.org/forum/archives_voir.php?id=4475
> 自分でOSファイルをバックアップした場合、他の電卓には書き戻せないので、その時にも必要なツールです。
> OS書き換えツールの中にPolyOSへのリンクを書いておくといいかもしれません。(^^)
>
> で、こちらがキャンセル済みのOsファイルです。
> https://pm.matrix.jp/CB/2_01_0300_sh3.zip

ありがとうございます。
polyosを使ってみました。model ID が残っていた上記のファイルを polyos で処理して model ID を取り除く、fxRemoteでコピーしたら、うまくできました。

fxRemoteの世間的に正しい使い方は、自分の電卓の flash や RAMのバックアップと書き戻し、そして同じ機種を2ぢあ異常持っている時に、機種間でのOSのコピーとなるべきです。そして複数の同じ実機間でOSをコピーするために polyos が必要...といった説明を、ある種のアリバイ作りの意味で、OSUpdate.odf に追記しました。

その上て、9860Gシリーズは USBケーブルで繋ぐだけで通信できるように修正しました。

フラッシュデータファイルですが、リネームしております。

https://egadget2.web.fc2.com/archives/exe_files/fxRemote/fxRemote.html



ところで、9860G でOSを変えて速度ベンチマークをやっていて、手持ちの 9860G AU と 9860G で速度が違うことが分かってきました。何が原因なのか調べているところです。一応同じ電池に入れ替えてみましたが AU の方が速い結果がでています。

私の手持ちの AU はバックアップ用のボタン電池を使うタイプで、9860G はバックアップ電池が無くて単四4本だけのタイプです。このハードウェアの違いが原因なのか、そもそもメインメモリ量の違いが原因なのか、どうやって調べようか?と悩んでいるところです。



> >えと、以前登録した時の メールアドレスとパスワードでログインしようとすると、パスワードが違うといってはねられます。
> >私の登録情報を完全にクリアして頂くしかないと思っていますが、個人情報を渡してクリアしてもらうことができれば嬉しいところです。
> >新たなメールアドレスで再登録するしかないのかどうか、分かりますでしょうか?
>
> 了解です。
> 以前のメールアドレスが不完全な登録をされている状態みたいですね。
>
> 先日の回答では、公開されている管理人様のメールアドレス(Krtyski.egadget gmail.com)と登録名(Krtyski)でチェックしていただいたようなのですが、その登録はされてなかったということです。
> 以前の登録名とメールアドレスが分かれば完全クリアにしてもらうか、もしくは、そのまま登録状態にしてもらえるので、どういたしましょうか?
> 管理人様ならVIP待遇で登録してもらえます。(^^)


先ずはお詫びです。TI-Planet にはログインできております。
私がログインできなくて困っていたのは、Planet-Casio なんです。
Planet-Casio を書いていたつもりですたが、タイプミスか文脈上で勘違いさせてしまったようです。
申し訳ありません。


Re^7:fxRemote

管理人様、こんにちは!

>で、Slim ではなくて 9860G でOS変更をやってベンチマークをやっています。

お!これはまた楽しみな案件です!(^^)


>fx-9860G OS2.01 へ入れ替える際に、id が match しないというエラーが出てしまいます。

ありり?
ってことで調べたら9860Gの2.01はid付きのファイルでした。(^^;


>以前もこのエラーがあったと思いますが、その際にはflsファイルを作り直して頂いてエラーが回避されたと思います。
>今回も同じ問題でしょうか?

はい、同じ問題です。(^^;

こういう場合に使うツールが、PolyOSです。
このPolyOSを使ってidをキャンセルすれば書き換え可能なファイルになります。
https://tiplanet.org/forum/archives_voir.php?id=4475
自分でOSファイルをバックアップした場合、他の電卓には書き戻せないので、その時にも必要なツールです。
OS書き換えツールの中にPolyOSへのリンクを書いておくといいかもしれません。(^^)

で、こちらがキャンセル済みのOsファイルです。
https://pm.matrix.jp/CB/2_01_0300_sh3.zip



>えと、以前登録した時の メールアドレスとパスワードでログインしようとすると、パスワードが違うといってはねられます。
>私の登録情報を完全にクリアして頂くしかないと思っていますが、個人情報を渡してクリアしてもらうことができれば嬉しいところです。
>新たなメールアドレスで再登録するしかないのかどうか、分かりますでしょうか?

了解です。
以前のメールアドレスが不完全な登録をされている状態みたいですね。

先日の回答では、公開されている管理人様のメールアドレス(Krtyski.egadget gmail.com)と登録名(Krtyski)でチェックしていただいたようなのですが、その登録はされてなかったということです。
以前の登録名とメールアドレスが分かれば完全クリアにしてもらうか、もしくは、そのまま登録状態にしてもらえるので、どういたしましょうか?
管理人様ならVIP待遇で登録してもらえます。(^^)

Re: Re:Re: Re:Re: Re:fxRemote

sentaro様、

> ま。9860Gシリーズでは外部アドインが禁止されているわけでもないので、
> 実際にOS改造で悪用された実例は無いのですが、
> OSを以前のバージョンに戻したい場合にはキー操作またはOSUPDATE.g1mが必須になります。(^^;

よく分かりました。

で、Slim ではなくて 9860G でOS変更をやってベンチマークをやっています。
fx-9860G OS2.01 へ入れ替える際に、id が match しないというエラーが出てしまいます。

以前もこのエラーがあったと思いますが、その際にはflsファイルを作り直して頂いてエラーが回避されたと思います。
今回も同じ問題でしょうか?

なお、それ以外の OS1.02, OS1.03, OS1.04, OS1.05 は問題なく入れ替え可能でした。



> (業務連絡です)
> Planet-Casioより、以前のシステムの不具合で登録が上手くいかなかった可能性があるとのことでした。
> 今はシステムが改良されているそうなので、再登録してみてください。
> もし再登録が上手くいかない場合は、アカウントを管理権限で作成してくれるとのことでした。(^^)

えと、以前登録した時の メールアドレスとパスワードでログインしようとすると、パスワードが違うといってはねられます。
で、メールアドレスを変えたくないのですが、同じメルアドレスでは新たに登録できません(まぁ、当然です)。

私の登録情報を完全にクリアして頂くしかないと思っていますが、個人情報を渡してクリアしてもらうことができれば嬉しいところです。

新たなメールアドレスで再登録するしかないのかどうか、分かりますでしょうか?

Re:Re: Re:Re: Re:fxRemote

管理人様、こんにちは!

>GIIになると、OSUPDATE.g1mが役立つわけですね!

はい、9860GとSlimはOS書き換えがすごく簡単ということです。(^^)
GIIからはOS改造対策で対策されたということかもしれませんね。(^^;

ま。9860Gシリーズでは外部アドインが禁止されているわけでもないので、
実際にOS改造で悪用された実例は無いのですが、
OSを以前のバージョンに戻したい場合にはキー操作またはOSUPDATE.g1mが必須になります。(^^;


(業務連絡です)
Planet-Casioより、以前のシステムの不具合で登録が上手くいかなかった可能性があるとのことでした。
今はシステムが改良されているそうなので、再登録してみてください。
もし再登録が上手くいかない場合は、アカウントを管理権限で作成してくれるとのことでした。(^^)

Re: Re:Re: Re:fxRemote

sentaro様、


> あ゛…んと、Slimと元祖9860Gでしたら、FA-124を使うときと同じくUSB挿すだけでOkです。(^^;
> 同時押し+キー操作は何も要りませんです。(^^;
> USBに挿して、fxRemote側でRecoverFlash押せばOSUPDATE画面に自動的に移行するようです。

え"、それは気づきませんでした!
思い込みとは怖いものです。

今週末、試してみます。

ありがとうございます。


> 同時押しはともかくその後の[x](乗算)と[9]が一秒くらいの間隔で押さないとNGなので、結構タイミングを要します。(^^;

GIIになると、OSUPDATE.g1mが役立つわけですね!


> OSファイルに関しても、Slimか元祖9860Gでしか使えない古いものなので、特に何も問題は無いとは思いますが、

ですよねぇ...


> 1. 9860G/SlimをOS書き換えモードにする
> のところが、
> 複雑なキー操作方法もOSUPDATE.g1mも実際には必要なかったというオチがあるので、
> そこのところだけ修正していただければ…(^^;

はい、週末に変更しようと思います。


Re:Re: Re:fxRemote

管理人様、こんにちは!

>私のPCではダウンロードできるので、うっかりしていました。
>すみません、FC2のセキュリティを忘れていました。下記からお願い致します。

ダウンロードできました。(^^)


>SH3機でキー操作を何度も何度も試みたのですが、全くうまく出来ませんでした。
>複数キーを押すためのジグでも作ろうかと思ったくらいです。
>UV硬化樹脂を型にいれて...と真面目に考えました...

あ゛…んと、Slimと元祖9860Gでしたら、FA-124を使うときと同じくUSB挿すだけでOkです。(^^;
同時押し+キー操作は何も要りませんです。(^^;
USBに挿して、fxRemote側でRecoverFlash押せばOSUPDATE画面に自動的に移行するようです。


>何かコツがありそうですね

同時押しはともかくその後の[x](乗算)と[9]が一秒くらいの間隔で押さないとNGなので、結構タイミングを要します。(^^;


>一度ご覧ください。

OSファイルに関しても、Slimか元祖9860Gでしか使えない古いものなので、特に何も問題は無いとは思いますが、

1. 9860G/SlimをOS書き換えモードにする
のところが、
複雑なキー操作方法もOSUPDATE.g1mも実際には必要なかったというオチがあるので、
そこのところだけ修正していただければ…(^^;

Re: Re^8: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

sentaro様、C.Basicユーザーの皆様、こんにちは!

管理人のやすです。

> Allにした場合は、?コマンドや一時停止コマンドやGetkey1/2で一時停止するまでは、
> 画面更新コマンド(PutdispDD/_DispVram)を明示的に使わないと何も表示されません。
>
> つまり、RefrshCtl DDをAllにしたことで表示系コマンドがすべて画面更新無しになるので、
> Getkeyループで止まってるようにみえたということですね。
>
> ちなみにCG版ではグラフィックスのみ設定ですが、FX版ではデフォルトでOffになっています。
> 画面更新の設定はC.BasicのFAQですね。(^^;

そうでした。すっかり忘れていました。まさにFAQです。

ちゃんと init メニューが用意されているのは、このケースでひっかかる時の対策とも言えるわけですね。


ありがとうございます。

しばらく使わない機能は、忘れる可能性大です。

Re: Re:fxRemote

sentaro様


> 直リンクはダウンロードNGなようです。(^^;

私のPCではダウンロードできるので、うっかりしていました。
すみません、FC2のセキュリティを忘れていました。下記からお願い致します。

https://egadget2.web.fc2.com/archives/exe_files/fxRemote/fxRemote.html


> OSに関しては、確実にグレーゾーンだと思いますが、OSの改造がされているわけでもないですし、
> その使用において誰が迷惑を被るかと考えた場合、実害は皆無ではないのかということですね。
> もちろん、実害が無いからいいというわけではないですが、それで助かるユーザーがいるという現実があるので、メーカーの方からすれば問題にしないということかなと思います。(^^;

> SH3でfxRemoteを使う場合は、OSUPDATE.g1mは必要ないかもですね。

SH3機でキー操作を何度も何度も試みたのですが、全くうまく出来ませんでした。
複数キーを押すためのジグでも作ろうかと思ったくらいです。
UV硬化樹脂を型にいれて...と真面目に考えました...


> SH4A機での書き換えは35+Eを75+E相当にしたときに一度しただけなのですが、この場合はアドイン不可なのでC.Basicが使えません。(^^;
> キー操作でOSUPDATE画面にしないといけないのですが、結構試行錯誤してしまいますね。(^^;

何かコツがありそうですね


> >なおsentaro様が作成なさった readme_J.txt もちょっと加筆修正して同梱してみました。
>
> ありがとうございます。
> 元々、管理人様向けパッケージだったので、公開前提だと修正必須ですね。(^^;

はい、この動作確認されているパッケージはとても貴重だと思います。
その恩恵を自分だけにしておくのが勿体ないというのが正直な気持ちです。


> >とりあえずダウンロード可能にしてみて、記事で公開するかどうかはもうチョット調べてからという感じでおります。
> >ご意見をお聞かせ頂ければうれしいです。
>
> まだダウンロード出来てないのでアレですが、(^^;
> 国内で古い9860GシリーズでfxRemoteしてみようというユーザーはあまりいないかもしれないですけど、たまたま古い9860Gを入手されたユーザーがいたら有り難いパッケージになりますね。(^^)

一度ご覧ください。


Re:fxRemote

管理人様、こんにちは!

>9860G/SlimのOS入れ替えツールですが、以下からダウンロードできるようにしてみました。

直リンクはダウンロードNGなようです。(^^;


>但しOSの著作権はカシオが有しているのが引っかかっていました。
>これからもう少し調べて見ようと思っていますが、実機を持っていれば個人的な使用の範囲では、OSの複製権はユーザーが持っていて、それをコピーすることは可能という主張はアリかも知れません。
>ちょっとグレーな感じです。

OSに関しては、確実にグレーゾーンだと思いますが、OSの改造がされているわけでもないですし、
その使用において誰が迷惑を被るかと考えた場合、実害は皆無ではないのかということですね。
もちろん、実害が無いからいいというわけではないですが、それで助かるユーザーがいるという現実があるので、メーカーの方からすれば問題にしないということかなと思います。(^^;


>それにこのツール自体の危険性もありますので、国内ユーザーに対して敷居を上げるため英文でマニュアルを作成してみました OSUpdate.pdf。情報収集は基本英語になるので、多少は敷居があがるかな、といった程度です。この英文マニュアルは、C.Basic用の OSUPDATE.g1m の利用を前提としました。C.Basic の応用の1つというわけです。

SH3でfxRemoteを使う場合は、OSUPDATE.g1mは必要ないかもですね。
SH4A機での書き換えは35+Eを75+E相当にしたときに一度しただけなのですが、この場合はアドイン不可なのでC.Basicが使えません。(^^;
キー操作でOSUPDATE画面にしないといけないのですが、結構試行錯誤してしまいますね。(^^;


>なおsentaro様が作成なさった readme_J.txt もちょっと加筆修正して同梱してみました。

ありがとうございます。
元々、管理人様向けパッケージだったので、公開前提だと修正必須ですね。(^^;


>とりあえずダウンロード可能にしてみて、記事で公開するかどうかはもうチョット調べてからという感じでおります。
>ご意見をお聞かせ頂ければうれしいです。

まだダウンロード出来てないのでアレですが、(^^;
国内で古い9860GシリーズでfxRemoteしてみようというユーザーはあまりいないかもしれないですけど、たまたま古い9860Gを入手されたユーザーがいたら有り難いパッケージになりますね。(^^)

Re^8: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>原因が分かりました!
>SETUP の RefrshCtl DD を All にすると、報告した異常が発生し、Graph / Off では正常になります。

お!
ということは、これはGetkeyの問題ではなくて、画面更新の問題だったんですね。(^^;


>で、RefrshCtl DD: All で上記症状は、正常なのでしょうか?

はい、正常です。(^^)

Allにした場合は、?コマンドや一時停止コマンドやGetkey1/2で一時停止するまでは、
画面更新コマンド(PutdispDD/_DispVram)を明示的に使わないと何も表示されません。

つまり、RefrshCtl DDをAllにしたことで表示系コマンドがすべて画面更新無しになるので、
Getkeyループで止まってるようにみえたということですね。

ちなみにCG版ではグラフィックスのみ設定ですが、FX版ではデフォルトでOffになっています。
画面更新の設定はC.BasicのFAQですね。(^^;

Re^8: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

sentaro様、C.Basicユーザーの皆様

原因が分かりました!

SETUP の RefrshCtl DD を All にすると、報告した異常が発生し、Graph / Off では正常になります。


> 2.26に戻すと正常動作するのは間違いないでしょうか?
これは、誤情報でした。すみません<(_ _)>

そういえば、上記の設定を変更して、とあるプログラムの処理速度を調べていたのが、Ver 2.27 の時でした。


で、RefrshCtl DD: All で上記症状は、正常なのでしょうか?

よろしくお願い致します。

Re^7: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

Slimで管理人様のプログラム4つを試してみたところ、何も異常が出てきません。(^^;
Ftuneの[F5]オーバークロックでも異常がありません。

SH3機ということで9860GII(SH3)でも試してみたところ、これも異常が出てきません。(^^;


>ループ内で Getkey で入力待ちのものが軒並み影響を受けております。
>ひょとして SETUP の何かが影響しているのでしょうか?

@CBASICフォルダを削除して設定初期化してみて、どうでしょうか?
それでも異常が出るとしたら、今の所、迷宮入りです。(^^;

2.26に戻すと正常動作するのは間違いないでしょうか?

Re^6: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

sentaro様、C.Basicユーザーの皆様、こんにちは!

管理人のやすです。


> Getkey関連は何も変わってないはずですが…
> Slim上での問題でしょうか?

はい、Slim です。(ちなみに、今手元にある CG50 では問題発生していません)


> 異常になるプログラムはどれでしょう?

ええっと、

https://egadget.blog.fc2.com/blog-entry-566.html

https://egadget.blog.fc2.com/blog-entry-606.html

https://egadget.blog.fc2.com/blog-entry-680.html

https://egadget.blog.fc2.com/blog-entry-602.html

ループ内で Getkey で入力待ちのものが軒並み影響を受けております。

ひょとして SETUP の何かが影響しているのでしょうか?

今のところ、つかみ所が無い状況です。

家に帰れば 他の機種でも確認できますが、今のところは、Slimのみです。

Re^5: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>なんだか、Getkeyの動作がおかしいです。
>少なくとも Ver 2.26β では問題なかったので、2.27 か 2.28 で変化しているようです。

>具体的には、

> Do:Getkey→K
> LpWhile K=0

>のルーチンで Getkey→K ところで処理が先に進まない状況です。


あり?
Getkey関連は何も変わってないはずですが…
Slim上での問題でしょうか?

2.26で問題ないということは…はて?(^^;


Do:Getkey→K
LpWhile K=0

これだけのテストプログラムだと何も異常が出てこないので、またまたハマりそうです。(^^;

異常になるプログラムはどれでしょう?


>基本純正で動作するコードを作って、C.Basic で利用するのが私の基本スタイルですが、このスタイルのおかげで出先でPCがスグに使えない時でも瞬間に純正にスイッチして使えるので、このスタイルも悪くないな、と思ったりしています。

>逆に言えば、C.Basicの純正互換の方針のおかげで助かりました!
>C.Basic は実用性も高いことが実証されたといっても良いと思います。

実用プログラムでも速度要求がない限り必須でない限り、純正で事が足りるので、両互換仕様はこういうときには都合が良いですね。
互換仕様であることの強力なメリットのひとつと言えそうです。(^^)

fxRemote

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

9860G/SlimのOS入れ替えツールですが、以下からダウンロードできるようにしてみました。

https://egadget2.web.fc2.com/archives/exe_files/fxRemote/fxRemote_9860G_9860Gslim.zip

対象になる古い機種のOS Updateの手段は、XP機が公式にはセキュリティー上の要請からMicrosoftがサポートを停止しており、いわば存在してはいけないOS、使ってはいけないOSでのOS Updateの手段しか存在しないという現状を考えてみると、存在価値は十分にあるわけです。

但しOSの著作権はカシオが有しているのが引っかかっていました。
これからもう少し調べて見ようと思っていますが、実機を持っていれば個人的な使用の範囲では、OSの複製権はユーザーが持っていて、それをコピーすることは可能という主張はアリかも知れません。

ちょっとグレーな感じです。

それにこのツール自体の危険性もありますので、国内ユーザーに対して敷居を上げるため英文でマニュアルを作成してみました OSUpdate.pdf。情報収集は基本英語になるので、多少は敷居があがるかな、といった程度です。この英文マニュアルは、C.Basic用の OSUPDATE.g1m の利用を前提としました。C.Basic の応用の1つというわけです。

なおsentaro様が作成なさった readme_J.txt もちょっと加筆修正して同梱してみました。

とりあえずダウンロード可能にしてみて、記事で公開するかどうかはもうチョット調べてからという感じでおります。

ご意見をお聞かせ頂ければうれしいです。


Re^5: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

なんだか、Getkeyの動作がおかしいです。
少なくとも Ver 2.26β では問題なかったので、2.27 か 2.28 で変化しているようです。

具体的には、

 Do:Getkey→K
 LpWhile K=0

のルーチンで Getkey→K ところで処理が先に進まない状況です。

純正Getkey 動作に異常が起きているようです。

割と致命的な感じです。

ご検討頂けますか?


仕事で自作プログラムを結構使うので、今朝いつものプログラムを起動したら異常が分かりました。

基本純正で動作するコードを作って、C.Basic で利用するのが私の基本スタイルですが、このスタイルのおかげで出先でPCがスグに使えない時でも瞬間に純正にスイッチして使えるので、このスタイルも悪くないな、と思ったりしています。

逆に言えば、C.Basicの純正互換の方針のおかげで助かりました!
C.Basic は実用性も高いことが実証されたといっても良いと思います。

Re^4: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>for FX の差替えアップデートの筈ですが、for CG

あ゛…またやってしまいました。(^^;

C.Basic for FX v2.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)
https://pm.matrix.jp/CB/CBASIC228beta.zip
・プログラム終了時に[F2]を押すと直接編集画面に戻れる機能を追加しました。
・プログラムファイルを保存する場合にファイルサイズが増減していた不具合を修正しました。
・エミュレータで電圧読み出しがシステムエラーになる不具合を修正しました。
・OSバージョンが古い場合にFkeyMenu(コマンドでのアイコン読み出しでシステムエラーになる不具合を修正しました。
・Isz/Dszに続くNext/WhileEnd/LpWhileの動作を2.26に戻しました。
・UCFのCalcLoveHK氏にManual_EN.txtを修正していただきました。


C.Basic for CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)
https://pm.matrix.jp/CB/CBASICCG128beta.zip
・プログラム終了時に[F2]を押すと直接編集画面に戻れる機能を追加しました。
・プログラムファイルを保存する場合にファイルサイズが増減していた不具合を修正しました。



>Slim OS1.04 で SysFunc( がちゃんと動作するのを確認しました。

ありがとうございます。一安心です。(^^)


>今のままが自然だと感じます。
>Edit TopLine とは Use Top Line for in Editor の意味なので、これが On になると Editor画面のTop Lineが編集に使えることになると理解できると思います。
>ひょっとして何か勘違いされているのかも知れませんね。

あ、勘違い…ってことで腑に落ちました!^^;


>私なら、
>"Edit TopLine" means to use top line in Editor screen, so if you want to use top line in Editor the setting should be On. I think this current setting looks good.
>といった感じでコメントすると思います。

ありがとうございます。(^^)
top lineのことをステータスラインで使うことで勘違いされているので、
to use top line in Editor screen

to use top line for editingとして返信しておきました。


>Casio Planetは、なぜかログインできずにおり、対応を依頼しても全く無視されているので、私自身がコメントできない状況なので、文案のみの提案ですみません。

ありり?まだログインできない状況が続いてますか??
もしかしたらメールが届かないor何かの手違いが発生してるかもしれないので、
私からも調査依頼(Planet-Casio内のダイレクトメールです)を送ってみます。

Re^3: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

for FX の差替えアップデートの筈ですが、for CG

Slim OS1.04 で SysFunc( がちゃんと動作するのを確認しました。

> ところで、今日はまた新たな問題ですが、
> Redcmd氏によると"Edit TopLine"のOn/Offが逆の意味になっているようなのですが、
> 管理人様の感覚ではどうでしょうか?

今のままが自然だと感じます。

Edit TopLine とは Use Top Line for in Editor の意味なので、これが On になると Editor画面のTop Lineが編集に使えることになると理解できると思います。

ひょっとして何か勘違いされているのかも知れませんね。

私なら、
"Edit TopLine" means to use top line in Editor screen, so if you want to use top line in Editor the setting should be On. I think this current setting looks good.
といった感じでコメントすると思います。

Casio Planetは、なぜかログインできずにおり、対応を依頼しても全く無視されているので、私自身がコメントできない状況なので、文案のみの提案ですみません。

Re:Re: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>私が昨日一連のコメントを拝見した時、ファイルサイズの件が既にアップされていて、当方でも再現しましたので、再現性のある不具合だったようですね。

お!さすが管理人様です!
私はgif画像が出るまで手順の把握できてませんでした。(^^;

ところで、今日はまた新たな問題ですが、
Redcmd氏によると"Edit TopLine"のOn/Offが逆の意味になっているようなのですが、
管理人様の感覚ではどうでしょうか?


>その後、Slim OS2.01 と OS2.04 の結果も追記していますが、それにもご対応頂いていますでしょうか?
>SysFunc( ですが、fx-9860G OS1.04 ではエラーが解消されていませんでした。

思いっきり抜けてました。(^^;
さらに1.04もバグってました。(^^;

ってことで、修正版差し替えです。

C.Basic for CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)
https://pm.matrix.jp/CB/CBASICCG128beta.zip
・プログラム終了時に[F2]を押すと直接編集画面に戻れる機能を追加しました。
・プログラムファイルを保存する場合にファイルサイズが増減していた不具合を修正しました。
・エミュレータで電圧読み出しがシステムエラーになる不具合を修正しました。
・OSバージョンが古い場合にFkeyMenu(コマンドでのアイコン読み出しでシステムエラーになる不具合を修正しました。
・Isz/Dszに続くNext/WhileEnd/LpWhileの動作を2.26に戻しました。
・UCFのCalcLoveHK氏にManual_EN.txtを修正していただきました。

Re^2: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

SysFunc( ですが、fx-9860G OS1.04 ではエラーが解消されていませんでした。

ご検討頂けますか?

アップデート対応しました。

Re: C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> おかげさまで純正CasioBasicのエディタのメインメモリでのエラーを解消することが出来ました。(^^)
> 保存するときのファイルサイズがおかしかったのが原因です。(^^;

良かったです。

> ・エディタでファイルサイズが4の倍数になる場合にファイルサイズが1バイト少なくなる不具合を修正しました。

私が昨日一連のコメントを拝見した時、ファイルサイズの件が既にアップされていて、当方でも再現しましたので、再現性のある不具合だったようですね。


> Isz/Dsz関連は動作上の不具合があることがわかったのでとりあえず元に戻します。(^^;

了解です。


> ><< OS1.10 >>
> >OS1.11 と同様に4桁の9999までは問題なし。

その後、Slim OS2.01 と OS2.04 の結果も追記していますが、それにもご対応頂いていますでしょうか?


これから、アップデート対応致します。

ありがとうございます。
お疲れ様でした。


C.Basic for FX v2.28β CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

おかげさまで純正CasioBasicのエディタのメインメモリでのエラーを解消することが出来ました。(^^)
保存するときのファイルサイズがおかしかったのが原因です。(^^;
Isz/Dsz関連は動作上の不具合があることがわかったのでとりあえず元に戻します。(^^;


C.Basic for FX v2.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)
https://pm.matrix.jp/CB/CBASIC228beta.zip
・エディタでファイルサイズが4の倍数になる場合にファイルサイズが1バイト少なくなる不具合を修正しました。


C.Basic for CG v1.28β(新エミュレータ対応+アイコンエラー修正+Isz/Dsz+ループコマンド再修正版)
https://pm.matrix.jp/CB/CBASICCG128beta.zip
・エディタでファイルサイズが4の倍数になる場合にファイルサイズが1バイト少なくなる不具合を修正しました。
・エミュレータで電圧読み出しがシステムエラーになる不具合を修正しました。
・OSバージョンが古い場合にFkeyMenu(コマンドでのアイコン読み出しでシステムエラーになる不具合を修正しました。
・Isz/Dszに続くNext/WhileEnd/LpWhileの動作を2.26に戻しました。



><< OS1.10 >>
>OS1.11 と同様に4桁の9999までは問題なし。

ありがとうございます!
今回のバージョンアップで修正できたかと思います。(^^)

[追記]Re^7: C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> 実質使いづらい Slim OS2.01 と OS2.04 そして、OS1.10 についても、調べて後で報告します。


<< OS1.10 >>
OS1.11 と同様に4桁の9999までは問題なし。

<< OS2.01 >>
1101以上でエラー

<< OS2.04 >>
1113以上でエラー

となりました。

よろしくお願い致します。

Re: Re^5: C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> 1.05以前とSlim用に場合分けすれば良さそうです。
> 次のアップデートで対応したいと思います。(^^)

実質使いづらい Slim OS2.01 と OS2.04 そして、OS1.10 についても、調べて後で報告します。


Re^5: C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2

管理人様、C.Basicユーザーの皆様、こんにちは!

><< OS1093 / 1.04 >>
>1017 ~ 1043 でSystem ERROR、これ以外はエラーにならない

1.05以前は未確認でしたので助かります。(^^)


><< OS1.11 >>
>全くエラーが出ない。5桁になってもエラーにならない

ありがとうございます!


><< S2.00 >>
>1101以上で System ERROR になる

Slimの2.00は9860GIIの2.01までの間の微妙な位置にありますね。(^^;


>ある値以上でエラーになるのは OS2.00 だけで、1.11 は全くエラーが出ないし、1.03/1.04 はある範囲だけで System ERROR になるといった感じで、傾向がバラバラです。

1.05以前とSlim用に場合分けすれば良さそうです。
次のアップデートで対応したいと思います。(^^)



>Casio-Planetの件は、別途コメントしますね、

純正とC.Basicのエディタを行き来すると不具合が起きるようなので、
バグの特定ができるまでは、エディタに関しては純正だけ、もしくはC.Basicのエディタだけという使い方が良さそうです。
となると、常用はC.Basicのエディタになってしまうでしょうか。(^^;

Re: Re^3: C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> んと、1.xxOSでは1044までという制限してありますが、
> この範囲内でもシステムエラーになる場合は、仕様といえば仕様ですが、バグと言えばバグです。(^^;
> OSチェックが行き届いていないときの設定なので、1.xxOSは9860Gの1.05が基準だと思います。
> ということで、それより古いOSとなるとシステムエラーが発生する場合はありますね。
> OSのバージョンごとにエラーの出始めるアイコンNoが分かれば対応します。(^^)

<< OS1093 / 1.04 >>
1017 ~ 1043 でSystem ERROR、これ以外はエラーにならない

<< OS1.11 >>
全くエラーが出ない。5桁になってもエラーにならない

<< S2.00 >>
1101以上で System ERROR になる

こんな結果です。

ある値以上でエラーになるのは OS2.00 だけで、1.11 は全くエラーが出ないし、1.03/1.04 はある範囲だけで System ERROR になるといった感じで、傾向がバラバラです。

Casio-Planetの件は、別途コメントしますね、

Re^3: C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2

管理人様、C.Basicユーザーの皆様、こんにちは!

>昨晩のうちに、対応しております。

いつも素早い対応していただきまして感謝です。(^^)


>これは、仕様でしょうか?

んと、1.xxOSでは1044までという制限してありますが、
この範囲内でもシステムエラーになる場合は、仕様といえば仕様ですが、バグと言えばバグです。(^^;
OSチェックが行き届いていないときの設定なので、1.xxOSは9860Gの1.05が基準だと思います。
ということで、それより古いOSとなるとシステムエラーが発生する場合はありますね。
OSのバージョンごとにエラーの出始めるアイコンNoが分かれば対応します。(^^)


ところで、Casip-Planetの方で、
メインメモリでのメモリフルエラーの報告を受けたのですが、なかなか再現しなくてハマってしまっています。(^^;
https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=14738&page=last#168770

もし、なにかお気付きの現象がありましたら報告していただけると幸いです。(^^)

Re^2: C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

C.Basic コマンド SysFunc( について...

fx-9860GII (SH4) と CG50 で使ったことがあり、問題はなかったのですが、
より古い機種、より古いOSで使うと、System ERROR が発生することが見つかりました。

SysFunc( の2つめのパラメータには Functon Key # を設定しますが、割り振られていない番号(比較的大きめの番号) を設定すると System ERROR になることがあります。これが見つかったのは、

- fx-9860G OS1.03
- fx-9860G OS1.04
- fx-9860G Slim OS1.10
- fx-9860G Slim OS2.00

です。

実際には、以下のプログラムで今回のエラーを発見しました。
https://egadget2.web.fc2.com/archives/fx-9860GII/SysFunc/SysFunc3.html


これは、仕様でしょうか?


Re: C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> N-1->N:N=0⇒Break
> とすることで、
> とりあえず互換動作できますね!(^^;

はい、

> すでに使ってるコードがあるとなると…
> エラーにするわけにもいかず、ですね。(^^;

ご配慮頂き、ありがとうございます。



> ってことで、再修正してみました。180度方針転換です。(^^;


> C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2
> https://pm.matrix.jp/CB/CBASIC227beta.zip
> ・Isz/Dszに続くNext/WhileEnd/LpWhileの動作を修正しました。

昨晩のうちに、対応しております。

C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2

管理人様、C.Basicユーザーの皆様、こんにちは!

>あ、やっぱり...

バージョン番号が1しか違わなくなったのでつい間違えてしまいました。(^^;
CGバージョンの1.27は、FX版の修正のうち、Isz/Dszの箇所だけなので、ただいま調整中です。


>Dsz N
>を
>N=0⇒Break
>に置き換えればOKですよね。

あ゛…
N-1->N:N=0⇒Break
とすることで、
とりあえず互換動作できますね!(^^;


>私の手元のコードでは、LpWhie や EndWhile の直前の Dsz はありますが、Next 直前は1つもありません。

すでに使ってるコードがあるとなると…
エラーにするわけにもいかず、ですね。(^^;


ってことで、再修正してみました。180度方針転換です。(^^;


C.Basic for FX v2.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンド修正版)その2
https://pm.matrix.jp/CB/CBASIC227beta.zip
・Isz/Dszに続くNext/WhileEnd/LpWhileの動作を修正しました。

Re: Re:Re: C.Basic for CG v1.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンドは不可版)その1

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> >一方、for FX 2.27 beta を無理矢理以下のURLにするとダウンロードできました。
> >https://pm.matrix.jp/CB/CBASIC227beta.zip
>
> あ゛…今回はFX版を版のみの更新ですので、CG版とFX版を思いっきり間違いました。(^^;

あ、やっぱり...


> 純正同様に動作するようにあれこれ試行錯誤してみたのですが、
> Planet-Casioで例として出てきたこのプログラムでは、
>
> For 1-> X To 2
>  2 -> N
>   For 1->Y To 2
>    Locate X, Y, N
>    Dsz N
>   Next
> Next

Dsz N



N=0⇒Break

に置き換えればOKですよね。

Next/LpWhile/EndWhile の直前にくる Dsz / Isz は、全て N=0⇒Break に書換えて問題ないかどうか、その反例がスグに思いつかないのですが、これで問題なのならば、自動的に書き換えて欲しくなるところです。

エディタレベルで書換が出来ればとても良いと思うのですが、かなり大変かも知れないと思います。
インタープリタ動作中にコード変更するのは処理速度を考えれば処理速度の面で現実的ではないと思いますが、コンパイラでは書換は可能かも知れないと思います。アドインファイルそのもののサイズもインタープリタでは限界に近づいているので、エディタでの書換も難しいかも知れませんが、コンパイラを別ファイルにされるのでしょうから、書換は検討の余地が記述的にはありますよね。

苦労してそこまでやる優先度があるのか、ポリシーとして互換性よりも悪い作法を認めないという考え方もアリだと思います。
できるだけ互換性を確保して頂きたいという気持ちは強くて、上のような(強引な)書換をしてしまう方が、ある意味 C.Basc や C:Basic の作法をユーザーに主張する効果があって良いと思います。


私の手元のコードでは、LpWhie や EndWhile の直前の Dsz はありますが、Next 直前は1つもありません。

もし、今回の仕様に変更する場合は、Manual_x.txt や readme_X.txt の両方の冒頭の方に、コンパティビィティの無い仕様を書くのが良いと感じます。あまりマニュアルを読まずに質問する人が多い感じがしているのがその理由です。



> Next/WhileEnd/LpWhileをスキップしてしまうIsz/Dszという使い方が有効に活用できるプログラム例があれば…善処してみます。(^^;

スグには思いつかないしたぶん正統なプログラム例は出てこないと思います。なので、開発ポリシーの問題だと思います。


Re:Re: C.Basic for CG v1.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンドは不可版)その1

管理人様、C.Basicユーザーの皆様、こんにちは!

>for CG Ver 1.27beta ですが、ダウンロードできないようです。

>一方、for FX 2.27 beta を無理矢理以下のURLにするとダウンロードできました。
https://pm.matrix.jp/CB/CBASIC227beta.zip

あ゛…今回はFX版を版のみの更新ですので、CG版とFX版を思いっきり間違いました。(^^;


>この最後の仕様ですが、従来からの純正Casio Basicで同載していたものがエラーになるわけですが、なかなかアグレッシブな仕様変更ですね!

純正同様に動作するようにあれこれ試行錯誤してみたのですが、
Planet-Casioで例として出てきたこのプログラムでは、

For 1-> X To 2
 2 -> N
  For 1->Y To 2
   Locate X, Y, N
   Dsz N
  Next
Next

Dsz Nが0になる場合、Nextがスキップされて次のNextが有効になります。
ひとつのForに対して2つのNextが対応することになるので、インタプリタでしか実現できない動作になります。
これは将来のコンパイラを考えた場合に実現できない仕様になってくるので、そこは一応禁止事項ということにさせていただきたいです。(^^;


>できれば、SETUP でこのエラーを出すかどうか選択できるようになりませんか?
>ちょうど IfEnd Check を On/Off できるように...

Next/WhileEnd/LpWhileをスキップしてしまうIsz/Dszという使い方が有効に活用できるプログラム例があれば…善処してみます。(^^;

Re: C.Basic for CG v1.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンドは不可版)その1

sentaro様、C.Basicユーザーの皆様、こんにちは!

管理人のやすです。

for CG Ver 1.27beta ですが、ダウンロードできないようです。

一方、for FX 2.27 beta を無理矢理以下のURLにするとダウンロードできました。
https://pm.matrix.jp/CB/CBASIC227beta.zip

で、for FX Ver 2.27beta では、? の拡張機能が修正されているのを確認しました。

> ・オプション付きの?コマンドで値が入力されない不具合を修正しました。
> (例)?(16,4,4,"_",4)->A
>
> ・Isz/Dszに続くNext/WhileEnd/LpWhileは"Not Support Error"になるようにしました。

この最後の仕様ですが、従来からの純正Casio Basicで同載していたものがエラーになるわけですが、なかなかアグレッシブな仕様変更ですね!

できれば、SETUP でこのエラーを出すかどうか選択できるようになりませんか?
ちょうど IfEnd Check を On/Off できるように...



C.Basic for CG v1.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンドは不可版)その1

管理人様、C.Basicユーザーの皆様、こんにちは!

>?の拡張された入力ボックス機能が、C.basicfor FX でうまく動作していないです。以下のプログラムは FX用です。
https://egadget2.web.fc2.com/archives/fx-9860GII/SysFunc/SysFunc3.html
>以前の C.Basic for FX ではうまく動いていました。

確認できました!
調査した所、1.77でのエンバグでした。(^^;
CG版ではエンバグしてなかったので気が付きにくかったですね。
一年以上もの間、発覚しなかったバグなので貴重です。(^^;
どうもありがとうございます!

ってことで、そこのあたりも修正してのアップデートです。
35+EII版のエミュレータがCG版とほぼ共通になったので、キー入力を修正しております。
https://www.casio-education.fr/products/fx-manager-plus/


C.Basic for CG v1.27β(新エミュレータ対応+オプション付き?コマンド修正+Isz/Dsz+ループコマンドは不可版)その1
https://pm.matrix.jp/CB/CBASICCG127beta.zip
・fx-Manager PLUS Subscription for Graph 35+E IIでキー入力が固まる不具合を修正しました。

・オプション付きの?コマンドで値が入力されない不具合を修正しました。
(例)?(16,4,4,"_",4)->A

・Isz/Dszに続くNext/WhileEnd/LpWhileは"Not Support Error"になるようにしました。

Re:fx-7000G の件

管理人様、

>小数点キーが壊れているのは間違いないと思います。

接点の劣化は普通に発生しそうですよね。

>実機で確かめたところ、単に設定で Fix の設定で、[MODE] [7] [0] とすれば少数が丸められて整数表示になります。
>質問ではもらい物だと書いてあったので、単に設定の問題だと考えると一番自然に思えます。
>どうでしょうか?

[MODE] [7] は簡単に操作できる部分なのでありえると思います。
そこは、オールリセットすればそれは解消できますが、
小数点キーのハード的な故障は修理が結構大変ですね。

Re:^5: C.Basic for FX v2.26β CG v1.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その2

sentro様、C.Basicユーザーの皆様、


?の拡張された入力ボックス機能が、C.basicfor FX でうまく動作していないです。以下のプログラムは FX用です。
https://egadget2.web.fc2.com/archives/fx-9860GII/SysFunc/SysFunc3.html

以前の C.Basic for FX ではうまく動いていました。

一報、同時に作ったプログラムで C.basic for CG 向けの以下のプログラムは、以前のC.basic のバージョンでも今のバージョンでも問題無く、? の入力ボックス機能が動作します。
https://egadget2.web.fc2.com/archives/fx-CG50/SysFunc/SysFunc3.html

よろしくお願い致します。


Re:^4: C.Basic for FX v2.26β CG v1.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その2

管理人様、C.Basicユーザーの皆様、こんにちは!

>拡張した ? コマンドの動作がおかしいです。

>以前は正常動作していた以下のコードを久しぶりに動かしたところ
>for CG では問題ありませんが、for FX では入力値が受け付けられません。

>ご検討頂けますか?

了解です。(^^)

”正常動作していたという以下のコード”というのはどれでしょう?

fx-7000G の件

sentarom様

先日の fx-7000G の件ですが、

小数点キーが壊れているのは間違いないと思います。
但し、割案をしても少数が表示されずに丸められて整数になると書かれている部分については、キーが壊れているだけでは説明がつきません。

なので、演算回路のうち少数部分だけ壊れているのではないかということを申しましたが、これはかなりあり得ないですよね!
実機で確かめたところ、単に設定で Fix の設定で、[MODE] [7] [0] とすれば少数が丸められて整数表示になります。

質問ではもらい物だと書いてあったので、単に設定の問題だと考えると一番自然に思えます。

どうでしょうか?

Re: Re:Re: C.Basic for FX v2.26β CG v1.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その2

sentaro様、C.Basicユーザーの皆様、


拡張した ? コマンドの動作がおかしいです。

以前は正常動作していた以下のコードを久しぶりに動かしたところ
for CG では問題ありませんが、for FX では入力値が受け付けられません。

ご検討頂けますか?

Re:Re: C.Basic for FX v2.26β CG v1.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その2

管理人様、C.Basicユーザーの皆様、こんにちは!

>アップデートお疲れ様です。
>ようやく for FX は正式版に近づいたのですね!
>記事対応致しました。

毎度ありがとうございます!(^^)

正式版に関しては…まだまだバグが湧き出てくるので、もうしばらくはβ版ですね。(^^;


>ところで、Slim で使っていると、オーバークロックの貢献度が得られにくいので、重い処理のプログラムはなんとかならないか、と思ってしまいます。グラフィック処理でなければ、GC50 + オー^バークロック(300MHz)でかなり速くなりますし、GII (SH$) でも280MHz でも十分速くなります。

SH3ではオーバークロックしても2倍位なのでSH4Aに比較すれば効果は低いですね。(^^;


>正式版に近づいたということで、そろそろコンパイラ版が楽しみになっています。インター-プリタのほぼ10倍速は、とても魅力を感じます。ライフゲームは10倍速の良い検証結果になっていますよね!

ライフゲームがコンパイル出来る程度のレベルでコンパイラ版を開始していくつもりなのですが、
インタプリタ版のバグつぶし、改善が続いていたので予定が遅れてしまってます。(^^;


>UCFでのsentaro様の回答ではまだ半分程度の道のりと書かれていたように思いますが、いずれコンパイラ版の登場が楽しみです。

インタプリタ+コンパイラの総合としては半分くらいですね。(^^;
コンパイラだけでいうと、まだ半分とはとても言えない状況ですが、進み出せば一気に進むかもしれませんが、
四則演算がコンパイルできるレベルではダメなので最初のハードルを越えるにはちょっと時間がかかりそうです。(^^;

Re: C.Basic for FX v2.26β CG v1.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その2

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

アップデートお疲れ様です。

ようやく for FX は正式版に近づいたのですね!

記事対応致しました。

ところで、Slim で使っていると、オーバークロックの貢献度が得られにくいので、重い処理のプログラムはなんとかならないか、と思ってしまいます。グラフィック処理でなければ、GC50 + オー^バークロック(300MHz)でかなり速くなりますし、GII (SH$) でも280MHz でも十分速くなります。

正式版に近づいたということで、そろそろコンパイラ版が楽しみになっています。インター-プリタのほぼ10倍速は、とても魅力を感じます。ライフゲームは10倍速の良い検証結果になっていますよね!

UCFでのsentaro様の回答ではまだ半分程度の道のりと書かれていたように思いますが、いずれコンパイラ版の登場が楽しみです。

C.Basic for FX v2.26β CG v1.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その2

管理人様、C.Basicユーザーの皆様、こんにちは!

>アップデートお疲れ様です。
>記事に反映させました。

毎度素早い反映ありがとうございます!(^^)


>SETUP の Max Mem Mode を ON にすると使えるメモリが増えますが、
>この状態で 「SHIFT]を押すと 実際に使えるメモリ残量が表示されます。
>この状態で Ver 表示すると、使えるメモリ量は、増えたメモリ残量が反映されないようです。
>ご検討頂けますか?


確認できました!
Max Mem Mode導入時にファイルリスト表示の更新しかされてませんでした。(^^;

ってことで、エディタのPasteでのカーソル位置の修正と併せてアップデートしました。
今回はCG版も同時アップデートです。(^^)


C.Basic for FX v2.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その2
https://pm.matrix.jp/CB/CBASIC226beta.zip
・エディタのClip&Paste後のカーソル位置を修正しました。
・ミニフォントの一部(0xE69E、0xE6A5,0xE6A6)が純正非互換だったのを修正しました。
・”文字列”コマンドで21文字ちょうどの場合に21文字目が表示されない不具合を修正しました。
・WaitTicksコマンド実効後にAnsが書き換えられる不具合を修正しました。
・MenuコマンドでOS画面に戻る[MENU]キーが効かなくなっていた不具合を修正しました。
・Max Mem ModeがONの場合、バージョン表示のメモリ残量表示が正しくなかった不具合を修正しました。


C.Basic for CG v1.26β("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その2
https://pm.matrix.jp/CB/CBASICCG126beta.zip

Re^2: C.Basic for FX v2.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その1

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

SETUP の Max Mem Mode を ON にすると使えるメモリが増えますが、
この状態で 「SHIFT]を押すと 実際に使えるメモリ残量が表示されます。
この状態で Ver 表示すると、使えるメモリ量は、増えたメモリ残量が反映されないようです。

ご検討頂けますか?

Re: C.Basic for FX v2.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その1

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

アップデートお疲れ様です。
記事に反映させました。


> 少数点が表示されないのも故障、入力できないのもキーの故障ですね。

先ずは、これが正しそうですね。

> fx-7000Gシリーズで仕様が変わってるところは無いとは思うのですが、
> 初代機だけに後継機で無修正された何かがあるのかなと思うところもあります。
> よろしくお願いいたします。(^^)

はい、今日は出張中なので、明日以降になります。

C.Basic for FX v2.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その1

管理人様、C.Basicユーザーの皆様、こんにちは!

Planet-CasioでRedcmd氏により新たに判明したバグを修正しました。
とりあえずFX版からテスト版先行リリースです。(^^;

C.Basic for FX v2.26β ("文字列”21桁目修正+ミニフォント修正+WaitTicks修正+Menu修正版)その1
https://pm.matrix.jp/CB/CBASIC226beta.zip
・ミニフォントの一部(0xE69E、0xE6A5,0xE6A6)が純正非互換だったのを修正しました。
・”文字列”コマンドで21文字ちょうどの場合に21文字目が表示されない不具合を修正しました。
・WaitTicksコマンド実効後にAnsが書き換えられる不具合を修正しました。
・MenuコマンドでOS画面に戻る[MENU]キーが効かなくなっていた不具合を修正しました。



>Googlw翻訳は日本語よりは英語の法が得意なので、英語にしてみると、ほぼ言いたいことが分かりますね。

ホントですね。日本語だとちょっと?になるのですが、これでよく分かります。(^^)

少数点が表示されないのも故障、入力できないのもキーの故障ですね。


>除算結果の小数部表示ができないのは、内部の演算回路で小数部分が壊れてしまっているということではないか?

内部の回路が壊れる可能性は考えませんでしたが、古い機種なのでひょっとしたらあるのかもしれません。


>今は手元に実機が無いのですが、最近散々触ったので大体覚えています。あとでさらに何か気がついたら、また一報致しますね。

fx-7000Gシリーズで仕様が変わってるところは無いとは思うのですが、
初代機だけに後継機で無修正された何かがあるのかなと思うところもあります。
よろしくお願いいたします。(^^)

Re: Re:^6 C.Basic for FX v2.25β CG v1.25β(MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> ファイルが壊れてしまうと正常動作が期待できないのですが、
> サンプルとして、壊れたファイルをアップしていただくことは出来ますでしょうか?

あとで探してみます。あればアップしますね。


> あ゛…PxlOn/Offが未チェックでした。(^^;
今回の件は、私としても全く想定していない盲点でした。

> お!いいですね。
> CasioBasicのグラフィックスで必ずハマることになるポイントなので貴重です。(^^)

確かに、特定のプログラムではバグなのか仕様なのか分からずに、悩むことになりそうですね。
色々実験しつつ記事にしようと思います。


> ところで、fx-7000Gに関しての質問なのですが、
> https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15830&page=1
> 自動翻訳ではちょっとわかりにくのですが、
> これはfx-7000Gでは小数点が表示されないということでしょうか?

fx-7000Gはグラフ機能以外は、fx-4000P とコンパチなので、少数が使えないのは壊れているとしか考えられません。あるいは COMPモード以外になっているかも?

Googlw翻訳は日本語よりは英語の法が得意なので、英語にしてみると、ほぼ言いたいことが分かりますね。
My brother found an old calculator down from his home that people had thrown away ... this is the Casio Scientific Calculator fg-70000G Graphics from 1985. It is super nickel in its cover and everything works great the problem it is that the comma key does not work and the decimals do not register because for example when I make a division with several digits the result is round. I would have liked to know if the calculator had a problem (at the same time it is possible it was in the trash) or at the time the calculators did not calculate the decimals ...

小数点キーを押しても機能しないということ、割り算して少数になる計算をしても整数しか表示されないという症状と思われます。

単に小数点キーのみの故障なら除算結果は表示される筈。

除算結果の小数部表示ができないのは、内部の演算回路で小数部分が壊れてしまっているということではないか?

あるいはCOMPモードになっていない/COMPモードにできない、というのもありそうです。

今は手元に実機が無いのですが、最近散々触ったので大体覚えています。あとでさらに何か気がついたら、また一報致しますね。


Re:^6 C.Basic for FX v2.25β CG v1.25β(MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>私の手元にあるプログラムでは、純正の使い方では Prog コマンドは正常動作しています。
>ということは、拡張機能での問題ということでしょうか?

全部失敗するわけではなくて、多くのサブプログラムがある場合やサブプログラムのプログラムサイズが大きい場合に失敗してたようです。(^^;


>ところで、FA-124でファイルが壊れると Prog でエラーが発生することが、私の手元では頻発しています。

ファイルが壊れてしまうと正常動作が期待できないのですが、
サンプルとして、壊れたファイルをアップしていただくことは出来ますでしょうか?


>X, Y への自動代入といえば、あとは PxlOn/Off 系統です。

あ゛…PxlOn/Offが未チェックでした。(^^;


>この件は面白いので、いつもの Casio Basic 入門のグラフィックス編のノリで取り上げて、記事にしようかと思います。
>お楽しみに...

お!いいですね。
CasioBasicのグラフィックスで必ずハマることになるポイントなので貴重です。(^^)


ところで、fx-7000Gに関しての質問なのですが、
https://www.planet-casio.com/Fr/forums/lecture_sujet.php?id=15830&page=1
自動翻訳ではちょっとわかりにくのですが、
これはfx-7000Gでは小数点が表示されないということでしょうか?

Re: Re:^4 C.Basic for FX v2.25β CG v1.25β(MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> サブプログラムの読み込みが出来ないという致命的なバグが残ってました。
> CG版ではこの問題が出てなかったので気がつくのが遅れました。
> 2.24でのエンバグです。(^^;

私の手元にあるプログラムでは、純正の使い方では Prog コマンドは正常動作しています。
ということは、拡張機能での問題ということでしょうか?


> C.Basic for FX v2.25β (例外処理追加で正式版まであとちょっと版)再アップです。
> https://pm.matrix.jp/CB/CBASIC225beta.zip
> ・サブrプログラムの読み込みに失敗していた不具合を修正しました。

※取り急ぎ、記事に対応致しました。

ところで、FA-124でファイルが壊れると Prog でエラーが発生することが、私の手元では頻発しています。


> Circleコマンドでは画面外でも代入されている気配です。(^^;
> このあたりの仕様はまだわかってないので、
> 仕様が確定次第、再度更新するようにしたいと思います。(^^)

X, Y への自動代入といえば、あとは PxlOn/Off 系統です。
この件は面白いので、いつもの Casio Basic 入門のグラフィックス編のノリで取り上げて、記事にしようかと思います。

お楽しみに...

Re:^4 C.Basic for FX v2.25β CG v1.25β(MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

サブプログラムの読み込みが出来ないという致命的なバグが残ってました。
CG版ではこの問題が出てなかったので気がつくのが遅れました。
2.24でのエンバグです。(^^;

C.Basic for FX v2.25β (例外処理追加で正式版まであとちょっと版)再アップです。
https://pm.matrix.jp/CB/CBASIC225beta.zip
・サブrプログラムの読み込みに失敗していた不具合を修正しました。


>あとで確認しようと思います。
>というのも、Circleコマンドも同様にX, Yへ自動代入機能があり、これも表が範囲外でどうなるのか、先ずは純正Casio Basicで確認しようと思っています。

Circleコマンドでは画面外でも代入されている気配です。(^^;
このあたりの仕様はまだわかってないので、
仕様が確定次第、再度更新するようにしたいと思います。(^^)

Re: Re:Re: C.Basic for FX v2.25β CG v1.25β(MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> はい、
> 画面外になる場合は更新されないことを確認済みです。(^^)

あとで確認しようと思います。
というのも、Circleコマンドも同様にX, Yへ自動代入機能があり、これも表が範囲外でどうなるのか、先ずは純正Casio Basicで確認しようと思っています。

さしあたり、9/3 の日付でアップデート対応致しました。

Re:Re: C.Basic for FX v2.25β CG v1.25β(MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>あ、これは最近何度も経験しています。これは不具合だったのですね!

インデント追加のときのエンバグでした。(^^;


>えっ? 描画範囲外でも代入されるのが仕様だと思っていました。ただ思っていただけで確認していなかったです。
>この仕様ですが、ご確認されました?

はい、
画面外になる場合は更新されないことを確認済みです。(^^)

Re: C.Basic for FX v2.25β CG v1.25β(MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。



> ・プログラム実行中断時にサブルーチン編集でメモリ不足になることがある不具合を修正しました。

あ、これは最近何度も経験しています。これは不具合だったのですね!


> ・Plotコマンド後のX,Y変数への自動代入が描画範囲外でも代入されていたのを修正しました。

えっ? 描画範囲外でも代入されるのが仕様だと思っていました。ただ思っていただけで確認していなかったです。
この仕様ですが、ご確認されました?


C.Basic for FX v2.25β CG v1.25β(MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)

管理人様、C.Basicユーザーの皆様、こんにちは!

Planet-Casioにてバグ発見していただきましたので修正です。
PlotのX,Y代入仕様については今まで全然気が付いてませんでした。(^^;

FX版CG版ともに同じ修正となっています。

C.Basic for CG v1.25β (MOD(コマンド再修正+メモリフルエラー修正+Plot修正版)
https://pm.matrix.jp/CB/CBASICCG125beta.zip

C.Basic for FX v2.25β (例外処理追加で正式版まであとちょっと版)
https://pm.matrix.jp/CB/CBASIC225beta.zip

・MOD(コマンドの引数が両方とも負数の場合に結果が違っていた不具合を修正しました。
(誤) MOD(-5,-5)->5  MOD(-5,-1)->1
(正) MOD(-5,-5)->0  MOD(-5,-1)->0

・プログラム実行中断時にサブルーチン編集でメモリ不足になることがある不具合を修正しました。

・Plotコマンド後のX,Y変数への自動代入が描画範囲外でも代入されていたのを修正しました。

Re^6: C.Basic for FX v2.24β その5(電池電圧取得コマンド+Slimオーバークロック対応+テキストファイル編集お試し版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>最近、このページのアクセスが増えてきております。多くはフランスを含めヨーロッパからのものです。sentaro様がこのページをご案内頂いているのでしょうか?

Planet-CasioのC.Basic Projectの冒頭でリンクさせていただいてますので…はい。(^^)
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html


>いずれにせよ、フランス専用機種が対応していることを記載していなかったので、そこを追記しました。

全シリーズ対応の一環として、35+E IIに続いて90+Eと35+Eも輸入してしまったので、フランス専用機種への対応も実機で検証することが可能となりました。(^^)
とはいえ、Graph 35+Eは9860GIIとバックライトが無い+LEDの違いだけでソフト的にも全く同等ですし、
Graph90+Eにおいても色違い+LEDのみの違いなので、機種差を考慮することはほぼ皆無です。
敢えて対応しないと動作しないのは新型の35+E IIだけですね。


>併せて、最近確認できたFA-124 のバグについても追記しました。

この不具合にハマると大切なバックアップファイルを失うことになるので、大変有用ですね。(^^)

Re^5: C.Basic for FX v2.24β その5(電池電圧取得コマンド+Slimオーバークロック対応+テキストファイル編集お試し版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

以下のページをアップデートしました。
https://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html

最近、このページのアクセスが増えてきております。多くはフランスを含めヨーロッパからのものです。sentaro様がこのページをご案内頂いているのでしょうか?

いずれにせよ、フランス専用機種が対応していることを記載していなかったので、そこを追記しました。

併せて、最近確認できたFA-124 のバグについても追記しました。

Re^4: C.Basic for FX v2.24β その5(電池電圧取得コマンド+Slimオーバークロック対応+テキストファイル編集お試し版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>UCFの記事を拝見しましたが、エミュレータ用 ファイルが追加されているのですね!
>これを実機で走らすと、何か悪いことが起きますか?
>もしそうなら、別フォルダに入れて置いた方が安全ではありませんか?

処理速度が若干遅くなるだけで実害はないはずです。(^^;

エミュレータのキー入力仕様が実機と違うので、固まってしまうことがありましたので対処しました。
ですが、まだ不十分だったようです。(^^;

次のアップデートで一つのファイルで両対応したいと思います。


>ただ今、UCF で CaclLoverHKさんとチャットが始まったところです...

エミュレータへの対応が不十分だったので、不具合をあぶり出してもらった形になりましたね。

Re: Re:Re: C.Basic for FX v2.24β その5(電池電圧取得コマンド+Slimオーバークロック対応+テキストファイル編集お試し版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

UCFの記事を拝見しましたが、エミュレータ用 ファイルが追加されているのですね!
これを実機で走らすと、何か悪いことが起きますか?

もしそうなら、別フォルダに入れて置いた方が安全ではありませんか?

ただ今、UCF で CaclLoverHKさんとチャットが始まったところです...

Re:Re: C.Basic for FX v2.24β その5(電池電圧取得コマンド+Slimオーバークロック対応+テキストファイル編集お試し版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>Slim と GII SD で見る限り、±3%以内に収まっている感じです。

早速にありがとうございます!
Slimが若干誤差出るかなと思ってたのですが、±3%以内に収まってて良かったです。(^^)


>CGシリーズについては、この土日に調べてみようと思います。

CG20とCG50では同じかと思っていたら結構違ってたのでびっくりでした。(^^;


>ただ今出張中で、5800P、CG50、Slim の3台を持ち歩き、メインは Slim を使っています。

メインがSlimというのが管理人様らしいですね。(^^)


>C.Basic for FX, for CG そして Ptune3 のアップデートに対応しました。
>お疲れ様でした。

こちらこそ、素早い対応してくださっていつも感謝です。(^^)

海外サイトも更新してまいりましたが、CG50のOSが3.30にバージョンアップしたようです。
ほぼPython関連のアップデートみたいですが、日本ではマニュアルだけ更新されてるようです。(^^;

Re: C.Basic for FX v2.24β その5(電池電圧取得コマンド+Slimオーバークロック対応+テキストファイル編集お試し版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> 今回の電圧表示は9860GとSlimとSH3-GIIとSH4A-GIIと4種類に対応済みですが、
> 同じ電池を使った検証では、それなりに誤差が出てしまうようです。(^^;
> ま、±3%程度には収まってるかと思われるのですが、
> それ以上の誤差が出た場合はお知らせくださると幸いです。(^^)

Slim と GII SD で見る限り、±3%以内に収まっている感じです。


> ちなみにCGシリーズではCG20とCG50ではSysCall呼び出しでの電圧が若干違います。
> CG20の方はほぼ正確な電圧ですが、CG50は約9%くらい低く出ますので、CG版ではそこのあたりを補正してみました

CGシリーズについては、この土日に調べてみようと思います。

ただ今出張中で、5800P、CG50、Slim の3台を持ち歩き、メインは Slim を使っています。


C.Basic for FX, for CG そして Ptune3 のアップデートに対応しました。

お疲れ様でした。

C.Basic for FX v2.24β その5(電池電圧取得コマンド+Slimオーバークロック対応+テキストファイル編集お試し版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>早速頂きました。良い感じで電圧表示されています。
>fx-9860GII SD にもインストールしました。しばらく様子を見てみます。

こちらこそ、早速の動作確認ありがとうございます!

今回の電圧表示は9860GとSlimとSH3-GIIとSH4A-GIIと4種類に対応済みですが、
同じ電池を使った検証では、それなりに誤差が出てしまうようです。(^^;
ま、±3%程度には収まってるかと思われるのですが、
それ以上の誤差が出た場合はお知らせくださると幸いです。(^^)

ちなみにCGシリーズではCG20とCG50ではSysCall呼び出しでの電圧が若干違います。
CG20の方はほぼ正確な電圧ですが、CG50は約9%くらい低く出ますので、CG版ではそこのあたりを補正してみました


>昨晩、Ver 2.24 を fx-9860GII SD で種々テストした範囲では、大きな問題が見つからなかったので、C.Basic for FX のアップデート対応を記事に反映させました。

おお!テスト版なのにありがとうございます!


ってことで、プレーンテキストファイルの編集機能を追加したテスト版です。(^^;

C.Basic for FX v2.24β その5(電池電圧取得コマンド+Slimオーバークロック対応+テキストファイル編集お試し版)
https://pm.matrix.jp/CB/CBASIC224beta.zip
・バッテリ電圧を3桁整数値で返すBatteryStatusコマンドを追加しました。
[VARS]-[F3](extd)-[F6](BatteryStatus)
(例)BatteryStatus
 返り値が516の場合、電圧は5.16Vとなります。
 ※全機種対応です。

・バッテリ電圧をセットアップページでのバージョン表示の下部に表示するようにしました。

・メインメモリが空の場合、[F6]-[F6]-[F4](->SMEM)でストレージモードに移行できない不具合を修正しました。

・LoadコマンドでStr変数へのロードが出来なかった不具合を修正しました。
(例)Load "Sample.txt"->Str 1

・9860G Slimにおいて88MHz以上にオーバークロックした場合のキー入力を改善しました。

・9860G SlimでのGetkeyおいて「HELP]キーの返すコードを11にしました。[LIGHT]は21です。

・CSVファイルの編集をサポートしました。(お試し版です)
 [F2](edit)

・プレーンテキストファイルの編集をサポートしました。(お試し版です)
 [SHIFT]+[X^2] (extended)

Re^2: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その4)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

昨晩、Ver 2.24 を fx-9860GII SD で種々テストした範囲では、大きな問題が見つからなかったので、C.Basic for FX のアップデート対応を記事に反映させました。

Re: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その4)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> ちなみに、fxRemoteでの右下の情報表示の項目の中で
> CALCID
> のところが、
> deactivated
> になっていればどの電卓でもOS書き換え可能なOSファイルです。
> ここでIDが表示されると同じIDを持つ電卓しか書き換えできません。
> 最初はここで引っかかってましたね。(^^;

ありがとうございます、これもいずれ作る記事のポイントになりそうです。



> >はい、いつ如何なる時も発生します。
> >従って、Slim では、機能のOS2.00 か スピードのOS1.11 を使うのがお勧めという結論になりそうです。
>
> これは重要な情報ですね。
> 2.01以降はSlimにHelpが削られたりと完全対応してないので、2.00でいいですね。
> 私の場合、SlimのOSはずっと1.11だったのですが、とりあえず何も問題が無かったのはそういうことだったのですね。(^^;

OS2.00 では [Help]キーが活きているのがポイントですね!


> ってことで、バッテリ電圧をバージョン表示に追加したテストバージョンです。
>
> C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その4)
> https://pm.matrix.jp/CB/CBASIC224beta.zip

早速頂きました。良い感じで電圧表示されています。

fx-9860GII SD にもインストールしました。しばらく様子を見てみます。


いつもながらの素早いサポート、ありがとうございます。

C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その4)

管理人様、C.Basicユーザーの皆様、こんにちは!

>fx-9860G (SH3) を使うケースが減ってきている中で、Slimに惚れてしまったので、色々と触りたくなります。
>これまであまり使ったことのないコマンドを使ってみようと思っています。

今までよりもより触りたくなるほどのSlimは凄いですね。(^^)


>で、OS2.04 のファイルをありがとうございます。今回もサクッと入れ替えできました。

良かったです。(^^)


>OS1.10、OS1.11、OS2.00、OS2.01、OS2.04 と試せたのは面白い経験です。fx-9860G (ストーレトタイプ)でのOS入れ替えも問題なくできると良いな、と思っています。

ファイルに問題がなければだいじょうぶかと思います。(^^)

ちなみに、fxRemoteでの右下の情報表示の項目の中で
CALCID
のところが、
deactivated
になっていればどの電卓でもOS書き換え可能なOSファイルです。
ここでIDが表示されると同じIDを持つ電卓しか書き換えできません。
最初はここで引っかかってましたね。(^^;


>はい、いつ如何なる時も発生します。
>従って、Slim では、機能のOS2.00 か スピードのOS1.11 を使うのがお勧めという結論になりそうです。

これは重要な情報ですね。
2.01以降はSlimにHelpが削られたりと完全対応してないので、2.00でいいですね。
私の場合、SlimのOSはずっと1.11だったのですが、とりあえず何も問題が無かったのはそういうことだったのですね。(^^;


>ところで、System( コマンドは Standard のどこにありますか?
>CB5800モードで入力して使ってはいますが...

宝探しモードになってしまってすみません。(^^;
セットアップの最終ページにあります。


>これ、良いです!
>早速、私の Slim で動いています。
>ありがとうございます。

SH4版では通常で装備している電圧表示なのですが、やっと実装できました。
例のSimonLothar氏の解析文書にサンプルプログラムがあるのですが、それがすんなりと動いてしまって、
なぜに今まで実装してこなかったのかとかなり後悔しています。(^^;
ずっとSH3軽視だったと思われても致し方ありません。(^^;


>C.Basic for FX だとどこか良い表示場所はないものだろうか? と探してみていますが、以外に無いですね。
>唯一無難なのは、VER 表示のポップアップでしょうか?

そうですね。バージョン表記のところくらいしか無さそうですね。

>[追記]
>このバージョン表示のポップアップですが、xxxx bytes free の表示を、一番下の行に移動させ、その右に / 2.93V みたいに表示できると、見やすくなりませんか?


了解です!
その案、そっくりいただきました!


>上記の動作異常は、Ni-H充電池での事でしょうか?

はい。アルカリは付属の電池のみで、それを使い切ったら後はすべてエネループ系です。(^^;


>Hi-H は元々電圧が低いので、影響を受けやすいとは思うのですが、怪しくなる時の電圧は、どの程度でしょうか?

今チェックすると2.35Vくらいですね。
どこから怪しくなるかはまだ把握できていないですが、2.4Vを切ってくると怪しくなってくるかもしれません。


ってことで、バッテリ電圧をバージョン表示に追加したテストバージョンです。

C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その4)
https://pm.matrix.jp/CB/CBASIC224beta.zip

[追記あり] Re^6: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

sentaro様、C.Basicユーザーの皆様、


管理人のやすです。


> 管理人様ならではの詳細な動作報告ありがとうございます!(^^)
> 細かな動作の違いがバグ取りに役立つことも多いのですごくありがたいです。
> 今回のこの動作の違いは、OS側のキー入力のタイミングに左右されてるのかなとは思うのですが、
> C.Basic側で対処できる範囲とわかれば、対処していきたいと思います。(^^)

何か気づいたことがあれば、報告しますね。

fx-9860G (SH3) を使うケースが減ってきている中で、Slimに惚れてしまったので、色々と触りたくなります。
これまであまり使ったことのないコマンドを使ってみようと思っています。

で、OS2.04 のファイルをありがとうございます。今回もサクッと入れ替えできました。
OS1.10、OS1.11、OS2.00、OS2.01、OS2.04 と試せたのは面白い経験です。fx-9860G (ストーレトタイプ)でのOS入れ替えも問題なくできると良いな、と思っています。


> 今回、Skimのアップデート関連でFA-124の不具合もあぶり出せましたし、なんかすごい収穫があったような気がします。(^^)

はい、役立つ情報が得られたと思います。


> >どうやら、このOSでは、アドインを起動すると、[SHIF} に続いて [F1] を押すのと同じキーコードを勝手に送っているようですね。今インストールしている全てのアドインで確認できました。
>
> 強制電源オフ後に再度オンにした時だけではなく、アドインを起動するときもですか?

はい、いつ如何なる時も発生します。


ちなみに OS2.04 でもこの問題が発生しました。
ところが、OS2.00 では発生しません。

従って、Slim では、機能のOS2.00 か スピードのOS1.11 を使うのがお勧めという結論になりそうです。

今は OS2.00 に戻して使いながら、様子を見ています。



> あ、すみません。コマンド探しになってしまうのがファンクションキーを使う標準のコマンド入力仕様の難点ですね。
> Hex(コマンドは数値を16進数文字列化する関数なので、一応、文字列関数となっております。(^^;

はい、文字列変換関数だという認識が無かったので、大探ししてしまいました(^_^;
CB5800モードにすれば、一発なのですが、Standard でのキープレスも知っておきたいので、頑張りました!

ところで、System( コマンドは Standard のどこにありますか?
CB5800モードで入力して使ってはいますが...


> あと、テスト版ですが、
> SH3機でも電圧検出が出来るようになったので、Ftuneを久々にバージョンアップしてみました。(^^)
> https://pm.matrix.jp/Ftune_110.zip
> ・右上に電池電圧を表示するようにしました。

これ、良いです!
早速、私の Slim で動いています。
ありがとうございます。


C.Basic for FX だとどこか良い表示場所はないものだろうか? と探してみていますが、以外に無いですね。
唯一無難なのは、VER 表示のポップアップでしょうか?

[追記]
このバージョン表示のポップアップですが、xxxx bytes free の表示を、一番下の行に移動させ、その右に / 2.93V みたいに表示できると、見やすくなりませんか?


ところで、私が今使っている Slim では、アルカリ電池を入れていますが、結構長持ちしています。電圧を見たら、今は 2.58V です。以前、電圧が落ちてくると、画面表示が怪しくなると書かれていましたが、こちらでままだ一向に表示や動作にいかしなところが出てきません。

上記の動作異常は、Ni-H充電池での事でしょうか?

Hi-H は元々電圧が低いので、影響を受けやすいとは思うのですが、怪しくなる時の電圧は、どの程度でしょうか?


Re^5: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

管理人様、C.Basicユーザーの皆様、こんにちは!

>Getkey0 追加でほぼ確実に起動するようになりました。
>チョット気がついたのは、Getkey0 追加後ですが、[EXE]をチョンと軽く押して OSUPDATE.g1m を起動すると、うまく動作しないことが多いです。[EXE]を普通に押す、長押しすると確実に Getkey0 の効果が出るようです。
>ということで、OSUPDATE.g1mを起動する時、[EXE]キーを押してから、Geykey0 が動作する時までの時間差が、チョン押しで動作しないことに影響していると思われます。
>これは不具合報告ではなく、C.Basic の GetkeyN の詳細動作に興味を持ったというお話です。

管理人様ならではの詳細な動作報告ありがとうございます!(^^)
細かな動作の違いがバグ取りに役立つことも多いのですごくありがたいです。
今回のこの動作の違いは、OS側のキー入力のタイミングに左右されてるのかなとは思うのですが、
C.Basic側で対処できる範囲とわかれば、対処していきたいと思います。(^^)
SH4機ではキー入力の構造が変わったのでまた違った結果になるかもしれません。


>sentaro様が 再起動すると fxRemoteで通信が切れなくなると書かれていたので、上記のような話を思い出した次第。
>また、多くのファイルを一気に転送するとき、つまり転送データ量が多いとファイルが壊れるというのも、上のような可能性を思い起こさせます。なので、ファイルを1個づつ転送すれば、データ量が少なく 不正なメモリ領域を使わずに済むからだ居るが壊れない、という経験が裏打ちされると思います。

なるほどです。
管理人様の通信ドライバでのご経験がすごく活きてきてますね。(^^)
私は通信ドライバといえば、もうシステム側に100%おまかせ体制に入ってしまうので、そこで不具合が起きてしまうとお手上げです。(^^;
今回、Skimのアップデート関連でFA-124の不具合もあぶり出せましたし、なんかすごい収穫があったような気がします。(^^)


>どうやら、このOSでは、アドインを起動すると、[SHIF} に続いて [F1] を押すのと同じキーコードを勝手に送っているようですね。今インストールしている全てのアドインで確認できました。

強制電源オフ後に再度オンにした時だけではなく、アドインを起動するときもですか?


>で、海外のSNS界隈では Slim 用 OS2.04 があるようですが、fxRemote で使える fls ファイルはあるのでしょうか?
>ひょっとしてバグフィックスされているのかも知れないと思ったのです。
>sentaro様は OS2.04をお試しになったことはありますか?

試したことは無かったので、試してみました。
2.04はSH3版の最終版OSですが、Slimのキー対応パッチ当てで動作しますね。(^^)
ってことで、2.04Slim書き換え可能ファイルを追加してみました。
https://pm.matrix.jp/CB/fxRemote_slim.zip


>Hex( コマンドが 文字列関連の関数群と同じところにあって、なかなか見つかりませんでした(^_^;

あ、すみません。コマンド探しになってしまうのがファンクションキーを使う標準のコマンド入力仕様の難点ですね。
Hex(コマンドは数値を16進数文字列化する関数なので、一応、文字列関数となっております。(^^;


あと、テスト版ですが、
SH3機でも電圧検出が出来るようになったので、Ftuneを久々にバージョンアップしてみました。(^^)
https://pm.matrix.jp/Ftune_110.zip
・右上に電池電圧を表示するようにしました。

Re^7: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


Slim OS2.01 で、アドインを起動したときに [SHIFT] [F1] のキーコードが勝手に送られるバグですが、念のため OS2.00 に入れ替えて確認したところ、発生しないことが分かりました。

※ OS入れ替えがサクッとできるようになったのは、本当に助かります!


OS2.00 では文字列処理が可能で、RanInt# や MOD も追加され、言語機能としては 9860GIIと変わらないですね。
Helpキーが無効になりますが、[SHIFT] [4] の CATALOG 機能はあるので大きな問題ではないと思います。C.Basicを使えばコーディン中に簡易ヘルプがあるので、C.Basicをどうぞ! と言えます。

なので、C.Basic for FX のサポートから Slim OS2.01 を外すか、Slim OS2.01 では対処できない既知の問題があります、とかそんな感じになりますでしょうか?

Re^6: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

C.Basic for FX Ver 2.24βですが、記事への反映についてはどう致しましょうか?

UCFで Main Memory の PROGRAM が空の時の予期せぬ動作が報告されていますが、これの修正を併せて実施なさって、
- for FX Ver 2.24β
- for CG Ver 1.24β
といして、同時アップデートとなさいますか?

とりあえず、for FX Ver 2.24βは、私だけが楽しめている状況 (ムフフ...) で、記事でのアナウンスは保留しておくことに致します。

Re^5: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> 今まで体験してきたことが私としてもすっきりまとまった感がありますね。
> ぜひ記事にしておいていただけると後々助かることが多いと思います。(^^)

了解です!


> このプログラムのやっていることは、OSUPDATEの起動をワンタッチで押せるキーコードがあって、それをシステムコールでキーバッファに送り込んでいます。
> その後のGetkey1でそのキーコードが取り込まれてOSUPDATEモードに入るという形です。
> なので、起動時のキーバッファの状態に左右されてるかもしれません。
> プログラムの冒頭にGetkey0を追加してみてください。
> Getkey0はキーバッファをクリアするコマンドです。
> これで起動状況が変わったならプログラム開始前のキーバッファの影響です。

Getkey0 追加でほぼ確実に起動するようになりました。
チョット気がついたのは、Getkey0 追加後ですが、[EXE]をチョンと軽く押して OSUPDATE.g1m を起動すると、うまく動作しないことが多いです。[EXE]を普通に押す、長押しすると確実に Getkey0 の効果が出るようです。
ということで、OSUPDATE.g1mを起動する時、[EXE]キーを押してから、Geykey0 が動作する時までの時間差が、チョン押しで動作しないことに影響していると思われます。

これは不具合報告ではなく、C.Basic の GetkeyN の詳細動作に興味を持ったというお話です。


> >そして、起動直後ではダメで、Win10のドライバ類の遅延立ち上げを十分待つ必要があることが分かりました。今のところこの対応でほぼ100% 通信切れが解消しています。
>
> さすが管理人様です!
> 100%の改善は凄いです。

これは、大きな前進だと思っています。

単に経験上の話ですが、ドライバが動作中に、本来入ってはいけない領域にデータが展開される仕様(バグ?)の場合、アクセスがWinによって制限されている領域にデータやプログラムコードを展開しようとする場合、データを流そうとすると、不安定になったり通信が切れることが結構ありました。

これは、最初に作ったドライバを新バージョンのWindowsに対応した時に見られた現象で、大手の国内メーカーの製品添付のドライバでも散見されました。昔Win95で作ったヘボなシリアル通信ドライバが、XPで見事に誤動作した経験もあり、原因は不正なメモリアクセスでした。

なので、FA-124 のドライバもそんな感じの事象が発生しているのではないか? と想像しています。

sentaro様が 再起動すると fxRemoteで通信が切れなくなると書かれていたので、上記のような話を思い出した次第。
また、多くのファイルを一気に転送するとき、つまり転送データ量が多いとファイルが壊れるというのも、上のような可能性を思い起こさせます。なので、ファイルを1個づつ転送すれば、データ量が少なく 不正なメモリ領域を使わずに済むからファイルが壊れない、という経験が裏打ちされると思います。


さて、サクサクと fxRemoteを使ってOSの入れ替えが出来るようになったので、再び SlimにOS2.01を入れて、動作を見てみました。C.Basic を起動すると 変数一覧が表示されると申しました。

どうやら、このOSでは、アドインを起動すると、[SHIF} に続いて [F1] を押すのと同じキーコードを勝手に送っているようですね。今インストールしている全てのアドインで確認できました。

sentaro様は、この点を既にご存じだったと思いますが、念のためのお知らせです。

SLim OS2.01 が公式公開されてからスグに引っ込められたと、海外のSNSで読んだことがありますが、その理由はこれだったのかも知れませんね。

従って、OSを変えなければ C.Basicで根本的な対策が出来ないというのがよく分かりました。

で、海外のSNS界隈では Slim 用 OS2.04 があるようですが、fxRemote で使える fls ファイルはあるのでしょうか?
ひょっとしてバグフィックスされているのかも知れないと思ったのです。

sentaro様は OS2.04をお試しになったことはありますか?


最後に System( コマンドの件、Hex( 関数で解決しました。ありがとうございます。

Hex( コマンドが 文字列関連の関数群と同じところにあって、なかなか見つかりませんでした(^_^;

Re^4: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

管理人様、C.Basicユーザーの皆様、こんにちは!

>このあたりは、"プログラムリンクソフトウェア FA-124のバグと対策" といった記事にまとめようと思っています。

今まで体験してきたことが私としてもすっきりまとまった感がありますね。
ぜひ記事にしておいていただけると後々助かることが多いと思います。(^^)


>先ず、OSUPDATE.g1m の起動は、C.Basis で編集画面にして [F6](EXE) を押すと確実に一回で起動します。
>ファイルリスト画面で [F1](EXE) か [EXE]を押した場合はSysCallが上手く動作しないことが結構あります。
>これについては、原因はお分かりでしょうか?

このプログラムのやっていることは、OSUPDATEの起動をワンタッチで押せるキーコードがあって、それをシステムコールでキーバッファに送り込んでいます。
その後のGetkey1でそのキーコードが取り込まれてOSUPDATEモードに入るという形です。
なので、起動時のキーバッファの状態に左右されてるかもしれません。
プログラムの冒頭にGetkey0を追加してみてください。
Getkey0はキーバッファをクリアするコマンドです。
これで起動状況が変わったならプログラム開始前のキーバッファの影響です。


>そして、起動直後ではダメで、Win10のドライバ類の遅延立ち上げを十分待つ必要があることが分かりました。今のところこの対応でほぼ100% 通信切れが解消しています。

さすが管理人様です!
100%の改善は凄いです。
これで安心してFA-124を使うことが出来ますね。(^^)


>ところで、このfxRemoteのパッケージですが、sentaro様のサポート付きでなんとか使える状況です。でもこれがあれば助かる人達もいるとは思います。記事にするかどうか、ちょっと躊躇しつつ、先ずは自分が使いこなすことを優先させようと考えています。

https://tiplanet.org/forum/viewtopic.php?f=96&t=19592
https://tiplanet.org/forum/archives_list.php?cat=OS+cgraph
https://www.planet-casio.com/Fr/forums/topic13930-1-Ameliore-ta-Graph-35+-USB-E-en-Graph-75(+E)-!.html
https://bible.planet-casio.com/common/casio/
フランスでは35+Eを75+E化するのが普通のことになってるので、TI-PlanetでもPlanet-Casioでも長い間、記事が継続しています。
ので、日本語版でもぜひOS書き換え記事が欲しいところですね。(^^)


>それとは別に、フラッシュファイルや fx-Remoteアプリ自体の権利関係がいまいち分かって居らず、それもうかつに記事にしづらいところがあります。fxRemoteで検索するとフランス語ページが多く、作者はおそらくドイツ人です。英語での情報は パッケージに同梱頂いたURLが一番詳しいくらいです。

OSファイルの権利はもちろんメーカーのCASIOなのですが、ROMファイルとして提供しているわけではないので、メーカーサイドからは問題ありかもしれません。(^^;
fxRemote自体はROMを内蔵しないエミュレータの本体と同様なので、問題は無いですね。
作者の方は、解析文書をリリースされているドイツのSimonLothar氏ですが、fx-9860Gシリーズでは有名なハッカーの方です。(^^)
ここ数年はCasiopeiaで活動されていたと思います。


>そんなこともあり、暇を見て情報を集めようとしても、個別ケースに関するものだったり、断片的だったり、信憑性の判断が付かない書き込みなどが出てくるので、ジグソーパズルがなかなか完成しません。

私も完全に把握しているわけではないのですが、海外サイトからのリンクとして紹介するなら、良いのではないかと思います。


>まぁ、最初は個人的な情報整理の位置づけで、隅っこにちょこっと書いておく感じの記事にしておこうとは思っています。そして少しづつ情報を追加してゆこうか、などと思っています。

ツールとOSファイルへのリンクとOS書き換え方法の覚書くらいでいいので記事として残しておけば間違いなく便利ですね。
FA-124の件と合わせれ記事にしておけば、逆に海外からもアクセスあるかもしれませんね。(^^)


>ところで、System( コマンドですが、VRAMやClipboardの読み出し結果が負の数になっていますが、unsignedに変更する必要がありそうですが、この出力値についてご教示頂けますか?

アドレスが0x80000000を超えるので負数になります。(^^;
アドレスは16進数で認識すると思うので、Hex(コマンドで変換すれば特に問題ないと思います。(^^)

Re^3: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

今回の一連の話での収穫は、FA-124転送問題と、私としては fxRemoteが結構使えることです。

FA-124転送問題は、電卓からFA-124へ転送する時は、複数のファイルをまとめて転送する場合にファイルが壊れることが無視できない程度で発生するということがはっきりしました。
対策としては、
・電卓から転送したファイルは、もう一度電卓に転送しなおして動作確認をする。
 ⇒ これでOKならそのファイルを保存して良い
・ファイルはできるだけ1個づつ転送する
・プログラムファイルのバックアップには、電卓からFA-124に転送したものは出来るだけ使わない。
 ⇒ 使う場合は、上記の動作確認を行う。
・プログラムファイルのバックアップは、自作は別としてダウンロードしたオリジナルを保存する。
といった感じでしょうか?

このあたりは、"プログラムリンクソフトウェア FA-124のバグと対策" といった記事にまとめようと思っています。


fx-Remote は、2点ほど気がついたことがあります。

先ず、OSUPDATE.g1m の起動は、C.Basis で編集画面にして [F6](EXE) を押すと確実に一回で起動します。
ファイルリスト画面で [F1](EXE) か [EXE]を押した場合はSysCallが上手く動作しないことが結構あります。
これについては、原因はお分かりでしょうか?



fxRemoteでフラッシュファイルを指定した後、電卓で OS Error になる前に通信が切れる問題ですが、Windowsを再起動してFA-124の USB通信ドライバを再読込させると通信が切れづらくなるというのは、Win10 でも確認できました。

Win7 ではWindowsを再起動するだけで良いとおっしゃっていました。
一方、Win10 の場合はデフォルトの高速起動機能が働くとドライバの再読込をせず、高速起動機能をさせないように [SHIFT]を押しながらシャットダウン/再起動する必要があります。
そして、起動直後ではダメで、Win10のドライバ類の遅延立ち上げを十分待つ必要があることが分かりました。今のところこの対応でほぼ100% 通信切れが解消しています。

頂いた fxRemoteのパッケージですが、これから Slim でない fx-9860G で試してみようと思っています。そして温故知新の記事に反映させるつもりです。

ところで、このfxRemoteのパッケージですが、sentaro様のサポート付きでなんとか使える状況です。でもこれがあれば助かる人達もいるとは思います。記事にするかどうか、ちょっと躊躇しつつ、先ずは自分が使いこなすことを優先させようと考えています。

それとは別に、フラッシュファイルや fx-Remoteアプリ自体の権利関係がいまいち分かって居らず、それもうかつに記事にしづらいところがあります。fxRemoteで検索するとフランス語ページが多く、作者はおそらくドイツ人です。英語での情報は パッケージに同梱頂いたURLが一番詳しいくらいです。

そんなこともあり、暇を見て情報を集めようとしても、個別ケースに関するものだったり、断片的だったり、信憑性の判断が付かない書き込みなどが出てくるので、ジグソーパズルがなかなか完成しません。

まぁ、最初は個人的な情報整理の位置づけで、隅っこにちょこっと書いておく感じの記事にしておこうとは思っています。そして少しづつ情報を追加してゆこうか、などと思っています。

sentaro様のお考えをお効かせ頂けませんか?



> >これを使って、何かコーディングしたくなっています!
>
> お!何かアイデアが浮かんだような気配ですね?(^^)

まだボヤッとしてますが、そのうち何かできるかも知れません。


ところで、System( コマンドですが、VRAMやClipboardの読み出し結果が負の数になっていますが、unsignedに変更する必要がありそうですが、この出力値についてご教示頂けますか?

Re:Re: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

管理人様、C.Basicユーザーの皆様、こんにちは!

>あ"、一度に多くのファイルをバックアップしようとしたら、ファイルが壊れたのは、まさに私が最近経験したことです

ってことは、多量のファイルを一度に転送すると途中でデータが抜けてしまうバグが確定ということですね。(^^;


>電卓からFA-124でファイルが壊れる前提でいないとダメですね。
>なので、今は電卓からFA-124に転倒した後、必ず電卓に書き戻して、動作確認しています。

今は同時で10くらいまでの転送しかしてないのでエラーは出て無いですが、転送後の確認をすることは必須ですね。


>プログラムファイルを電卓のストレージからFA-124に転送する時は、どうなんでしょうか?
>最近のトラブルで、プログラムファイルもストレージからの方が壊れる率が高い感じがしています。

一気に大量に転送すると途中でリンクが切れるようなことが多々ありました。
500KB近いC.Basic本体の転送で失敗したことは無いので、
ファイルサイズの問題ではなく大量のファイルを同時にというのが鬼門のようです。(^^;


>Casio Basic全般の傾向としてVRAM転送がネックということですよね。

はい、特にグラフィックスなどはドット一つで毎回転送処理をしているので余計に遅くなりますね。


>依然おっしゃっていた IT84に対抗したものの大人の事項(販売戦略と学販における既得権益絡み?)で速度を落としている説が、私の中では有力説になりつつあります。

TI84シリーズはZ80の6MHzからスタートして15MHzまで速くなってますが、
同時期の9860GシリーズのSH3-29MHzと単純に比較すると8倍くらいの速度差があります。
しかしながら、実際の処理速度はそこまでの開きがないどころか、
基本的なループの速度にいたってはほとんど同じ程度なのに驚きます。(^^;


>あと、PxlOn と Plot の速度ですが、CFX-9850G では PxlOn が Plotの倍速近いのですが、CFX-9850GC Plus 以降 fx-9860G,
>当然 Sli) も含めて、速度差が殆どなくなっています。物理座標コマンドも ViewWindow 座標と内部で関連付けした結果 (但し CFXシリーズでは訳分からないのですが...)かな? と推測しています。このあたりは記事にはしていませんが、話題としてはは面白いです。


座標値の関連付けは結構重たい処理なので、ある程度遅くなるのはわかりますが、それでも倍遅くなるのはやはり謎です。(^^;
TIのPxlOnやPlotはCASIO比で爆速なのですが、グラフ描画になると一転してCASIOが爆速状態なので、グラフィックスにおいては速度互換性が全くありません。(^^;


>これを使って、何かコーディングしたくなっています!

お!何かアイデアが浮かんだような気配ですね?(^^)


>長々とお付き合い頂き、ありがとうございます。

いえいえ、こちらこそです。
管理人様のSlimでの不具合が発生したことで、FA-124の問題というか、そこを再確認できたのは大きな収穫です。
最初は電卓側内部の不具合とばかり思っていたので解決策がなかなか浮かばなかったのですが、
転送処理での不具合だったとは…
視点をいろいろ変えて原因究明することの大切さをあらためて感じた次第です。(^^)

Re: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> 200ファイルを超えるC.Basicのプログラムファイルを一度にバックアップしようと思ったら、
> 途中からのファイルがすべて0で埋められたファイルになっていました。

あ"、一度に多くのファイルをバックアップしようとしたら、ファイルが壊れたのは、まさに私が最近経験したことです!


> それは電卓に書き戻して分かったことですが、FA-124からPCからにエキスポートしても0で埋まったファイルだったので、
> 電卓からFA-124への転送時に壊れてたことは間違いないです。
> 最初はファイルサイズは合っているので中身が壊れてるということには気が付かなったです。(^^;

電卓からFA-124でファイルが壊れる前提でいないとダメですね。
なので、今は電卓からFA-124に転倒した後、必ず電卓に書き戻して、動作確認しています。


> アドインはチェックサムが合わないとアドインとして認識されず登録されません。
> ので、管理人様のC.Basicの動作が怪しかったのは、
> 中身が一部壊れていたのにチェックサムがたまたま合っていて普通に登録されてた状態だったと思われます。

プログラムファイルを電卓のストレージからFA-124に転送する時は、どうなんでしょうか?
最近のトラブルで、プログラムファイルもストレージからの方が壊れる率が高い感じがしています。


> お!早いですね。
> ループの速度がCG50があまり速くないのもちょっとびっくりですが、
> OS1系とOS2系の速度差は単純なコマンドほど差が大きいですね。
> 関数系は余り変わってないところをみると、軽い処理ほど速度差が大きくなりますね。

Casio Basic全般の傾向としてVRAM転送がネックということですよね。
依然おっしゃっていた IT84に対抗したものの大人の事項(販売戦略と学販における既得権益絡み?)で速度を落としている説が、私の中では有力説になりつつあります。

あと、PxlOn と Plot の速度ですが、CFX-9850G では PxlOn が Plotの倍速近いのですが、CFX-9850GC Plus 以降 fx-9860G,
当然 Sli) も含めて、速度差が殆どなくなっています。物理座標コマンドも ViewWindow 座標と内部で関連付けした結果 (但し CFXシリーズでは訳分からないのですが...)かな? と推測しています。このあたりは記事にはしていませんが、話題としてはは面白いです。



> >ところで、OS1.10 と OS.1.11 の違いについて、何かご存じでしょうか?
> >マニュアルを読み比べたのですが、どうも情報が得られません。OS2.00 から OS2.01 へのバグフィックスみたいなものだとすると、マニュアルには書かれないでしょうから、バグフィックスだとすると、それはそれで気になっています。
>
> これがよく分かっていません。
> 0.01のアップなのであまり変わっていないと思いますが細かなバグフィックスがされているかと思われます。(^^;
>
>
> >そういえば、fxRemote では Slim OS1.11 のフラッシュファイルはあるのでしょうか?
>
> 1.11が見つかりましたので加えました。
> https://pm.matrix.jp/CB/fxRemote_slim.zip
> 書き換え可能なことを確認済みです。
> これでSlimのOSは公式アップデータなしでも書き換え自在ですね。(^^)

有り難うございます<(_ _)>

早速、OS1.11 にして、様子を見てみます。



> おそらく[EXE]キーのコード31の次の21、11を割り当てようと思ったはずなのですが、
> 31になってしまったのは謎です。(^^;
> ってことで、11に変更してみました。何か不都合が出てくるまではこの仕様で行きます。

ありがとうございます。早々に使わせて頂きます。


> 電源オフ後の再オンに関してはOSで処理されることなので、今の所、C.Basic側での対処の目処が立ちません。(^^;
> [SHIFT]+[F1]を機能しないようにすると、通常でも無効になってしまうので難しそうです。
> いずれ、対処方法が分かるかもしれないのでそれまでは
> Slimでは強制電源オフのあとは[SHIFT]+[F1]が押された状態で復帰する。
> という仕様ということでお願いします。(^^;

はい、今のままで問題ないです。



> C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)
> https://pm.matrix.jp/CB/CBASIC224beta.zip
> ・9860G SlimでのGetkeyおいて「HELP]キーの返すコードを11にしました。[LIGHT]は21です。

これを使って、何かコーディングしたくなっています!


長々とお付き合い頂き、ありがとうございます。

C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)

管理人様、C.Basicユーザーの皆様、こんにちは!

>それはまだ経験していません。
>私の場合は、C.Basic で全くファイルを開けなくなる、開いても Prog コマンドでファイルが見つからないとエラーが出る、壊れたファイルを FA-124 の右側にコピーしようとすると invalid type といってエラーが出る、といった感じです。

200ファイルを超えるC.Basicのプログラムファイルを一度にバックアップしようと思ったら、
途中からのファイルがすべて0で埋められたファイルになっていました。
それは電卓に書き戻して分かったことですが、FA-124からPCからにエキスポートしても0で埋まったファイルだったので、
電卓からFA-124への転送時に壊れてたことは間違いないです。
最初はファイルサイズは合っているので中身が壊れてるということには気が付かなったです。(^^;


>ということで、ファイルの頭の部分のデータが壊れてしまうのだろうか?と思っていました。

アドインはチェックサムが合わないとアドインとして認識されず登録されません。
ので、管理人様のC.Basicの動作が怪しかったのは、
中身が一部壊れていたのにチェックサムがたまたま合っていて普通に登録されてた状態だったと思われます。


>とりあえず、アップデートしました。

お!早いですね。
ループの速度がCG50があまり速くないのもちょっとびっくりですが、
OS1系とOS2系の速度差は単純なコマンドほど差が大きいですね。
関数系は余り変わってないところをみると、軽い処理ほど速度差が大きくなりますね。


>ところで、OS1.10 と OS.1.11 の違いについて、何かご存じでしょうか?
>マニュアルを読み比べたのですが、どうも情報が得られません。OS2.00 から OS2.01 へのバグフィックスみたいなものだとすると、マニュアルには書かれないでしょうから、バグフィックスだとすると、それはそれで気になっています。

これがよく分かっていません。
0.01のアップなのであまり変わっていないと思いますが細かなバグフィックスがされているかと思われます。(^^;


>そういえば、fxRemote では Slim OS1.11 のフラッシュファイルはあるのでしょうか?

1.11が見つかりましたので加えました。
https://pm.matrix.jp/CB/fxRemote_slim.zip
書き換え可能なことを確認済みです。
これでSlimのOSは公式アップデータなしでも書き換え自在ですね。(^^)


>[Helo]キーと [EXE]キーが、ともに 31 を返すのは、何か意図があったのでしょうか?

おそらく[EXE]キーのコード31の次の21、11を割り当てようと思ったはずなのですが、
31になってしまったのは謎です。(^^;
ってことで、11に変更してみました。何か不都合が出てくるまではこの仕様で行きます。


>そうですね。そのうちで良いので、ご検討ください。

電源オフ後の再オンに関してはOSで処理されることなので、今の所、C.Basic側での対処の目処が立ちません。(^^;
[SHIFT]+[F1]を機能しないようにすると、通常でも無効になってしまうので難しそうです。
いずれ、対処方法が分かるかもしれないのでそれまでは
Slimでは強制電源オフのあとは[SHIFT]+[F1]が押された状態で復帰する。
という仕様ということでお願いします。(^^;


>のエラーは発生しないことが分かりました。これって、fx-9860G でもおそらく同じでしょうから、文字列処理コマンドを追加した時にエンバグしたっぽいですね!

文字列処理は大きな仕様変更なのであり得ますね。(^^;



C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その3)
https://pm.matrix.jp/CB/CBASIC224beta.zip
・9860G SlimでのGetkeyおいて「HELP]キーの返すコードを11にしました。[LIGHT]は21です。

Re: Re^19: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> 原因が判明して一安心です。(^^)
> しかしながら、FA-124の転送問題はちょっと問題ありますね。

そうですね。

元々 USB 1.1 の通信速度が前提なので、senntro様がおっしゃる通信中のデータ取りこぼしは当然ありそうですよね。

> ちなみにメモリいっぱいになったFA-124のフォルダを最適化するにはフォルダ名のところにファイルをドロップします。

これは良い情報、ありがとうございます。Memory Full になっても Optimizing しないことがあったので、手動でOptimizingできないものかと思っていました。


> で、このFA-124のファイルが壊れる現象ですが、
> 私の場合は中身が0で埋まったファイルになってしまうことでした。

それはまだ経験していません。
私の場合は、C.Basic で全くファイルを開けなくなる、開いても Prog コマンドでファイルが見つからないとエラーが出る、壊れたファイルを FA-124 の右側にコピーしようとすると invalid type といってエラーが出る、といった感じです。

ということで、ファイルの頭の部分のデータが壊れてしまうのだろうか?と思っていました。


> 一時はどうなることかと思ったのですが、無事復活できて本当に良かったです。(^^)

ありがとうございます。
まぁ、最後はXP機で公式アップデータを使えばなんとかなる、と思っていたので、それほど心配していませんでした。
でも、一度はXP機が公式アップデータを適用して、きちんとアップデートされることを書くにしておく方が良いかも知れないと、思い始めました。


> >で、改めて OS1.10 と OS2.01 の処理速度の比較をしました。その結果を Slim の勧めの記事に追記しようと思っています。
>
> いいですね。
> まともに比較した記事はなかなか無いので、貴重かもしれません。(^^)

とりあえず、アップデートしました。

グラフィックス描画についても手元では比較データを取りましたので、いずれ記事に反映させると思います。

ところで、OS1.10 と OS.1.11 の違いについて、何かご存じでしょうか?
マニュアルを読み比べたのですが、どうも情報が得られません。OS2.00 から OS2.01 へのバグフィックスみたいなものだとすると、マニュアルには書かれないでしょうから、バグフィックスだとすると、それはそれで気になっています。

そういえば、fxRemote では Slim OS1.11 のフラッシュファイルはあるのでしょうか?



> Slimだけのキーですが、純正同様にキーコードを返さないのもあれなので、返すようにしてたと思うのですが、キーコードをどうやって決定したのかが忘却の彼方に…(^^;

[Helo]キーと [EXE]キーが、ともに 31 を返すのは、何か意図があったのでしょうか?
特に意図が無いなら [Help]には独自のキーコードを割り振っておいた方が、Slim 専用のプログラムには役立つかも知れません。
ただ、今更 Slim + C.Basic を使う人がどれくらい居るか??という話なので、優先度は思いっきり低い修正でしょうから、そのうち、ということでお願い致します。


> >ところで、OS2.01 で C.Basicの File List 画面で 電源をオフにし、再度オンにすると 変数リストの画面が開きます。
>
> 再現しました。(^^;
> Slimだけの不具合のようなのですが、再度オンで[SHIFT]+[F1]が押されたような感じになってますね。(^^;

そうですね。そのうちで良いので、ご検討ください。



ところで、OS2.00 では " ”内の句切り文字 : がエラーになるのが OS2.01 で修正されていますが、OS1.10 ではこのエラーは発生しないことが分かりました。これって、fx-9860G でもおそらく同じでしょうから、文字列処理コマンドを追加した時にエンバグしたっぽいですね!



Re^19: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>今回のOS入れ替えに伴うC.Basicの異常は、FA-124 でバックアップしたファイルが壊れていたことがはっきりしました。

原因が判明して一安心です。(^^)

しかしながら、FA-124の転送問題はちょっと問題ありますね。

FA-124では電卓と同じコピーを持つのが特徴なので、右側も1.5MBしか容量がありません。
ここの仕様も電卓同じく削除しても空きエリアが増えずに最適化する必要があるのが難点ですね。(^^;
ちなみにメモリいっぱいになったFA-124のフォルダを最適化するにはフォルダ名のところにファイルをドロップします。

で、このFA-124のファイルが壊れる現象ですが、
私の場合は中身が0で埋まったファイルになってしまうことでした。

この壊れる原因なのですが、

>ここからは私の推測ですが、これまでの FA-124 の使い方では Memory Full になるような使い方を殆どしておらず、そしてファイルが壊れる経験が殆ど無いので、今回ファイルが壊れた原因は FA-124 での Memory Full 後の Optimization ではないかと考えられます。

私はFA-124の転送処理速度に対してCPU速度が速すぎるとデータ取りこぼし現象が発生するのでは?と考えていましたが、
それが原因だとすればOS書き換えもかなり怪しい動作になるはずなので、決定打にはならず…
管理人様のこの推測もあり得る気がしてきました。


>ありがとうございます。
>先ほどOS1.10 に戻したら、すんなりとできました。

一時はどうなることかと思ったのですが、無事復活できて本当に良かったです。(^^)


>で、改めて OS1.10 と OS2.01 の処理速度の比較をしました。その結果を Slim の勧めの記事に追記しようと思っています。

いいですね。
まともに比較した記事はなかなか無いので、貴重かもしれません。(^^)



>面白いことに、純正Casio Basic では Getkey は Helpキーでも何も値を返さないのですが、C.Basic では Getkey は Help キー で 31 を返します。チョットした発見です。
>LIGHTキーは C.Basic では 21 を返しますが、純正 Casio Basic では何も返しません。
>面白いです。

Slimだけのキーですが、純正同様にキーコードを返さないのもあれなので、返すようにしてたと思うのですが、キーコードをどうやって決定したのかが忘却の彼方に…(^^;


>ところで、OS2.01 で C.Basicの File List 画面で 電源をオフにし、再度オンにすると 変数リストの画面が開きます。

再現しました。(^^;
Slimだけの不具合のようなのですが、再度オンで[SHIFT]+[F1]が押されたような感じになってますね。(^^;

Re: Re^17: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


アドインダウンロードサイトをご案内頂き、ありがとうございます。
アドインファイルが壊れていたことを確認致しました。

今回のOS入れ替えに伴うC.Basicの異常は、FA-124 でバックアップしたファイルが壊れていたことがはっきりしました。

FA-124 でバックアップする時にファイルが壊れるというのは、これまで経験していませんでした。
...というのも、いつも FA-124 側にはファイルを残さず殆ど空にしていて、電卓に転送したいファイルを都度 FA-124 にコピーし、そこから電卓に転送するといった使い方をしていました。というのも FA-124 でも電卓と同様に Memory Full になってしまうからです。FA-124 ではスグに Memory Full になるのでバックアップとしては適していないし、複数の電卓の内容を FA-124 にバックアップするのは現実的でないからです。

従って、自作したり、ダウンロードしたプログラムファイルは別途プログラムライブラリとして保存していました。

で、今回電卓からFA-124にバックアップしたファイルをそのまま電卓に戻したわけですが、そこでファイルが壊れるという経験を記憶している範囲ですが初めて経験しました。

ここからは私の推測ですが、これまでの FA-124 の使い方では Memory Full になるような使い方を殆どしておらず、そしてファイルが壊れる経験が殆ど無いので、今回ファイルが壊れた原因は FA-124 での Memory Full 後の Optimization ではないかと考えられます。

どう思われますか?

そうだとすれば、FA-124 の使い方の記事には、重要な補足説明を追加しないといけないですね。


> そういえば、FA-124でバックアップする場合、ファイルが上手く転送できず壊れたファイルになってしまうことをよく経験しています。(^^;
> FA-124では、PCから電卓に転送するしか信頼性が無いのが現状です。
> ので、ここが問題だったのかもしれません。。

はい、最終的にはこれが大正解です!


> とにかく復活してよかったです。(^^)

ありがとうございます。
先ほどOS1.10 に戻したら、すんなりとできました。

で、改めて OS1.10 と OS2.01 の処理速度の比較をしました。その結果を Slim の勧めの記事に追記しようと思っています。


> 2.x系が遅いのは仕方ないですが、バグが解消しているので安心ではありますね。
> 2.00ではあったHelp機能が2.01が削除されてるのが惜しいといえば惜しいですね。(^^;

そうですね、バグが解消しているのは価値がありますよね。
一方で、ヘルプキーが無駄になりますが、ヘルプ機能は Help.g1a が使えるので、それを活かす手もあります。
ちなみに、Helpボタンのキーコードは EXE と同じ 31 だったりします。

面白いことに、純正Casio Basic では Getkey は Helpキーでも何も値を返さないのですが、C.Basic では Getkey は Help キー で 31 を返します。チョットした発見です。

LIGHTキーは C.Basic では 21 を返しますが、純正 Casio Basic では何も返しません。

面白いです。


ところで、OS2.01 で C.Basicの File List 画面で 電源をオフにし、再度オンにすると 変数リストの画面が開きます。
まだ公式アップデータを適用していないので、私の Slim には何らかの問題を抱えている可能性があるのですが、一応報告致しますね。

sentaro様の手元で再現しないのならば、システム異常の可能性が高いので、公式アップデータ適用後にもう一度確認してみます。


Re^17: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>その結果問題が解消したので、どこかでファイルが壊れたのがエラーの原因だったことが判明しました。
ファイルのやりとりは、電卓のメモリマネージャを使うか、FA-124 を使うかです。
>複数のファイルがいつ壊れたのか、ここが謎です。

そういえば、FA-124でバックアップする場合、ファイルが上手く転送できず壊れたファイルになってしまうことをよく経験しています。(^^;
FA-124では、PCから電卓に転送するしか信頼性が無いのが現状です。
ので、ここが問題だったのかもしれません。。

とにかく復活してよかったです。(^^)


>ちなみに、Slim のOS を 2.01 に入れ替えました。””内の 句切り文字 :のエラーが解消されています。文字列コマンドも使えます。但し処理速度は OS1.10 の倍くらいになりました。

2.x系が遅いのは仕方ないですが、バグが解消しているので安心ではありますね。
2.00ではあったHelp機能が2.01が削除されてるのが惜しいといえば惜しいですね。(^^;


>なお、アドイン Geometry と Pysium は、転送しても認識されない問題は依然残っています。但し OS1.10 で使われていたアドインですので、OS2.01 で認識されないということなのかも知れないと思って、ちょこっと調べています。

もしかして、本体からバックアップしたファイルでしょうか?
ファイルが壊れているとアドインとして認識されないのでファイル破損の可能性があります。

公式からダウンロードしたファイルでもNGとなるとまた謎発生ですが、
とりあえず、こちらからダウンロードしたファイルでお試しください。
https://support.casio.jp/download.php?cid=004&pid=1091
https://edu.casio.com/products/supportinformation/


>いずれにせよ、XP機で、公式アップデートしてみようと思います、

公式アップデータでは一緒にインストールされるので間違いないですね。(^^)

Re: Re^15: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> ってことは…OS書き換えする前は正常に動作していて、OS書き換え後から異常現象が出てきたということでしょうか。

そうなんです。


> OS書き換え前に正常動作していたのなら、
> 現在の状況はどこかでファイルが壊れたか何かで異常動作になっている感じですが、
> こちらではOS書き換え後に完全リセットして管理人様と同じようにファイルを転送しても読み込み異常が再現しないので、
> 今の所対処の目処が付かないというところです。

これまでやっていないのは、ファイル1つひとつをチェックすることです。
そこで、OS書換の前にバックアップしていたファイルを全て疑うことにしました。

その結果、これまでに報告したエラーが発生したファイルを、電卓のバックアップではなくて、プログラムライブラリとして別途保存しているファイルで置き換えました。

その結果問題が解消したので、どこかでファイルが壊れたのがエラーの原因だったことが判明しました。
ファイルのやりとりは、電卓のメモリマネージャを使うか、FA-124 を使うかです。
複数のファイルがいつ壊れたのか、ここが謎です。


いずれにせよ、問題は解決しました。
色々と、アドバイス頂き、本当にありがとうございます。


ちなみに、Slim のOS を 2.01 に入れ替えました。””内の 句切り文字 :のエラーが解消されています。文字列コマンドも使えます。但し処理速度は OS1.10 の倍くらいになりました。


なお、アドイン Geometry と Pysium は、転送しても認識されない問題は依然残っています。但し OS1.10 で使われていたアドインですので、OS2.01 で認識されないということなのかも知れないと思って、ちょこっと調べています。

いずれにせよ、XP機で、公式アップデートしてみようと思います、

Re^15: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>この Reset All は、これまで必ず実施しています。「完全リセット」という表現をしていました。

あ、そうだったんですね。大変失礼いたしました。

ってことは…OS書き換えする前は正常に動作していて、OS書き換え後から異常現象が出てきたということでしょうか。

OS書き換え前に正常動作していたのなら、
現在の状況はどこかでファイルが壊れたか何かで異常動作になっている感じですが、
こちらではOS書き換え後に完全リセットして管理人様と同じようにファイルを転送しても読み込み異常が再現しないので、
今の所対処の目処が付かないというところです。


>fx-Remote はXP機なら、より確実に動作するのでしょうか?

うちでは電卓関連にはWin7機を使ってますが、Win7でもちょこちょこおかしな現象が発生するのでXP機が安全な気がしますね。
とはいえ、PC再起動することで、今まで10回くらい1.10と2.00を行き来しているので、Win7機でもだいじょうぶかとは思いますが、
やはり、XP機が確実かなとは思います。


>Slim の勧めを記事にしたのに、手元の Slim で C.Basic が使えないのは、ちと残念です。

OS書き換えする前は使えてたと思うだけに、なんとか元通りに戻したいですね。
現在1.10ならば公式アップデータで1.11にあげるか、2.00に上げてみるのが良さそうです。
どちらにせよXP機が必須となりますが…(^^;

Re: Re^13: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> >Delete Storage memory にチェックを入れて、無事に OS1.10 に再度切り替えできました。
> >そして、C.Basic ファイルをストレージに転送しましたが、問題は解決しませんでした。
>
> こちらで再現できないので、なんとも言えないところなのですが、
> 電卓上でストレージメモリとメインメモリのオールリセット、初期化をしたらどうでしょうか?
> SYSTEMの[F5](REST)-[F6](>)-[F2](Initialixe All
>
> もし、それで直るようでしたら、
> 次回からはDelete Storage memoryにはチェックを入れなくてもだいじょうぶかと思います。(^^)

この Reset All は、これまで必ず実施しています。「完全リセット」という表現をしていました。

そこで念のため、もう一度 Reset All をやってみましたが、以前としてダメです。

これも念のためですが、「ダメ」と言うのは、

・殆ど多くの g1m ファイルが EDIT で編集画面が開きません。その時のエラーメッセージは

 Not support file
 code:-1

 なお、開けるファイルもあります。これはファイルリストの上からの順位には影響せず、少ない特定のファイルだけ開けます。

・Prog コマンドを含んだ殆ど多くの g1m ファイルは、実行すると Prog でエラーが発生します。その時は、

 Not support file
 code:-1

 とエラー発生、[EXIT]を押すと

 Can't fins file

 と次のエラーメッセージが出ます。


典型的な事例として、高速素因数分解の記事で紹介した グラフ関数電卓向けに改造した FactorG.g1m と WFSUB.g1m があります。

WFSB.g1m は編集画面が開けません。
FactorG.g1m は編集画面は開けますが、Prog でエラーになります。

これれは、以下からダウンリードできます。
https://egadget2.web.fc2.com/archives/fx-CG50/FactorG/FactorG.html


なお、電卓にファイルを転送する時に何か異常がある可能性は少ないですが、この可能性を排除するために、 FA-124 を上書き再インストールしました。次に、今回の一連のエラーが発生する前に Slim からバックアップしておいたファイルを電卓に転送しました。

実は、Reset All (完全リセット)、FA-124再インストール、PCの完全再起動、をこれまで何度も実施しています。


さて、PCの完全再起動 (Win10 の場合は通常の再起動だとドライバの再読込しません)を行っても、fxRemote との通信が、電卓で OS ERROR が表示される前に途切れてしまうことが連続しています。

上手くいったのは、1回だけです。


なんだか、どんどん悪いスパイラルに落ち込んでいる感じで、弱ったなぁ...と頭をかくしかない状況だったりします。


fx-Remote はXP機なら、より確実に動作するのでしょうか?
それなら、手元にXP機を準備した方が、近道のような気がしてきました。

何か、お気づきの点があれば、ご教示ください。

Slim の勧めを記事にしたのに、手元の Slim で C.Basic が使えないのは、ちと残念です。

Re^13: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>Delete Storage memory にチェックを入れて、無事に OS1.10 に再度切り替えできました。
>そして、C.Basic ファイルをストレージに転送しましたが、問題は解決しませんでした。

こちらで再現できないので、なんとも言えないところなのですが、
電卓上でストレージメモリとメインメモリのオールリセット、初期化をしたらどうでしょうか?
SYSTEMの[F5](REST)-[F6](>)-[F2](Initialixe All

もし、それで直るようでしたら、
次回からはDelete Storage memoryにはチェックを入れなくてもだいじょうぶかと思います。(^^)

Re: Re^11: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> >但し、C.Basic での問題は改善しませんでした。
> >FtuneとC.Basicは無事にインストールできましたが、それ以外のアドインはファイル転送してもMENUにアイコンが現れません。この症状も改善されません。
>
> ストレージメモリの何かが壊れている感じですね。

そんな感じです。


> パソコンの再起動で改善しました。
> おそらくドライバが繰り返しの使用で何かトラブってる感じがしますね。
> 再起動してまっさらな状態からだとだいじょぶかもしれません。(^^)
> 電卓側はリセットしてからUSBにつなぐだけでよいです。

Delete Storage memory にチェックを入れて、無事に OS1.10 に再度切り替えできました。
そして、C.Basic ファイルをストレージに転送しましたが、問題は解決しませんでした。




Re^11: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>OS1.10 に戻せました。ありがとうございます\(^_^)/

よかったです。(^^)


>但し、C.Basic での問題は改善しませんでした。
>FtuneとC.Basicは無事にインストールできましたが、それ以外のアドインはファイル転送してもMENUにアイコンが現れません。この症状も改善されません。

ストレージメモリの何かが壊れている感じですね。


>確か、OSリセットをしたら、うまくいったとお書きになっていますが、具体的にどのような操作をされたのでしょうか?

パソコンの再起動で改善しました。
おそらくドライバが繰り返しの使用で何かトラブってる感じがしますね。
再起動してまっさらな状態からだとだいじょぶかもしれません。(^^)
電卓側はリセットしてからUSBにつなぐだけでよいです。

Re: Re^9: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様様、C.Basicユーザーの皆様、

> 原因が分かりました。
> しばらく使ってなかったので、注意する点を忘れていました。(^^;
> OSファイルに独自のCalc-idが残ったままだと他の電卓にはインストールできません。
> ってことで、
> Calc-idが除去されている1.10のOSファイルを再アップしました。
> os_110_9860_slim.fls
> が該当ファイルです。
> https://pm.matrix.jp/CB/fxRemote_slim.zip
> これで上手くいくはずです。

OS1.10 に戻せました。ありがとうございます\(^_^)/


ところが、うっかり fxRemote のチェックボックス Delete storege memory にチェックを入れ忘れて、1.10 に戻せました。
但し、C.Basic での問題は改善しませんでした。
FtuneとC.Basicは無事にインストールできましたが、それ以外のアドインはファイル転送してもMENUにアイコンが現れません。この症状も改善されません。


そこで、今度は Delete storege memory にチェックを入れて、もう一度 0.10 に戻そうとしました。
ところが、OS ERROR の表示がされる前に電卓がだんまりになってしまい、リスタートを要求されます。
そこで、完全初期化してから、C.Basic をインストールし OSUPDATE.g1m を転送し、Delete storege memory にチェックを入れて、もう一度 0.10 に戻そうとしましたが、またもやだんまりになってしまいます。

確か、OSリセットをしたら、うまくいったとお書きになっていますが、具体的にどのような操作をされたのでしょうか?


Re^9: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>ということで、こちらでは思い切って SYSTEM マネージャで RESET - Initialize All を実行してから、再度 OS1.10 に戻すのを試みましたが、うまくゆきませんでした。あとは WinXPで 正規版のアップデータを試すしかなさそうです。

原因が分かりました。
しばらく使ってなかったので、注意する点を忘れていました。(^^;
OSファイルに独自のCalc-idが残ったままだと他の電卓にはインストールできません。
ってことで、
Calc-idが除去されている1.10のOSファイルを再アップしました。
os_110_9860_slim.fls
が該当ファイルです。
https://pm.matrix.jp/CB/fxRemote_slim.zip
これで上手くいくはずです。


>つまり、アドインのインストール時にシステム側で認識できていないバグがあるようです。

おそらくOS書き換え後にストレージメモリの関連性がバグった可能性がありますね。

fxRemotoには一番下に
Delete storege memory
というオプションがあります。
ここをチェックしておけばストレージメモリはOS書き換え時に初期化されます。

今回のOSファイルだと問題は起きないかと思いますが、おかしなことになったら電卓を初期化するのが一番です。(^^;


>Not support file
>code:-1

この原因が今の所ちょっとわからないので、
とりあえず、今回のOSファイルで1.10に戻していただけますでしょうか?

それでもまた発生するとなれば、何やらバグが潜んでいるかもしれません。(^^;

Re: Re: Re^6: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

C.Basic の以上の件ですが、次のようなことも分かりました。

EDITで編集しようとすると

Not support file
code:-1

で編集画面が表示されないファイルが多数あります。

何か、普通でないことが発生しているようです。
Slim OS 2.00 から 1.10 に戻そうとして戻せないことに起因している感じです。

昨日は、OS2.00 に上書きを何度か行い、C.Basic は問題なく動作していたので、今回の異常発生後再度 OS2.00に上書きし、リスタートしたのですが、Prog コマンドでのエラー発生、編集画面が開けない状況は同じです。

なお、SETUP で Storage mode を Main にすると、全く問題ありません。
そこで、編集画面を開けない特定ファイルと同じものが Main メモリにあるので、それを Memoryマネージャで Storage に上書きコピーしてから、Sorage mode を s.Mem に変更し、ファイルを編集しようとしても編集画面が開きません。

Memoryマネージャによるコピーでファイルが破損していないのならば、C.Basic が Storageメモリにあるファイルを開くときに何かバグが発生しているのではないか? と思われます。

検討要素が多いので、何かチェックすることがあれば、ご教示ください。

Re: Re^6: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> そうなんです。
> 元々はXPまでの対応だったので、無理やり動作させている感が漂いますね。
> この前までは1.10<->2.00が上手くいっていたんですが…なぜか出来なくなってしまいました。
> と思ってたら、OS再起動して再度試したらうまくいきました。(^^)
> binファイルではなくflsファイルでいけました。

ということで、こちらでは思い切って SYSTEM マネージャで RESET - Initialize All を実行してから、再度 OS1.10 に戻すのを試みましたが、うまくゆきませんでした。あとは WinXPで 正規版のアップデータを試すしかなさそうです。


ところで、上記のように完全初期化した後、アドインのインストールでトラブルが発生しました。
結論からいって、GEOMETORY.g1a のファイルを転送しても MENU に現れません。これは色々試したのですがどうやってもできあmせん。

そして、C.Basic for FX もファイルを転送してもMENUに現れないことが複数回ありました。
完全初期化をして Ftune → C.Basic の順にインストールしたり、真っ先に C.Basic をインストールしたりして、色々試したところ、GEOMWTRY.g1a のファイル転送後MENUで認識されないという問題発生の後だと C.Basic のインストールが失敗するようです。

つまり、アドインのインストール時にシステム側で認識できていないバグがあるようです。


で、完全初期化後 C.Basic がインストールできたのですが、 

Prog コマンドでエラーが発生します。
表示されるエラーメッセージは、

Not support file
code:-1



Can't find file

です。

複数のプログラムで確認しましたが、Prog

念のため、B.Basic for FX の Ver2.24 から 2.23 に戻しても同じ結果です。

これは、システムに異常があってのことでしょうか?
或いは C.Basic で対応可能でしょうか?

ちなみに、純正Casio Basic では同じプログラムファイルは問題なく動作します。

ご確認頂けませんか?




>
>
> >ありがとうございます。
> >Win98機は、今では入手困難ですよね。会社にも無いし...と思ったら、私の手元に XPで動作する公式アップデータ、1.10 へのアップデータと2.01へのアップデータがありました。sentaro様が必要というなら、ダウンロードできるように準備しますので、おっしゃってください。
>
> あ゛…Win95はえらく古かったですね。WinXPの間違いでした。(^^;
>
> アップデータは手元にすべて揃ってますので、とりあえずはだいじょぶです。(^^)
>
>
> >OS2.00 だと " " の中に 句切り文字 : があるとエラーになるバグがしっかりありました。なので、2.01 にアップデートしたいところです。
>
> 2台あれば、1台は1.11で、もう1台は2.01とすることができますね。
>
>
> >ところで、未開封新品の Slim は9月に入ってからの到着になりそうですが、ひょっとしてそれよりも早いかも知れません。
>
> セカイモンだと転送処理で一週間ほど余分にかかるのですが、配送のタイミングで早くなる場合もありそうですね。
>
>
> >先ほど、Slim の勧めの記事をアップしました。私の Slim 愛が伝わるでしょうか>
> >https://egadget.blog.fc2.com/blog-entry-708.html
>
> 拝見させていただきました。
> Slim愛がすごく溢れてますね!
> Slim型の次機種はぜひぜひという感じですが現実的には期待薄なので、(^^;
> 私も早く2台目をなんとかしなければという感じになっています。(^^)

Re^6: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>USBドライバが無いといった感じの絵r-亜メッセージが出たり、と不安定なところもありますね。

そうなんです。
元々はXPまでの対応だったので、無理やり動作させている感が漂いますね。


>ありゃ、それぞれ個体によって挙動が異なることもあるのですね。

この前までは1.10<->2.00が上手くいっていたんですが…なぜか出来なくなってしまいました。
と思ってたら、OS再起動して再度試したらうまくいきました。(^^)
binファイルではなくflsファイルでいけました。


>ありがとうございます。
>Win98機は、今では入手困難ですよね。会社にも無いし...と思ったら、私の手元に XPで動作する公式アップデータ、1.10 へのアップデータと2.01へのアップデータがありました。sentaro様が必要というなら、ダウンロードできるように準備しますので、おっしゃってください。

あ゛…Win95はえらく古かったですね。WinXPの間違いでした。(^^;

アップデータは手元にすべて揃ってますので、とりあえずはだいじょぶです。(^^)


>OS2.00 だと " " の中に 句切り文字 : があるとエラーになるバグがしっかりありました。なので、2.01 にアップデートしたいところです。

2台あれば、1台は1.11で、もう1台は2.01とすることができますね。


>ところで、未開封新品の Slim は9月に入ってからの到着になりそうですが、ひょっとしてそれよりも早いかも知れません。

セカイモンだと転送処理で一週間ほど余分にかかるのですが、配送のタイミングで早くなる場合もありそうですね。


>先ほど、Slim の勧めの記事をアップしました。私の Slim 愛が伝わるでしょうか>
https://egadget.blog.fc2.com/blog-entry-708.html

拝見させていただきました。
Slim愛がすごく溢れてますね!
Slim型の次機種はぜひぜひという感じですが現実的には期待薄なので、(^^;
私も早く2台目をなんとかしなければという感じになっています。(^^)

Re: Re:Re: Re:Re: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> SH3機ではFA-124に繋ぐのと同様、USBケーブルを挿すだけでいいようです。(^^;
> FxRemoteは最初から起動してても挿してから起動してもどちらでも良いです。

USBドライバが無いといった感じの絵r-亜メッセージが出たり、と不安定なところもありますね。

一旦USB取り阿波のエラーが出なくなったら、おっしゃるとおり USBケーブルを繋ぎ、fxRemoteを起動した状態で問題なくなりました。



> 私の方で試した所、2.00から1.10には戻ったものの、その後、再度2.00にしようと思ったら、
> OS RECOVER 2.02
> Updating
> の画面で電卓がリセットされて次に進まなくなりました。(^^;

ありゃ、それぞれ個体によって挙動が異なることもあるのですね。


> 1.10から2.00へは公式のアップデータを使えるのでなんとかなりそうですが、
> 2.00から1.10に戻すときにはFxRemoteが使えない場合は、
> 公式の1.10アップデータを使うときにOS UPDATE状態にするしかありません。
> 公式のアップデータを使う場合はWindows95系のOSが必要となるので、ちょっと面倒ですが、
> とりあえず、こちらのファイルをお試しください。
> それでもダメならば、公式アップデータを使う手段となります。
> https://pm.matrix.jp/CB/Slim-OS-1.10.zip

ありがとうございます。
Win98機は、今では入手困難ですよね。会社にも無いし...と思ったら、私の手元に XPで動作する公式アップデータ、1.10 へのアップデータと2.01へのアップデータがありました。sentaro様が必要というなら、ダウンロードできるように準備しますので、おっしゃってください。

なので、来週会社のXP機でトライしてみることにします。


OS2.00 だと " " の中に 句切り文字 : があるとエラーになるバグがしっかりありました。なので、2.01 にアップデートしたいところです。


ところで、未開封新品の Slim は9月に入ってからの到着になりそうですが、ひょっとしてそれよりも早いかも知れません。
先ほど、Slim の勧めの記事をアップしました。私の Slim 愛が伝わるでしょうか>
https://egadget.blog.fc2.com/blog-entry-708.html

未開封新品が届いたら、ひょっとして追記するかも知れません...

Re:Re: Re:Re: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>ところで、OS書換ですが、複数キーを押しながらRESTARTボタンを押すのがなかなか難しいので、OSUPDATE.g1m を使うことにしましたが、これがなかなかうまく起動しない感じです。SysCallの呼び出しのタイミングがありそうですね。

SH3機ではFA-124に繋ぐのと同様、USBケーブルを挿すだけでいいようです。(^^;
FxRemoteは最初から起動してても挿してから起動してもどちらでも良いです。


>で、これを OS1.10 に戻そうとして、戻らないので色々試したのですがうまくゆきません。

私の方で試した所、2.00から1.10には戻ったものの、その後、再度2.00にしようと思ったら、
OS RECOVER 2.02
Updating
の画面で電卓がリセットされて次に進まなくなりました。(^^;

1.10から2.00へは公式のアップデータを使えるのでなんとかなりそうですが、
2.00から1.10に戻すときにはFxRemoteが使えない場合は、
公式の1.10アップデータを使うときにOS UPDATE状態にするしかありません。
公式のアップデータを使う場合はWindows95系のOSが必要となるので、ちょっと面倒ですが、
とりあえず、こちらのファイルをお試しください。
それでもダメならば、公式アップデータを使う手段となります。
https://pm.matrix.jp/CB/Slim-OS-1.10.zip

もし、オーバークロックされていた場合は解除しておいてください。

Re: Re:Re: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> で。[SHIFT]を押すと、それがプログラム可能な空きメモリ量に変わります。
> これがVer表示でも同じ値が表示されています。

やっとこさ、理解しました。


ところで、OS書換ですが、複数キーを押しながらRESTARTボタンを押すのがなかなか難しいので、OSUPDATE.g1m を使うことにしましたが、これがなかなかうまく起動しない感じです。SysCallの呼び出しのタイミングがありそうですね。

で、OS1.10 から OS2.00 にアップデートを試みました。
OSUPDATE.g1m が無事起動したら

GY366 Update

とかいった感じで表示されました。

この段階で FA-124 を起動した上で、fxRemoteを起動して、[Recover flash] ボタンを押して 2_00_0000_sh3_slim.fls を選択。すると、電卓画面で OS ERROR と表示され、fxRemote で OS ERROR が表示されたか? とダイアログが現れ [ja] をクリック、その後 Calcid が違うといったメッセージが出ましたが、構わず 左側のボタンをクリック...電卓が自動的に再起動...OS2.00 に置き換え成功しました。

で、これを OS1.10 に戻そうとして、戻らないので色々試したのですがうまくゆきません。

上記と同じ手順で勧めるのですが、先ず OSUPDATE.g1m が無事起動したところで表示される内容が OS Update となり、上記とは様子が異なります。そして fxRemote を起動し、[Recover flash] をクリックし、1_10_0000_sh3_slim.fls を選択して進めました。

で、

Calc-Id mismatch!

というエラーメッセージが現れ、書換に失敗してしまいます。

何か、必要な操作があるようなら、ご教示頂けないでしょうか?



で、fxRemote で

Re:Re: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>この差は、どこから来るのかを伺いたかったのですが、何が違うのでしょうか?

ファイルモードで通常表示されているのはストレージメモリ/SDメモリ/メインメモリの空き容量です。
これはプログラムファイルの格納場所の空きエリアです。

で。[SHIFT]を押すと、それがプログラム可能な空きメモリ量に変わります。
これがVer表示でも同じ値が表示されています。

元々、Ver表示の先だったのですが、ファイルモードの[SHIFT]が後で追加されました。(^^)



>とりあえず、Slim では動作するのを確認致しました。
>ありがとうございます。

こちらこそ、早速にありがとうございます!
とりあえず、一安心です。(^^)

Re: C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> >もう一つ、Ver表示において、35828 bytes free といった表示がありますが、Storageフォルダの残り容量ではなさそうです。何を示しているのでしょうか?
> 使用可能メモリの空き容量ですね。
> ファイルモードで[SHIFT]を押したら表示されるのと同じです。(^^)

ありがとうございまず。
Memoryマネージャでストレージの空き容量を見ると、147,312 Bytes になっている時、C.Basicでの使用可能空き容量は、3,8376 Bytes になります。ちなみにFile List 画面の右上には Memory マネージャと同じ値が表示されています。

この差は、どこから来るのかを伺いたかったのですが、何が違うのでしょうか?



> ってことで、とりあえず実験版です。(^^;
> CGシリーズには装備していたBatteryStatusコマンドですが、FX版ではバッテリ電圧値を返すだけのコマンドです。
>
> C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)
> https://pm.matrix.jp/CB/CBASIC224beta.zip
> ・バッテリ電圧を3桁整数値で返すBatteryStatusコマンドを追加しました。 [VARS]-[F3](extd)-[F6](Batt)
> (例)BatteryStatus
>  返り値が516の場合、電圧は5.16Vとなります。
>  ※全機種で使えると思いますがまだ検証中です。

とりあえず、Slim では動作するのを確認致しました。
ありがとうございます。



> >ところで、fxRemote では、9860G の OS1.03, 1.04 のイメージファイルはあるのでしょうか?
>
> https://pm.matrix.jp/CB/fxRemote_slim.zip
> OSファイル追加して、差し替えしました。(^^)

これまた、大変ありがとうございます<(_ _)>

C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)

管理人様、C.Basicユーザーの皆様、こんにちは!

>もう一つ、Ver表示において、35828 bytes free といった表示がありますが、Storageフォルダの残り容量ではなさそうです。何を示しているのでしょうか?

ここのレスが抜けてまし。(^^;

使用可能メモリの空き容量ですね。
ファイルモードで[SHIFT]を押したら表示されるのと同じです。(^^)


>よろしくお願い致します\(^_^)

ってことで、とりあえず実験版です。(^^;
CGシリーズには装備していたBatteryStatusコマンドですが、FX版ではバッテリ電圧値を返すだけのコマンドです。

C.Basic for FX v2.24β (電池電圧取得コマンド+Slimオーバークロック対応テスト版その2)
https://pm.matrix.jp/CB/CBASIC224beta.zip
・バッテリ電圧を3桁整数値で返すBatteryStatusコマンドを追加しました。 [VARS]-[F3](extd)-[F6](Batt)
(例)BatteryStatus
 返り値が516の場合、電圧は5.16Vとなります。
 ※全機種で使えると思いますがまだ検証中です。



>ところで、fxRemote では、9860G の OS1.03, 1.04 のイメージファイルはあるのでしょうか?

https://pm.matrix.jp/CB/fxRemote_slim.zip
OSファイル追加して、差し替えしました。(^^)

Re: Re:Re: Re:Re: Re:Re: C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> ですね。謎解きは先送りです。(^^;

はい!


> 10万回くらいのループだけで実験すれば簡単に3倍速になっているのは分かりますが、
> ループ処理は一番軽い処理なので、殆どの場合、ループ内の処理に左右されますね。

そうですね。


> >そういえば、PICALC2A を ストレージメモリに余裕のある CG50 の C.Basic for CG で走らせましたが、6万桁まで計算できました。
>
> おお!6万桁はすごいです!
> 6万桁となるとそれなりに時間はかかりそうですけど、
> CG50では使えるメモリが2メガバイト弱ありますからかなりのことが出来ますね。(^^)

メモリが多いのは、やはり重要ですね。CG50は最強だと思います。



> いいですね。ここでSlimが脚光を浴びるとはメーカーも想像できなかったことだと思いますが、
> 今後、中古Slimの在庫が一気に減ったら、それは管理人様効果ですね!(^^;

おお、それは面白いバロメーターですね!



> バッテリモニターはSH4Aだけの機能だったので、C.BasicではCGシリーズのみ実装してますが、SH3でも実装できるかどうかちょっと検討してみます。

よろしくお願い致します\(^_^)


> 公開されているOS書き換えツールを9860GとSlim専用で固めてみました。
> これを使えば、1.10<->2.00の切り替えは簡単です。(^^)
> 吸い出す必要は無く、XP機もとりあえずは必要ありません。
> https://pm.matrix.jp/CB/fxRemote_slim.zip

これは、本当に助かります。ありがとうございます<(_ _)>

ところで、fxRemote では、9860G の OS1.03, 1.04 のイメージファイルはあるのでしょうか?

Re:Re: Re:Re: Re:Re: C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>エディタのカーソルが見えづらくなるという現象が過去にあったとき、内部で使用するメモリアロケーションが影響しているといったお話がありました。整数かどうかの解釈判定のところが誤動作して結果的に速くなったとか、なにか C.Basicの苦労してメモリを割り当てているところが関係しているのではないか? なんて想像したりしています。

2.24から2.23に戻して高速化現象が再現しなかったとのことなので、何か別の原因がありそうです。(^^;


>まぁ、将来「あっ、これだったのか!」といったことになるかも知れず、それまでは引き出しの奥にしまっておくしか無いように思われます。

ですね。謎解きは先送りです。(^^;


>いずれにせよFor~Nextの制御変数を整数宣言すれば、ループそのものは3倍程度速くなるというお話(実は、純粋なテストはまだ試していません)で、一旦クローズってことでしょうか?

10万回くらいのループだけで実験すれば簡単に3倍速になっているのは分かりますが、
ループ処理は一番軽い処理なので、殆どの場合、ループ内の処理に左右されますね。


>そういえば、PICALC2A を ストレージメモリに余裕のある CG50 の C.Basic for CG で走らせましたが、6万桁まで計算できました。

おお!6万桁はすごいです!
6万桁となるとそれなりに時間はかかりそうですけど、
CG50では使えるメモリが2メガバイト弱ありますからかなりのことが出来ますね。(^^)


>セカイモンやeBay、Amazon USAなどでも、外観の程度を気にしなければまだ数点出品されているので、入手は可能ですよね。
>Slim 賛歌の記事でも書こうかしらん...

いいですね。ここでSlimが脚光を浴びるとはメーカーも想像できなかったことだと思いますが、
今後、中古Slimの在庫が一気に減ったら、それは管理人様効果ですね!(^^;


>ところで、OS1.1 だとバッテリーインジケータが無いのですが、そもそもバッテリ-状態を知るための SYsCall が無い、あるいは見つかっていないということですよね? もしC.Basicの SETUPあたりででバッテリー状態がモニターできると良いとは思います。


バッテリモニターはSH4Aだけの機能だったので、C.BasicではCGシリーズのみ実装してますが、SH3でも実装できるかどうかちょっと検討してみます。


>バッテリーモニタのためにOS2.00にアップデートするのもアリかも知れません。sentaro様のところでは、OS1.10 と OS2.00 でどの程度変化がありますか?

2.00でもバッテリモニタはありません。FX機では純正では2.05以降での仕様です。(^^;
Slimの1.10と2.00の違いは、大雑把に言うと9860Gから9860GIIになったくらいの大きな変化がありますが、
CasioBasicの実効速度が半分くらいになるので、fx-5800Pの延長で考えるとどっちがいいかはなんとも言えません。(^^;


>私も2台目がきたら、手元で確かめてみようと思っています。その前にXP機でOS吸い出しをやらなければ...

公開されているOS書き換えツールを9860GとSlim専用で固めてみました。
これを使えば、1.10<->2.00の切り替えは簡単です。(^^)
吸い出す必要は無く、XP機もとりあえずは必要ありません。
https://pm.matrix.jp/CB/fxRemote_slim.zip

Re: Re:Re: Re:Re: C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> >あの高速化は一体な何だったのか、謎のまま残ります。
>
> これは…ちょっと原因が謎すぎると言うか…
> まさに…世にも奇妙な物語…ってところですね。(^^;

エディタのカーソルが見えづらくなるという現象が過去にあったとき、内部で使用するメモリアロケーションが影響しているといったお話がありました。整数かどうかの解釈判定のところが誤動作して結果的に速くなったとか、なにか C.Basicの苦労してメモリを割り当てているところが関係しているのではないか? なんて想像したりしています。

まぁ、将来「あっ、これだったのか!」といったことになるかも知れず、それまでは引き出しの奥にしまっておくしか無いように思われます。

いずれにせよFor~Nextの制御変数を整数宣言すれば、ループそのものは3倍程度速くなるというお話(実は、純粋なテストはまだ試していません)で、一旦クローズってことでしょうか?

PICALC2A/2I はサンプルとしては構造が複雑すぎて不適切だったということでもありますよね。

そういえば、PICALC2A を ストレージメモリに余裕のある CG50 の C.Basic for CG で走らせましたが、6万桁まで計算できました。


さて、Root FOlderの件、よくわかりました。ありがとうございます。
CG50 の C.Basic用のプログラムやビットマップなどを、全て @CBASIC フォルダに移動してみました。確かにすっきりと分かりやすいし、バックアップが楽になりました。


カタログ機能は、純正をそのまま利用できているとのこと。つまりカタログ機能にあるものだけで書けば、純正用のコードだという保証が得られるのは、分かりやすいです。ご説明、ありがとうございます。


> そもそもSlimでC.Basicという組み合わせが超レアなのではないかなと思われますね。(^^;

セカイモンやeBay、Amazon USAなどでも、外観の程度を気にしなければまだ数点出品されているので、入手は可能ですよね。
Slim 賛歌の記事でも書こうかしらん...



> うちのSlimは電池が減ってると最大の118MHzまで行くと何やらブラックアウトしたりちょっと異常現象が出てきます。(^^;

中古で入手した時、コンビニで単四アルカリ電池を買って使い始めていますが、今のところまだバッテリーはもっています。
なので、これから同様の異常現状がでるかどうか、気をつけて見ることに致します。

ところで、OS1.1 だとバッテリーインジケータが無いのですが、そもそもバッテリ-状態を知るための SYsCall が無い、あるいは見つかっていないということですよね? もしC.Basicの SETUPあたりででバッテリー状態がモニターできると良いとは思います。

バッテリーモニタのためにOS2.00にアップデートするのもアリかも知れません。sentaro様のところでは、OS1.10 と OS2.00 でどの程度変化がありますか?
私も2台目がきたら、手元で確かめてみようと思っています。その前にXP機でOS吸い出しをやらなければ...


Re:Re: Re:Re: C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>そうなんです。
>C.Basic をアップデートしたら高速化しなくなったのです。
>良いのか悪いのか、微妙は心持ちです。
>そこで、C.Basic を v2.23βに戻してみたところ、今度は 196.44s となりました。
>あの高速化は一体な何だったのか、謎のまま残ります。

これは…ちょっと原因が謎すぎると言うか…
まさに…世にも奇妙な物語…ってところですね。(^^;


>今更ですが、カタログ機能は、純正の機能をそのまま使っているということでしょうか?

はい、カタログ機能そのまんまなのでC.Basic拡張コマンドは出てきません。(^^;


>その可能性はありそうですね。ロータス・エリーゼ(車ね)に電気自動車のエンジン積むような行為ですから...そんなことする人は少ないです。

たしかに…(^^;
そもそもSlimでC.Basicという組み合わせが超レアなのではないかなと思われますね。(^^;
うちのSlimは電池が減ってると最大の118MHzまで行くと何やらブラックアウトしたりちょっと異常現象が出てきます。(^^;


>ところで、SETUP の項目で、Root Folder がありますが、これはどのように設定するのかが、よく分からないのです。
>[F1] [F2] を押しても、変化が分かりません。一旦1段下のフォルダに移ってから この設定を試みても、変化が見られません。
>これは、どのように使うのでしょうか?

これはサブフォルダ下にもさらにサブサブフォルダが作れる35+EIIとCGシリーズ用の機能です。
従来FX機ではサブフォルダまでなので意味がなく設定できないようになっています。(^^;

この機能は、C.Basicのサブフォルダまでしか対応してない現行仕様のままで、
最小限の変更でサブフォルダ以下を使用しようとするための拡張機能です。

例えば、ルートフォルダに
@CBASIC
というフォルダを作成して、その下にC.Basicのプログラムファイルを移動すると
ルートフォルダにあったC.Basi用ファイルがすっきりまとまります。

CGシリーズと35+EIIでは@CBASICフォルダ以下にもサブフォルダが作れるので、
現在のフォルダが@CBASICフォルダのときに、セットアップのRoot Folderで[F2]を押すとルートが@CBASICに設定されて、
以後、@CBASICがルートフォルダとして機能します。
その後は、従来どおりの使い方でOkです。

Re: Re:Re: C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)

sentao様、C.Basicユーザーの皆様、

管理人のやすです。


> DLしてチェックした所、全く同じファイルでした。
>
>
> >Slim の Getkey対応した v2.24βで、もう一度試しましたが、196.51s という結果になりました。
>
> 169.51sではなくて196.51sですか?

そうなんです。

C.Basic をアップデートしたら高速化しなくなったのです。
良いのか悪いのか、微妙は心持ちです。

せっかく速かったのに、遅くなったとみるか、話の整合性が通ったと考えるのか...

そこで、C.Basic を v2.23βに戻してみたところ、今度は 196.44s となりました。

あの高速化は一体な何だったのか、謎のまま残ります。


> それならPICALC2Iより遅く、私の結果とほぼ同じなので、何も問題は無いことになります。(^^)

今となっては、そういうことになりますね。


> C.Basic対応外のコマンドの入力はカタログ機能からの入力になりますが、
> 表示&編集には対応しているので、一応すべてのコマンドの入力&編集が出来ます。(^^)
> C.Basic互換の範囲ならC.Basicで試してから純正で動作させるということも出来ますね。

今更ですが、カタログ機能は、純正の機能をそのまま使っているということでしょうか?


> お!良かったです。
> 今までSlimでのオーバークロックでの不具合報告が無かったのは、
> SlimでオーバークロックしてC.Basicを使ってるのがかなり珍しくて、
> もしかしたら管理人様だけだったのかもしれませんね。(^^;

その可能性はありそうですね。ロータス・エリーゼ(車ね)に電気自動車のエンジン積むような行為ですから...そんなことする人は少ないです。


> こちらこそ、貴重なバグ発見をありがとうございました!(^^)
ひょんなことからお役にたったようで、嬉しいです。


ところで、SETUP の項目で、Root Folder がありますが、これはどのように設定するのかが、よく分からないのです。
[F1] [F2] を押しても、変化が分かりません。一旦1段下のフォルダに移ってから この設定を試みても、変化が見られません。
これは、どのように使うのでしょうか?


もう一つ、Ver表示において、35828 bytes free といった表示がありますが、Storageフォルダの残り容量ではなさそうです。何を示しているのでしょうか?


Re:Re: C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>先ほど別コメントで、私が使っている PICALC2I をアップしました。sentaro様がアップされたまま、触っていないつもりです。
>はい、以下からDLしてください。
https://egadget2.web.fc2.com/CBasic/archives/programs/Samples/samples.html

DLしてチェックした所、全く同じファイルでした。


>Slim の Getkey対応した v2.24βで、もう一度試しましたが、196.51s という結果になりました。

169.51sではなくて196.51sですか?
それならPICALC2Iより遅く、私の結果とほぼ同じなので、何も問題は無いことになります。(^^)


>これは、ある程度純正とC.Basicのコマンドを把握していないといけないというハードルがあるので、万人向けとはいかないでしょうが、我々には便利な機能として応用できますよね。

C.Basic対応外のコマンドの入力はカタログ機能からの入力になりますが、
表示&編集には対応しているので、一応すべてのコマンドの入力&編集が出来ます。(^^)
C.Basic互換の範囲ならC.Basicで試してから純正で動作させるということも出来ますね。


>テスト版、バッチリです!
>Getkeyがきちんと効くようになりました。
>ありがとうございます。

お!良かったです。
今までSlimでのオーバークロックでの不具合報告が無かったのは、
SlimでオーバークロックしてC.Basicを使ってるのがかなり珍しくて、
もしかしたら管理人様だけだったのかもしれませんね。(^^;

こちらこそ、貴重なバグ発見をありがとうございました!(^^)

For~Next高速化?

sentaro様、C.Basicユーザーの皆様、


> CG50での結果が同じだとすると、Slimの結果だけが謎ですね。(^^;

全くもって、そうなんです。


> ちなみに前の私のSlimの結果はOSが2.00だったので、1.10に戻して再計測してみました。
> Slim-v2.24   190.0s   196.7s
>
> 管理人様の結果の169.79sですが、もしかして、196.79sだったという可能性はないでしょうか?(^^;

Slim の Getkey対応した v2.24βで、もう一度試しましたが、196.51s という結果になりました。

先ほど別コメントで、私が使っている PICALC2I をアップしました。sentaro様がアップされたまま、触っていないつもりです。

よろしくお願い致します。

Re: C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)

sentaro様、C.Basicユーザーの皆様

管理人のやすです。


> こちらでは何度どうやってもPICALC2Iの方が遅くなります。(^^;

> PICALC2Aは管理人様の結果とほぼ同じなので、
> 可能性があるとしたらPICALC2Iの中身が違っているということしか考えられません。(^^;
>
> 管理人様の試されているPICALC2Iを再アップしていただけますでしょうか?

はい、以下からDLしてください。
https://egadget2.web.fc2.com/CBasic/archives/programs/Samples/samples.html



> >元々、fx-5800P な人なので、関数や機能の面も OS1.10 で十分だったりします。
> >なんせ、C.Basic があれば最強ですし...
>
> なるほどです。
> fx-5800Pの正当なアップグレード機という感じになってますね。(^^)

なるほど、言われてみれば fx-5800P の後継機のような感覚になっているかも知れません。


> 純正のエディタの代わりに使うというのもある程度想定していたのですが、実用的に使えるとなるとこれも大きなセールスポイントですね。(^^)

これは、ある程度純正とC.Basicのコマンドを把握していないといけないというハードルがあるので、万人向けとはいかないでしょうが、我々には便利な機能として応用できますよね。


> 私のSlimでも同じでした。(^^;
> C.Basic開発中はノーマル使用がほとんどなので、気が付いてませんでした。(^^;
> 実験してみると118MHzは電池電圧が下がっていると何やら動作が怪しくなるようです。
> Getkeyの反応はFtune側の設定では改善できなかったので、
> C.Basic側で対策してみました。とりあえずテスト版です。(^^;
>
>
> C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)
> https://pm.matrix.jp/CB/CBASIC224beta.zip
> ・9860G Slimにおいて88MHz以上にオーバークロックした場合のキー入力を改善しました。

テスト版、バッチリです!

Getkeyがきちんと効くようになりました。
ありがとうございます。


Re^5: C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;

管理人様、C.Basicユーザーの皆様、こんにちは!

>なんと、sentaro様と同様の結果、つまり若干低速化しました。

CG50での結果が同じだとすると、Slimの結果だけが謎ですね。(^^;

ちなみに前の私のSlimの結果はOSが2.00だったので、1.10に戻して再計測してみました。
Slim-v2.24   190.0s   196.7s

管理人様の結果の169.79sですが、もしかして、196.79sだったという可能性はないでしょうか?(^^;

C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>マジですよん。
>ついでに、もう少しテストしたところ、
>こちらでは、高速化してます...

やっぱりマジですか…。

こちらでは何度どうやってもPICALC2Iの方が遅くなります。(^^;


>ふと思ったのですが、残りメモリ量の影響がありますでしょうか?
>或いは C.Basic のSETUP の影響でもありそうでしょうか?
>[追記]
>SETUPでは、+Indent は off、Max Mem Mode は on、Use Hidn RAM は off、HidnRAM Init は on でも off でもなく ---、になっていますが、このあたりの影響はどうでしょうか?

同じセットアップ設定であれば条件は同じなので、その影響はほとんど無いと思います。

PICALC2Aは管理人様の結果とほぼ同じなので、
可能性があるとしたらPICALC2Iの中身が違っているということしか考えられません。(^^;

管理人様の試されているPICALC2Iを再アップしていただけますでしょうか?



>もう、思いっきりハマっています(^_^;

思いっきりというのがすごいです!


>元々、fx-5800P な人なので、関数や機能の面も OS1.10 で十分だったりします。
>なんせ、C.Basic があれば最強ですし...

なるほどです。
fx-5800Pの正当なアップグレード機という感じになってますね。(^^)


>最近では、C.Basic からメインメモリにアクセスして、純正Casio Basic を編集してます。エディタが便利すぎます!

純正のエディタの代わりに使うというのもある程度想定していたのですが、実用的に使えるとなるとこれも大きなセールスポイントですね。(^^)


>オーバークロックで、デフォルトの[F5]にすると、C.Basic でキー入力を受け付けにくくなる現象が出ていて、怖いのでチョット調べているところです。Do:Getkey→K: コード : LpWhile やら、While Getkey:WHileENd あたりで取りこぼしがあるかも知れない感じで、PFCを少し下げた方が良いかな? と思ったりしています。

私のSlimでも同じでした。(^^;
C.Basic開発中はノーマル使用がほとんどなので、気が付いてませんでした。(^^;
実験してみると118MHzは電池電圧が下がっていると何やら動作が怪しくなるようです。
Getkeyの反応はFtune側の設定では改善できなかったので、
C.Basic側で対策してみました。とりあえずテスト版です。(^^;


C.Basic for FX v2.24β (Slimオーバークロック対応テスト版)
https://pm.matrix.jp/CB/CBASIC224beta.zip
・9860G Slimにおいて88MHz以上にオーバークロックした場合のキー入力を改善しました。

Re^4: C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

fx-CG50 で比較してみました。


※ fx-CG50 (OS3.20), Normal Clock, C.Basic for CG v1.23
[1000桁]
        PICALC2A  PICALC2I
CG50 v2.23    56.42s   58.35s  -3.42%

なんと、sentaro様と同様の結果、つまり若干低速化しました。

なぜ、私の手元の 9860G Slim で高速化するのが謎です。
そこで、Slim の筐体裏の Restartボタンを押してから、再度比較してみました。

※ Slim (OS1.10), Normal Clock、C.Basic for FX x2.23
[1000桁]
        PICALC2A  PICALC2I
Slim-v2.23   189.76s   169.79s   10.52%

高速化が再現されました。
なぜ、このように、私のものだけ、このような特異的な結果になるのか? ヒントが得られていません。

そこで、冗長になりますが C.Basic for FX の現在の SETUP設定を下記に記します。

Angle: Rad
Complex Mode: Real
Draw Type: Connect
Coord: off
Grid: off
Axes: off
Label: off
Derivative: off
Background: None
SKetch Line: Normal
Display: Nrm2
Syntax Help: off
SetupRecover: on
Command Input: Standard
Max Mem Mode: on
EnavleExFont: on
Edit ExtFont: on
EditFontSize: Standard
Edot TopLine: on
Edot +Indent: off
Edit LineNum: off
EditListChar: List
Use Hidn RAM: off
HidnRAM Init: ---
Max Pict: 20
Max List 52x: 1 (52)
AT BebugMode: on
ExitDM PopUp: off
Break Stop: on
Exec TimeDsp: on
IfEnd Check: on
ACBreak: on
Force Return: EXE
Key 1st time: 500ms
Key Rep time: 125ms
SkipUp/Down: 1
Mat Dsp mode: [m,n]
DATE: 2019/08/20 TUE
TIME: 09:26:55
Root FOlder:/
Auto file save: off
Force g1m: off
Pict mode: Main Mem
Storage mode: Main mem
RefshCtl DD: Grph 3/128
Wait count: No Wait
Executable mode: DB#

また、Storage memory の空きは 150,624 Bytes

私の Slim で高速化している原因が分かると、For~Next制御変数の整数化での高速化に繋がるかも知れないので、興味があります。


他の 9860G シリーズではまだ試していませんのが、後で確認しようと思います。

[追記あり] Re^3: C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;

sentaro様、C.Basicユーザーの皆様、

[追記あり]

管理人のやすです。

> うわ、まさかの高速化!
> って10%以上の差とか、マジですか?(^^;

マジですよん。

ついでに、もう少しテストしたところ、


※ Slim (OS1.10), Normal Clock, C.Basic for FX v2.23
[1200行]
        PICALC2A  PICALC2I
Slim-v2.23   286.86s   243.93s  9.27%


※ Slim (OS1.10), 117.96 MHz (デフォルト [F5])、C.Basic for FX x2.23
[1000行]
        PICALC2A  PICALC2I
Slim-v2.23   79.63s    68.28   14.28%


こちらでは、高速化してます...


> 若干の差異はありますが、ほぼ似た傾向になるはずです。(^^;

不思議な現象に見えますが、何か私がミスをしているのだろうか?

ふと思ったのですが、残りメモリ量の影響がありますでしょうか?
或いは C.Basic のSETUP の影響でもありそうでしょうか?

[追記]
SETUPでは、+Indent は off、Max Mem Mode は on、Use Hidn RAM は off、HidnRAM Init は on でも off でもなく ---、になっていますが、このあたりの影響はどうでしょうか?



> Slimがかなりツボにはまってきてますね。(^^)

もう、思いっきりハマっています(^_^;

元々、fx-5800P な人なので、関数や機能の面も OS1.10 で十分だったりします。
なんせ、C.Basic があれば最強ですし...

最近では、C.Basic からメインメモリにアクセスして、純正Casio Basic を編集してます。エディタが便利すぎます!

> Slimは電池が2本なのですが、そこそこ持つ印象があります。
> モノクロ機はやはり基本的に省電力ですね。
> ただ、SH3なのでオーバークロックしてたりするとあっという間に無くなりそうですが…。(^^;

オーバークロックで、デフォルトの[F5]にすると、C.Basic でキー入力を受け付けにくくなる現象が出ていて、怖いのでチョット調べているところです。Do:Getkey→K: コード : LpWhile やら、While Getkey:WHileENd あたりで取りこぼしがあるかも知れない感じで、PFCを少し下げた方が良いかな? と思ったりしています。

Re:Re: C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;

管理人様、C.Basicユーザーの皆様、こんにちは!

>差替えアップデートの対応を致しました。

毎度ありがとうございます!(^^)


>fx-9860G Slim (OS1.10) Normal Clock with C.basic for FX v2.23β で比較してみました。
>なんと、高速化の効果がでました(^_^;

うわ、まさかの高速化!
って10%以上の差とか、マジですか?(^^;


にわかに信じがたいのでSlimと9860GII(SH4A)で計測してみました

1000桁での結果です。
        PICALC2A  PICALC2I
Slim-v2.23   190.4s   197.1s
SH4A-v2.23   160.2s   169.6s

やはり整数化で一様に遅くなってるのですが…はて?(^^;


>C.Basic for CG とは何やら違っているかも知れませんね。

若干の差異はありますが、ほぼ似た傾向になるはずです。(^^;


>最近は、9860G Slim を普段使いにして、新品が届くまでにキー配置を指に覚えさせているところです。

Slimがかなりツボにはまってきてますね。(^^)

Slimは電池が2本なのですが、そこそこ持つ印象があります。
モノクロ機はやはり基本的に省電力ですね。
ただ、SH3なのでオーバークロックしてたりするとあっという間に無くなりそうですが…。(^^;

Re: C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> 何やら動作がおかしいので、チェックしてみたらバグが残ってました。(^^;
>
> For 1->I% To N
>  Locate 1,1,I%
>  Int(B/5)->Mat Z[I%,1]
> Next
>
> この部分で、終値のNが整数評価でN%となってバグりました。(^^;

なるほどです。
私が何か勘違いしていて、色々と試していてうまくゆかず、早めにギブアップして、結果的に良かったみたいです。

修正、ありがとうございます。


> C.Basic for FX v2.23β (For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;
> https://pm.matrix.jp/CB/CBASIC223beta.zip
>
> C.Basic for CG v1.23β (For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;
> https://pm.matrix.jp/CB/CBASICCG123beta.zip

差替えアップデートの対応を致しました。


> 整数変数に改造したPICALC2Iを使用して試してみた所、速くなるどころか遅くなってしまいます。(^^;
> https://pm.matrix.jp/CB/PICALC2I.g1m
>
> 1000桁での結果です。
>         PICALC2A  PICALC2I
> CG50 v1.23   56.49s    58.38s
>
> なぜ遅くなったかというと、
> 行列のインデックス計算で変数に%が付くことを想定していないために、そこがオーバーヘッドとなり逆に遅くなってしまったようです。
> 一文字変数ということで最適化していたことが仇になってしまいました。(^^;


fx-9860G Slim (OS1.10) Normal Clock with C.basic for FX v2.23β で比較してみました。
なんと、高速化の効果がでました(^_^;


[1000桁]
               PICALC2A  PICALC2I  高速化
9860G Slim (OS1.10) v2.23β  189.76s  169.78s   10.05%

[500桁]
               PICALC2A  PICALC2I  高速化
9860G Slim (OS1.10) v2.23β  52.10s   43.07s   17.33%


C.Basic for CG とは何やら違っているかも知れませんね。

最近は、9860G Slim を普段使いにして、新品が届くまでにキー配置を指に覚えさせているところです。

C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;

管理人様、C.Basicユーザーの皆様、こんにちは!

円周率計算のPICALC/PICALC2AのFor~Nextを整数変数で回そうとしたところ、
何やら動作がおかしいので、チェックしてみたらバグが残ってました。(^^;

For 1->I% To N
 Locate 1,1,I%
 Int(B/5)->Mat Z[I%,1]
Next

この部分で、終値のNが整数評価でN%となってバグりました。(^^;

ってことで、差し替え修正です。

C.Basic for FX v2.23β (For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;
https://pm.matrix.jp/CB/CBASIC223beta.zip

C.Basic for CG v1.23β (For~Next制御変数バグ+4ビット行列符号無し仕様変更版)再アップです。(^^;
https://pm.matrix.jp/CB/CBASICCG123beta.zip


>時間の計り方が悪かったようで、当方でも再現性が出ないのに気づきました。

整数変数に改造したPICALC2Iを使用して試してみた所、速くなるどころか遅くなってしまいます。(^^;
https://pm.matrix.jp/CB/PICALC2I.g1m

1000桁での結果です。
        PICALC2A  PICALC2I
CG50 v1.23   56.49s    58.38s

なぜ遅くなったかというと、
行列のインデックス計算で変数に%が付くことを想定していないために、そこがオーバーヘッドとなり逆に遅くなってしまったようです。
一文字変数ということで最適化していたことが仇になってしまいました。(^^;

Re: For~Nextの制御変数を整数化で高速化

sentaro様、C.Basicユーザーの皆様

管理人のやすです。

> 実機で試した所、20%のスピードアップ効果が確認できず…?
> という状況です。(^^;
>
> 管理人様のお試し状況を教えてくださると幸いです。(^^)

時間の計り方が悪かったようで、当方でも再現性が出ないのに気づきました。

ベンチマークモードを付加し、RTCで計測するように改造して、PICALC2A にしました。
一応計算結果の確認のため、結果を10桁づつ見やすく表示するサブルーチン PIDISP2 を追加しました。これで、ネットにある円周率の表と比較しやすくしています。なお、ベンチマークモードでは、PIDISP2 を呼び出しません。

この PICALC2A では Base (1回の計算の桁数) を 7 にしています。これは 表示用サブルーチンで精度を保つのが主な目的です。

https://egadget2.web.fc2.com/CBasic/archives/programs/Samples/samples.html

今日の朝の通勤電車では、整数モードで異常動作してしまい、うまくいっていません。

そこで、とりあえず土俵を共有するために、上記のダウンロードを準備しました。念のため、オリジナルの PICALC.g1m もダウンロードできるようにしました。


For~Nextの制御変数を整数化で高速化

管理人様、C.Basicユーザーの皆様、こんにちは!

>最近浮上した多桁π計算のプログラムは、For を使っているので、制御変数を整数化してみたところ、
>500桁計算が実数設定では 65.15 秒かかっていたのが、整数設定にすると 51.99 秒と短縮しました。

実機で試した所、20%のスピードアップ効果が確認できず…?
という状況です。(^^;

管理人様のお試し状況を教えてくださると幸いです。(^^)

Re: C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>ええっと、ViewWindow 設定の問題ですか?

あ゛…
「UCFのtsiozos氏にご指摘いただいた不具合の修正+ご要望での仕様変更版です。」
が正しいです。(^^;


>さしあたり、アップデート対応致しました。
>お疲れ様です。

早速にありがとうございます!(^^)


>最近浮上した多桁π計算のプログラムは、For を使っているので、制御変数を整数化してみたところ、
>500桁計算が実数設定では 65.15 秒かかっていたのが、整数設定にすると 51.99 秒と短縮しました。
>まぁ単純にループだけが3倍近く高速化していたとしても、関数計算は同じなので、こんなものかな?と
思っています。

おお!20%位のスピードアップですね。
プログラムの最適化で20%速くするのもそうそう簡単なことではないので、かなりの成果と言えます。(^^)
インデントを最大の4で付加すると5%くらい遅くなりますが、その速度低下補填してさらにお釣りが出るくらいですね。

For~Nextループ限定ですが、
ループ回数が多くて比較的軽い処理の場合はループ高速化効果がそこそこ出そうです。(^^)


>MOD(A,N) の N を負の数にするとは...考えもしていませんでしたが、エラーにならないのですね。

そうなんです。負の数の剰余というのがどう定義されているのか謎なのですが、エラーになりません。(^^;

CやPythonでもエラーにはならないので、一応それぞれで計算式が定義されているようです。


>> MOD(-5,-3)ではCASIOは1になるのに対して、HPでは-2になります。
>これは謎仕様ですね!

被除数÷除数=商…剰余
とするならば、
除数✕商+剰余=被除数
なので、
-5÷-3=1…-2
とするならば、
-3✕1-2=-5
で辻褄は合います。

逆にCASIOの場合は、
-5÷-3=1…1
とするならば、
-3✕1+1=-2
で破綻します。(^^;



>そうですね。Casio の仕様は、メニュー選択などで循環選択させるような処理で、制御変数が負から正まで1刻みの場合は、結構使える仕様と言えなくも無いです。むしろこの仕様を積極利用するとプログラミングに幅が出そうではあります。

プログラミングでの実効的な作用を考えているとしたらさすがとしか言いようがないですが、
数学的にはどうみても合点がいかない仕様ですし
ここは正の数でしか使えないTI仕様が正解のような気がしますね。


Re: C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

> UCFのtsiozos氏に発見していただきましたバグ修正版です。

ええっと、ViewWindow 設定の問題ですか?

さしあたり、アップデート対応致しました。
お疲れ様です。

ところで、

> For~Nextのバグというか、今までずっと残っていた仕様ですが、(^^;
> 今回の修正で実数モードでも整数変数を制御変数にすることが可能となり、
> ループそのものの処理速度は3倍くらいスピードアップします。(^^)

最近浮上した多桁π計算のプログラムは、For を使っているので、制御変数を整数化してみたところ、
500桁計算が実数設定では 65.15 秒かかっていたのが、整数設定にすると 51.99 秒と短縮しました。

まぁ単純にループだけが3倍近く高速化していたとしても、関数計算は同じなので、こんなものかな?と
思っています。


MODのコマンドリファレンス、修正して再度アップしました。
MOD(A,N) の N を負の数にするとは...考えもしていませんでしたが、エラーにならないのですね。

> 他の電卓ではどうなのかと気になったので調べてみた所、
> TIでは負数の場合はエラーになりました。
これが、正しいような気がしますが、

> HPでは第1引数が負数の場合はCASIOと同じ結果になるようです。
> ただし、第2引数が負数の場合、
> MOD(-5,-3)ではCASIOは1になるのに対して、HPでは-2になります。
これは謎仕様ですね!


> 各社全く互換性が無いので引数が負数のMODは使ってはいけないという結論ですね。(^^;

そうですね。Casio の仕様は、メニュー選択などで循環選択させるような処理で、制御変数が負から正まで1刻みの場合は、結構使える仕様と言えなくも無いです。むしろこの仕様を積極利用するとプログラミングに幅が出そうではあります。


C.Basic for FX v2.23β & CG v1.23β(For~Next制御変数バグ+4ビット行列符号無し仕様変更版)

管理人様、C.Basicユーザーの皆様、こんにちは!

UCFのtsiozos氏に発見していただきましたバグ修正版です。

4ビット行列は符号無し仕様でもとくに問題なさそうってことで符号無しで仕様を固定します。

For~Nextのバグというか、今までずっと残っていた仕様ですが、(^^;
今回の修正で実数モードでも整数変数を制御変数にすることが可能となり、
ループそのものの処理速度は3倍くらいスピードアップします。(^^)

C.Basic for FX v2.23β (For~Next制御変数バグ+4ビット行列符号無し仕様変更版)
https://pm.matrix.jp/CB/CBASIC223beta.zip

C.Basic for CG v1.23β (For~Next制御変数バグ+4ビット行列符号無し仕様変更版)
https://pm.matrix.jp/CB/CBASICCG123beta.zip
・For~Nextの制御変数(DBLまたはINT)が動作モードで固定されていたのを修正しました。
(例)'#CBDBL
For 1->I% To 6
Disp I%
Next

・4ビット行列の数値を符号無しに変更しました。従来の符号付き-8~7は符号無しの0~15となります。



管理人様、
>...ということで、コマンドリファレンスに MOD( を追加しておきました。
>これに関連して、fx-5800P で MOD() の代わりになる計算式を紹介する記事も修正しました。

ありがとうございます。(^^)

他の電卓ではどうなのかと気になったので調べてみた所、
TIでは負数の場合はエラーになりました。
HPでは第1引数が負数の場合はCASIOと同じ結果になるようです。
ただし、第2引数が負数の場合、
MOD(-5,-3)ではCASIOは1になるのに対して、HPでは-2になります。
各社全く互換性が無いので引数が負数のMODは使ってはいけないという結論ですね。(^^;

Re: Re:Re: C.Basic for FX v2.22β & CG v1.22β (整数モードのMODバグ修正+Int÷バグ修正+α版)

sentaro様様、C.Basicユーザーの皆様、

管理人のやすです。

> >そうなんですよね。このブログでコマンドリファレンスに MOD を追加するのも良さそうですね!
>
> はい、これはぜひお願いします。

...ということで、コマンドリファレンスに MOD( を追加しておきました。

これに関連して、fx-5800P で MOD() の代わりになる計算式を紹介する記事も修正しました。

Re:Re: C.Basic for FX v2.22β & CG v1.22β (整数モードのMODバグ修正+Int÷バグ修正+α版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>差替えアップデート、記事に反映させました。

いつもありがとうございます!(^^)


>そうなんですよね。このブログでコマンドリファレンスに MOD を追加するのも良さそうですね!

はい、これはぜひお願いします。

IntとIntgの違いもそうですけど、
他の言語と仕様が違うので勘違いしやすいところです。(^^;


>このコマンドの存在をすっかり忘れておりました。

2.x以降の新規コマンドなのですが、とりあえず無くても困らないコマンドではありますね。(^^;

Re: C.Basic for FX v2.22β & CG v1.22β (整数モードのMODバグ修正+Int÷バグ修正+α版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

差替えアップデート、記事に反映させました。


> 今回あらためて分かったのですが、CasioBasicのMODはCともPythonとも違って独特な仕様ですね。

そうなんですよね。このブログでコマンドリファレンスに MOD を追加するのも良さそうですね!


> ・DBL/CPLXモードのInt÷コマンドのバグを修正しました。
> (誤)-5 Int÷3->2
> (正)-5 Int÷3->1

このコマンドの存在をすっかり忘れておりました。

C.Basic for FX v2.22β & CG v1.22β (整数モードのMODバグ修正+Int÷バグ修正+α版)

管理人様、C.Basicユーザーの皆様、こんにちは!

管理人様、早速のアップデート対応ありがとうございます!

>UCFは、有り難いですね!

はい。使ってくれるユーザー様が増えてるのが嬉しいです。(^^)


MODに関連して再チェックしていたらバグが見つかりましたので再アップです。(^^;
今回あらためて分かったのですが、CasioBasicのMODはCともPythonとも違って独特な仕様ですね。


C.Basic for FX v2.22β (整数モードのMODバグ修正+Int÷バグ修正+α版)
https://pm.matrix.jp/CB/CBASIC222beta.zip

C.Basic for CG v1.22β (整数モードのMODバグ修正+Int÷バグ修正+α版)
https://pm.matrix.jp/CB/CBASICCG122beta.zip
・DBL/CPLXモードのInt÷コマンドのバグを修正しました。
(誤)-5 Int÷3->2
(正)-5 Int÷3->1

Re: C.Basic for FX v2.22β & CG v1.22β(整数モードのMODバグ修正+α版)

sentaro様> C.Basicユーザーの皆様、

管理人のやすです。


> UCFのtsiozos氏にまたまた発見していただきましたバグ修正+α版です。

アップデート対応致しました。

UCFは、有り難いですね!

C.Basic for FX v2.22β & CG v1.22β(整数モードのMODバグ修正+α版)

管理人様、C.Basicユーザーの皆様、こんにちは!

UCFのtsiozos氏にまたまた発見していただきましたバグ修正+α版です。

C.Basic for FX v2.22β (整数モードのMODバグ修正+α版)
https://pm.matrix.jp/CB/CBASIC222beta.zip

C.Basic for CG v1.22β (整数モードのMODバグ修正+α版)
https://pm.matrix.jp/CB/CBASICCG122beta.zip

・整数モードのMOD(コマンドのバグを修正しました。
(誤)MOD(-5,3)->5
(正)MOD(-5,3)->1

・メインメモリ上のプログラムでインデント機能を使った場合、プログラムの最後にゴミが出る不具合を修正しました。

Re:Re: 1.21betaのバグ(?)

zay様、はじめまして。
「Complex Mode」が変更できない件につきましては、
複素数モードのみで機能する設定なので、動作モードをCPLX:複素数モードにして頂く必要がありますが、
今の所、複素数の出力形式のみの設定となっております。(^^;
今後とも宜しくお願いいたします。(^^)


管理人様、
>「Complex Mode」私の手元でも動作しません。これは予約されていますが、まだ実装されていない状況だったと思います。

はい、複素数関連は純正同等にはまだ遠いです。(^^;

Re: 1.21betaのバグ(?)

zay様、sentaro様、C.Basic ユーザーの皆様

管理人のやすです。

zay様、ひょっとして初めてのご質問(?)、ありがとうございます。

「Complex Mode」私の手元でも動作しません。これは予約されていますが、まだ実装されていない状況だったと思います。

よろしくお願い致します。


1.21betaのバグ(?)

こんにちは.
C.BASIC 1.21βはセットアップメニューの「Complex Mode」が変更できないという現状が発生します.
自分だけかどうかはわかりません.
よかったら,ご確認お願いします!

Re:Re: Re:Re: C.Basic for FXv2.21β & CGv1.21β(ViewWindow変数書き換えバグ修正+α版)

管理人様、こんにちは!

>人それぞれ、コーディングのパターンがある程度決まっているので、限られた人達で使っていると隠れたバグが見えないままになるというのは、大いにありそうですね。

そうなんです。使い方がある程度固定化してしまうために滅多に使わないコマンド等のバグはなかなか見つからないということになりますね。(^^;


>ベンチマークなど、他機種とのコードの共通性を優先すると、自分のスタイルを無視してコーディングすることで、自分の昔のコードのバグや無駄な処理見つかる経験がありますが、自分のパターン以外でコーディングするのは、バグ出しには重要ですね!


はい、おっしゃるとおりです。
コーディングの多様性がバグ出しには直結しますね。(^^)


>このあたりで打ち止めにして安定化を...と言いつつも新機能追加が継続し、そのおかげで隠れバグ退治が出来ているので、機能追加や機能整理は、重要なんだと改めて感じました。

新機能追加は毎度エンバグと裏腹なのですが、(^^;
隠れバグの発覚等、不具合修正の効果もありますし、
地道な改良というか改善というか、開発継続することが重要ですね。(^^)


>それにコードを触り続けることも、大切ですよね!

ある程度安定して動作するようになると根本的な修正は出来にくくなるのですが、
コードを眺めていると、潜んでいたバグが見つかることもたまにありますのでかなり重要です。(^^)


>えっと、これはいずれ C.Basic の配布アーカイブに含まれることになりますよね?

Colon様の承諾が取れ次第、システムマネージャも含めて、同梱したいと思っています。(^^)

Re: Re:Re: C.Basic for FXv2.21β & CGv1.21β(ViewWindow変数書き換えバグ修正+α版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。


> 今回のバグはかなり前から残っていたものなので、
> たまたま見つかってなかった隠れたバグというのが新たに見つかりました。(^^;

人それぞれ、コーディングのパターンがある程度決まっているので、限られた人達で使っていると隠れたバグが見えないままになるというのは、大いにありそうですね。

ベンチマークなど、他機種とのコードの共通性を優先すると、自分のスタイルを無視してコーディングすることで、自分の昔のコードのバグや無駄な処理見つかる経験がありますが、自分のパターン以外でコーディングするのは、バグ出しには重要ですね!


> FX版は512KB制限まで後少しですが、かなりの迷宮になってきました。(^^;

このあたりで打ち止めにして安定化を...と言いつつも新機能追加が継続し、そのおかげで隠れバグ退治が出来ているので、機能追加や機能整理は、重要なんだと改めて感じました。

それにコードを触り続けることも、大切ですよね!

> IsErrorの廃止でColon様謹製のFFM0121.g3mが動作しなくなっているので、修正版上げときます。(^^)
> https://pm.matrix.jp/CB/FFM0122.g3m

えっと、これはいずれ C.Basic の配布アーカイブに含まれることになりますよね?

Re:Re: C.Basic for FXv2.21β & CGv1.21β(ViewWindow変数書き換えバグ修正+α版)

管理人様、C.Basicユーザーの皆様、こんにちは!

管理人様、いつもありがとうございます!

>何か機能追加すると、やはりバグが出てしまうものなのですね。
>かなり内部が複雑になってしまっていることがよく分かります。

今回のバグはかなり前から残っていたものなので、
たまたま見つかってなかった隠れたバグというのが新たに見つかりました。(^^;

機能追加でバグが入り込む可能性と、従来の不具合が見つかる場合と半々くらいですね。
FX版は512KB制限まで後少しですが、かなりの迷宮になってきました。(^^;

ところで、
IsErrorの廃止でColon様謹製のFFM0121.g3mが動作しなくなっているので、修正版上げときます。(^^)
https://pm.matrix.jp/CB/FFM0122.g3m

Re: C.Basic for FXv2.21β & CGv1.21β(ViewWindow変数書き換えバグ修正+α版)

sentaro様、C.Basicユーザーの皆様、

管理人のやすです。

アップデート対応致しました。

何か機能追加すると、やはりバグが出てしまうものなのですね。
かなり内部が複雑になってしまっていることがよく分かります。

お疲れ様でした。

C.Basic for FXv2.21β & CGv1.21β(ViewWindow変数書き換えバグ修正+α版)

管理人様、C.Basicユーザーの皆様、こんにちは!

管理人様、毎度素早い対応に感謝です。(^^)

UCFのtsiozos氏に発見していただきましたバグ修正+α版です。

C.Basic for FX v2.21β (ViewWindow変数書き換えバグ修正+α版)
https://pm.matrix.jp/CB/CBASIC221beta.zip
・ViewWindow変数を個別に指定した場合の"Range Error"を修正しました。
:Graph 35+E IIの隠しメモリ使用可能サイズを128KBから約188KBに変更しました。(2.10以降)
・SDKのエミュレータで初期化後の起動ができなくなっていた不具合を修正しました。

C.Basic for CG v1.21β (ViewWindow変数書き換えバグ修正版)
https://pm.matrix.jp/CB/CBASICCG121beta.zip
・ViewWindow変数を個別に指定した場合の"Range Error"を修正しました。

Re: C.Basic for FXv2.20β & CGv1.20β(インデント処理追加版)再アップです。(^^;

sentaro様、C.Basicユーザーの皆様


管理人のやすです。

アップデート対応致しました。

C.Basic for FXv2.20β & CGv1.20β(インデント処理追加版)再アップです。(^^;

管理人様、C.Basicユーザーの皆様、こんにちは!

UCFのpiu58氏に致命的エラーを発見していただきましたので早速に修正&再アップです。(^^;

・プログラムの新規作成で同名ファイルのプログラムがすでに存在していた場合の不具合を修正しました。

Re:Re: C.Basic for FXv2.20β & CGv1.20β(インデント処理追加版)

管理人様、C.Basicユーザーの皆様、こんにちは!

>お疲れ様です。これまでスペースをポチポチ入れていた苦労から解放されるかと思うと楽しみです。
>これからインデント機能を試してみます。

既存のソースプログラムでの自動インデント読み込み、インデント入力、
インデント除去しての保存、再読み込みまでは一応動作確認済みですが、
期待した動作にならない場合があるかもしれないので、バグ出しよろしくです。(^^;


>for FX、for CG 共に 2019/08/04 の日付でアップデート対応しておきました。

毎度素早い対応ありがとうございます。(^^)

Re: C.Basic for FXv2.20β & CGv1.20β(インデント処理追加版)

sentaro様、C.Basicユーザーの皆様

管理人のやすです。

> インデント処理を追加しました。
> まだ仕様的に詰めが甘い感じもありますし、バグも残る可能性もありますが、
> とりあえずアップデートです。(^^;

お疲れ様です。これまでスペースをポチポチ入れていた苦労から解放されるかと思うと楽しみです。
これからインデント機能を試してみます。


for FX、for CG 共に 2019/08/04 の日付でアップデート対応しておきました。

C.Basic for FXv2.20β & CGv1.20β(インデント処理追加版)

管理人様、C.Basicユーザーの皆様、こんにちは!

インデント処理を追加しました。
まだ仕様的に詰めが甘い感じもありますし、バグも残る可能性もありますが、
とりあえずアップデートです。(^^;


C.Basic for FX v2.20β (インデント処理追加版)
https://pm.matrix.jp/CB/CBASIC220beta.zip

C.Basic for CG v1.20β (インデント処理追加版)
https://pm.matrix.jp/CB/CBASICCG120beta.zip

・エディタにインデント機能を追加しました。
 [EXE]を押した場合、現在の行の先頭にあるインデント(空白)を次の行にも継続します。

・セットアップの設定で、プログラム読み込み時にインデントを自動的に付加します。(Edit Indent+)
 すでにインデント付加されているプログラムは付加されません。
 また保存時にインデントを含む空白削除する事もできます。(=CasioBasic準拠ソースに変換します。)
 以下のコマンドでインデントが付加されます。
  If-Else-ElseIf-IfEnd
  For-To-Step-Next
  While-WhileEnd
  Do-LpWhile
  Switch-SwithEnd

・旧コマンドのList1を使用したDim List1が機能しなかった不具合を修正しました。

Re:インデント処理

管理人様、こんにちは!

>みたいな感じでソースに書き込めるプリプロセッサもどきを導入ということでしょうか?
>そうなら、SETUP での設定のみよりは、有り難いです。

今の所、自動インデント機能はプログラムを最初に読み込む際にコマンド解析して自動的にインデントを付加します。
これはすでにインデントの付けられているプログラムには作用しないようにして、純正プログラムのようなインデント皆無のプログラムソースだけに作用するようにします。
コマンド入力時にはIfやForコマンドの次の行では自動的にインデントをつけるようにします。
インデント有りの行からの改行ではインデント量を維持します。
そして、保存時にはインデント付加状態で保存するか、インデントを除去して保存するかを選択出来るようにします。
とりあえずはこんなところですけど、
実際に動くバージョンが出来上がってからまた仕様を煮詰めたいと思います。(^^)


>但し、実際の各行のインデント情報は、ファイルそれぞれのどこかに付加しておき、実行部分のコードは純正のようにスペース無しにしておくという感じなのでしょうか?

最初はインデント情報を付加していく方法も試してみたのですが、現在のエディタの動作状況からするとかなり大変な改造になるので、早々に断念しました。(^^;
ってことで、上記のようにコード自体を書き換えることでインデントをソースレベルで付加します。
実行速度的には若干のオーバーヘッドが出ますが、もし速度差が気になる場合はオーバーヘッドのない純正仕様で保存すればOkということですね。(^^)

インデント処理

sentaro様


管理人のやすです。


> 「EXE]で次の行での自動インデント付加はすでに出来てます。
> あとは、読み込み時にインデント(行頭のスペース)を自動的に付加して整形した状態で編集に入ることと、
> 保存時にインデント解除して純正互換仕様(スペース無し)で保存するというのを追加してみたいと思います。
> このあたりはセットアップで設定できるようにしていきます。
>
> 最初は、ソースを変更しないままで表示上だけでインデント表示というのを検討したのですが、
> エディタの修正作業が大変になりそうなのとリアルタイムインデント検出がかなり重くなりそうなので、
> プリプロセス形式で実装したいと思います。(^^)

ええっと、

'#Indent 4

とか、

'#Tab 4

みたいな感じでソースに書き込めるプリプロセッサもどきを導入ということでしょうか?
そうなら、SETUP での設定のみよりは、有り難いです。

但し、実際の各行のインデント情報は、ファイルそれぞれのどこかに付加しておき、実行部分のコードは純正のようにスペース無しにしておくという感じなのでしょうか?

変更部分は最小限に抑えることに超したことはありませんよね。

いずれにせよ、楽しみです。

Re:Re: Re:Re: Re:Question from Chu

管理人様、こんにちは!

>いずれご検討ください。

了解です。(^^)

Menuの対応は目処が立ちましたが、
リストを変数に代入してもエラーにならないのはとりあえずは仕様ということでお願いしたいです。(^^;
現在の仕様的にはリストの一番目要素が単純変数に入る仕様です。


>UCFで Piu58さんからのインデントの要望の方が、私としてはご対応が楽しみだったりします。

ありがとうございます。(^^)

「EXE]で次の行での自動インデント付加はすでに出来てます。
あとは、読み込み時にインデント(行頭のスペース)を自動的に付加して整形した状態で編集に入ることと、
保存時にインデント解除して純正互換仕様(スペース無し)で保存するというのを追加してみたいと思います。
このあたりはセットアップで設定できるようにしていきます。

最初は、ソースを変更しないままで表示上だけでインデント表示というのを検討したのですが、
エディタの修正作業が大変になりそうなのとリアルタイムインデント検出がかなり重くなりそうなので、
プリプロセス形式で実装したいと思います。(^^)

Re: Re:Re: Re:Question from Chu

sentaro様

管理人のやすです。

> >Pol(1,2)->A
> >{0,2}->B
> >In 9860gii is error
> >In cbasic : There's no error prompt.
>
> これはエラー検出が甘いだけなんですが、
> 純正仕様からすればバグですね。(^^;


> >Lbl A
> >While 1
> >Menu “X”,”A”,A,”B”,B
> >WhileEnd
> >In Casio basic: good
> >in cbasic: Nesting ERROR
>
> Gotoではループからの脱出処理をしたのですが、
> Menuでは脱出処理がされてませんでした。(^^;
> これも純正仕様からすればバグですね。(^^;


> 管理人様の対応で良いと思いますが、なぜかSNSには書き込みされないんですね。(^^;
>
> 今回のはバグレポートですので、これからのバージョンで対応していくことといたします。(^^)

いずれご検討ください。

UCFで Piu58さんからのインデントの要望の方が、私としてはご対応が楽しみだったりします。




Re:Re: Re:Question from Chu

管理人様、こんにちは!

>どこまでも続くよ、質問が...

毎度、お手数おかけしてます。


>Pol(1,2)->A
>{0,2}->B
>In 9860gii is error
>In cbasic : There's no error prompt.

これはエラー検出が甘いだけなんですが、
純正仕様からすればバグですね。(^^;


>Lbl A
>While 1
>Menu “X”,”A”,A,”B”,B
>WhileEnd
>In Casio basic: good
>in cbasic: Nesting ERROR

Gotoではループからの脱出処理をしたのですが、
Menuでは脱出処理がされてませんでした。(^^;
これも純正仕様からすればバグですね。(^^;


>何か質問する前に、使っているC.Basicのバージョンと使っている電卓の機種を伝えるのが常識。これは何度も言っている。
>私は個人家庭教師じゃなく、いつでもすぐに質問に答える余裕は無い。先ずは同梱しているドキュメントを読んで、それでも質問があるなら、以下のSNSに質問してくれ
>- https://community.casiocalc.org/topic/7637-cbasic-international-release/
>- https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html
>といった返事を返しておきました。
>さて、どうしましょうか?

管理人様の対応で良いと思いますが、なぜかSNSには書き込みされないんですね。(^^;

今回のはバグレポートですので、これからのバージョンで対応していくことといたします。(^^)

Re: Re:Question from Chu

sentaro様


どこまでも続くよ、質問が...


Pol(1,2)->A

{0,2}->B

In 9860gii is error

In cbasic : There's no error prompt.



Sent from Mail for Windows 10


とか、

Lbl A

While 1

Menu “X”,”A”,A,”B”,B

WhileEnd

In Casio basic: good

in cbasic: Nesting ERROR


とか、思わず「それで?」と言いたくなります。


何か質問する前に、使っているC.Basicのバージョンと使っている電卓の機種を伝えるのが常識。これは何度も言っている。
私は個人家庭教師じゃなく、いつでもすぐに質問に答える余裕は無い。先ずは同梱しているドキュメントを読んで、それでも質問があるなら、以下のSNSに質問してくれ

- https://community.casiocalc.org/topic/7637-cbasic-international-release/
- https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html

といった返事を返しておきました。

さて、どうしましょうか?



Re:Re: C.Basic for FX v2.10β (35+EII対応+各種バグ修正版)

管理人様、こんにちは!

>飛行機トラブルで、待ち時間ができてしまったので、以下をまるっと英訳して chu さんに返信しておきました。
>ありがとうございます。

こちらこそ、お手数おかけしました。


>着々と進んでいますね!
>お疲れ様です。
>アップデート対応致しました。

早速にありがとうございます!(^^)


>ルートフォルダ変更対応は、便利になるかも知れませんね。あとで試してみます。

従来FX機では2階層以上使用できないので意味がない機能ですが、これは35+EIIとCGシリーズ以降用の新機能という感じですね。(^^)
新機能に付き物のエンバグが無いことを祈りますが、しばらくはテストを兼ねて使い込む必要がありそうです。(^^;

Re: C.Basic for FX v2.10β (35+EII対応+各種バグ修正版)

sentaro様

管理人のやすです。


> なんとか、35+E IIでの動作ができるようになりましたので、バージョンアップしておきます。(^^)

着々と進んでいますね!
お疲れ様です。

アップデート対応致しました。

ルートフォルダ変更対応は、便利になるかも知れませんね。あとで試してみます。

Re: Re:Question from Chu

sentaro様

飛行機トラブルで、待ち時間ができてしまったので、以下をまるっと英訳して chu さんに返信しておきました。

ありがとうございます。

C.Basic for FX v2.10β (35+EII対応+各種バグ修正版)

管理人様、FXユーザーの皆様、こんにちは!

なんとか、35+E IIでの動作ができるようになりましたので、バージョンアップしておきます。(^^)


C.Basic for FX v2.10β (35+EII対応+各種バグ修正版)
https://pm.matrix.jp/CB/CBASIC210beta.zip
・Graph 35+E IIに対応しました。
 ただし、隠しメモリは256KBから128KBに半減します。それ以外の仕様は同じです。

・Graph 35+E IIではフォルダが2階層以上作成できるので、初期ルートフォルダを変更できるようにしました。
 セットアップでルートもしくはカレントフォルダにルートフォルダを設定出来ます。
 (注)従来FX機では常にルート限定です。

・フォルダのリネームに対応しました。

・プログラムをメインメモリから実行した場合、Save/Loadコマンドで正常なアクセスが出来なかった不具合を修正しました。

・PlotコマンドとLineコマンドの連携が上手くいっていなかった不具合を修正しました。

・Tを引数指定したGraph(X,Y)=の描画を再修正しました。

Re:Question from Chu

管理人様、こんにちは!

>やはり例の中華系の人 (Chu) から質問がきました。下記ご参照ください。

>Save(“t1”,Mat F) or load(

ここは問題無さそうです。


>(1) How do I edit T1 files on my computer with notepad.exe

Save/Loadコマンドで扱われるのはバイナリファイルです。
この場合は、Mat Fのバイナリデータがそのままファイル化されているので、バイナリエディタなら編集できますが、
倍精度フォーマットに関して詳しく知っている必要があります。
ファイルを直に編集するのは難易度高いですが、
PCでバイナリファイルを読み込めるようなプログラムを書けば数値として読むことは可能です。


>(2) in the debug mode,how to view variable A to Z and a to z

[SHIFT]+[F1](Var)で変数一覧表示になってさらに[F1](A<>a)で大文字と小文字を切り替えます。


(3) Can you do the following:
>“1”->Str1
>Goto Str1

文字列ラベルは不可能です。(^^;
とりあえず、
StrCmp("1",Str1)=0=>Goto 1
とでもしてくだるようお願いします。


>一応、使用している電卓の機種、C.Basic のバージョン、ストレージメモリの残り容量を教えろと、返信しておきました。

https://www.planet-casio.com/Fr/programmes/voir_un_programme_casio.php?showid=3603&page=27#
CasioPythonのエントリに質問されている方だとすれば、9860GIISDをお持ちのようです。
SD機ならば、空きエリアを作るのは難しくないので最新版でも問題は無さそうですね。


>回答をどうするか、相談です。
>このまま、個人サポートを続けるのはどうか?
>場合によっては、UCF へ誘導するのが良いと思いますが、どうでしょうか?

今後、メールでの回答も大変になってきそうですし、UCFへの誘導に賛成です。
もしくはPlanet-CasioのC.Basicプロジェクトエントリでもどちらでも可です。
https://www.planet-casio.com/Fr/forums/topic14738-1-C.Basic.html

Question from Chu

sentaro様

やはり例の中華系の人 (Chu) から質問がきました。下記ご参照ください。

Save(“t1”,Mat F) or load(

(1) How do I edit T1 files on my computer with notepad.exe

(2) in the debug mode,how to view variable A to Z and a to z

(3) Can you do the following:

“1”->Str1

Goto Str1



发送自 Windows 10 版邮件应用


一応、使用している電卓の機種、C.Basic のバージョン、ストレージメモリの残り容量を教えろと、返信しておきました。

回答をどうするか、相談です。

このまま、個人サポートを続けるのはどうか?
場合によっては、UCF へ誘導するのが良いと思いますが、どうでしょうか?



Re:Re: Re:業務連絡2

管理人様、こんにちは!

>とんでもありません。C.Basic ファンの私のホームページを見た人なので出来ることは何でもします!

ありがとうございます!
私にとっては英文メールは短くても大変な事案なので、本当にありがたいです。(^^)


>私が一番謎に感じるのは、パソコンでやれば良いものを何故、ここまで FX機にこだわるか?です。

何か事情があるかもしれないのですが、そこのところは謎ですね。
メールの署名から判断するに中華系の方のようなので、
ぜひとも簡体字表示が使えるCG50を使っていただきたいです。(^^)


>3Dグラフィックスでも考えているのかも知れませんが、ヨコリスのようにうまく処理する方法もあるので、謎が残ります。

グラフィックスや整数モードへの必要性が薄いことから3Dやゲーム用途ではないと思われるのですが、
演算系でもC.Basicはそこそこのパフォーマンスは出せますがそこはやはりPythonが有利ですね。(^^;


>一応マイルストーン電卓なので、状態の良いものを、ということで...
紙のマニュアルは別途調達して、最初から最後まで読みました。これで、きれいなCASIOロゴ入り純正ポーチが入手できれば完璧です!

7000G当時の液晶は30年以上経過して黒ずんだりしているものもあったりするのでその兆候のみられるものだとNGですね。
程度のいいものだと、30年以上前の製品だとは思えない品質があるので、マイルストーンとしては完璧な存在ですね。(^^)
余力がありましたら、直系の後継機のfx-7000GAやfx-7000GBもぜひ。(^^;


>わっ、ならば fx-CG500 にする手もありますね!
>ちょっとマニュアルを読み比べしてみようと思います。

CG500はCG20に対するCG10のような北米試験対応の機能制限版なので、比較検討した結果、CP400を選択しました。
2機種の違いは、ソフトキー入力での配列がABC配列しか無いのがCG500で、QWERTY配列等も選択できるのが北米以外版のCP400です。
それ以外の違いは筐体の色くらいしか無いのですが、CG50と並べると黒ベースのCP400の方が合いますね。
CG500は白ベースなのでフランスの機種という感じがありますが、実際には北米限定版です。(^^;


>eBayにも良さそうなのがあったのですが、これもしばらく様子見で、セラーに程度を聞いてみようと思っています。
>あと日本への出荷の可否も...(^_^;

日本への発送の可否というのは結構大事ですね。(^^;

Re: Re:業務連絡2

sentaro様


> 毎度お手数おかけしてます。

とんでもありません。C.Basic ファンの私のホームページを見た人なので出来ることは何でもします!


> 1.75でも良かったということであれば、複素数が要らないってことで、
> さらにサイズの小さい前のバージョンでも可なのかもしれませんが、
> それ以降に修正されたバグもいくつかあるので、そこのあたりが気になるかどうかというところですね。(^^;

Ver 1.75 を使ってみて、何か質問がくるかも知れませんね。
私が一番謎に感じるのは、パソコンでやれば良いものを何故、ここまで FX機にこだわるか?です。
3Dグラフィックスでも考えているのかも知れませんが、ヨコリスのようにうまく処理する方法もあるので、謎が残ります。



> >この日曜から次ぎの日曜まで、仕事の出張のため殆ど放置状態になりそうです。
>
> 来週丸々一週間ってことですね。了解です。

通常通り fx-5800P と fx-CG50 を持ち歩きますが、FX機は家で留守番の予定です。


> >ところで、手元の fx-7000G (筐体は割れて、液晶の透明カバーの内側に小さな埃がいくつか付着して、キーはすり切れている、でもとても安く中古で入手したもの) で色々と遊んでいます。
>
> うわ、結構ハードに使われていた個体ですね。(^^;

落として割れたような感じで、eBayにアップされた写真には写っていなかったし、事前に割れているとの情報は無かったのですが、千円台全般の値段を考えると、そんなものか、と納得しています。


> でも、この当時の電卓やポケコンは集積度の低さが功を奏しているのか滅多に壊れるものではないですね。
fx-7000G も可動品が結構の数が出品されていますので、堅牢さは FX-502P 並ですよね!


> >カバー内側の埃は、液晶表面に陰を作ってしまうので、陰とピクセルONの区別が付きにくいことが結構あります。
>
> コントラストが若干低めの液晶なので埃の影響も大きくなりますね。(^^;

そうなんです、これは落とし穴でした。これを最初から知っていれば、セラーに確認してから購入したと思います。



> >もうすぐ程度の良いものが到着予定なので楽しみです。
>
> おお!2台目!

一応マイルストーン電卓なので、状態の良いものを、ということで...
紙のマニュアルは別途調達して、最初から最後まで読みました。これで、きれいなCASIOロゴ入り純正ポーチが入手できれば完璧です!


> >次の温故知新を何にするか考え中だったりします。
>
> 管理人様のこのブログのテーマであるところのCasioBasicの原点はfx-7000Gでばっちりなので、
> 次は、「新」の部分としてCasioBasicの最終進化系?ClassPadのCasioBasicとかどうでしょう?
> ちなみに、現行のCP400はすでにゲットしてあります。(^^;

わっ、ならば fx-CG500 にする手もありますね!
ちょっとマニュアルを読み比べしてみようと思います。


> ヤフオクにfx-4000Pのマニュアル付きの出品が見つかりますね。
> 若干高めですが、今のところはそれしか出品が無い感じですね。
> メルカリ等でもたまに出てるみたいなのですが、条件にあう出品が見つかるまで気長に待つ必要がありそうです。

はい、気長に待つしか無さそうです。

eBayにも良さそうなのがあったのですが、これもしばらく様子見で、セラーに程度を聞いてみようと思っています。
あと日本への出荷の可否も...(^_^;


Re:業務連絡2

管理人様、こんにちは!

>サブフォルダ内のサブプログラムコールの件、訂正メールを送りました。

毎度お手数おかけしてます。
1.75でも良かったということであれば、複素数が要らないってことで、
さらにサイズの小さい前のバージョンでも可なのかもしれませんが、
それ以降に修正されたバグもいくつかあるので、そこのあたりが気になるかどうかというところですね。(^^;


>この日曜から次ぎの日曜まで、仕事の出張のため殆ど放置状態になりそうです。

来週丸々一週間ってことですね。了解です。


>ところで、手元の fx-7000G (筐体は割れて、液晶の透明カバーの内側に小さな埃がいくつか付着して、キーはすり切れている、でもとても安く中古で入手したもの) で色々と遊んでいます。

うわ、結構ハードに使われていた個体ですね。(^^;
でも、この当時の電卓やポケコンは集積度の低さが功を奏しているのか滅多に壊れるものではないですね。


>カバー内側の埃は、液晶表面に陰を作ってしまうので、陰とピクセルONの区別が付きにくいことが結構あります。

コントラストが若干低めの液晶なので埃の影響も大きくなりますね。(^^;


>もうすぐ程度の良いものが到着予定なので楽しみです。

おお!2台目!


>次の温故知新を何にするか考え中だったりします。

管理人様のこのブログのテーマであるところのCasioBasicの原点はfx-7000Gでばっちりなので、
次は、「新」の部分としてCasioBasicの最終進化系?ClassPadのCasioBasicとかどうでしょう?
ちなみに、現行のCP400はすでにゲットしてあります。(^^;


>fx-7000Gは間違いなくマイルストーンですが、fx-4000P も搭載言語の観点ではマイルストーンとなると思って、私にはとても気になるモデルです。欲しくなってきました。
>どうせなら、程度の良いものを探しています(^_^;

ヤフオクにfx-4000Pのマニュアル付きの出品が見つかりますね。
若干高めですが、今のところはそれしか出品が無い感じですね。
メルカリ等でもたまに出てるみたいなのですが、条件にあう出品が見つかるまで気長に待つ必要がありそうです。

業務連絡2

sentaro様

この日曜から次ぎの日曜まで、仕事の出張のため殆ど放置状態になりそうです。

ところで、手元の fx-7000G (筐体は割れて、液晶の透明カバーの内側に小さな埃がいくつか付着して、キーはすり切れている、でもとても安く中古で入手したもの) で色々と遊んでいます。

カバー内側の埃は、液晶表面に陰を作ってしまうので、陰とピクセルONの区別が付きにくいことが結構あります。

もうすぐ程度の良いものが到着予定なので楽しみです。

現行機種の FX や CG の Plot や Line コマンドの仕様は、fx-7000G から来ていることがよく分かります。

次の温故知新を何にするか考え中だったりします。

fx-7000Gは間違いなくマイルストーンですが、fx-4000P も搭載言語の観点ではマイルストーンとなると思って、私にはとても気になるモデルです。欲しくなってきました。
どうせなら、程度の良いものを探しています(^_^;

Re: Re: v.1.75

sentaro様

サブフォルダ内のサブプログラムコールの件、訂正メールを送りました。

Hi,

Let me correct one thing.
I wrote Prog command cannot call sub program in other folder, but it was wrong.
When subprogram "Test" is in SUBPROG folder and this is called from main program, please code like this;
Prog ”/SUBPROG/TEST”

This is available also on C.Basic Ver 1.75.

I'm sorry about the wrong information.

regards,

=-=-=-=-=-=-=-=-=-=-=-=-=-=
Krtyski @e-Gadget
http://egadget.blog.fc2.com/


ありがとうございます。

Re: v.1.75

管理人様、こんにちは!

>Ver.1.75でも、フォルダ越えのサブルーチンコールは可能でしたっけ?

はい、可能です。(^^)

1.00の頃よりサブフォルダへのアクセスが可能で、
一時的にエンバグしてましたが、1.58で修正されてる模様です。
古い情報になると、更新履歴が貴重です。(^^;

v.1.75

sentaro様

移動中のため、自分で確認できず、一点伺います。

Ver.1.75でも、フォルダ越えのサブルーチンコールは可能でしたっけ?

宜しくお願い致します。

Re: Re:Re: Re:Re:Re:業務連絡

管理人様、こんにちは!

>こちらからメールを送る前に、以下の内容が来ていました。


>1. How to calculate the definite integral

>2. How to call when the main program and the subprogram are not in the same folder

>发送自 Windows 10 版邮件应用

積分のプログラムに関しては調べてもらう他ありませんが、
というか、現行のガウス・クロンロッド法を上手く実装できるならササッと実装しておきたいところではあります。(^^;

別フォルダにあるサブプログラムの呼び出しは可能です。
フォルダ”SUBPROG”にサブプログラムがある場合、
他のフォルダから呼び出すには、
Prog ”/SUBPROG/TEST”
のように絶対パス指定すればいいだけなのですが、マニュアルには記述が無かったかもしれません。(^^;

Re: Re:Re: Re:Re:Re:業務連絡

sentaro様

管理人のやすです。

こちらからメールを送る前に、以下の内容が来ていました。


1. How to calculate the definite integral

2. How to call when the main program and the subprogram are not in the same folder

发送自 Windows 10 版邮件应用



そこで、以下の返信をしました。これで最後という感じにしました。おそらく再び返信が来るとは思いますが...
なお、Ver 1.75 をダウンロードできるようにしておきました。

Hi,

C.Basic does not have integral function.
As I wrote on C.Basic main program can call sub-program only in the same folder.

We did some more detailed discussion to know possibility to get smaller add-in file of C.Basic, then unfortunately we fund we can reduce only 40KB. This is our best. As a result of our discussion we are not affordable to change C.Basic to meet your request.

In terns of file size, C.Basic for FX Ver 1.75 is 100KB less than latest version. This version has some functions but not all what you want. Download Ver 1.75 from following page.
https://egadget2.web.fc2.com/CBasic/archives/programs/CBasic/CBasic_versions.html

Please get more memory space by
- deleting files from storage memory
- buying or getting other calc that has large enough memory space
- using add-in Python that I wrote to you
- using C.Basic Ver 1.75

We cannot give other solution.
Good luck!

Krtyski


さて、どうなることやら...





> 管理人様、こんにちは!
>
> >ありがとうございます。
> >以下のような返信を送っておきました。
>
> お手数おかけしました。
>
>
> >せいぜい100KBの減量で、計算が遅くなっても良いというのなら、減量は(理屈の上では)できそうだが、それで質問者の役に立つのかは分からないし、従っていつ着手するかは分からない...という結びです。
>
> 最初にざっと計算したところでは100KBほど小さくなると思いましたが、ちょこっと試してみたら実際には40KB程度の削減にとどまりました。
> 速度は全体的に2倍以上遅くなるので機能を落とさずの縮小版はとりあえず保留です。(^^;
> もし、複素数が必要ないというのであれば、複素数サポート前のver1.75が380KBで現在よりも100KB少ないのでそっちの方がいいかもしれません。(^^;
>
>
> >add-in Python で良いのなら、一件落着ですね!
>
> はい。
> 組み込まれていないライブラリ等は自作する必要ありますけど、
> すでに広く普及してるPythonなので、おそらく9割方は満足できるかと思います。(^^)

Re:Re: Re:Re:Re:業務連絡

管理人様、こんにちは!

>ありがとうございます。
>以下のような返信を送っておきました。

お手数おかけしました。


>せいぜい100KBの減量で、計算が遅くなっても良いというのなら、減量は(理屈の上では)できそうだが、それで質問者の役に立つのかは分からないし、従っていつ着手するかは分からない...という結びです。

最初にざっと計算したところでは100KBほど小さくなると思いましたが、ちょこっと試してみたら実際には40KB程度の削減にとどまりました。
速度は全体的に2倍以上遅くなるので機能を落とさずの縮小版はとりあえず保留です。(^^;
もし、複素数が必要ないというのであれば、複素数サポート前のver1.75が380KBで現在よりも100KB少ないのでそっちの方がいいかもしれません。(^^;


>add-in Python で良いのなら、一件落着ですね!

はい。
組み込まれていないライブラリ等は自作する必要ありますけど、
すでに広く普及してるPythonなので、おそらく9割方は満足できるかと思います。(^^)

Re: Re:Re:Re:業務連絡

sentaro様


ありがとうございます。
以下のような返信を送っておきました。

せいぜい100KBの減量で、計算が遅くなっても良いというのなら、減量は(理屈の上では)できそうだが、それで質問者の役に立つのかは分からないし、従っていつ着手するかは分からない...という結びです。

add-in Python で良いのなら、一件落着ですね!


Hi,

We talked about this to see what we can offer.

Technically the best solution would be getting larger memory. If you can use latest Casio Graphing Calc. fx-CG50 you should get enough memory space. Or TI Nspire, HP Prime could meet your purpose. So we assume you have Casio fx-9860G or later model and you want to use one of those (we call Casio FX). So we should talk about C.Basic for FX, not C.basic for CG.

The 2nd best solution we think would be Python (add-in) for Casio FX;
https://www.planet-casio.com/Fr/programmes/programme3603-1-CasioPython-zezombye-add-in.html

As far as we know, C.Basic does not have any advantage against the above Python, so this may help you to program numeric calculation on Casio FX.

The 3rd solution we may or may not be able to offer is to modify C.Basic.
We know maximum size of add-in on Casio FX is 512KB. So current size of C.Basic is considerably maximum size, we cannot and do not want to make larger add-in (C.Basic).
If we do just as you requested, that won't be modification of current version. It's a big project to make quite new language. This means it is quite not realistic and we do not want to do this. This is why my first answer "We do not want to do this".

Currently basic system such like file list mode, code editor still use 100KB, and interpreter adds up more necessary memory. If we could make smaller version, it would be 200 or 300 KB. We are not sure such size would help.

For smaller version of C.Basic, a part for fast computing may be able to be removed then maybe 100KB mat be reduced. However process speed is definitely getting slow. We do knot know when we can start the modification at this time.

Again, assuming your current calc. is Casio FX, you should use other Casio, TI or HP calc with large enough memory, or use other language like Python.
If you want to use Casio FX, add-in Python may give you solution.
If you want to use Casio FX with C.Basic somehow, we cannot get you solution right away. We do not know when we can modify C.Basic. Even we will modify, the size is most likely only 100KB less and calculation speed would be slower. We do not know this will solve you problem.

regards,
Krtyski


数カ所スペルミスあるけど、まぁいつものことなので、許してもらうことにしましょう....(^_^;



Re:Re:Re:業務連絡

管理人様、こんにちは!

>返信が2通きました。

要望の趣旨が分かってきました。

電卓を買い増し/買い替え出来るならば、メモリの多いCGシリーズだと空き容量の問題はなくなりますし、
言語仕様的にはNspireやPrimeを購入すれば簡単に解決する問題かと思いますが、
モノクロFXで何とかしようとなると、C.Basicの軽量化&機能強化、もしくは他の言語を使うということになりますね。

で、現在のC.Basicからローカル変数の仕様や関数追加等、要望を全部合わせた新バージョンとなると、
それはもはや別言語を作成するに等しいので、なかなか難しいかもしれません。

機能制限した軽量化ということであればさほど時間かからずに作成できる可能性はありますが、
C.Basicはファイルモードとエディタ等のインタプリタ以外の基本システムで100KBほど容量を食ってるので(^^;
軽量化しても200~300KB程度が限界かなと思われます。


>とりあえず、
>「Progのコール先は同じフォルダになければならない。C.Basicを小さくする改造は興味が無いのでやらない。メモリ容量の大きな機種を使うか、不要なアドインを削除するなり、そちらのメモリを空けて使ってくれ」(表現は普通に丁寧に書きますけど)といった内容で返信しましょうか?

上記の通り、電卓を買い替えてくれというのも一つの解決策ですし、
FX本体でどうにかするならば言語仕様的にはPythonを使う方が目的に合致していると思われます。

C.Basicの軽量版の作成だけなら可能かもしれませんが、仕様変更および機能追加はまた別の話になるので、そうなってくるとすぐには難しいと思います。
モノクロFX機ではどっちみち512Kがアドインの最大サイズなので、今以上の肥大化は出来ませんし。(^^;

ということで、空きエリアを上手く作って使用していただくのがベストといえばベストですが、
実行速度を考慮しないのであれば、式評価の高速化で冗長になっている部分を削除すれば100KBくらい削減できる可能性はあります。
ということで、仕様変更なしで処理速度だけ現行よりも遅くなるけど、アドインファイルサイズが小さくなったC.Basicというのはすぐに作成出来るかなと思います。(^^)


>e-Gadgetのホームページに記載している連絡先に来たようです。なので、どこかからこのホームページに来られらのでしょう。

管理人様のe-Gadgetには英語版がありますから海外でも普通に有名かもしれません。(^^)


>この内容はまだ伝えていません。併せて伝えましょうか?

このモノクロ機で動作するアドイン版のPythonは純正よりも守備範囲が広いですし、
ファイルサイズも270KBくらいなので、Pythonの方が期待に応えられるのではないかと想像します。

現行のC.Basicは数値計算においてPythonに勝ることはないと思われるので、
私としてはPythonの使用を推薦します。(^^)

CasioBasicの言語仕様に慣れているのでそれで使いたいということであれば、軽量版C.Basicを少しお待ち下さい。
という感じですね。(^^)

Re: Re:業務連絡

sentaro様

管理人のやすです。


返信が2通きました。


先ず最初に、
It's not a matter of speed.
The program is too big to have more room left.
Too few variables and no multi-character variables

发送自 Windows 10 版邮件应用

次に、
Whether the main program and the subroutine of the Prog command are in the same directory, and if they are not in the same directory, how to call the subroutine

发送自 Windows 10 版邮件应用

です。
C.Basicが大きすぎるのが問題で、処理速度ではない、といった感じです。
ご自分の機種など何も書かれていないのですが、敢えて聞いていません。

とりあえず、
「Progのコール先は同じフォルダになければならない。C.Basicを小さくする改造は興味が無いのでやらない。メモリ容量の大きな機種を使うか、不要なアドインを削除するなり、そちらのメモリを空けて使ってくれ」(表現は普通に丁寧に書きますけど)といった内容で返信しましょうか?



> 管理人様に直にC.Basicの要望というのは初めてのことですよね。(^^;

e-Gadgetのホームページに記載している連絡先に来たようです。なので、どこかからこのホームページに来られらのでしょう。


> 返信までお手数おかけしました。
リアルの仕事で、海外からの技術相談窓口をやった経験があるので、懐かしいです。
まぁ、仕事での対応のような丁寧な感じではありません。お客様は神様でなくて、仲間って感じで異なります。

なので、お気になさらずに...


> ここまで具体的な大改造必須の要望は初めてですね。(^^;
> 要するに数値演算に特化した機能アップ+軽量バージョンが欲しいということだと思います。

そんな感じ、私もします。

> CかC++が使えるのならSDKを使えば話は早いですが、
> Pythonならば数値計算用途には向いてる可能性がありますね。
> とりあえず、Pythonを推薦してみたらどうでしょうか?
> FX機であれば、純正Pythonはありませんが、アドインのCasioPythonが使えます。
> https://www.planet-casio.com/Fr/programmes/programme3603-1-CasioPython-zezombye-add-in.html

この内容はまだ伝えていません。併せて伝えましょうか?


Re:業務連絡

管理人様、こんにちは!

>私宛てに C.Basic 改造依頼のメールが来ました。そして、それにとりあえず返信しておきました。詳しくは以下をご覧くとして、このメールには、C.Basic そして作者への感謝や敬意のかけらも感じられないので、
>・そのような希望に応えるつもりはない。
>・もし希望を叶えるとしても、すぐには無理で、いつやるかも分からない

>単に数値計算を速くやりたいのなら、OVer Clock Tool があるから、それを使えばどうか?
https://pm.matrix.jp/ftune2e.html

>といった感じの返信を送っておきました。

管理人様に直にC.Basicの要望というのは初めてのことですよね。(^^;
返信までお手数おかけしました。

C.Basicでは今までにちょこちょこと小さな要望はありましたけど、
ここまで具体的な大改造必須の要望は初めてですね。(^^;
要するに数値演算に特化した機能アップ+軽量バージョンが欲しいということだと思います。
CかC++が使えるのならSDKを使えば話は早いですが、
Pythonならば数値計算用途には向いてる可能性がありますね。
とりあえず、Pythonを推薦してみたらどうでしょうか?
FX機であれば、純正Pythonはありませんが、アドインのCasioPythonが使えます。
https://www.planet-casio.com/Fr/programmes/programme3603-1-CasioPython-zezombye-add-in.html

業務連絡

sentaro様

私宛てに C.Basic 改造依頼のメールが来ました。そして、それにとりあえず返信しておきました。詳しくは以下をご覧くとして、このメールには、C.Basic そして作者への感謝や敬意のかけらも感じられないので、
・そのような希望に応えるつもりはない。
・もし希望を叶えるとしても、すぐには無理で、いつやるかも分からない

単に数値計算を速くやりたいのなら、OVer Clock Tool があるから、それを使えばどうか?
https://pm.matrix.jp/ftune2e.html

といった感じの返信を送っておきました。

さらに返信が来るかどうか分かりませんが、このままで良いでしょうか?
或いは、何か返信したい内容があれば、ご教示ください。
私から返信するのでも良いですし、sentaro様から直接ご返信なさってもかまいません。お考えをお聞かせください。

返信と原文は以下です。

===== 返信 =======
Your request is too far from our development policy, so we won't be able to meet to your request shortly, we don't know if we will do nor when we will do.

If you want do numerical calculation, I think yo do not need to use C.Basic.
If you want merely faster numerical calculation, try over clocking tool for some of Casio Graphing calc;
https://pm.matrix.jp/ftune2e.html

regards,
Krtyski


=-=-=-=-=-=-=-=-=-=-=-=-=-=
(Krtyski) @e-Gadget
http://egadget.blog.fc2.com/


===== 最初のメール原文 =====
2019年7月15日(月) 0:55 chu <chuxianbing@126.com>:
The latest version of the software is too large, I hope to come up with two versions, an advanced version and a basic version,

the advanced version is to remain the same, the basic version can only focus on numerical calculation,

can be deleted:

1. Data types as long as: strings and double precision numbers, 8-bit and 2-bit patterns do not.

2. Delete matrix function (no matrix operations, adding matrix is not very useful)

3. Delete the drawing function independent of numerical calculation

4. Delete poke and syscall and other functions

5. Delete G1m format support, program files only support txt format,

you can add the following :

1. Support for List, save and load concatenation content

2. Add definite integral function

3. Add local variable function and global variable, for example: all single character variables as local variables,

multi-byte variables as global variables, and do not need to be declared, case-insensitive

4. L0 to L9 for string, Str0 to Str9 for string, A to Z for local variables, multibyte variables for global variables (global variables do not need to be declared, as long as they are detected to be automatically added without definition)

5. Add definite integral calculation function

6. Add wire finding function

7. A program statement like 456.36-> Adisps can be changed to 456.38-> A.Disp or 456.38-> A.Disp ()

8. Improving the fault tolerance of the program, such as the addition of an extra space between commands as an error is some of my suggestions.

After all, this is just a calculator, and I only focus on numerical calculation. I am not interested in hexadecimal and drawing, as long as it can be used in engineering calculation to solve practical problems in the work. The biggest inconvenience of Casio is that there are too few variables, no local variables, and it is difficult to write programs, especially subprograms that require reuse.


发送自 Windows 10 版邮件应用


Re:[解決] Re^3: Locate絡み?で予定外の動作か

管理人様、こんにちは!

>さて、RefreshCtll を All で、3/128 ms にしている時、PutDispDD コマンドを追加することで、Locate 出力が正常にできました。
>C.Basic の忘れていたことが少し思い出されました(^_^;

バグで無くて一安心です。(^^)


>ところで、RefreshCtll を All に設定している時、 画面出力が途中でとまってしまうのは、画面出力が適性に行われていないことは分かりますが、Locate コマンドが連続していると出力が不完全で、連続していない時は正常出力される、そこの細かい違いが、完全に理解できていません。何故なのでしょうか?
>All 設定の時、時間のかかる Locate 出力が連続すると、出力が完了しないまま、他の処理に移ってしまうからなのでしょうか?

はい、そのとおりです。
RefreshCtrlは前回のLCD転送から設定時間(3/128ms)経ってないとLCDに転送しないという仕組みなので、
Locateから次のLocateまでの処理時間がこの設定時間未満だと表示されないまま次に進んでしまいます。
Locateが連続していない場合は、Locate間の処理時間が設定時間を超えることが多いのでLCD転送されるということですね。

CGバージョンはデフォルトでGraphになってますが、この場合はLocateは毎回LCD転送されるので表示抜けは無くなります。
FXバージョンではLCD転送が比較的速いのでデフォルトでは純正同様のOff設定になっていますが、
グラフィック描画では遅くなる場合もあるのでケースバイケースですね。

RefreshTimeの設定を3/128msから遅くしていけば表示抜けがだんだん無くなっていきますが、
それでも完全表示となると更新頻度がかなり遅くなってしまうので、
RefreshCtrlを使用した場合は、プログラムの区切りでPutoDispDD/DispVramで明示的にLCD転送する必要があります。

速度を生かしたいプログラムではAllの設定かつRefreshTimeを0にしてLCD転送を全く行わないようにすれば最速の描画速度になります。
この場合は、PutoDispDD/DispVramで明示的にLCD転送しないと何も表示されないのですが、これはCでアドインを作成する場合と同じ方法になります。

こうしたLCD転送はダブルバッファ方式の利点でもあり欠点でもあるので上手く使いこなしていただければと思います。(^^)

[解決] Re^3: Locate絡み?で予定外の動作か

sentaro様

管理人のやすです。

どうも、C.Basic の細かなところを忘れてしまっているようです。

今回の現象は、for FX と for CG 共通で、
SETUP の RefreshCntl の設定で、All にすることで テキスト画面への Locate が途中で止まってしまうことでした。
これは、9860G / 9860GII / CG20 / CG50 で確認できました。

今回期待しない動作になって 9860G のSETUP の設定を、CG50 と同じだったというのが勘違いでした。
上のように設定が異なっていました。

さて、RefreshCtll を All で、3/128 ms にしている時、PutDispDD コマンドを追加することで、Locate 出力が正常にできました。

C.Basic の忘れていたことが少し思い出されました(^_^;


ところで、RefreshCtll を All に設定している時、 画面出力が途中でとまってしまうのは、画面出力が適性に行われていないことは分かりますが、Locate コマンドが連続していると出力が不完全で、連続していない時は正常出力される、そこの細かい違いが、完全に理解できていません。何故なのでしょうか?

All 設定の時、時間のかかる Locate 出力が連続すると、出力が完了しないまま、他の処理に移ってしまうからなのでしょうか?

Re: Locate絡み?で予定外の動作か

管理人様、こんにちは!

>実は、先週、今週と、素因数分解にハマっていました。

ぉお!いいですね!(^^)


>で、色々とプログラムを触るには、C.Basic ほど便利なものはありません。
>そこで、fx-CG50 に移植してから、C.Basic for CG で色々と変更したり実験していました。
>純正Casio Basic 互換を前提にしていたので、メインメモリのPROGRAMフォルダに転送し、正常動作も確認しています。

C.Basicは互換で時短ですから、素因数分解のような時間のかかるプログラムには最適ですね。(^^)


>さて、これらのプログラムを fx-9860G に転送し、メインメモリのPROGRAMフォルダにコピーし、正常動作を確認したのですが、ストレージメモリに転送し C.Basic for FXで動作させると、Locate 絡みの表示で異常が発生しております。

んん? これはメインメモリでは正常動作した後、ストレージメモリで異常動作になったということでしょうか?
管理人様の例の1051211700で試してみても異常になる気配がないので???なのですが、
異常の起きたファイルを再度メインメモリにコピーして試してみて異常が起きなければ何かしらバグの可能性があります。(^^;


>ちなみに、C.Baisc の SETUP も for CG と共通の項目は同じ設定にしてみましたが、改善されません。

SETUPの
RefrshCtl DD
はどうなってますでしょうか?
FX版ではOffがデフォルトなので
Offで異常になってるとしたらとバグの可能性ありです。(^^;

Locate絡み?で予定外の動作か

sentaro様

管理人のやすです。


実は、先週、今週と、素因数分解にハマっていました。

例の、UCF で投稿された fx-5800P用の高速素因数分解プログラムです。

これをネタに、チョット修正したプログラムに関する記事をアップしました。

"fx-5800P 素因数分解 - 高速化"
https://egadget.blog.fc2.com/blog-entry-697.html

で、色々とプログラムを触るには、C.Basic ほど便利なものはありません。
そこで、fx-CG50 に移植してから、C.Basic for CG で色々と変更したり実験していました。
純正Casio Basic 互換を前提にしていたので、メインメモリのPROGRAMフォルダに転送し、正常動作も確認しています。

さて、これらのプログラムを fx-9860G に転送し、メインメモリのPROGRAMフォルダにコピーし、正常動作を確認したのですが、ストレージメモリに転送し C.Basic for FXで動作させると、Locate 絡みの表示で異常が発生しております。

4行表示されるところ、1行半しか表示されないといった感じです。プログラムは転送しただけなので、全く同じものです。
Locateの問題なのか、何かのタイミングがずれているのか、よく分かりません。

ちなみに、C.Baisc の SETUP も for CG と共通の項目は同じ設定にしてみましたが、改善されません。

ご調査いただけませんか?


Re: C.Basic for FX v2.00β (例外処理追加で正式版まであとちょっと版)

sentaro様、FXユーザーの皆様

管理人のやすです。


バージョンアップ、お疲れ様です。
そして、ありがとうございます。

> PlanetCasioの方で例外処理が出来たら便利ということで、とりあえず実装完了しました。
> といっても、複雑なものではないので、簡単シンプルな実装です。(^^;

実際の用途が、チョット思いつかないのですが、使い勝手を考えてみようと思っています。

> C.Basic for FX v2.00β (例外処理追加で正式版まであとちょっと版)
> https://pm.matrix.jp/CB/CBASIC200beta.zip

最後のベータ版ということですが、ページを模様替えして対応しました。
特にページの下の方が変更されています。

ところで、README_FR.txt をメモ帳で開くと文字化けしますが、大丈夫でしょうか?
また、Command_List.txt が Ver 1.96 beta 向けとなっています。



C.Basic for FX v2.00β (例外処理追加で正式版まであとちょっと版)

管理人様、FXユーザーの皆様、こんにちは!

PlanetCasioの方で例外処理が出来たら便利ということで、とりあえず実装完了しました。
といっても、複雑なものではないので、簡単シンプルな実装です。(^^;

例外処理実装での安定度はさほど変わらないと思いますが、
一応新機能追加なので、バージョンこそ2.00ですがβ版で継続してます。(^^;


C.Basic for FX v2.00β (例外処理追加で正式版まであとちょっと版)
https://pm.matrix.jp/CB/CBASIC200beta.zip
・例外処理コマンドのTry~Except~TryEndコマンドを追加しIsError()は廃止しました。
(書式)Try <プログラム>
(書式)Except エラーコード1
<エラ-1の場合の処理>
(書式)Except エラーコード2
<エラ-2の場合の処理>
(書式)TryEnd
 <プログラム>にエラーが無ければTryEnd後に処理が移ります。
 エラー1が発生した場合、<エラ-1の場合の処理>を実行後、TryEnd後に処理が移ります。
 エラー2が発生した場合、<エラ-2の場合の処理>を実行後、TryEnd後に処理が移ります。
 エラー3が発生した場合、対応するExceptが無いので、エラーポップアップが出ます。

(書式)Except
 引数のないExceptはすべてのエラーに対応します。

(例)Try 3*4+
   Except 1
   "Syntax Error"
   TryEnd
 ”3*4+”が文法が間違えているのでSyntaxErrorの番号=1に対応する"Syntax Error"が実行されます。

(例)Try 3*4/0
   Except 1
   "Syntax Error"
   Except 40
   "Divide by Zero"
   TryEnd
 ”3*4/0”が0での除算エラー=40に対応する"Divide by Zero"が実行されます。

(例)Try 3*4/0
   Except 1
   "Syntax Error"
   Except
   "Error"
   TryEnd
 エラーに対応するExceptがない場合は、引数のないExceptはすべてのエラーに対応するので"Error"が実行されます。

サンプルプログラムはCBasic_sample/Try_Exceptにあります。
エラーコードはErrorCode_List.txtを参照してください。


・0x0C(Disps)以外の0x01~0x2Fのコードの後に改行が続く場合でも改行が省略されていた不具合を修正しました。

Re: C.Basic for FX v1.99.6β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その6

sentaro様、FXユーザーの皆様

管理人のやすです。

アップデートには、昨晩のうちに対応しております。

正式版までもう一息ですね!

C.Basic for FX v1.99.6β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その6

管理人様、FXユーザーの皆様、こんにちは!

従来のプログラムの動作テストをしていてエンバグが見つかりましたのでサクッと修正です。
あと、長年の不具合として残っていたところのSH3機におけるGetkey1の不具合がやっと解消できそうです。
これで問題がなければいよいよ2.00となれそうです…(^^;

C.Basic for FX v1.99.6β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その6
https://pm.matrix.jp/CB/CBASIC199beta.zip
・Tを引数指定したGraph(X,Y)=の描画を修正した時のエンバグを修正しました。
・SH3機でGetkey1がフリーズする不具合を修正しました。

Re;Re: C.Basic for FX v1.99.5β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その5

管理人様、FXユーザーの皆様、こんにちは!

管理人様、

>アップデート対応しました。

早速にありがとうございます!

>ここまで増改築ができるというのは、スパゲッティ度はまだ小さいのでしょうね。
>素晴らしいと思います。

恐縮です。


>おそらく半年ほど放置した後、ご自分でコードを見て理解できるかどうか、ってとこでしょうね?

そこですよね。(^^;

FX版はSDKのデバッガに助けられてるので、なんとかなりますが、
CG版ではFX版に実装していない機能となるとなかなか難しくなりそうです。(^^;


>少ないメモリでのやりくりあたりの不安定性が出てこなければ正式版としてやってゆけそうですね!

普通に使うレベルだとほぼ不安定な状況は無くなったと思いたいですが、
バグは突然に、ですから油断できません。(^^;


>では、英語版への反映を始めることにします。

よろしくお願いいたします。(^^)


>ご一報お待ちしております。

大きな不具合が発覚しなければ、というところですね。(^^;


>最後になりましたが、このショートカットは結構便利で、既に多用しています。
>ありがとうございます。

良かったです。
そもそもFX機にはダイレクトジャンプ機能は無いので、純正に比較するとかなり便利になりますね。(^^)

Re: C.Basic for FX v1.99.5β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その5

sentaro様、FXユーザーの皆様

管理人のやすです。

アップデート対応しました。

> 数年に渡る建て増し増築によって、内部プログラム的には若干スパゲッティ化してますし(汗)
> 今ならもっと上手く構成できてたかなと思ったりもしますが、
> とりあえず動いているので良しとします。(^^;

ここまで増改築ができるというのは、スパゲッティ度はまだ小さいのでしょうね。
素晴らしいと思います。

おそらく半年ほど放置した後、ご自分でコードを見て理解できるかどうか、ってとこでしょうね?

少ないメモリでのやりくりあたりの不安定性が出てこなければ正式版としてやってゆけそうですね!



> とても分かりやすい導入ページだと思います。(^^)

では、英語版への反映を始めることにします。


> 大きなバグが見つからなければ…早々に1.00ベータ、2.00正式版に上げたいと思います。(^^)

ご一報お待ちしております。



> ・ファイルリストで[.]キーを押した場合に”~”を先頭文字とするファイルに移動するようにしました。
> ・ファイルリストで[EXP(x10)]キーを押した場合にフォルダリストの先頭に移動するようにしました。

最後になりましたが、このショートカットは結構便利で、既に多用しています。
ありがとうございます。

C.Basic for FX v1.99.5β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その5

管理人様、FXユーザーの皆様、こんにちは!

管理人様、いつもありがとうございます!(^^)

>開発当初の頃を思い出しますと、ここまで高機能になるなんて想像していませんでした(失礼ながら...)

いやはや、ホントですね。(^^;
CasioBasicのプログラムがちょっとでも早く動けばというところからスタートして、
(かなり時間はかかってますが…(^^;)
ここまで拡張出来たことは、私もビックリです。
数年に渡る建て増し増築によって、内部プログラム的には若干スパゲッティ化してますし(汗)
今ならもっと上手く構成できてたかなと思ったりもしますが、
とりあえず動いているので良しとします。(^^;


>以前ご指摘頂いていた C.Basic のインストール方法を更新しました。
https://egadget.blog.fc2.com/blog-entry-509.html
>最近はフォルダの転送が必要で、FX-124 の癖 に併せた操作方法の1つを紹介しました。
>これでよければ、英語版も同じように更新しようと思います。

ありがとうございます!
とても分かりやすい導入ページだと思います。(^^)


>ところで、for FX Ver 2.00 と for CG Ver 1.00β リリースに合わせたエントリーの準備がほぼできましたので、いつでもどうぞ!

うわ、管理人様、早っ(^^;

大きなバグが見つからなければ…早々に1.00ベータ、2.00正式版に上げたいと思います。(^^)


C.Basic for FX v1.99.5β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その5
https://pm.matrix.jp/CB/CBASIC199beta.zip
・ファイルリストで[.]キーを押した場合に”~”を先頭文字とするファイルに移動するようにしました。
・ファイルリストで[EXP(x10)]キーを押した場合にフォルダリストの先頭に移動するようにしました。

[修正] Re^3: C.Basic for FX v1.99.4β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その4

sentaro様、FXユーザーの皆様

管理人のやすです。

[修正あり、for CG Ver 1.00αでなくて、1.00βに修正]

以前ご指摘頂いていた C.Basic のインストール方法を更新しました。
https://egadget.blog.fc2.com/blog-entry-509.html

最近はフォルダの転送が必要で、FX-124 の癖 に併せた操作方法の1つを紹介しました。

これでよければ、英語版も同じように更新しようと思います。

ところで、for FX Ver 2.00 と for CG Ver 1.00β リリースに合わせたエントリーの準備がほぼできましたので、いつでもどうぞ!

Re: Re:Re: C.Basic for FX v1.99.4β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その4

sentaro様、FXユーザーの皆様

管理人のやすです。


> このままだと永遠にベータ版になりそうなので、(^^;
> とりあえず2.00になる段階で正式版としてもいいかなと思っています。

いよいよですね!

開発当初の頃を思い出しますと、ここまで高機能になるなんて想像していませんでした(失礼ながら...)

正式版リリースに備えて、新しいページを準備しようかと考え中です。


差替えアップデート対応しておきました。

Re:Re: C.Basic for FX v1.99.4β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その4

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
>いよいよベータ版卒業になるのでしょうか?

このままだと永遠にベータ版になりそうなので、(^^;
とりあえず2.00になる段階で正式版としてもいいかなと思っています。


>これについて、readme.txtに追記されないのでしょうか?

あ゛…すみません!
思いっきり抜けてました!
ってことで、差し替えアップしております!

英文おかしいところは管理人様にチェックしていただくということで…(^^;

Re: C.Basic for FX v1.99.4β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その4

sentaro様、FXユーザーの皆様

管理人のやすです。


アップデート対応致しました。


> 致命的ではないものの若干の不具合がありましたので修正です。
> 1.99.4で致命的な不具合が出てなければ、近々2.00に昇格させたいと思います。(^^)

いよいよベータ版卒業になるのでしょうか?


> ・ファイルリストで[.]キーを押した場合にフォルダリストの先頭に移動するようにしました。
これについて、readme.txtに追記されないのでしょうか?

C.Basic for FX v1.99.4β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その4

管理人様、FXユーザーの皆様、こんにちは!

管理人様、いつも素早い対応して頂きまして感謝です。(^^)

致命的ではないものの若干の不具合がありましたので修正です。
1.99.4で致命的な不具合が出てなければ、近々2.00に昇格させたいと思います。(^^)

C.Basic for FX v1.99.4β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その4
https://pm.matrix.jp/CB/CBASIC199beta.zip
・Tを変数指定したGraph(X,Y)=の描画を修正しました。
・ファイルリストで[.]キーを押した場合にフォルダリストの先頭に移動するようにしました。

Re: C.Basic for FX v1.99.3β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その3

sentaro様、FXユーザーの皆様


管理人のやすです。


最新アップデートに対応しました。

C.Basic for FX v1.99.3β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その3

管理人様、FXユーザーの皆様、こんにちは!

まだまだ不具合が残ってました。(^^;

C.Basic for FX v1.99.2β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その3
https://pm.matrix.jp/CB/CBASIC199beta.zip
・Help表示がONの場合に一時停止から[EXIT]でデバッグモードを解除できない不具合を修正しました。

Re:Re: C.Basic for FX v1.99.2β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その2

管理人様、FXユーザーの皆様、こんにちは!

管理人様、毎度、ありがとうございます!(^^)

>ここまで機能になってくると、常にエンバグの可能性が排除しきれませんよね!

たしかに、機能がどんどん複雑(怪奇?)になってるので、
注意深くバグ潰したつもりでも、エンバグがなかなか無くなりません。(^^;

気がついた時点で修正できることが、ネットワーク時代の有り難いところですが、
開発者目線だけだと使い方が固定化ししてしまうので、あらゆるパターンの組み合わせでのテストが難しくなってきますね。(^^;

管理人様はじめ、ユーザーの皆様のバグあぶり出しはとても貴重です。
今後ともよろしくお願いいたします(^^)

Re: C.Basic for FX v1.99.2β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その2

sentaro様、FXユーザーの皆様

管理人のやすです。


> で、またまたエンバグ見つかりました。(^^;
> 今度こそ安定してくれることを祈ります。(^^;

ここまで高機能になってくると、常にエンバグの可能性が排除しきれませんよね!
お疲れ様です。

最近、プログラム作りが以前ほどハイペースでないので、なかなかバグのあぶり出しができていません。

差し合えアップデート対応しております。

> C.Basic for FX v1.99.2β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その2
> https://pm.matrix.jp/CB/CBASIC199beta.zip
> ・サブプログラムで一時中断して[EXIT]でエディタに戻らず終了してしまう不具合を修正しました。(1.98のエンバグです。)

C.Basic for FX v1.99.2β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その2

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
>お疲れ様です。
>アップデート対応致しました。
>動作確認できました。
毎度素早い対応して頂きまして感謝です。(^^)

で、またまたエンバグ見つかりました。(^^;
今度こそ安定してくれることを祈ります。(^^;

C.Basic for FX v1.99.2β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その2
https://pm.matrix.jp/CB/CBASIC199beta.zip
・サブプログラムで一時中断して[EXIT]でエディタに戻らず終了してしまう不具合を修正しました。(1.98のエンバグです。)

Re: C.Basic for FX v1.99.1β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その1

sentaro様、FXユーザーの皆様

管理人のやすです。

> FX版でMax Mem ModeがONの時にお気に入りが機能してなかったバグが見つかりましたので修正です。(^^;
>
> C.Basic for FX v1.99.1β (お気に入り独立版+MLコマンド回転拡大拡張版)
> https://pm.matrix.jp/CB/CBASIC199beta.zip
> ・Max Mem ModeがONの時にお気に入り切り替えが出来てなかった不具合を修正しました。
> ・メインメモリからストレージ/SDへの移動時のファイルリストの表示順を変更しました。
> ・行列とListが一時停止後に変数を一時停止表示したときの不具合を修正しました。(1.99エンバグ)


お疲れ様です。
アップデート対応致しました。

動作確認できました。

ありがとうございます。

C.Basic for FX v1.99.1β (お気に入り独立版+MLコマンド回転拡大拡張版)修正版その1

管理人様、FXユーザーの皆様、こんにちは!

FX版でMax Mem ModeがONの時にお気に入りが機能してなかったバグが見つかりましたので修正です。(^^;

C.Basic for FX v1.99.1β (お気に入り独立版+MLコマンド回転拡大拡張版)
https://pm.matrix.jp/CB/CBASIC199beta.zip
・Max Mem ModeがONの時にお気に入り切り替えが出来てなかった不具合を修正しました。
・メインメモリからストレージ/SDへの移動時のファイルリストの表示順を変更しました。
・行列とListが一時停止後に変数を一時停止表示したときの不具合を修正しました。(1.99エンバグ)

Re:Re: C.Basic for FX v1.99β (お気に入り独立版+MLコマンド回転拡大拡張版)

管理人様、FXユーザーの皆様、こんにちは!

管理人様、

>SETUPで Edit ExFont が On にならないのですが、外部フォンを使うモードにするには、何か同時に設定すべき項目があるのでしょうか?

先にEnableExtFontをOnにしてください。
外部フォント有効時にエディタの外部フォント表示のOn/Offが選択できるということで、
EnableExtFontがOffだとOnにならない仕様になっています。(^^;
さらに、エディタ使用時やプログラム実行時にセットアップで外部フォントのOn/Offを変更しようとしても出来ません。
なぜこういう仕様になっているかというと、
FX版では外部フォントのOn/Offでメモリ使用量&メモリ配置が変わってしまうので、
On/Offの切り替えはファイルモードからのみとなっています。

ちなみにCG版ではメモリ使用量&配置は変わりませんが、先にEnableExtFontでOnにしないといけないのは同じです。


>あと、MLコマンドの機能追加について、サンプルプログラムは for CG のように添付しないのでしょうか?

FX版では、
"C.Basic_sample/ML_sample"にサンプルプログラムを入れてあります。

CG版では新しいフォルダを作ってそこに入れているのですが、
CG版のCBasic_sampleフォルダにはFX版のサンプルをそっくり流用してそのまま持ってきてるからです。(^^;
CG版のサンプルプログラムはCGでしか動作しないので敢えて分けてみました。

Re: C.Basic for FX v1.99β (お気に入り独立版+MLコマンド回転拡大拡張版)

sentaro様、FXユーザーの皆様

管理人のやすです。

[追記は撤回します]


> CG版での各種アップデートを反映したFXバージョンです。
> おかげさまでFX版はついに1.99まで来ましたが、しばらく1.99で足踏みする可能性ありです。(^^;
>
> C.Basic for FX v1.99β (お気に入り独立版+MLコマンド回転拡大拡張版)
> https://pm.matrix.jp/CB/CBASIC199beta.zip

早速頂きました。ありがとうございます。

2点ほど...

SETUPで Edit ExFont が On にならないのですが、外部フォンを使うモードにするには、何か同時に設定すべき項目があるのでしょうか?

あと、MLコマンドの機能追加について、サンプルプログラムは for CG のように添付しないのでしょうか?


[追記]
スミマセン、以下は撤回致します。
こちらの調査が不十分で、C.Basicに濡れ衣を着せてしまいました。
大変失礼致しました。

なお、Prog で呼び出すプログラムファイルが壊れていたのが原因でした。
メモリ残量が極めて少ない fx-9860GII SD を FA-124に接続してファイルのやりとりを行っている際に、エラーが発生しましたが、このときファイルが壊れたようです。

FA-124 の使用方法について、Web版英語マニュアルでより詳しい操作方法を追記しようと思い、実際に FA-124の挙動を調べていた時のことです。

FA-124は、マニュアル通りの操作以外を行うと、プログラムファイルを壊してしまうようです。使いにくいですね!


[AC] で強制終了するとデバッグモードに入り、そこで [EXIT] で終了できない現象は解消しておりません。こちらで再現するのは、Prog コマンドでサブルーチンを入れ子で呼び出す時、[EXIT]で一気に終了せず、サブルーチンが終了したらそれを呼び出しているルーチンで止まり、[EXIT]でまた次のサブルーチンで止まる...といった症状です。

で、この問題のあったプログラムは、今回のバージョンで走らせると、Prog コマンドで Can't Find File エラーが発生してしまいます。

Prog絡みで、何かエンバグしておりませんでしょうか?



以上、よろしくお願い致します。

C.Basic for FX v1.99β (お気に入り独立版+MLコマンド回転拡大拡張版)

管理人様、FXユーザーの皆様、こんにちは!

CG版での各種アップデートを反映したFXバージョンです。
おかげさまでFX版はついに1.99まで来ましたが、しばらく1.99で足踏みする可能性ありです。(^^;

C.Basic for FX v1.99β (お気に入り独立版+MLコマンド回転拡大拡張版)
https://pm.matrix.jp/CB/CBASIC199beta.zip
・行列とListが一時停止後の表示が消去される不具合を修正しました。

・一時停止コマンドのテキスト変換を改行コード付きに仕様変更しました。
(従来=純正互換)Disps
(新仕様)Disps+[CR]+[LF]

・お気に入りをストレージメモリとSDおよびメインメモリ(Main Memory)で独立させました。それぞれ7つ登録できます。
・ストレージメモリとメインメモリ(Main Memory)間の移動を2キーで出来るようにしました。
 [SHIFT]-[F5]でストレージモードが切り替わります。

・一時中断してから編集すると[EXIT]でデバッグモードが解除されない不具合を修正しました。(まだバグが残ってました。)

・Monochromeライブラリ系コマンドの_Recangleと_Polygonに拡大縮小と回転処理を同時に加えるオプションを追加しました。
(書式)_Rectangle X1, Y1, X2, Y2, border_width, border_color, Color[,確率][,回転角度][,回転中心座標X][,回転中心座標Y][,拡大率]
(書式)_Polygon X座標のint行列へのポインタ, Y座標のint行列へのポインタ, 頂点数, Color[,確率][,回転角度][,回転中心座標X][,回転中心座標Y][,拡大率]

 [回転中心座標X][回転中心座標Y]を省略した場合は自動的に描画画像の中心が指定されます。

・_
・Monochromeライブラリ系コマンドの楕円描画コマンドの_Elips、_FillElipsにおいて回転された楕円の描画をサポートしました。
(書式)_Elips X, Y, Rwidth, Rheight, Color[,確率/透過率] [,回転角(度)]
(書式)_FillElips X, Y, Rwidth, Rheight, Color[,確率/透過率] [,回転角(度)]
(例)_Elips 60,30,60,30,1,,45
 座標(60,30)を中心に横罫60ドット、縦径30ドットの楕円を45度傾けて描画します。

(使用例)"C.Basic_sample/ML_sample"にあるサンプルプログラムを参照してください。

・MCS表記をMain Memory表記に統一しました。

Re:Re: C.Basic for FX v1.98β (ファイル読み込み修正+ループスタック増量版)差し替え版

管理人様
>マニュアル類のこれまでの更新状況です。

どうもありがとうございます!!
Quick ManualはCG版の画像追加で機種による差がとても分かりやすくなりましたね。(^^)
日本語へのgoogle翻訳で何も違和感が無いので、英語以外の言語に訳されてもたぶん大丈夫なんではないかと想像します。(^^)

気がついた点としては、


C.Basic (英語版導入編) の方で、
>@Font folder and FontEdit folder should also be transfered to the Storage Memory if you want to use extended fonts.

ここですが、FX版でのフォルダ名には@が使えないのと転送時に大文字になってしまうので、すべて大文字のFONTです。
CG版では小文字フォルダ名でそのまま転送できるので@Fontがフォルダ名になっています。
FA-124で転送する場合は小文字混じりのファイル名はすべて大文字ファイル名になってしまうので、そこのところは注意書きが必要かもしれません。
さらにFA-124でフォルダ下にあるファイルの転送は、初めての場合にはハードル高いかもしれないので、画像付きの方が分かりやすいかもしれませんね。(^^)


あと、C.Basic - Quick Manual の方で、
>[F5] (DEL) Deleted selected file.

ここだけ過去形なのですが、これはこれでも良いのでしょうか?


>3.C.Basic for FX の Readmeファイル
>・README_J.txt
> https://egadget2.web.fc2.com/CBasic/archives/programs/CBasic/Latest_Version/README_J.txt
>・README_EN.txt
> https://egadget2.web.fc2.com/CBasic/archives/programs/CBasic/Latest_Version/README_EN.txt

どうもありがとうございます!
1.98を早速に差し替えておきました。(^^)

Re: C.Basic for FX v1.98β (ファイル読み込み修正+ループスタック増量版)差し替え版

sentaro様、ツル様、iron2様、Colon様、CGユーザーの皆様


管理人のやすです。

マニュアル類のこれまでの更新状況です。


1.C.Basic (英語版導入編)
 https://egadget2.web.fc2.com/CBasic/Interpreter/CBasic_interpreter.html

C.Basic では FX版、CG版ともに メインメモリにあるプログラムファイルを実行できるようになっていることを踏まえて、C.Basicインストール方法と、使用開始ガイドを改訂しています。このページ自体は一応完成と致します。
今後は、ここからリンクするページを整備してゆきます。


2.C.Basic - Quick Manual
 https://egadget2.web.fc2.com/CBasic/Interpreter/QuickManual.html
 
現在のところ、Set Up Page 以外は完成と致します。
なお、ここまでのところ、FX版とCG版の和英両方の Readmeも内容を再確認して、全て修正しました (セットアップページはこれからです)。


3.C.Basic for FX の Readmeファイル
・README_J.txt
 https://egadget2.web.fc2.com/CBasic/archives/programs/CBasic/Latest_Version/README_J.txt

・README_EN.txt
 https://egadget2.web.fc2.com/CBasic/archives/programs/CBasic/Latest_Version/README_EN.txt



何かおかしな所があれば、是非ご指摘ください。

C.Basic for FX v1.98β (ファイル読み込み修正+ループスタック増量版)差し替え版

管理人様、FXユーザーの皆様、こんにちは!

ループスタックが若干不足な場合があるかもで少し増量してみました。
この変更で再帰の深さが21から16まで減りますが、
純正では11までなのでとりあえず良しとします。(^^;
あと、外部フォントを使わない設定にしている場合、
SetFont 1コマンドでポップアップを出して設定変更を促すようにしました。
プログラム内で設定変更できないための苦肉の策です。(^^;

C.Basic for FX v1.98β (ファイル読み込み修正+ループスタック増量版)差し替え版
https://pm.matrix.jp/CB/CBASIC198beta.zip
・外部フォントを有効にする”SetFont 1”コマンドで、 外部フォントが有効に設定されていなかった場合、ポップアップを出すようにしました。

・ループスタックの最大値を変更しました。
 (for~Next : 最大 4 level から 7)
 (While~WhileEnd : 最大 6 level から 7)
 (Do=LpWhile : 最大 6 level から 7)
 (Switch~SwithEnd: 最大 4 level から 7)

・Switch~SwitchEnd内からのGoto脱出でスタッククリア出来てなかったのを修正しました。

・ファイル名の大文字と小文字を動作時に区別しないように仕様変更しました。(メインメモリ(MCS)は除く)
・大文字と小文字の相互Renameが可能になりました。
(例)ABC.bmp" -> "abc.bmp"
・ファイル入力時のカーソル初期位置を拡張子の前になるようにしました。

・デバッグモード解除のカーソル位置を修正しました。
・デバッグモード解除確認ポップアップでデバッグモードが解除されない不具合を修正しました。

Re:Re:Re: C.Basic for FX v1.97β (Help機能+バグ修正版2)

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
Mat_List.txtはColon様がおっしゃってますようにMat_Vct_List.txtに更新されましたので、以前のファイルがそのまま残ってたという状態です。(^^;
ってことで、サクッと削除しておきます。(^^;

Re:Re: C.Basic for FX v1.97β (Help機能+バグ修正版2)

管理人様、sentaro様、FXユーザーの皆様、こんにちは!

横から失礼します。

> マニュアル類の中で、Mat_List.txt が無くなっていますが、それで良いのでしょうか?

あ、まだ Mat_List.txt が残っていたんですね。(^^;

Vct 機能が追加された際、私がファイル名を Mat_List.txt から Mat_Vct_List.txt に変更してアップロードしました。

ですから、当初の私の想定ですと、Mat_List.txt を廃止して Mat_Vct_List.txt に置き換える前提でファイルを作成しておりました。

もう廃止して大丈夫なんじゃないかな……? と思います。(^^;

Re: C.Basic for FX v1.97β (Help機能+バグ修正版2)

sentaro様、FXユーザーの皆様

管理人のやすです。

マニュアル類の中で、Mat_List.txt が無くなっていますが、それで良いのでしょうか?
ちなみに、for CG では Mat_List.txt は残っております。

Re: C.Basic for FX v1.97β (Help機能+バグ修正版2)

sentaro様、FXユーザーの皆様、こんにちは!

管理人のやすです。

昨晩、アップデート対応しておきました。

C.Basic for FX v1.97β (Help機能+バグ修正版2)

管理人様、FXユーザーの皆様、こんにちは!

Planet-Casioで発見されたバグを修正しました。(^^)

C.Basic for FX v1.96β (Help機能+バグ修正版2)
https://pm.matrix.jp/CB/CBASIC197beta.zip
・EngOnにおけるFixとSciの非互換性を修正しました。
(例)EngOn:Sci 3
  1.23456789e12->12.3M

・Save、Load(コマンドの引数に行列/List以外の変数も指定できるようになりました。
(例)Save "TEST",A
(例)Load "TEST",Str 1

・Helpファイルを更新しました。

Re:Re: C.Basic for FX v1.96β (Help機能+バグ修正版)

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
>ただ今出張中なので、手元にグラフ関数電卓がないので、帰ってからが楽しみです!

了解です!


>取り急ぎ、アップデート対応致しました。

毎度ながら早速に対応していただきまして感謝です。(^^)


>ところで、
> ・グラフ描画コマンドを一部修正しました。
>これって、どんな修正でしょうか?

んと、今の所、まだ実用性は?なところですが、(^^;、
不等号グラフ等を2つ以上続けて描かせた場合に、おかしくなるという不具合です。(^^;

Re: C.Basic for FX v1.96β (Help機能+バグ修正版)

sentaro様、FXユーザーの皆様

管理人のやすです


お疲れ様、久々のアップデートありがとうございます。


> 意外にもここには今年初めての書き込みになりますね。(^^;

おおっ、確かに...


> v1.86betaの頃に予定していたHelp機能の実装がやっとこ一段落しましたのでアップデートです。

ただ今出張中なので、手元にグラフ関数電卓がないので、帰ってからが楽しみです!

取り急ぎ、アップデート対応致しました。

ところで、
> ・グラフ描画コマンドを一部修正しました。

これって、どんな修正でしょうか?


C.Basic for FX v1.96β (Help機能+バグ修正版)

管理人様、FXユーザーの皆様、こんにちは!

意外にもここには今年初めての書き込みになりますね。(^^;
というわけで、大変お待たせしました&ご心配おかけしました。m(_ _)m
v1.86betaの頃に予定していたHelp機能の実装がやっとこ一段落しましたのでアップデートです。

C.Basic for FX v1.96β (Help機能+バグ修正版)
https://pm.matrix.jp/CB/CBASIC196beta.zip
・エディタのコマンド入力時にHelp表示出来る機能を追加しました。セットアップで設定します。
 zip内のHELPフォルダに有る~~HELP1.txt/~~HELP1.g1mファイルがHelpファイルです。
 ルートフォルダかプログラムと同じフォルダに入れてください。

・nCr/nPrを追加しました。

・テキストからg1mへの変換でファイル名表示が異常になる不具合を修正しました。
・外部フォントが読み込まれない不具合を修正しました。

・PICT/CAPTファイルのデフォルト保存フォルダを"PICT","CAPT"とすべて大文字にしました。
・ファイルモードのフォルダ状態が保存されなかった不具合を修正しました。
・MCSのフリーエリアが残っているのに保存ができない不具合を修正しました。
・List1~List6が使えなかった不具合を修正しました。
・1ビットと4ビット行列において要素アドレスの取得がおかしかったのを修正しました。
・行列とListの連続演算で不具合があったのを修正しました。
・StrShiftでマイナス引数の場合、結果が違っていたのを修正しました。
(例)StrShift("1234567", -2)->" 12345"
・グラフ描画コマンドを一部修正しました。

Re: C.Basic for FX v1.91β (ループ内からGotoでジャンプできる版)

sentaro様、FXユーザーの皆様、

管理人のやすです。


> C.Basic for FX v1.91β (ループ内からGotoでジャンプできる版)
> https://pm.matrix.jp/CB/CBASIC191beta.zip
> ・Gotoコマンドでループ外に自動的にジャンプできるようになりました。(お試し実装です。)
>  (1.90による(-)オプションは無効になりました。)

一日遅れですが、記事に反映させました。

今年もよろしくお願い致します。

C.Basic for FX v1.91β (ループ内からGotoでジャンプできる版)

管理人様、FXユーザーの皆様、こんにちは!

CG版同様にループ内からGotoで飛び出せる版です。
今の所、お試し版です。(^^;

C.Basic for FX v1.91β (ループ内からGotoでジャンプできる版)
https://pm.matrix.jp/CB/CBASIC191beta.zip
・Gotoコマンドでループ外に自動的にジャンプできるようになりました。(お試し実装です。)
 (1.90による(-)オプションは無効になりました。)

Re: C.Basic for FX v1.90β (Goto飛び出し+Vct修正版)

sentaro様様、FXユーザーの皆様

管理人のやすです。

お疲れ様です。
これから記事に反映させますね!

C.Basic for FX v1.90β (Goto飛び出し+Vct修正版)

管理人様、FXユーザーの皆様、こんにちは!

CG版が0.64にアップデートしたので、同じく1.90にアップデートしました。(^^)

C.Basic for FX v1.90β (Goto飛び出し+Vct修正版)
https://pm.matrix.jp/CB/CBASIC190beta.zip
・Gotoコマンドでループ外にジャンプできるようになりました。(お試し実装です。)
(書式)Goto (-)ラベル名
 (-)はマイナス符号です。
(例)
Lbl A
While 1
Goto (-)A
WhileEnd

・ベクトル(Vct)の初期化で行と列が選択できるようになりました。
・ベクトル(Vct)の間接指定が動作していなかった不具合を修正しました。

Re: C.Basic for FX v1.89β

sentaro様、FXユーザーの皆様

管理人のやすです。

記事では、アップデート対応しております。
年末進行のため、仕事でバタバタしており、お知らせが遅くなりました。

> 海外のユーザー様のご要望により、
> シリアル通信コマンドの実行が[AC]ブレーク以外で中断出来なかったので[EXIT]中断できるオプションを追加しました。

海外では、計測用途で電卓を使うことが多いのだろうと思います。そこに C.Basic はとても良い選択肢になるのは間違いないですね!

なるほど、もし自分が計測目的で使う場合は、[EXIT]中断はしたくなると思います。

仕事で、装置のデモのため、自分用にシリアル通信で機器制御&データ取得をするWindowsプログラムを作って使うことがあります。

これを電卓でやってみるのは、趣味と実益を兼ねて楽しめそうです!

ごくたまに装置と一緒にプログラムを売って欲しいと言われることがあるので、C.Basicで作ったプログラムと電卓をセットで売ってあげるのも面白そうです。パソコンよりは絶対に安いので、喜ばれるかも知れません。


C.Basic for FX v1.89β

管理人様、FXユーザーの皆様、こんにちは!

海外のユーザー様のご要望により、
シリアル通信コマンドの実行が[AC]ブレーク以外で中断出来なかったので[EXIT]中断できるオプションを追加しました。

C.Basic for FX v1.89β
https://pm.matrix.jp/CB/CBASIC189beta.zip
・シリアルコマンドを[EXIT]で中断出来るオプションを追加しました。
(書式)Send( 変数[,ボーレート][,EXIT有効])
(書式)Recv( 変数[,ボーレート][,EXIT有効])
(書式)OpneComport38K[,ボーレート][,転送モード][,EXIT有効]
[ボーレート値]:0=300, 1=600, 2=1200, 3=2400, 4=4800, 5=9600, 6=19200, 7=38400(デフォルト), 8=57600, 9=115200 baud
[転送モード] 0:バイナリ転送モード  1:データ形式自動判別モード(デフォルト)
[EXIT有効] 0:無効  1:有効

(例)Send(A,,1)
(例)Recv(A,,1)
 [EXIT]で中断できます。

C.Basic for FX v1.88β その2

管理人様、FXユーザーの皆様、こんにちは!

>これは有り難いですね。

ありがとうございます!
文字列もCasioBasic互換からやっと一歩踏み出せました。(^^)


>これに伴い、プログラム中で文字列として確保できる文字列長の最大値を返す関数があると、使い手が増すと思いますが、居陰でしょうか?

了解しました。
といっても、文字列長の最大値そのものは設定次第で流動的なので、
とりあえず、System(-5)を現在の空きメモリサイズとして取得できるようにしてみました。

空きメモリの中で文字列エリアにどれだけ割り当てるかはユーザー次第ということになりますので、
そこのところの目安というか、空きメモリに対してどれだけの文字列長で使えるかということですが、

FX版、CG版共通仕様として、空きエリアから文字列の実体となる行列分と、ワークエリアが8~10文字列分確保されます。
FX版の場合、空きエリアが30KBの場合は、文字列を20個+ワークエリア8個で合計28個、1KB=1,000文字程度が確保できる限界となります。
隠しRAM使用時は200KB以上の空きエリアがあるので、10KB=10,000文字くらいの文字列長程度まで可能だと思います。

CG版ではCG20の場合は、100KBの空きエリアがあれば、30KB=3,000文字程度まで。
CG50で隠しRAM使用時は2MBの空きエリアがあるので100KB=100,000文字までは可能だと思いますが、
ただ、マルチバイトのCasioBasic互換処理なので、文字列長が長くなるにつれて処理速度的にはちょっと重くなるかもしれません。
実用的に使えるかどうかはまだ未知数です。(^^;

C関数のようにバイト処理のシンプルな文字列関数を追加する必要が出てくるかもしれませんね。


C.Basic for FX v1.88β その2
https://pm.matrix.jp/CB/CBASIC188beta.zip
・現在の空きメモリ量を取得するSystem(-5)を追加しました。
(例)System(-5)

Re: C.Basic for FX v1.88β

sentaro様、FXユーザーの皆様、


管理人のやすです。


> 今回文字列長の制限を撤廃したので、またエンバグの可能性もありますので(汗)

これは有り難いですね。

これに伴い、プログラム中で文字列として確保できる文字列長の最大値を返す関数があると、使い手が増すと思いますが、居陰でしょうか?

文字列だけでなく、確保領域がメモリ残依存の場合、このような関数は欲しくなると思いますので...

ご検討頂ければ嬉しいです。

C.Basic for FX v1.88β

管理人様、FXユーザーの皆様、こんにちは!

相変わらずバグが出続けるC.Basicですが、(^^;
今回文字列長の制限を撤廃したので、またエンバグの可能性もありますので(汗)
バージョン上げておきます。
その他、気がついたところ、修正しております。(^^;


https://pm.matrix.jp/CB/CBASIC188beta.zip
・文字列の255文字までの制限を無くしました。上限はメモリ制限のみとなります。
(例)'#Str <r>,30,1000
 Str 1~Str 30まで999文字までの長さで文字列処理できます。<r>は[ALPHA]+[X^2]

・行列の再確保でアドレス指定した場合、それまで確保されていた同じ行列が消去されなかった不具合を修正しました。

・ルートフォルダで表示するファイルの拡張子に.binを追加しました。
 表示するファイル(g1m,txt,bmp,bin)
・サブフォルダではすべてのファイルを表示します。

・ファイルのCopy/Renameの制限を緩めました。
 bin等のファイルでもCopy/Renameが可能です。

・Mat/List/Vct一覧画面でListFileが2以上の場合にリスト表示がおかしかったのを修正しました。

・Str、Graph(Y)、fn変数の確保で実体となる行列の要素数が減っていたのを修正しました。
(例)"CDE"->Str 5
 Str 1,Str 2,Str 3,Str 4,Str 5が確保されます。
(例)"ABC"->Str 1
 Str 1だけになっていました。

・Stack Errorが発生したときに[EXIT]を複数回押さないとエディタに戻れない不具合を修正しました。

Re: Re:Re: C.Basic for FX v1.87β(再アップ)

sentaro様、FXユーザーの皆様



> んと、メモリを必要最小限の確保に変更しただけなので、
> 従来仕様の拡張というか最適化仕様となっています。
>
> 従来仕様では、例えばStr 1とStr 2だけを使う場合でも、
> デフォルトではStr 20までが一気に確保されてしまうので、
> Str 3~Str 20までが使われずに無駄になっていまいます。
>
> 今回の変更では、Str 2までの確保だけになるということです。
>
> その後、Str 5を使った場合は、Str 5までが自動的に再確保されます。
> 最大値もデフォルトで127まで増量したので、
> いきなりStr 100としてもエラーにはならずにStr 100までが確保されますがStr 128だとエラーになります。
>
> ということなので、従来仕様でのStr 100まで使う場合の
> '#Str 100
> コマンドでStr使用数を変更する必要はなくなりますが、
> 従来互換を考えれば指定しておかないと従来バージョンではエラーになりますね。
> (ちなみに指定最大値は32767までです。)
>
> 文字列変数(実体は行列ですが)のメモリ使用効率化を進めた仕様と考えてくださいませ。(^^)


文字列変数宣言と定義方法は何も変わらず、文字列領域確保の内部改善ということだったのですね。

ありがとうございます、よく分かりました。メモリ節約は重要ですね。

Re:Re: C.Basic for FX v1.87β(再アップ)

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
>お疲れ様です。頂きました。併せて記事も変更しておきました。

こちらこそいつもありがとうございます!(^^)


>従来の方法は廃止になるのでしょうか?

んと、メモリを必要最小限の確保に変更しただけなので、
従来仕様の拡張というか最適化仕様となっています。

従来仕様では、例えばStr 1とStr 2だけを使う場合でも、
デフォルトではStr 20までが一気に確保されてしまうので、
Str 3~Str 20までが使われずに無駄になっていまいます。

今回の変更では、Str 2までの確保だけになるということです。

その後、Str 5を使った場合は、Str 5までが自動的に再確保されます。
最大値もデフォルトで127まで増量したので、
いきなりStr 100としてもエラーにはならずにStr 100までが確保されますがStr 128だとエラーになります。

ということなので、従来仕様でのStr 100まで使う場合の
'#Str 100
コマンドでStr使用数を変更する必要はなくなりますが、
従来互換を考えれば指定しておかないと従来バージョンではエラーになりますね。
(ちなみに指定最大値は32767までです。)

文字列変数(実体は行列ですが)のメモリ使用効率化を進めた仕様と考えてくださいませ。(^^)

Re: C.Basic for FX v1.87β(再アップ)

sentaro様、FXユーザーの皆様

管理人のやすです。

> 海外の方よりバグレポートをメールでいただきましたので修正です。
> 相変わらずの注意不足バグですね。(^^;

> https://pm.matrix.jp/CB/CBASIC187beta.zip

お疲れ様です。頂きました。併せて記事も変更しておきました。


> 追加で文字変数の確保方法を変えてみました。

従来の方法は廃止になるのでしょうか?

C.Basic for FX v1.87β(再アップ)

管理人様、FXユーザーの皆様、こんにちは!

海外の方よりバグレポートをメールでいただきましたので修正です。
相変わらずの注意不足バグですね。(^^;
追加で文字変数の確保方法を変えてみました。

管理人様、毎度の対応ありがとうございます!

https://pm.matrix.jp/CB/CBASIC187beta.zip
・Str、Graph(Y)、fn変数の確保方法を変更しました。
 併せてデフォルトの最大確保数をそれぞれ20から127まで増量しました。
(例)"ABC"->Str 1
 Str 1だけ確保されます。
(例)"CDE"->Str 5
 Str 1,Str 2,Str 3,Str 4,Str 5が確保されます。

・fn変数の実体になるデフォルト行列をz(小文字)に変更しました。
 Str変数のデフォルト  :<r>
 Graph(Y)変数のデフォルト:θ
 fn変数のデフォルト   :z

・ClrVct 変数名が動作しなかった不具合を修正しました。

Re: C.Basic for FX v1.87β

senaro様、FXユーザーの皆様

管理人のやすです。

> https://pm.matrix.jp/CB/CBASIC187beta.zip

お疲れ様です。


コレに合わせて記事を更新しました。

C.Basic for FX v1.87β

管理人様、FXユーザーの皆様、こんにちは!

ここにきてバグがどんどん発覚しているので、(^^;
CGバージョンと併せてバージョンアップです。

https://pm.matrix.jp/CB/CBASIC187beta.zip
・ClrVctが動作しなかった不具合を修正しました。

・Graph(Y)とfnの引数の動作を修正しました。
(誤)"X+5"->fn1
   fn1(X=7)で返る値は(1)+5
(正)"X+5"->fn1
   fn1(X=7)で返る値は(7+5)

・StrShift(が非互換だったのを修正しました。
・StrSrc(コマンドの検索開始位置が文字列長以上の場合に0が返らない不具合を修正しました。
・StrMid(コマンドで第二引数が0のときに返る文字列がNULL文字列になっていなかった不具合を修正しました。
・StrLen(,StrCmp(,StrSrc(.Exp(コマンドの乗算省略が出来てなかった不具合を修正しました。

・Mat/List/Vct表示においてListのAns/r/Thetaの表示を修正しました。
・Listの閉じカッコの"}"を省略した場合の不具合を修正しました。
・Listのラベル名に文字変数が使えなかった不具合を修正しました。

・複素数でのAnd,Or,Not演算が間違っていたのを修正しました。
・1以下の実数のAnd、Orが非互換だったのを修正しました。
(誤)0.1 And 0.2 -> 0
(正)0.1 And 0.2 -> 1

・BGPictで指定Pictファイルが1024バイト未満のときに空白で埋めるようにしました。

Re:Re: C.Basic for FX v1.86β

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
>了解です!
>HELP機能は、結構インパクトありそうで、楽しみの1つです。

Slimではver.2.00にバージョンアップするとHelp機能が無くなります。(^^;
Help機能はver1.xまでの機能だった模様で、
結果的にSlimは文字列等の機能のない初期のOSのときのみHelp機能が使えます。

C.BasicはOSの都合は関係ないので、もちろん独自実装です。(^^)


>Ver 1.86については、昨晩記事への反映を済ませております。

いつもありがとうございます!(^^)

Re: C.Basic for FX v1.86β

sentaro様、FXユーザーの皆様

管理人のやすです。

> Help機能の実装と思ったらバグが続々出てきてるので、(^^;
> とりあえずアップデート修正です。
> Help機能はバグ潰し一段落してからになります。m(_ _)m

了解です!
HELP機能は、結構インパクトありそうで、楽しみの1つです。


Ver 1.86については、昨晩記事への反映を済ませております。


C.Basic for FX v1.86β

管理人様、FXユーザーの皆様、こんにちは!

Help機能の実装と思ったらバグが続々出てきてるので、(^^;
とりあえずアップデート修正です。
Help機能はバグ潰し一段落してからになります。m(_ _)m

https://pm.matrix.jp/CB/CBASIC186beta.zip
・BmpLoad(コマンドのVRAMへのロードで右端処理が8ドット単位になっていたのを修正しました。

・Mat/List/Vct表示においてVctの編集画面での表示を修正しました。

・ListのFileをサポートしました。(※隠しRAM使用時のみ使用できます。)
(例)File 2
 2つめのファイルリストを使用します。
 純正とは違って52個ずつのファイルとなります。
 内部実装はFile 1のList 53がFile 2のList 1になります。
 事前にセットアップで必要なFile数を確保してください。

(例)File 0
 Mat/List/Vct表示で通し連番リストで使用します。

・不等号および積分のGraphをサポートしました。(※単一グラフの描画のみです。)

(以下1.84/1.85での修正です。)
・Trnコマンドをエンバグしていたのを修正しました。
・StrRotateコマンドの回転方向が逆だったのを修正しました。

Re^6: C.Basic for FX v1.85β(fx-9860G Slim対応版)

管理人様、FXユーザーの皆様、こんにちは!

>楽しみに待っています(^_^)/

Vct関連でMat/List/Vct表示のバグで見つかってちょっとハマってしまってるのでそこのところの修正が終わったら取り掛かりたいと思います。(^^)


>そう言えば、KeyRowの使い方が、前からよく分かっていません。
>サンプルプログラムがあれば(マニュアルにあれば)有り難いです。

マニュアルのサンプル例以上となるとなかなか難しいところなのですが、(^^;
以下のマトリクスのROW値を引数にして
押されたキーに対する対応したビットが1になるというものですが、
こちらのサンプルプログラムをお試しください。
押したキーのビットが1になるプログラムです。
https://pm.matrix.jp/CB/KEYROWB.g1m


>中高年に優しい機種と言えそうですね!

そうなんです。
電子辞書形態なので普段使いには最適と思われるだけに、なぜにこの機種が国内販売されなかったのがちょっと不思議ですね。


>但し電池2本だと、GC50といえどもオーバークロックしてC.Basicをガンガン使うとあっという間に電池が無くなりそうです。

あ゛…それはさすがに厳しいですね。(^^;
電池寿命の短さで製品として短命に終わった可能性もありそうですが、
単4電池なので今後の電池容量の進化で乗り切れるかもしれません。


>普段使いしていない方の fx-CG50 (OS 3.0)ですが、満充電した電池を入れて数ヶ月で容量が40%程度にまで減っていましたが、なんだか以前よりも消費が激しい感じがします。Ptune3 ではノーマルクロックにしています。C.Basicの最近のバージョンが何か影響している可能性はありますでしょうか?

電池の自然放電だけなら一年経っても90%は残ってそうなので、CG50がじわじわと消費している計算ですね。
CG50は実測で電源OFFでも消費電流が常時0.2mA程度食っているので、そこのあたりの可能性もありそうです。
C.Basicの関与は動作時はそれなりにありそうですが、(^^;
電源OFFでは関係無いと思われます。

Re^5: C.Basic for FX v1.85β(fx-9860G Slim対応版)

sentaro様、FXユーザーの皆様

管理人のやすです。

> んと、1.85は1.84のSlim版という位置づけですが、
> 1.85が1.84の完全後継となるべく1.85を調整中です。(^^;

了解です。調整完了までは、両バージョンを載せておくことに致します。



> グラフ電卓は国内では積極的に販売されてないので、新旧機種ともに海外から調達という図式は今後も変わりそうにないですね。(^^;

そうですね。海外直接調達は、慣れれば楽なので、今後お勧めと言えそうです!


> >はい、C.Basicにうまく反映すると良いと、以前から思っていました。
>
> コマンド入力時にミニフォント2行くらいのポップアップ枠でHELPが出てくるのですが、
> 同じ感じで取り入れてみようかと思っています。(^^)

楽しみに待っています(^_^)/


> キーの状態を直に読み出すKeyRowコマンドで互換性が無くなります。(^^;
> この場合は、複数キー読み取り結果がリストで返るGetkeyMを使うと全機種で互換性が取れるようになります。


そう言えば、KeyRowの使い方が、前からよく分かっていません。
サンプルプログラムがあれば(マニュアルにあれば)有り難いです。



> あと、気がついた点としてはSlimの液晶が1割ほど大きいのは結構ポイントかもしれません。
> 並べてみると微妙に大きいのでミニフォントでも見やすくなっています。(^^)

中高年に優しい機種と言えそうですね!


> 全体の大きさと画面の大きさを考えると、
> 通常の使用用途でみればSlimの方がより実践的な形態と思えるので、
> SlimのCG版があったら面白かったかもしれません。(^^)

これは、なかなか良いですね!


但し電池2本だと、GC50といえどもオーバークロックしてC.Basicをガンガン使うとあっという間に電池が無くなりそうです。

普段使いしていない方の fx-CG50 (OS 3.0)ですが、満充電した電池を入れて数ヶ月で容量が40%程度にまで減っていましたが、なんだか以前よりも消費が激しい感じがします。Ptune3 ではノーマルクロックにしています。C.Basicの最近のバージョンが何か影響している可能性はありますでしょうか?

先週、新たに満充電したアマループを入れ替えましたので、改めて放置状態で要すを見てみようかと思います。


Re^4: C.Basic for FX v1.85β(fx-9860G Slim対応版)

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
>そこで、1.84 と 1.85 の両方を最新版として掲載しました。

お手数おかけしました。


>次の Ver 1.86 は、1.84 の後継になるのでしょうか? 或いは 1.85 の後継となるのでしょうか?

んと、1.85は1.84のSlim版という位置づけですが、
1.85が1.84の完全後継となるべく1.85を調整中です。(^^;

HELP機能が追加された場合は一気に1.86になる可能性がありますね。


>狙ってますね!

はい、(^^;
ここまで来ると、完全制覇目指したいところです。


>今後 9860G系は、どんどん品薄になるでしょうから、コレクターズアイテムになる前にゲットしないといけませんね!

グラフ電卓は国内では積極的に販売されてないので、新旧機種ともに海外から調達という図式は今後も変わりそうにないですね。(^^;


>はい、C.Basicにうまく反映すると良いと、以前から思っていました。

コマンド入力時にミニフォント2行くらいのポップアップ枠でHELPが出てくるのですが、
同じ感じで取り入れてみようかと思っています。(^^)


>Getkeyの戻り値が一部異なるのでしょうか?

SDKやCasioBasicで使う限りはキーコードの互換性があります。(^^)
ただ、キーの物理的な配置の互換性が無いので、
キーの状態を直に読み出すKeyRowコマンドで互換性が無くなります。(^^;
この場合は、複数キー読み取り結果がリストで返るGetkeyMを使うと全機種で互換性が取れるようになります。


あと、気がついた点としてはSlimの液晶が1割ほど大きいのは結構ポイントかもしれません。
並べてみると微妙に大きいのでミニフォントでも見やすくなっています。(^^)

全体の大きさと画面の大きさを考えると、
通常の使用用途でみればSlimの方がより実践的な形態と思えるので、
SlimのCG版があったら面白かったかもしれません。(^^)

Re^3: C.Basic for FX v1.85β(fx-9860G Slim対応版)

sentaro様、FXユーザーの皆様

管理人のやすです。


> 1.85はSlim対応のアップデートなのですが、そのために部分的に1.84よりわずか遅くなっていたりするところがあるので、Slim以外では1.84の方がいい場合があります。(^^;
>
> ってことで、1.84も継続アップデートしております。

了解です!
そこで、1.84 と 1.85 の両方を最新版として掲載しました。

次の Ver 1.86 は、1.84 の後継になるのでしょうか? 或いは 1.85 の後継となるのでしょうか?




> んと、まだ元祖9860G(SH3)のSD版とか、フランス版とかがありますが、このあたりはなかなか入手難ですね。(^^;

狙ってますね!


> >私もSlimは欲しいと思っていましたが、中古ですか?
>
> はい、さすがに新品は無くて、程度の良さそうな$50くらいの物件が複数あって、
> 米国内は配送無料だったのですが日本発送だと$20以上かかるので
> セカイモン送料と大差ないのでセカイモンで発注して3週間かかりました。(^^;

今後 9860G系は、どんどん品薄になるでしょうから、コレクターズアイテムになる前にゲットしないといけませんね!


> Slimだけしかない機能としてコマンドのHELP機能があるのですが、これはちょっと便利かもしれません。

はい、C.Basicにうまく反映すると良いと、以前から思っていました。


> SH4世代まで続いていればと思う機種ですが、キーボードの互換性が無かったのが惜しかったかもしれません。

Getkeyの戻り値が一部異なるのでしょうか?


Re:Re: C.Basic for FX v1.85β(fx-9860G Slim対応版)

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
1.85へのアップデート対応ありがとうございます!(^^)


>わっ、ついに 9860Gシリーズがコンプリートですか!

んと、まだ元祖9860G(SH3)のSD版とか、フランス版とかがありますが、このあたりはなかなか入手難ですね。(^^;


>私もSlimは欲しいと思っていましたが、中古ですか?

はい、さすがに新品は無くて、程度の良さそうな$50くらいの物件が複数あって、
米国内は配送無料だったのですが日本発送だと$20以上かかるので
セカイモン送料と大差ないのでセカイモンで発注して3週間かかりました。(^^;

本体はSlimというだけに9860GIIよりは小さくて、折りたたんだ状態でCG50のLCDを除いたキーボード面とほぼ同じ大きさです。
Slimは電池は二本で軽いので実用的にはこちらの方が使いやすそうな感じがあります。
ただ9860GIIシリーズのキー配置に慣れてると、Slimのキー配置はちょっと違うので、
いちいち確認しないと押し間違えるので、初心者モードに逆戻りです。(^^;
Slimだけしかない機能としてコマンドのHELP機能があるのですが、これはちょっと便利かもしれません。
SH4世代まで続いていればと思う機種ですが、キーボードの互換性が無かったのが惜しかったかもしれません。


>これは、アメリカやヨーロッパでは、ポイント高いですね。

はい!
と思ったんですけど、現役Slimユーザーがどれだけいるのかわからないので、今更感があるかもしれません。(^^;

ということで、
1.85はSlim対応のアップデートなのですが、そのために部分的に1.84よりわずか遅くなっていたりするところがあるので、Slim以外では1.84の方がいい場合があります。(^^;

ってことで、1.84も継続アップデートしております。

https://pm.matrix.jp/CB/CBASIC184beta.zip
https://pm.matrix.jp/CB/CBASIC185beta.zip
・ClrVctがSprintf(に自動変換されてしまう不具合を修正しました。
 併せて、"DotGet("の中間コードの自動変換も停止しました。
 (これにより従来バージョン互換のための中間コードの自動修正はすべて無くなります。)

Re: C.Basic for FX v1.85β(fx-9860G Slim対応版)

sentaro様、FXユーザーの皆様

管理人のやすです。

チョット遅れましたが、アップデート対応しました。


> ところで、以前からちょこっと気になっていたクラムシェル型の9860G Slimですが、
> この度やっとebayより入手できましたので、C.Basic対応してみました。

わっ、ついに 9860Gシリーズがコンプリートですか!

私もSlimは欲しいと思っていましたが、中古ですか?


> これでめでたく全9860Gシリーズ対応となりました。(^^)

これは、アメリカやヨーロッパでは、ポイント高いですね。

C.Basic for FX v1.85β(fx-9860G Slim対応版)

管理人様、FXユーザーの皆様、こんにちは!

管理人様、
毎度、アップデート対応ありがとうございます!(^^)


ところで、以前からちょこっと気になっていたクラムシェル型の9860G Slimですが、
この度やっとebayより入手できましたので、C.Basic対応してみました。
といっても、キー入力とバックライトの変更をしたのみですが、(^^;
これでめでたく全9860Gシリーズ対応となりました。(^^)

あと、機種判定の返り値を間違えていたので修正です。(^^;


https://pm.matrix.jp/CB/CBASIC185beta.zip
・fx-9860G Slimに対応しました。
(GetkeyコマンドおよびバックライトをSlim対応しました。)

・System(-1)での機種判定をにSlimを追加しました。
 9860G:0 Slim:1 9860GII(SH3):2 9860GII(SH4A):3

・Trnコマンドを含む数式でメモリエラーになることのある不具合を修正しました。

Re: C.Basic for FX v1.84β(微妙に高速版)

sentaro様、FXユーザーの皆様

管理人のやすです。

アップデートしたFX版について、さきほどページを反映させました。
ここしばらく、忙しいのと、FC2ホームページの不具合⇒メンテナンス⇒それでも不具合 が続き、個別に調整してもらって、やっとログインできるようになりました。

そんなことで、対応が少し遅くなってしまいました。

https://egadget.blog.fc2.com/blog-entry-495.html

C.Basic for FX v1.84β(微妙に高速版)

管理人様、FXユーザーの皆様、こんにちは!

CG版の修正に対応してFX版もアップデートです。

https://pm.matrix.jp/CB/CBASIC184beta.zip
・[AC]キーのSTOP判定を減らしました。
 結果、Break On時でもBreak Offとほぼ変わらない速度となりました。
(SH3 ) 10%ほど速くなります。
(SH4A) 2~3%ほど速くなります。

・Listの自動確保を修正しました。
・raph(Y)とfnのXを引数に持つ場合の動作を修正しました。
(誤)"X+5"->fn1
   fn1(7)で返る値は(X+5)*7
(正)"X+5"->fn1
   fn1(7)で返る値は(7+5)

C.Basic for FX v1.83β(ベクトルコマンド+シリアルコマンドのバグ修正版)

管理人様、FXユーザーの皆様、こんにちは!

CG版のベクトル追加に対応してFX版もアップデートです。
あと、シリアルコマンドの不具合が見つかったのでそこのところも修正しました。

https://pm.matrix.jp/CB/CBASIC183beta.zip
・Send(、Recieve(コマンドにおけるシリアルポートのクローズ処理を修正しました。

・アンダーバーより始まる変数を最大26個から52個に増量しました。
・Aliasコマンドで使用数が超えた場合の不具合を修正しました。
 Aliasコマンドで別名使用できる数は以下のとおりです。
 -変数 64個 (アンダーバーで始まる変数を含みます。)
 -行列/Vct 26個
 -ラベル 26個

・Trnコマンドの引数の式評価を修正しました。
(誤)Trn Mat A+Mat B -> Trn (Mat A+Mat B)
(正)Trn Mat A+Mat B -> (Trn Mat A)+Mat B

・複素数の行列表示を横2だったのを横3に変更しました。

・以下のベクトルコマンドを追加しました。
 Vct
 DotP(
 CrossP(
 Angle(
 UnitV(
 Norm(
 ClrVct
(※Vct A~ZのベクトルはMatと独立した領域を使用します。θ、r、Ans、小文字以降は共通となります。)

・行列一覧では[VARS]でVct表示への切り替えとなります。

・逆行列と行列の二乗計算およびべき乗計算に対応しました。

・ClrListのみの場合、小文字行列(List 27~52)が消去されていた不具合を修正しました。
 修正後はList 1~26の消去となります。

・Orange(Red),Green,Blueのカラーコマンドをエラーにならないようにしました。



-----------------------以下 1.82での修正点です。
https://pm.matrix.jp/CB/CBASIC182beta.zip

・整数モードにおいてAns変数を行列の要素で使用した場合エラーになっていた不具合を修正しました。
・再帰プログラムでスタックエラーが出た時に[EXIT]を何度も押さないと終了しなかった不具合を修正しました。
・Graph Y=コマンドにおいて純正同様に数式を””で囲まなくても良くなりました。
・Cls/ViewWindowコマンド後もテキストモードの場合は"Done"表示しないように修正しました。
・エディタの置換において、ファンクションキーが残っていた不具合を修正しました。
・エディタの置換において、[F4](ALL)と[F5](ALL+)において[AC]中断で置換モードが終了していた不具合を修正しました。
・[F2]-[F3]行列確保においてbit選択の数値入力で4が受け付けられなかった不具合を修正しました。
・V-WinのXscale、Yscaleに負の値を設定した場合、絶対値になるように修正しました。
・セットアップの時刻設定で秒設定がMin表記となっていた間違いを修正しました。
・V-Win設定でエラーになったときの[F4][F5]ファンクションメニュー表示を消去しました。
・エディタの検索/置換で文字列無しの場合に[AC]を押すとファンクションメニューがリセットされていたのを修正しました。

・””出力の仕様をデフォルトでFX/CGシリーズ仕様に変更し、
 ””出力仕様をfx-5800P互換モードとFX/CG互換モードの切り替えをするオプションコマンドを追加しました。
(書式)'#58
 fx-5800P互換出力になります。
(書式)'#98
 fx-9860G/CGシリーズ互換出力になります。

・C.Baisic入力モードでの1行入力時に[F3](COMMAND)と[OPTN]/[VARS]/[SHIFT]+[VARS]を切り替えると元の画面に戻らなくなる不具合を修正しました。
・Listのラベルで8文字未満のラベルの場合に認識されてなかった不具合を修正しました。
・行列一覧画面で[ALPHA]+[アルファベット][Theta][r]、[SHIFT]+[(-)](Ans)、[X,Theta,T]でジャンプ出来るようになりました。
・行列値を求めるDetコマンドを追加しました。
・CHAR選択での上下スクロール矢印表示を改善しました。
・エディタの検索実行中に[F2]で検索画面に戻っていた不具合を修正し、[F6]に再度検索画面に戻る(Retry)機能を新設しました。
・エディタのデバッグモード時に[SHIFT]+[EXIT]で実行してしまう不具合を修正しました。
・デバッグモードから再開する時に画面が復帰しない事がある不具合を修正しました。

・2進数と16進数の0b0,0b1,0b2,0x1,0x2,0x3のテキスト変換がエスケープ扱いになっていたのを修正しました。

・V-Win設定画面からV-MEMへのアクセスを追加しました。
・V-Win設定でTθmaxとTθptch のデフォルト値が違っていたのを修正しました。
・Tθptchへの代入値が0の場合にエラーになるようにしました。

・エディタの入力モードがC.Basicモードの場合に[F6](G<>T)が使えなくなってしまったのを修正しました。
・C.Basicモードのコマンド入力ポップアップとコマンド入力履歴にスクロールインジケーターの上下矢印を追加しました。
・プログラムをデバッグモードで起動したとき、[EXIT]でデバッグモードを抜けた後にファンクションキーが正常動作しなかった不具合を修正しました。
・デバッグモードから抜ける場合の確認ポップアップを追加しました。(セットアップで設定します。)
・セットアップのFix/Sci/Normの桁数指定で[EXIT]で抜けた場合に設定されてしまう不具合を修正しました。

C.Basic for FX v1.81β(いろいろとバグ修正版)

管理人様、FXユーザーの皆様、こんにちは!

1.80以降に発覚したバグ修正+αです。(^^;

http://pm.matrix.jp/CB/CBASIC181beta.zip
・Listのラベルで8文字未満のラベルの場合に認識されてなかった不具合を修正しました。

・行列値を求めるDetコマンドを追加しました。
・行列一覧画面で[ALPHA]+[アルファベット][Theta][r]、[SHIFT]+[(-)](Ans)、[X,Theta,T]でジャンプ出来るようになりました。
・CHAR選択での上下スクロール矢印表示を改善しました。
・エディタの検索実行中に[F2]で検索画面に戻っていた不具合を修正し、[F6]に再度検索画面に戻る(Retry)機能を新設しました。
・エディタのデバッグモード時に[SHIFT]+[EXIT]で実行してしまう不具合を修正しました。
・デバッグモードから再開する時に画面が復帰しない事がある不具合を修正しました。

・2進数と16進数の0b0,0b1,0b2,0x1,0x2,0x3のテキスト変換がエスケープ扱いになっていたのを修正しました。

・V-Win設定画面からV-MEMへのアクセスを追加しました。
・V-Win設定でTθmaxとTθptch のデフォルト値が違っていたのを修正しました。
・Tθptchへの代入値が0の場合にエラーになるようにしました。

・エディタの入力モードがC.Basicモードの場合に[F6](G<>T)が使えなくなってしまったのを修正しました。
・C.Basicモードのコマンド入力ポップアップとコマンド入力履歴にスクロールインジケーターの上下矢印を追加しました。
・プログラムをデバッグモードで起動したとき、[EXIT]でデバッグモードを抜けた後にファンクションキーが正常動作しなかった不具合を修正しました。
・デバッグモードから抜ける場合の確認ポップアップを追加しました。(セットアップで設定します。)
・セットアップのFix/Sci/Normの桁数指定で[EXIT]で抜けた場合に設定されてしまう不具合を修正しました。

C.Basic for FX v1.80β(いろいろとバグ修正版)

管理人様、FXユーザーの皆様、こんにちは!

CG版で発見されたバグ等の修正版です。
メインメモリ(MCS)にも直アクセス可能になったので、FX版のインタプリタ版としてはほぼ完成に近づきつつあります。(^^)


http://pm.matrix.jp/CB/CBASIC180beta.zip
v1.80β 2018.6.17 ベータ版(インタプリタのみ)
・(-)の式評価順序を純正に合わせました。
(※従来は一番上の評価順位でしたが、純正同様のtypeC関数と同じ順位に変更しました。)

・サブプログラムのReturnで[AC]中断になったた場合に中断処理が出来てなかった不具合を修正しました。

・Listの初期化で要素の[1]~[9]までの自動確保においてゼロ初期化が足りなかったのを修正しました。
(※1.77で初期化し過ぎていたのを修正したときのエンバグです。)

・Min(、Max(、SortA/Dを複素数を含む場合、絶対値で大小判定する純正互換仕様に変更しました。
・複素数モードにおけるLCM(コマンドの不具合を修正しました。

・Listのラベルに対応しました。
 要素の開始が1の場合(デフォルト)では、純正と同じく、
(書式)"LABEL"->List 1[0]
 要素の開始が0の場合は、
(書式)"LABEL"->List 1[-1]
 でラベル設定ができます。

(書式)List 1[0]->Str 1
(書式)List 1[-1]->Str 1
 ラベル名を文字列として取得することも出来ます。

・StoV-Win/RclV-Winコマンドで引数に6の指定が出来なかった不具合を修正しました。


v1.79β 2018.6.11 ベータ版(インタプリタのみ)
・エディタのClipモードで[DEL]キーが動作してなかった不具合を修正しました。

・MCS(メインメモリ)のプログラムファイルを使用できるようになりました。
 セットアップでメインメモリを選択すると、ファイルの保存先、ファイル操作はメインメモリのプログラムファイルが対象になります。
 ファイルの保存時やコピー時はMCSからストレージ/SD、ストレージ/SDからMCSへと保存先を変更することが可能です。
 ストレージ/SDメモリモードのときに、[F1](MCS)を選択するとコピー先、保存先がMCSになります。
 MCSモードのときに[F2](g1m)を選択するとコピー先、保存先がストレージ/SDメモリになります。

・MCS(メインメモリ)のPICTファイルを純正互換仕様で使用できるようになりました。

・CAPTファイルは純正同様にMCS(メインメモリ)のみ対応に仕様変更しました。

・List->Matコマンドが動作しなくなっていた不具合を修正しました。
・複素数導入の0.50よりDBLモードにおいてIf、While、Doコマンドにおいて条件判定が整数判定に戻っていたのを修正しました。

・行列をアドレス指定で再割当てした場合、割当先データが変更されてしまうことがあったのを修正しました。
(※アドレス指定で確保した行列は一覧表示で*マークが付きます。)

・外部フォントの使用をコマンドで設定出来るようになりました。
(※セットアップでEnableExFontをOnにした状況で設定が有効になります。)
(※セットアップでEnableExFontをOffにしている状況ではOffのままで有効にはなりません。)
(書式)SetFont 0
 このコマンド以降、外部フォントを使用出来なくなります。
(書式)SetFont 1
 このコマンド以降、外部フォントが使用できるようになります。

・System変数でヒープ領域サイズとOSバージョンを取得できるようになりました。
 System(-2)はOSのバージョンが3桁整数値で返ります。バージョン2.09では209が返ります。
 System(-1)は機種判定が返ります。
 9860G:0 9860GII(SH3):2 9860GII(SH4A):3


v1.78β 2018.5.29 ベータ版(インタプリタのみ)
・エディタで[F1](Jump)モードの時、[SHIFT]+[F6](CHAR)で連続入力モードにした場合、エディタが無反応になる不具合を修正しました。
・複素数モードにおいて、MatおよびListの要素に複素数を含む場合にエラーになっていた不具合を修正しました。
・単位行列を生成するIdentityコマンドを追加しました。
・DrawGraphで描画したグラフが、一時停止や終了時に消えてしまっていた不具合を修正しました。

・複素数モードにおいて、Notが論理Notではなくビット反転演算になっていた不具合を修正しました。
・複素数モードにおいて、RanList#/RanNorm#/RanBin#の返り値が複素数Listにならなかった不具合を修正しました。
・複素数モードにおいて、Int÷の結果が実数値になっていたのを修正しました。

・複素数モードにおいて、整数引数に複素数を含む数式がある場合に文法エラーになっていた不具合を修正しました。

・SortA、SortDコマンドにおいて1未満の実数値でソートされていなかった不具合を修正しました。
・SortA、SortDコマンドの複数引数におけるソートの仕様が非互換だったのを修正しました。
 今までは引数に指定されたすべてのListが個別にソートされていました。
 修正後は、第一引数で指定されるListのソートにリンクして二番目以降のListがソートされます。


v1.77β 2018.5.21 ベータ版(インタプリタのみ)
・エディタの[SHIFT]-[F5]の16進ダンプ表示を大文字小文字切り替えに変更しました。
(※16進ダンプ表示は[SHIFT]+[F3](V-WIN)-[F5]に新設しました。)
・エディタの[SHIFT]+[F6]をデバッグモード以外は[CHAR]選択に変更しました。

・複素数(16バイト)のPoke、Peekに対応しました。
(例)Peek(&A).C
(例)Poke(&A).C,123+456i

・行列の再確保で初期化し過ぎていたのを修正しました。
(例){10,1}->Dim Mat A.B
-1->Mat A
{1,1}->Dim Dim Mat B.B(&Mat A)
[[1]]->Mat B.B
 Mat Bは、
 [[1][-1][-1][-1][-1][-1][-1][-1][-1][-1]]
 となるはずですが、
 実際はこうなってました。
 [[1][0][0][0][0][0][0][0][-1][-1]]

・?()オプションにおいて値が0の場合に表示されなかった不具合と虚数入力でシステムエラーになっていた不具合を修正しました。

・数式後に区切り文字が無いとエラーにするようにしました。


v1.76β 2018.5.13 ベータ版(インタプリタのみ)
・複素数に対応しました。

・1行入力においてクリップボードを有効にしました。
・1行入力開始時の大文字/小文字アイコンの表示切り替えが出来てなかったのを修正しました。

・Getkey1/2において、SDKのキーコードを取得することが出来るようになりました。
(書式)Getkey@1
(書式)Getkey@2
 [@]オプション追加でSDKのキーコードが返ります。

・要素が4ビットの行列を追加しました。
(※8ビット以上の行列とは違い、{m.n}と{X,Y}が逆になっている1ビット行列仕様です。)
 型指定は、NibbleのNで指定します。
(書式){16,8}->Dim Mat A.N

・リスト一覧画面でリスト表示名がおかしくなる不具合を修正しました。
・リストのクリップボード対応をしました。
・[F5]からの行列確保が常にDBLになっていた不具合を修正しました。

・SysCallの入力値でエラーが起きた場合にはコマンド実行前にエラーになるようにしました。
・Sigma、Seqコマンド実行で[AC]キーを有効にしました。

・行列を文字列で初期化する場合に2つ目の文字列先頭に空白がある場合に空白が無効になっていた不具合を修正しました。

・小文字モードのとき、[F5](CHAR)から大文字を入力しても小文字になってしまう不具合を修正しました。

・sinの引数がpiの整数倍になる時に結果がゼロにならないのを改善しました。
 cosも同様に修正しました。
(例)sin pi
(例)cos (pi/2)

・小数点以下指定で丸めるRndFixに有効桁指定で丸めるSciオプションを追加しました。
(書式)RndFix(数式、Sci 桁数)
(例)RndFix(1.23456789e-123,Sci 5)
 1.2346e-123が返ります。

C.Basic for FX Ver 1.75 (メモリ管理変更版)

管理人様、FXユーザーの皆様、こんにちは!

メモリ管理方法を変更したバージョンです。
GIIではない9860Gでも使用メモリが従来よりも増やせます。

http://pm.matrix.jp/CB/CBASIC175beta.zip
・メモリ管理方法を変更しました。
(起動時に全ヒープ領域をC.Basic用として確保し、適宜エリア分割して使用します。)
・ファイルモードで[SHIFT]を押した時に現在使用できる空きメモリ量を表示するようにしました。
(空きメモリはプログラム、行列、Pictで分割使用されます。)
・外部フォントを使用しないモードをセットアップに追加しました。(フリーエリアが4KB増えます。)
・メモリを最大使用できるモードをセットアップに追加しました。
(ファイルリスト表示のためのバッファを開放し、空きメモリを最大限増やします。)
(副作用として毎回ファイルリストの再読み込みが発生します。)

・32KBを越える所へのGotoの動作が出来なかった不具合を修正しました。
 併せて64KBを越える所を含むループやジャンプが出来なかった不具合を修正しました。
(※プログラムの動作に関わるポインタを16ビットから32ビットに拡張しました。)

・Save Loadコマンドのファイル名に文字列変数が使えるようにしました。

C.Basic for FX Ver 1.74 (64KB以上のファイル対応版)

管理人様、FXユーザーの皆様、こんにちは!

純正での制限64KB以上のプログラムファイルは扱えないかなと思ってましたが、
とりあえず制限解除してみました。(^^)
(隠しRAM使用必須です。)

http://pm.matrix.jp/CB/CBASIC174beta.zip
・64KB以上のプログラムファイルに対応しました。

・Fix 0の表示非互換性を修正しました。

・オプション付きの?(コマンドでファンクション表示エリアの8行目も入力出来るようになりました。
・オプション付きの?コマンドで7行目の入力で改行される不具合を修正しました。

・[MENU]でコマンド入力履歴を表示させた後、[AC]で画面が復帰しない不具合を修正しました。
・行列のドットエディタ表示時に電源を切ると、カーソルが残る不具合を修正しました。
・Peek,Pokeコマンドでの指定アドレスのミスアラインメントによるエラーをArgument ERRからAddress align ERRに変更しました。

・バージョンを返すVersionシステム変数を追加しました。
(書式) Version [SHIFT]+[MENU](SETUP)-[F6]-[F6]-[F6]-[F6]-[F5](Version)

・StrSplitコマンドで2バイト文字が含まれていた場合に正常動作しなかった不具合を修正しました。

Re:C.Basic for FX Ver 1.73

管理人様、
バージョンアップしてもまたすぐにバグが見つかるので、毎度お手数おかけしてます。(^^;
ところで、UCFは7月で終了してしまうような書き込みがありましたけど、どうなるんでしょう?
http://community.casiocalc.org/topic/7755-ssl-lets-encrypt/#entry61632


iron2様、体調の方はどうでしょうか?
このエントリと違うエントリでレスしてしまってたので(汗)
後から見た方には繋がりが分かりにくいかも、ということで一応リンク置いておきますね。m(_ _)m
http://egadget.blog.fc2.com/blog-entry-658.html#comment3093

C.Basic for FX Ver 1.73

sentaro様

管理人のやすです。

UCFでアナウンスされた Ver 1.73 ですが、エントリーにも反映させました。

Re: おひさしぶりです

iron2様、sentaro様、ツル様、CGユーザーの皆様

管理人のやすです。

iron2様、
顕微鏡モードの実装、楽しみにしています。

楽しくないと意味がありませんので、ノンビリと時間が掛かってもお気になさらず、マイペースでお取り組みくださいね。

おひさしぶりです

管理人様、sentaro様、ツル様、CGユーザーの皆様

iron2です。

ご無沙汰しております。
体調を崩していて投稿欄が復活している事に
今日気付きませんでした。


MNDELVWは十字カーソルをマンデルブロート画像の上に
表示するようにはできました。

マンデルブロート画像の中心は一番大きい円の中心が(0,0)
です。
十字カーソルは表示画面中央W/2,T/2がドットが中心です。
複素数面の座標c,dに直したとき1/4画像でX(-3),Y(0)離れて
いるのでX-3,Y0を補正してあげると十字カーソルが原点となり
十字カーソルを動かした後の座標をNEWOrijinとすることにより
次に描画した時に見たい箇所が表示画面中央となる様にしました。

あとは倍率とそれにともなう移動量の調整ができれば
計算的には顕微鏡モードになると思っています。
(テキスト入力で数値いれるか、毎回ボタンか迷ったけど
 ボタンでとりあえずがんばります。)

ただ、Orojinのキーループに倍率のIN,OUTの分岐コード
を入れないといけないので四苦八苦しています。

もうコード的にははじめの理想や志とか霧散し
約束とは言わないけど、宣言したVer3になかなか
ただりつけず、技術の無さ、センスの無さに
我ながら苦笑中です。

あまり体の調子も良くなく、もう少し先になりそうですが
期待せずお待ちください。

これからもよろしくお願いします。

C.Basic for FX v1.71β (文字列関数修正+テキスト変換修正版)差し替えです。

管理人様、ツル様、iron2様、FXユーザーの皆様、こんにちは!

CG版にて発覚した文字列関数のバグを修正しました。

C.Basic for FX v1.71β (文字列関数修正+テキスト変換修正版)差し替えです。
http://pm.matrix.jp/CB/CBASIC171beta.zip
・文字のASCIIコードを取得するStrAsc(コマンドを追加しました。 [Shift]+[VARS](PRGM)-[F6]-[F6]-[F3](ExStr)-[F6]-[F6]-[F2](StrAsc)
(例)StrAsc("Ascii")
 文字列先頭の'A'のASCII文字コード65(0x41)が返ります。

・StrLen(、StrCmp(、StrSrc(コマンドにおいて閉じ括弧を読み飛ばしすぎていた不具合を修正しました。
(例)(10-StrLen("ABC"))*2
 正しい値は(10-3)*2で14になるはずが、閉じ括弧が一つ飛ばされて(10-StrLen("ABC")*2と解釈されて4となっていました。

Re:C.Basic for FX v1.71β (テキスト変換修正版)

管理人様、ツル様、iron2様、FXユーザーの皆様、こんにちは!

管理人様、
>for FX Ver 1.71 ですが、[SHIFT][MENU](SET UP) で表示されるバージョン表記が Ver 1.70 のままでした。

ありり?
ってことで、ダウンロードチェックしてみたところ、1.71になっている模様です。
1.71のファイルサイズは382900バイトですが、合ってますでしょうか?

C.Basic for FX v1.71β (テキスト変換修正版)

sentaro様、ツル様、iron2様、FXユーザーの皆様

管理人のやすです。

for FX Ver 1.71 ですが、[SHIFT][MENU](SET UP) で表示されるバージョン表記が Ver 1.70 のままでした。

ご確認頂けますか?

Re: C.Basic for CG v0.38α + C.Basic for FX v1.71β (テキスト変換修正版)

sentaro様、ツル様、iron2様、CG&FXユーザーの皆様


管理人のやすです。


コメントが書き込めなくなっているのに気がつきませんでした。仕様のようです。
大変申し訳ございません。1つのエントリでこれほど多くのコメントが伸びたのは初めてなので、ご容赦ください。

そこで、Part2 のエントリを作成しましたので、C.Basic for CG Ver 0.38α 以降は、Part 2 のエントリーへ移動をお願い致します。sentaro様の以下のコメントは、管理人により移動致しました。

なお、C.basic for FX については、引き続きこちらでお願い致します。

ご不便をおかけしますが、よろしくお願い申し上げます。


やす(Krtyski)拝





=============================================================================
> ちょこっとバタバタしてしまって更新遅れてしまってすみません!
>
> C.Basic for CG 開発が始動のエントリがこれ以上書き込めません、
> ということになっていたので、
> こちらでコメントさせていただきます。(^^;
>
> http://egadget.blog.fc2.com/blog-entry-630.html#comment3073
> iron2様よりご報告のありましたところの拡張変数名がテキスト変換時にコマンドになってしまう仕様ですが、
> 以下のコマンド名のようにテキスト変換でコマンドに変換される可能性のある小文字で短めのコマンド名があるので、
> それが拡張変数名に含まれるとコマンドになってしまい変数名の制限に繋がってしまうということで、
> テキスト変換でコマンド名にならないように修正してみました。
>
> f1
> f2
> f3
> f4
> f5
> f6
> pi
> x1
> y1
> x2
> y2
> x3
> y3
> a0
> a1
> a2
> b0
> b1
> b2
> n1
> n2
> sx1
> sx2
> Fb
> se
> df
> pa
> pb
> pab
>
>
> あとはちょこちょこっと見つかったバグ修正をしております。
>
>
> C.Basic for CG v0.38α (テキスト変換修正版)
> http://pm.matrix.jp/CB/CBASICCG038.zip
> ・アンダーバーより始まる拡張変数名やラベル名がテキストからの変換でコマンド名に変換されてしまうのを修正しました。
> ・外字/カナ文字表示でシステムエラーになることがある不具合を修正しました。
> ・高分解能1/32768sタイマーが?コマンドと一時停止コマンドでリセットされてなかった不具合を修正しました。
> ・
>
> FX版も同時バージョンアップしております。
> http://pm.matrix.jp/CB/CBASIC171beta.zip

C.Basic for CG v0.38α + C.Basic for FX v1.71β (テキスト変換修正版)

管理人様、ツル様、iron2様、CG&FXユーザーの皆様、こんにちは!

ちょこっとバタバタしてしまって更新遅れてしまってすみません!

C.Basic for CG 開発が始動のエントリがこれ以上書き込めません、
ということになっていたので、
こちらでコメントさせていただきます。(^^;

http://egadget.blog.fc2.com/blog-entry-630.html#comment3073
iron2様よりご報告のありましたところの拡張変数名がテキスト変換時にコマンドになってしまう仕様ですが、
以下のコマンド名のようにテキスト変換でコマンドに変換される可能性のある小文字で短めのコマンド名があるので、
それが拡張変数名に含まれるとコマンドになってしまい変数名の制限に繋がってしまうということで、
テキスト変換でコマンド名にならないように修正してみました。

f1
f2
f3
f4
f5
f6
pi
x1
y1
x2
y2
x3
y3
a0
a1
a2
b0
b1
b2
n1
n2
sx1
sx2
Fb
se
df
pa
pb
pab


あとはちょこちょこっと見つかったバグ修正をしております。


C.Basic for CG v0.38α (テキスト変換修正版)
http://pm.matrix.jp/CB/CBASICCG038.zip
・アンダーバーより始まる拡張変数名やラベル名がテキストからの変換でコマンド名に変換されてしまうのを修正しました。
・外字/カナ文字表示でシステムエラーになることがある不具合を修正しました。
・高分解能1/32768sタイマーが?コマンドと一時停止コマンドでリセットされてなかった不具合を修正しました。


FX版も同時バージョンアップしております。
http://pm.matrix.jp/CB/CBASIC171beta.zip

FillRect バルサンツルサン?

sentaro様

年の瀬のお忙しい中、恐縮です。
FillRect が怪しいです。 X座標値を大きく変更しても、逆に小さくなります。
もしかしたら、バルサンツルサンかも知れません。

Re:Re: Re:Re: C.Basic for FX v1.65beta(CG版に倣って更新版)

管理人様、ツル様、FXユーザーの皆様、こんにちは!

>これは、正常動作を確認致しました。

ご確認ありがとうございました!


>が実行されると、その前に FKeyMenuで [F1]、[F4]、[F5]、[F6] を描画したもののうち、[F4]、[F5]、[F6] が消えてしまいます。

再現できました。
CG版ではこの不具合を修正していたのですが、FX版で修正するのを忘れていたようです。(^^;

ってことで、1.65差し替えアップしておきました。
http://pm.matrix.jp/CB/CBASIC165beta.zip



>(->S の -> をはずす)が実行されると、[F4]~[F6]が消える上に [F1]の描画がノイズが乗ったように原型を留めない感じになります(そこに何かがあるのは分かるが、それが何なのかサッパリわからない)。

これはたぶん存在してないアイコンNoになってたのではないかと思われます。
アイコンはOSのバージョンアップで追加されたようで、OS1.xの元祖fx-9860GのOS1.05では1044でシステムエラーになります。(^^;




管理人様、ツル様、
>お待たせしました、ツル様のBMPテスト版です;

気付くのが遅れました。(^^;

なかなか良い雰囲気ですね。
CGシリーズの表現力の可能性を垣間見た気がします。(^^)

Re: Re:Re: C.Basic for FX v1.65beta(CG版に倣って更新版)

sentaro様、ツル様、FXユーザーの皆様

管理人のやすです。


毎日 fx-5800P と fx-CG50 は持ち歩いているのですが、fx-9860GII 系は家で留守番です。
今週、急遽出張に出かけたので、長らく手元に fx-9860GII が無い状態が続き、やっと確認できました。


> PopUpWin(0)とPopUpWin(0)が動作しない問題を修正しました。
> あと、CG版の変更も取り入れております。(^^)

これは、正常動作を確認致しました。


前のバージョンでは問題無かったが、今回新たに1つ気になる現象が見つかりました。

? 拡張コマンドで、例えば

?(16,4,4,"_",4)->S

が実行されると、その前に FKeyMenuで [F1]、[F4]、[F5]、[F6] を描画したもののうち、[F4]、[F5]、[F6] が消えてしまいます。

一方、

?(16,4,4,"_",4)S

(->S の -> をはずす)が実行されると、[F4]~[F6]が消える上に [F1]の描画がノイズが乗ったように原型を留めない感じになります(そこに何かがあるのは分かるが、それが何なのかサッパリわからない)。

?拡張コマンドが、ファンクションアイコンの描画エリアに何か干渉しているようなことはありませんか?

Re: Re:Re: C.Basic for FX v1.65beta(CG版に倣って更新版)

sentaro様、ツル様、FXユーザーの皆様

管理人のやすです。


お待たせしました、ツル様のBMPテスト版です;
https://egadget2.web.fc2.com/archives/fx-CG50/TSURU/YOKO.html

良い感じですね。
昨晩の徹夜明けでヘロヘロですが、気持ちが持ち直します(´。`)


> PopUpWin(0)とPopUpWin(0)が動作しない問題を修正しました。
> あと、CG版の変更も取り入れております。(^^)


> C.Basic for FX v1.65beta(CG版に倣って更新版)差し替えです。
> http://pm.matrix.jp/CB/CBASIC165beta.zip
> ・CLIP&PASTEの選択範囲の一斉コメント化、非コメント化が出来るようになりました。
>  「SHIFT]-[8](CLIP) [F5] or [F6]
> ・BmpLoadコマンドで直にVRAMにロード出来るようになりました。
> (例)BmpLoad("TEST"),100,50
>  (100,50)座標よりTEST.bmpファイルをロードします。
>  (添付サンプルプログラムを参照して下さい。)
> ・BmpSaveコマンドで直にVRAMからセーブ出来るようになりました。
> (例)BmpSave "TEST",100,50,200,90
> (100,50)座標より(200,90)座標までの範囲を24ビットフルカラーBMPファイル"TEST.bmp"としてセーブします。
>  指定可能な座標値は(0,0)-(383,191)の範囲です。
>  (フル画面の保存には1分以上かかる場合があります。)
> ・PopUpWin(コマンドオプション追加です。
> ・画面退避のみ ポップアップしません。
> (書式)PopUpWin(0)
> ・退避した画面の復帰のみ。
> (書式)PopUpWin(9)
>  画面退避バッファはシステムと共通なので、退避後にポップアップが出るとバッファが上書きされ元に戻らなくなりますので注意して下さい。



あとで、ジックリ確認させて頂きます。


厚かれ様です。

Re:Re: C.Basic for FX v1.65beta(CG版に倣って更新版)

管理人様、ツル様、FXユーザーの皆様、こんにちは!

PopUpWin(0)とPopUpWin(0)が動作しない問題を修正しました。
あと、CG版の変更も取り入れております。(^^)

C.Basic for FX v1.65beta(CG版に倣って更新版)差し替えです。
http://pm.matrix.jp/CB/CBASIC165beta.zip
・CLIP&PASTEの選択範囲の一斉コメント化、非コメント化が出来るようになりました。
 「SHIFT]-[8](CLIP) [F5] or [F6]

・BmpLoadコマンドで直にVRAMにロード出来るようになりました。
(例)BmpLoad("TEST"),100,50
 (100,50)座標よりTEST.bmpファイルをロードします。
 (添付サンプルプログラムを参照して下さい。)

・BmpSaveコマンドで直にVRAMからセーブ出来るようになりました。
(例)BmpSave "TEST",100,50,200,90
(100,50)座標より(200,90)座標までの範囲を24ビットフルカラーBMPファイル"TEST.bmp"としてセーブします。
 指定可能な座標値は(0,0)-(383,191)の範囲です。
 (フル画面の保存には1分以上かかる場合があります。)

・PopUpWin(コマンドオプション追加です。
・画面退避のみ ポップアップしません。
(書式)PopUpWin(0)
・退避した画面の復帰のみ。
(書式)PopUpWin(9)
 画面退避バッファはシステムと共通なので、退避後にポップアップが出るとバッファが上書きされ元に戻らなくなりますので注意して下さい。

Re: C.Basic for FX v1.65beta(CG版に倣って更新版)

sentaro様、ツル様、FXユーザーの皆様

管理人のやすです。

CG版で新設された PopUpWin(0) で画面コピーですが、

Ver 1.65βでは、Argument Error になります。引数 0 がはねられている感じがします。

合わせて PopUpWin(9) もご確認ください。

よろしくお願い致します。

C.Basic for FX v1.65beta(CG版に倣って更新版)

管理人様、ツル様、FXユーザーの皆様、こんにちは!

CG更新ばかりで更新が滞ってましたFX版ですが、
CG版更新の過程で露見したバグ修正とCG版の機能追加をしたバージョンです。


C.Basic for FX v1.65beta(CG版に倣って更新版)
http://pm.matrix.jp/CB/CBASIC165beta.zip
・エディタのミニフォントモードのパフォーマンスを向上させました。

・For~Nextの制御変数のエラーチェックを厳しくしました。
(実数モードで整数変数を制御変数に使うとエラーになります。)

・コピー&ペーストの選択範囲とカーソル位置がずれていたのを修正しました。

・[EXIT]をキーを離すまで効かないように変更しました。

・PopUpWin(コマンドを拡張しました。関数としての実装に変更になります。数式の中で使えます。
(書式)PopUpWin( n )
 従来の仕様です。n行分のポップアップを表示させます。表示のみです。

・exit ポップアップ。
(書式)PopUpWin(11,"メッセージ1行目"[,"メッセージ2行目"])
 返り値は常に1です。コマンド終了時に画面が復帰します。

・Yes No ポップアップ。
(書式)PopUpWin(10,"メッセージ1行目"[,"メッセージ2行目"])
 返り値が[Yes]:1 [No]:0となります。コマンド終了時に画面が復帰します。

・FkeyMenu(にシステム内蔵ファンクションキーを表示できるようにしました。
(例)FkeyMenu(1,42)
 テキスト画面の一番左側のファンクションメニューエリアに白抜きのEDITが描画されます。

・中断再開時の[EXE][F1]キーの入力が継続しないようにしました。

・?拡張コマンドの動作をEXEキー押下で終了するように変更しました。

・セットアップの左右キーで最初と最後に移動するようにしました。

・コメントがあった場合の非互換性を修正しました。

・?拡張コマンドの入力文字数制限が機能していなかったのを修正しました。

電卓ケース

管理人様、sentaro様、  お世話になっております。

sentaro様。 takumako様のPCリンクご紹介ありがとうございます。
以前にもご紹介頂き、PCのお気に入りに登録済みです。(笑)
作る技術はあるのですが作る暇が無くて。(笑)

管理人様。その電卓ケース。私も以前に検討したことがあります。(笑)
細かいものの収納性がいいとついつい色んなものを入れる習性があるのでやめました。(笑)
ツルの場合、工具類の尖っていて硬くて重いものを落下させる危険性が極めて高く、クッションタイプは避けています。

>電卓に合うものを探すのに苦労しています・・・

ほんとですね。お手軽価格になってきたとは言え、精密電子機器ですからね。
クッション性と堅牢性は欲しいです。
パーツストッカーは気に入ってます。平気で鞄に放り込んでおけます。
サイズが専用かのように丁度良くて、スペアの電池も4本入れておくことが出来るのです。
付属のハードカバーって、案外邪魔ですよね。その点、5800Pはいいです。

電卓の収納

ツル様
sentaro様

持ち運ぶ間に電卓本体が傷つくのが嫌なので、クッションタイプのポーチを使っています。

例えば、以下だと fx-CG50 にピッタリサイズです。
https://www.amazon.co.jp/gp/product/B000X05SEK/ref=oh_aui_detailpage_o01_s00?ie=UTF8&psc=1

以前は、巾着タイプのクッションポーチを買って、fx-9860GII 用に使っています。

使う時は、ハードカバーを裏に付けて、机があれば上に置いて使いますが、移動中は手で持って使います。外側を頻繁に清掃しています。
https://www.amazon.co.jp/gp/product/B0006ZEJ2E/ref=oh_aui_detailpage_o06_s00?ie=UTF8&psc=1


最近購入した fx-9860GII SD 用には、以下の電卓ケースを使っています。
https://www.amazon.co.jp/gp/product/B01L6M2PV2/ref=oh_aui_detailpage_o05_s00?ie=UTF8&psc=1

fx-9860GII (SD) にピッタリサイズで、ハードカバーを裏につけた状態で収納しています。移動中もケースに入れたまま使っています。

但し、fx-CG50 だとハードカバーが無ければ収まりますが、カバーを付けると幅が僅かに足りず、収まりません。


fx-5800P は、小型・巾着タイプのクッションケースに入れるか、カバンの専用スペースに薄いクッション材で作り付けたポケット内に収納して持ち歩いています。或いはジャケットやスーツの内ポケットに収納します。


最近、クッションポーチはスマホかタブレットのサイズに合わせたものばかりで、電卓に合うものを探すのみ苦労しています。仮に見つかったとしても、在庫なしのことが多いですね。なので、見つけた時にまとめ買いしています。

Re:電卓の収納 F-230HA

管理人様、ツル様、こんにちは!

>5800Pも手軽にデータ送付が出来ればもっと楽しいですね。

takumako様のPCリンクをぜひ。(^^)


>百聞は一見にしかず

動画で見ると一目瞭然ですね!(^^)


>一方、誰もが昔から馴染まされてきた?LCDの残像という味わいがすっかりなくなってしまう訳ですね。頼るは人の目の残像だけで・・・

CasioBasicだけでは難しいかもですが、カラーLCDで残像を意図的に出せば残像の味わいを表現として使うことは出来そうでしょうか。


>ところで、皆様は、電卓を裸でご使用ですか?直(じか)に手で持ったり直にテーブルに置いたりしていますか?

パーツストッカーはケーブルや電池を入れるのに使ってますけど、電卓は直に使ってます。(^^;
使わない個体は付属のスライドカバーをして置いておく感じですね。

電卓の収納 F-230HA

管理人様、sentaro様、  お世話になっております。

管理人様。 わざわざ動画をUP頂きまして、ありがとうございました。
sentaro様のご回答に疑心暗鬼でしたが、完全に納得です!
素晴らしい!
一方、誰もが昔から馴染まされてきた?LCDの残像という味わいがすっかりなくなってしまう訳ですね。頼るは人の目の残像だけで・・・
テキスト表示だから残像がどうのとなる訳で、グラフィックス表示ならば関係なくなるのですが。要はスムーズな流れを表示するには?で考えていたところなのでした。

ところで、皆様は、電卓を裸でご使用ですか?直(じか)に手で持ったり直にテーブルに置いたりしていますか?
ご参考になれば嬉しいのですが、ツルは直に手で持ちません。
(あのSONYのウォークマン、壊れるのは手からの湿気も原因となるのが多いです。VOL調整のドーム型ボタンの湿気による腐食が多い。)
持ったまま作業をしたり、移動の際に軽くぶつけることが多いからです。

ツルはパーツストッカー F-230HA に入れて使用しています。
電池交換とケーブル接続時だけは出します。
このケースだと、蓋の裏側にキーコード表を張っておけ、時には5800Pを乗せることもでき、瞬時に蓋を閉じられるので、液体がかかる恐れの高い時にも安心です。9860とCG50にはちょうど良い寸法なのです。
実際には内側にEVAシートを張ったりして、揺らしてもがたがたしないようにしています。ケース収納時なら落としても安心で重宝しています。
(ホームセンターで500円)
ご参考まで。

Response - fx-CG50 Enjoy this!

ツル様

管理人のやすです。

百聞は一見にしかず

Response の実行画面をご覧あれ

https://youtu.be/LSWzjyAb8mA

fx-CG50 国内発売品

管理人様、sentaro様、  お世話になっております。

管理人様。お返事ありがとうございました。
ツルは、車を買う時の100万円差なら大きいと思いますが、fx-CG50での1万円差は何も差を感じません。
国内発売品の安心感(日本製品は日本で買う信条)がありますので、購入ルートでは悩みません。
CASIOの僕ですから(笑)
10台買うなら少しだけ考えますね。

fx-CG50 国内発売品

ツル様

管理人のやすです。

fx-CG50 国内販売パッケージには、SB-62 (3Pin通信ケーブル) が付属している点が、海外品との違いです。

但し SB-62 は¥3,000 未満で購入できるので、安く海外調達して別途 3Pin ケーブルを購入するのがお得です。

倍ほどする国内発売パッケージのアドバンテージは、なんといっても1年保証の恩恵が受けられることです。

別の考え方をすれば、価格が倍程度違うのなら、万一の場合でももう一回海外調達してもコストはトントン。

さぁ、ツル様はどうなさいますか?

Re: 住み分け

管理人様、sentaro様、  お世話になっております。

管理人様。住み分けの考え、参考になりました。
ところで、akatukiさんのところのコメント欄読んでいました。
なかなか建設的で有意義な会話がされていまいた。

その中で、5800Pによるシューティングものの話が出されていましたが、ツルは
5800Pでは自作シューティングもので楽しんでいます。
5800Pは表示に動きを与えると残像現象が強いので、逆にそれを味として面白がっています(笑)
いいえ、お見せはしませんよ。(笑)
5800Pも手軽にデータ送付が出来ればもっと楽しいですね。

えー、例によって、過去記事の知識武装が未完全なのですが・・・
CG50の国内向け正規品と逆輸入海外版との違いは本当に何もないですか?
正式販売になって、なにか興味深い情報は出てますか?

Re: 住み分け

ツル様
sentaro様

棲み分け、適材適所...

私が考える個人的棲み分け...

<fx-5800P>
これは私の一番のお気に入り。小さいのに頑張るヤツ。理由は色々あるけれど、とにかくお気に入り。私にとっては、電卓プログラミングの原点となった機種。
昔から、プアなマシンでプログラミングをするのが個人的好み。これで動けば、どんな機種でも動く、そんなプログラムが最高だと信じている。


<fx-9860GII>
Ftuen2 で大幅高速化、C.Basic も走る。バックライトがやさしい。ゲームや高速グラフィックスはこの機種だけ。最高のホビー機。何故だか2台持っている。新しいのは設計変更か工程改善かのおかげで、カーソルキーのギシギシ干渉が解消している。


<fx-9860GII SD>
最高のホビー機にSDカードが使えるのは、非常に便利。プログラム開発の際のバージョン管理が容易。C.Basic は SDメモリにもアクセス可能なので、さらにプログラムの幅が広がる。最強のホビー機


<fx-CG20>
既に役割を終えた機種。とにかく動作が遅い。高精細カラー液晶のみが売り。これでプログラミングを楽しむことは殆ど無かった。現在は動態保存のため大切にしている。35年近くたっても動態保存している FX-502P は名器だったが、fx-CG20 はあまり評価されることはないだろう。でも将来評価が変わることがあるかもしれない。


<fx-CG50>
目下の注目機種!
fx-9860GII の後継機種といえる実力を持っている。
Ptune3 によるチューンアップは将来より高速化される可能性が残っているが、今のところ高速化はそこそこ。この点では fx-9860GII が勝る。C.Basic for CG の登場が待たれる。
可能性満載の新機種。

ということで、fx-5800P と fx-CG50 を毎日持ち歩き、普段使いしている。
会社の机の上には fx-CG50、会議ではPCと fx-5800P を持って移動。展示会ではポケットに fx-5800P、スグに技術計算ができるよう仕事用プログラムがスタンバイ!

自作プログラムは、全て機種別にしてエクセルに書き出して管理保存している。
fx-5800P 用プログラムは24シート (24ページ)ある。一方 fx-9860GII 用は10ページ、fx-CG用は4ページ。
それだけ fx-5800P を愛用しているわけだ。


...こんな感じです(^^;


住み分け

管理人様、sentaro様、  お世話になっております。

sentaro様。 ツルは非常に驚きました。Sが10でもはっきり判別可能だなんて。
いまだに信じられないでおります。しかし、これで迷いが取れました。
作るProgの可能性が大きく広がりました。
単純な計算物は5800Pでいいのですが、これからは表現性の高めのものはCG50になります。モノクロでよくて高速性の欲しいものは9860GⅡと、上手い住み分けが出来そうです。いつも分かりやすいご回答ありがとうございます。
単なる9860のカラー版でもなかったですね。

フリーズ!

管理人様、sentaro様、  お世話になっております。

>起動時よりはっきりと判別可能です。

CG50購入します・・・。

Re:Re:テスト用Prog RESPONSE

管理人様、ツル様、こんにちは!

テスト用Prog RESPONSEをCG50で実行してみました。
起動時よりはっきりと判別可能です。
CG50のカラーLCDはTFTですし、fx-9860GIIのLCDの反応速度から比較すると一桁以上違うと思われるので、CG50では表示速度の心配はないと思われます。(^^)

Re: テスト用Prog RESPONSE

ツル様
sentaro様
皆様

管理にのやすです。

取り急ぎ、RESPONSE.g1m のダウンロードリンクです;
https://egadget2.web.fc2.com/archives/fx-9860GII/Response.html

テスト用Prog RESPONSE

管理人様  お世話になっております。

CG50についてご紹介の過去記事を一通り目を通しました。
なんとツルはくだらない質問をしていたのかと恐縮しております。
ご丁寧に対応くださいまして、本当にありがとうございました。
ここで、一皮むけたツルから、改めて質問させてください。

演算処理速度やらLCD表示の大方は理解できましたが、LCD表示のONOFFのレスポンスについては比較記述がないようで、知りたいところであります。

そこで先程、RESPONSE というファイル名のProgをお送りいたしました。
9860GⅡで作成したもので、Isz SにてS値をカウントしながら同時にForNextのWaitの働きをさせたものです。
Sが、10~100へと変化するに伴い流れ表示が遅くなります。

9860GⅡノーマルクロックの場合、50位から表示内容の判別が可能となり、100位でコントラストがはっきりする感じです。

お願いしたいのは、これをCG50で走らせた場合、判別できるのはSがいくつからか? コントラストがはっきりするのはいくつからか? を教えて頂きたいのです。認識には個人差があるでしょうが、管理人様の感覚で結構です。

例のMASTER MINDでのブリンク動画を見る限りではとても性能がよさそうに感じましたが、このRESPONSEの場合ではどうなのか分かれば、定量的で実用的に把握できると思ったのです。ご協力をよろしくお願い致します。
(ツル)

fx-9860GII と fx-CG50 の互換性

ツル様

管理人のやすです。

> どうして9860で作ったMASTERMINDが同じレイアウトでCG50で動くのですか?
> テキスト表示では同じ21✕7なのですか?
> 高精細LCDなのに?


多分下記の2つ記事を読まれると疑問は解けると思いますが...

http://egadget.blog.fc2.com/blog-entry-511.html

http://egadget.blog.fc2.com/blog-entry-594.html

テキスト表示では、おっしゃるように21x7と共通しているので、9860GIIからは100%上位互換です。Casio Basicコマンドレベルでも100%上位互換です。

高精細LCDとの絡みでグラフィックス出力は、100%互換ではありませんが、幾つかのグラフィックスコマンド(上記記事に詳細説明あり)を除けば、上位互換になっています。これは、論理座標系の設定に互換性を持たせているためです。
9860GII でNormal Line (太さがノーマル)を描画すると線の太さは1ドット分です。一方同じ論理座標系の設定をした fx-CG50 では Normal Lineの太さは3ドット分になります。CG50は9860GIIに対して縦横それぞれ3倍のピクセルがあるわけです。

高精細度LCDの良さは、例えば Circleコマンドで円を描くとよくわかります。fx-CG50の円はきれいな円、9860GIIではジャガイモになります(^^;

物理座標系での描画も可能で、物理座標系で使えるコマンドは1ドット単位で描画が可能です。このその場合は両機種間の互換性はありません。


> サイドブレーキのラチェット部を削った口ですね?・・・ふふ

燃料供給のノズルを変えたり、ボアアップしたりもしましたよ!
運転席以外の座席を取り払い、内張も外して、ロールバー、キルスイッチ、消火器を搭載したりもしました。
足回りはビルシュタインのガスショックにコイル1周半り切断とか...

Re:また読まないでCG50の質問

管理人様、ツル様、こんにちは!

>どうして9860で作ったMASTERMINDが同じレイアウトでCG50で動くのですか?
>テキスト表示では同じ21✕7なのですか?
>高精細LCDなのに?
>素朴な疑問です。

CasioBasicでは、Text、Pixel系描画コマンドを除いて互換が取れています。
ってことで、テキストは21x7仕様で同じですからテキスト系プログラムの互換は見た目が綺麗になるのと速度面を除いて完璧なので、fx-9860GIIで動くMASIOシリーズもそのまま動作させることが出来ます。

あっさりいうと、CG50はカラーLCDになったfx-9860GIIと考えて良いですね。
もちろん、それだけではないハード面の向上がありますから今後のアプリケーションの可能性としてはCG50が断然有利です。(^^)

また読まないでCG50の質問

管理人様 こんにちは。

申し訳ありません、一つだけ教えてください。
どうして9860で作ったMASTERMINDが同じレイアウトでCG50で動くのですか?
テキスト表示では同じ21✕7なのですか?
高精細LCDなのに?
素朴な疑問です。

サイドブレーキのラチェット部を削った口ですね?・・・ふふ


雑談

ツル様

管理人のやすです。


> ここで少し雑談を。
> ツルは、Progを作っているとき、かなり昔に趣味としていたプラモデル、近年ではラジコン、を楽しんでいるときと同じ感覚を覚えています。
 :
 :
> あ、結局何が言いたいのかと言いますと。Prog作りって楽しいですね! と。


雑談に参加...(^^;

物作りがお好きなんですね。
自分で作ってそれで遊ぶというのは、ラジコンもプログラミングも同じなんだと...確かに同じですね。
考えてみれば、私も同じです。

子供の頃は鉄道模型(HOゲージ)で、買うと高いから自分で色々と作っていました。
大学時代は、車を弄ってサーキット仕様でサーキット走ったり、ラリー仕様でラリーに出たりしてました。ラジコンよりも一桁以上多くのお金がかかりました。そのためバイトで結構稼いでいました(初任給よりもうんと稼いでいました)。
結婚しお金を好き放題使えなくなってから、仕事で仕方なく必要性からプログラミングを始めたら、その面白さにハマリ、現在に至ります。

そういえば、いわゆるビデオゲームは1台も買ったことが無く、興味もなく、ゲームは作って遊ぶものでした。自分で遊ぶ道具、自分が欲しいものは自分で作るというのは、ツル様のコメントと同じだったと気付きました。

自分だけにカスタマイズした道具作り⊃プログラミングは、他に代えがたい楽しみがありますよね!

記事の探し方

管理人様 こんにちは。

とても実用的な内容でアドバイス頂きありがとうございます。
記事が多くなるとINDEXは助かりますね。

とね日記は半年ほど前から覗いていましたが、誘惑という間の手が強力で、好奇心だけは旺盛なツルは、ついつい軌道計算や数学の奥座敷に座り込んでしまうのでした。そうか、あそこに登場するやすさんが管理人様なのですね!
こうして見えてくると、こちらはONLY ONEの魅力が詰まったブログなのですね!

私がレベルを下げていることが恐縮です。勉強して近づく努力をします。
あ、今、鼻で笑った声が・・・見えてますよ!(笑)

これまで、さりげなく管理人様が貴重な時間を費やして積み上げられたノウハウを様々ご披露頂いていたことに、とても感謝しております。
どうかこれからもよろしくお願いいたします。
喜んで頂けるProgを作ってご提供し、恩返ししたいです。
(ツル)

記事の探し方 (ご参考)

ツル様

管理人のやすです。


> これまで関心がなかったもので関連記事は殆ど見ておりませんでした。

そんなものだと思います。

<記事の探し方>
当ブログの記事数が350を超えてしまっていて、私自身でも過去の記事を探すのが簡単でないことがあります。
そんな時のために、全記事の目次を作っております。
http://egadget.blog.fc2.com/blog-entry-8.html

既にご覧になっているとは思いますが...

ちなみに e-Gadget の常にトップに表示されるページは、いわゆるポータル (玄関口) として簡単な目次になっています。


> もう随分と情報が上がっているのですね。
> (多くの使用者のレビューも見てみたい・・・)


Casio Basicプログラミングについて記載されたのは、恐らく当ブログのみではないかと思います。
http://egadget.blog.fc2.com/blog-entry-8.html#fx-CG50

但し、3Dグラフ機能などは、逆に私は興味が無いので一言も触れておりません(^^;

簡単なプログラムの処理速度を他機種と比較評価した記事としては、当ブログ以外では以下があります。
・とね日記:http://blog.goo.ne.jp/ktonegaw/e/931887855b489997d262031d02ae0ac5


私が知る限り、fx-CG50 の他の記事は、今のところ First Impression 記事が殆どだと思います。


お手を煩わせてしまいました。

管理人様  お世話になっております。

早速のご回答ありがとうございました。
これまで関心がなかったもので関連記事は殆ど見ておりませんでした。

もう随分と情報が上がっているのですね。
よく読んで勉強します。
(多くの使用者のレビューも見てみたい・・・)

fx-CG50用チューンアップツール:Ptune3

ツル様
sentaro様

> 9860でのFtune2に当たるチューンアップアドインはCG50用にもう用意されているのでしたでしょうか?
> そもそもCG50にそういったものは必要ですか?


ここをご覧ください。Q&A はこの記事のコメント欄で行います。
http://egadget.blog.fc2.com/blog-entry-593.html


現状では、fx-9860GII のような大幅な高速化は出来ていませんが、少なくとも2倍程度にはなります。
但し、2倍程度だとグラフィックス表示は、相変わらず遅いまま、といった感じです。

それまで使っていた SRAM に変わり、fx-CG50 ではSDRAMが使われており、そこのところの扱いについて、sentaro様が安全な高速化について検討中とのことです。


> 互いにノーマル比較で、9860とCG50とは処理速度、描画速度は同程度でしょうか?
> 9860比で電池の持ちは、どんな感じですか?


ほぼ同等になっています。
消費電力なども含めて、fx-CG50 について以下の記事で頑張って取り上げていますので、ご覧ください。
http://egadget.blog.fc2.com/blog-entry-594.html

CG50 質問

管理人様、sentaro様、  お世話になっております。

大変申し訳ございません。
調べればすぐ分かることだと思いますが、ちょっと手が離せなくて・・・教えてください。
9860でのFtune2に当たるチューンアップアドインはCG50用にもう用意されているのでしたでしょうか?
そもそもCG50にそういったものは必要ですか?

互いにノーマル比較で、9860とCG50とは処理速度、描画速度は同程度でしょうか?
9860比で電池の持ちは、どんな感じですか?

Re:MASIO58

管理人様、ツル様、こんにちは!

MASIOV4M、MASIOV4C、MASIO58、頂きました。
Easy Modeの修正、確認できました。
MASIOV4M、MASIOV4CにVer.5のリンクが用意されているということは……(^^)


>MASIO58は、最終的には2画面目にトライ7~10の入力画面とし、=のブリンクなども付ける予定で、構想は出来ています。SHIFTキーで1画面2画面の切り替え。

fx-5800P版のお試し版、いい感じで出来上がってきてますね。(^^)
6トライだとちょっときついので今後の仕上がりに期待大です。


>初めてのトライでは 4 Blow でしたが、2回目でめでたく 4 Hot となりました。

3回目のトライで4桁確定したのが大きいですね。
なかなかこうはいかないので6回以内で当てるのに難儀してます。(^^;


>やっぱり綺麗ですね!  CG50買おうかな・・・

CG20だと動作速度の問題もあって手放しでは勧められないところもありましたが、CG50は9860GIIのカラー版としてやっとお勧め出来るという感じです。(^^)

Re: MASIOV4M まだ修正あります。

ツル様
sentaro様

管理人のやすです。


> ああ、やはり・・・ 管理人様のデバッグ後、Easyにて画面左上にEが出なくなりました。カラー版見ましたが出ていませんね。

すみません、失礼しました。
修正して差し替えました。

'=====(display)====
 :
 :
Mat Z[1,2]=10⇒Locate 1,2,"E"
Mat Z{1,3]=1⇒Locate 1,2,"N"
 :
 :


赤文字のところ 1 から 10 に修正しました。

取り急ぎ...

MASIOV4M まだ修正あります。

管理人様、sentaro様、  お世話になっております。

ああ、やはり・・・ 管理人様のデバッグ後、Easyにて画面左上にEが出なくなりました。カラー版見ましたが出ていませんね。

それで、配列変数なしに判読性の高いProgにしたいと考えています。
実は、現状のが自分でも理解に悩む時があり(笑)
せっかくデバッグ頂いたのに恐縮なのですが、手を入れさせて下さい。

ところで、ようやくカラー版の紙吹雪を見ることができました!
やっぱり綺麗ですね!  CG50買おうかな・・・
Prog作りを楽しむだけなら9860で十分ではあるので、迷いますね。


ここで少し雑談を。
ツルは、Progを作っているとき、かなり昔に趣味としていたプラモデル、近年ではラジコン、を楽しんでいるときと同じ感覚を覚えています。
あれらは当然、出来上がった時の喜びもありますが、作っているときが至福のひと時でもあります。バリ取りや継ぎ目の修正がデバッグだし、様々な作業中の感覚がとても似ていると感じています。
因みに、ラジコンは船、車、戦車、飛行機、ヘリと幅広く楽しみました。
ヘリはメインローター径が1800mmある中型のガソリンエンジン仕様で、送信機だけで30万円、機体合わせて100万円以上かかりました。
事故もなくラジコンから足を洗いました。
友人にはプロペラで手のひらの肉を剥いだり子供の頭に怪我をさせたりというなかで、付近で使用電波のチェックなしでいきなりラジコンを始める輩がいて、飛行機やヘリがアンコントロールになると非常に危険で、事故を起こす前にやめました。
ヘリの時には、NTTの人からビル建設の空撮を頼まれたこともありました。
市街地だったので断りましたが。
あ、結局何が言いたいのかと言いますと。Prog作りって楽しいですね! と。
長文失礼しました。
(ツル)

Re: 公開版 MASIOV4M と MASIOV4C 取り敢えず差し替え

ツル様
sentaro様

管理人のやすです。


プログラムライブラリで、動画を追加しました。

また、カラー版のプログラムが、モノクロ版の更新と連動していなかった部分を修正しました。

http://egadget.blog.fc2.com/blog-entry-616.html

http://egadget.blog.fc2.com/blog-entry-617.html

カラー版のお祝い画面をごらんください>ツル様
きれいな紙吹雪になっております。

Re: MASIO58

ツル様
sentaro様

管理人のやすです。

> ところで、MASIO58で、正解画面をbmp画像で見せ付けられるとは思いませんでした!(笑)

初めてのトライでは 4 Blow でしたが、2回目でめでたく 4 Hot となりました。
https://egadget2.web.fc2.com/archives/fx-9860GII/MASIO58_Images.html

4 Hit後、バックライトをオンにするため、[SHIFT][OPTN] を押したら、? が2つ増えてしまいました。

キー制御はこれから実装なさるのすが、改めて見せつけてみました(^^;

MASIO58

管理人様、sentaro様 こんにちは。

デバッグ頂き、ありがとうございます。
今晩やる予定でしたが、やはり管理人様がやると早いですね。
ありがとうございました。

ところで、MASIO58で、正解画面をbmp画像で見せ付けられるとは思いませんでした!(笑)

MASIO58は、最終的には2画面目にトライ7~10の入力画面とし、=のブリンクなども付ける予定で、構想は出来ています。SHIFTキーで1画面2画面の切り替え。

黒丸白丸でなくてもすぐに慣れますよね。
入力方向は、あくまでも[ ]に向かって行くのを基本としています。

Re: Re: MASIO58 ?

ツル様
sentaro様

管理人のやすです。


正解と思ったら、4Hit でなくて 4 Blow だった、大きな勘違い。
なので、コメント削除しました。

スマホから、慌てて削除&追加コメントです

Re: MASIO58 ?

ツル様
sentaro様

管理人のやすです。

fx-5800P 用 fx-9860GII エミュレート版 MASIO58 のダウンロードリンクです;

https://egadget2.web.fc2.com/archives/fx-9860GII/MASIO58.html

あとで、拝見しますね。


fx-5800P はシンプルな感じで、それでいて使い勝手が考慮されているので、私もお気に入りです。
グラフ関数電卓よりも画面が狭いですが、あの小さく薄い筐体に収まっていて、なおかつ完成度の高い Casio Basic が走るので、"やっぱり fx-5800P が好き" となるんです。

公開版 MASIOV4M と MASIOV4C 取り敢えず差し替え

ツル様
sentaro様

管理人のやすです。

ちょうど今日も出張で、食事している時に時間があったのでチョコットデバッグしてみました。

取り敢えずの症状を抑える対処療法です;
変更したところを赤文字で示します。

<変更箇所1>
{1,3}→Dim Mat Z
' Z=0 10→MAT Z[1,2]
'(easy) 10→MAT Z[1,3]
' Z=1 1→MAT Z[1,2]
(normal) 2→MAT Z[1,3]


<変更箇所2>
Do
Getkey→K
If K=78:Then
If Z:Then 0→Z
Locate 9,6,"Normal"
1→Mat Z[1,2]
2→Mat Z[1,3]
Else 1→Z
10→Mat Z[1,2]
10→Mat Z[1,3]
IfENd
While Getkey
WhileEnd
IfEnd
LpWhile K≠32


<変更箇所3>
'======(prize)======


Q=0 And C≥7 And C≤10 And J=50⇒Mat Z[1,2]+P→P




以上3カ所を変更することで、easy mode で 7~10トライで正解した時、◇=10 と正しく表示します。
他も、取り敢えず仕様通りに動作すると思います。

あと、正解した後に一番したの行に流れ文字が表示されている時に、待てずに、[EXE]キーで先に進みたいと思ってしまう時、[EXE] の応答をチョイと良くしてみたので、以下のように Getkey=31⇒Break を一カ所追加しました。

'======(ending)=====
Lbl 2
 :
 :
C=5⇒Locate S,7,"fantastic! "
Getkey=31⇒Break
C=6⇒Locate S,7,"oh, great ! "
 :
 :


> あ、MASIOV4Mは、変数Vが空いていることが分かり、Vをモードに使い、簡潔合理的に見直し、不具合を残さないよう仕上げる予定です。
> 管理人様、一旦Ver4公開なしにしては・・・


ということで、モノクロ版とカラー版双方を上のように修正し、差し替えしておきました。

これで良いでしょうか?

MASIO58 ?

管理人様、sentaro様、  お世話になっております。


>次はいよいよfx-5800P版ですが、9860G版の画面サイズを16x4に限定すれば9860G上でも動作検証できそうでしょうか。

sentaro様。 ふふふ・・・ 満面の笑み。(ツル)

古女房

管理人様

やっぱり、5800Pはとてもいいです。

いじっていると初心に戻れる感じです。
何より本体がsimpleで愛おしいです。バックライトがないのもsimple。
5800Pでマシオが動く感動。これからも愛し続けるかわいい古女房(笑)

fx-5800P用MASIO お試し版

管理人様、sentaro様、  お世話になっております。

残務がありながらの道草をお許しください。

ツルはここのところ、5800PでのMASTER MIND作成にはまっておりまして、
というのも、例の配列変数による予想値入力が上手くいったことと、5800Pに向けたProgダイエットが上手く進んでいることから只今ノリノリなのです。

従来、HIT数BLOW数から判定パターンごと変数Jに置き換えて、J毎にLocateで
黒丸白丸表示をしていました。
Locateを減らす目標と、5800Pではその表示が出来ない制約から、別の判定表示Progを模索していました。
そして、出来たのです。
ヒントは、sentaro様のDELによる入力予測値の訂正Progです。
全体のProg使用Bytes数も大きく減らすことが出来ました。

で、どのような感じになるか、開発中のものが9860GⅡでイメージを持てるように管理人にMASIO58としてお送りいたしました。
只今、基本設計中で、ゆっくり仕上げる予定です。


あ、MASIOV4Mは、変数Vが空いていることが分かり、Vをモードに使い、簡潔合理的に見直し、不具合を残さないよう仕上げる予定です。
管理人様、一旦Ver4公開なしにしては・・・

Re: MASIOV4M 要デバッグ - 変数Z

ツル様
sentaro様

管理人のやすです。

プログラムの公開は、私の責任で行っているので、気になさらないでください。
私自身のチェックが甘かったということです。


変数Zについてですが、これは、一番外にある Lbl 0 / Goto 0 ループの外側にあるので、ループ内で同じZを使っても問題ありません。[SHIFT]キーでのモード切替機能を追加した時、このループ内には全く手をつけていませんので、変数Zが問題になることは無い筈です。


MASIOV4M 要デバッグ

管理人様、sentaro様、  お世話になっております。

皆様。公開Progにバグがあり、恐縮しております。

sentaro様。不具合を見つけて頂き、ありがとうございます。
管理人様。公開Progに不具合が残っていたことで恥を掻かせたことに心苦しいです。

そもそも、Easy Modeはデバッグ用だったので、(-)による動作確認が主だったことが後々まで影響し、私の動作確認も(ー)でのもので、まさかEasyで普通に入力し楽しんでみることは想定外でした。ツルのミスです。


整理すると、
Easyでは、10トライ以内に自力正解でも(-)で答えを表示して正解でも、一度に♢は10個獲得でき、容易に祝画面を見られる。

Normalでは、6トライ以内♢2個、7~10トライ以内自力正解で♢1個獲得。途中、(-)での表示があったら♢獲得はなく、Rechallengeとなる。Normalこそが10個集めることを楽しめるモード。これが基本設計です。(途中の場合、それまでの獲得♢を放棄してでも次ゲームに移るか?)

変数Zが、モード選択でも入力予想値でも使われていることも分かり、
prize中心のcode見直しが必要と思います。少しお時間ください。

Re: Re:Master Mind Ver4 をプログラムライブラリとして公開しました

sentaro様
ツル様

管理人のやすです。

> あと、MASIOV4M.g1mのリンクがMASIOV4.g1mのままになっているようです。(^^;

取り敢えず、リンクを修正しておきました。


Re:Master Mind Ver4 をプログラムライブラリとして公開しました

管理人様、ツル様、こんにちは!

>完成度の高いゲームなので、皆さんに楽しいで貰えると良いと思います。

なかなか良いですね。今後いつも電卓上に置いてずっと長く付き合えるゲームだと思います。(^^)

いつもNormal modeでのプレイだったので気がつかなかったのですが、Easy Modeの10トライまで♢10個で祝画面のはずが、7トライ以降はNormal Modeと同じ♢1個になっている模様です。
そのためにEasy Modeでも6トライ以内となるとなかなか祝画面にたどり着けません。(^^;

あと、MASIOV4M.g1mのリンクがMASIOV4.g1mのままになっているようです。(^^;

Master Mind Ver4 をプログラムライブラリとして公開しました

ツル様
sentaro様


おかげ様で、Master Mind Ver4 最終版、NASIOV4M と MASIOV4C をプログラムライブラリとして公開しました。


★ モノクロ版: http://egadget.blog.fc2.com/blog-entry-616.html

★ カラー版: http://egadget.blog.fc2.com/blog-entry-617.html


完成度の高いゲームなので、皆さんに楽しいで貰えると良いと思います。


Re: Re:fx-CG用 SDKについて

sentaro様

> prizmSDK 0.3
> http://jonimoose.net/2011/casio-prizm-gcc-sdk-v0-3/
>
> PrizmSDK Setup Guide
> http://prizm.cemetech.net/index.php/PrizmSDK_Setup_Guide
>
> 任意のフォルダに解凍して、projectフォルダのclean.bat、make.batでサンプルプログラムがコンパイルされます。
> 後はこれをベースにして機能を付け足していくのが一番簡単な方法です。(^^)


ありがとうございます。

ボチボチやってみます。

Re:fx-CG用 SDKについて

管理人様、ツル様、こんにちは!

>以前も伺ったことがあると思うのですが、fx-CG用のSDKを使ってみたいと思っているのですが、現在お使いのもの、あるいはお勧めのものを教えて頂けませんか?
>チョット作ってみたいアドインがあるもので...

んと、基本的にWindowsとLinuxでクロス開発する方法がありますが、Windowsで簡単に使えるものはこれしか無いと思います。
私はまだWindows上のこの0.3で作業しています。
機能的には最小限ですが、足りない機能は付け足していけばとりあえずなんとかなります。(^^;

prizmSDK 0.3
http://jonimoose.net/2011/casio-prizm-gcc-sdk-v0-3/

PrizmSDK Setup Guide
http://prizm.cemetech.net/index.php/PrizmSDK_Setup_Guide


任意のフォルダに解凍して、projectフォルダのclean.bat、make.batでサンプルプログラムがコンパイルされます。
後はこれをベースにして機能を付け足していくのが一番簡単な方法です。(^^)

Ptune2/3はprojectフォルダに解凍して、make.batでコンパイル出来ます。

fx-CG用 SDKについて

sentaro様

管理人のやすです。


以前も伺ったことがあると思うのですが、fx-CG用のSDKを使ってみたいと思っているのですが、現在お使いのもの、あるいはお勧めのものを教えて頂けませんか?

チョット作ってみたいアドインがあるもので...

よろしくお願い致します。

Re:Master Mind Ver.4 (Final Version)

管理人様、ツル様、こんにちは!

MASIOV4M.g1mとMASIOV4C.g3m ファイナルバージョン頂きました。
最初のバージョンから比較すると完成度かなりアップしましたね。(^^)

次はいよいよfx-5800P版ですが、9860G版の画面サイズを16x4に限定すれば9860G上でも動作検証できそうでしょうか。


>バックアップ

何度か電卓上のファイル喪失という事態を経験しているので、こまめなバックアップは必須ですね。
メインメモリーにあるプログラムはストレージメモリ上に丸ごとバックアップが取れるのでそこでもバックアップを作成しています。
SD機だとSDにバックアップが取れるので3重くらいのバックアップが持てますね。(^^)


>メモリテストが不安定

んと、ツル様が体験されたようにメモリチェック中にフリーズしたりすることがある場合、ということです。
正常時は問題なくテスト終了した場合ですね。これが通常時です。
チェック中にフリーズすることが100%無いようにと作成してありましたけど、ツル様がバグ出ししてくださったような感じなので、ちょこっと定数変更という感じです。
で、今回のver1.11aでメモリチェックがエラー無く終了するようでしたら定数変更は一応成功ですけど、今回のバージョンでもまだフリーズになることが起きるとしたらまた対策しないといけません。(^^;

Ftune2 不安定?

sentaro様、管理人様、

sentaro様。 メモリテストが不安定・・・というのはどのような状態、どのような表示に注意しておけばよろしいですか?特に表示については、正常時との差が分かりにくいかも知れないので、着目点などがあれば教えてください。

管理人様。 タイプミスが良くあるのでお許しください。Modo・・・恥ずかしい

MASIOV4M 確認しました。問題なし!

管理人様、sentaro様、   お疲れ様です。

一通り確認いたしました。
問題はないと思います。
これまでの事項が全て反映されていると思います。

ツルの備忘録として記します。
・Ver3からの変更点
1.Normal ModeとEasy Modoとを追加。SHIFTキーで変更。
 Normal Modeでは、(ー)で回答表示すると、そのゲームでの♢獲得はなし。 次のゲームへ進む。

2.Normal Modeでは、6トライ以内に正解の場合、♢2個獲得。
 10トライ以内に正解の場合、♢1個獲得。
 ♢の合計が10個になると、祝画面表示が見られる。

3.Easy Modeでは、正解で♢10個獲得でき、祝画面が見られる。

4.メイン画面左上に、現時点で獲得できる♢数が表示。

5.メイン画面に、Normal ModeではN。Eazy ModeではEが表示。

6.いつでも、EXITキーにて終了可能。

7.p・表示の通り、・キーで現時点の獲得♢(prize)を左上に表示。

8.判定を、白丸黒丸以外にも、HBの下に数字を表示。

9.左下から入力始め、右上へ進行。

Re:Ftune2 フリーズ RESTARTにて無事復帰

管理人様、ツル様、こんにちは!

>裏面のRESTARTにより、無事復帰し、Progへの被害は無い様でホッとしております。過去、幾度かメモリーチェックはしておりますが、初めてのことで焦りました。(汗)

無事復帰できて一安心です。(^^)

メモリテストがいつもエラーになっていないことで少し安心しました。
うちにある一台がフリーズはしないものの計測ミスを起こしていたので、
一応、メモリテストの設定値を変更したバージョンをアップしておきます。
メモリテストが不安定な場合はこのバージョンをお試しください。

Ftune2 ver 1.11a
http://pm.matrix.jp/Ftune2_111a.zip

起動時にメモリチェックのポップアップがいつも出て煩わしいという場合は、
セットアップにてStart MemCKをoffにして、
[SHIFT]+[F1](save)にて設定をセーブしておくと次回起動時にはメモリチェックのポップアップは出なくなります。

Re: Ftune2 フリーズ RESTARTにて無事復帰

ツル様
sentaro様


管理人のやすです。

ツル様、今回は大事に至らず良かったです。

今後似たようなトラブルに備えて、電卓データのバックアップをとって置かれることをお勧めします。

取り敢えず、FA-124 で、Main Memory と Storage Memory 両方のファイルを全てコピーしておくと良いと思います。但し、FA-124で保存されるファイルは、1つの
g2m ファイルに一括保存されます。FA-124に異常があると、g2m ファイルから個別のプログラムファイルを取り出せなません。

そこで、私の場合は、さらに別にバックアップ用フォルダを作って、そこに全ての個別ファイルを保存しています。

2重バックアップしておけば、電卓が壊れない限り心配がありません。

如何でしょう?

Master Mind Ver.4 (Final Version)

ツル様
sentaro様


管理人のやすです。


皆様、お疲れ様です。

一応完成版(?) の Master Mind Ver.4 です。


★ fx-9860GII 用 Master Mind Ver.4 MONOCHROM - MASIOV4M.g1m

https://egadget2.web.fc2.com/archives/fx-9860GII/MASIOV4M.html



★ fx-CG50 / CG20 用 Master Minf Ver.4 COLOR - MASIOV4C.g3m

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MASIO_Ver4_Color.html



これをベースにして、記事の準備をしようと思います。

何かあれば、お聞かせください。

Ftune2 フリーズ RESTARTにて無事復帰

sentaro様、管理人様、  お世話になっております。

sentaro様。早速のアドバイスで助かりました。
裏面のRESTARTにより、無事復帰し、Progへの被害は無い様でホッとしております。過去、幾度かメモリーチェックはしておりますが、初めてのことで焦りました。(汗)
ご対応、ありがとうございました。

Re:Ftune2 フリーズ HELP!

管理人様、ツル様、こんにちは!

>先程、9860GII(ノーマルクロック)にてFtune2にて、メモリーチェック(F1)を誤って押したのですが、何のキーも受け付けない状態でフリーズしました。
>さて、どうしたものでしょう? 復帰方法を教えてください。

この場合は、背面のリセットを押すか、電池を外すことで復帰できると思います。

メモリテストでエラーになった原因としては本体メモリの耐性が想定値を下回ったアクセスエラーが考えられます。
fx-9860GIIで今までにメモリテストでフリーズすることは無いと思っていたのでちょっと焦っています。
とりあえず、リセットお願いします。

Ftune2 フリーズ HELP!

sentaro様、管理人様、  お世話になっております。

先程、9860GII(ノーマルクロック)にてFtune2にて、メモリーチェック(F1)を誤って押したのですが、何のキーも受け付けない状態でフリーズしました。

画面は、左側にO‐0~O12Hz反転表示、右側A‐5とA‐8のみHz未表示。
右下表示 A8044000  で停止。

EXIT、MENU、AC 等押しても無反応です。
バックライトも再点灯しません。

さて、どうしたものでしょう? 復帰方法を教えてください。
因みに、障害に繋がるような操作をした覚えは皆無です。

Re: MASIOV4M celebrate 無駄削除

ツル様
sentaro様

管理人のやすです。


ご指定の部分の削除を手元で行いました。これが、おそらく最終版 MASIOV4M となる感じですよね。

これのモノクロ版に合わせて 恐らく最終版 MASIOV4C も手元で出来ております。

今晩あたり、ダウンロードリンクを公開しますね。



> ー余談ー
> 通称キラキラですが、Ver4からは♢(ダイヤ)を10個集めて祝画面を、というストーリーなので、あのキラキラしているのは♢なのです。


初めて拝見した時、ダイヤが舞っている感じだったので、キラキラと称しました。はい、ちゃんと伝わっております!


> しかし、どう見ても紙吹雪ですね。(笑) カラーでは何に見えますか?(笑)

ランダムカラーなので、紙吹雪です (・_・)キッパリ

ダイヤに見えないとお嘆きかも知れませんが、紙吹雪良いです!



> 9800PのMASTER MIND、ご提案の配列変数からの入力に変え、劇的に入力が良くなりました。基本コードが、5800Pには負担の大きいVer4なので、Progダイエットにも取り組む必要があります。

配列変数利用の入力ですが、fx-5800P 版でうまく動いているようですね。良かったです。


> 管理人様。入力インターフェースの工夫・・・
> その工夫で快適な楽しいProgが実現できますね。とても参考になります。
> もっと小学生辺りからProg作りの楽しさが広まるといいですね。


はい、ポケコン時代と違って、それなりのユーザーインターフェー��るというのが、Casio Basicの奥深さ、工夫のしどころですよね。

パソコンでプログラミングというと、開発環境のインストールや使い方を覚えるのが最初の高い敷居になり、いざ自分で書いたプログラムをビルドした時に出てくる意味不明なエラーを理解できず、タイプミスを見つけるのでさえ難しい...

プログラム電卓だと、これらの敷居が低いから小学生にも良いかも知れません。実際に自分で書いたプログラムがキチンと動いた経験をすると、もっとやってみたいと思う子供はそれなりに多く居ると思います。

MASIOV4M celebrate 無駄削除

管理人様、sentaro様、  お世話になっております。

正解後celebrate画面表示前に、ワンクッション無駄な表示があり、削除したいです。正解してprizeが10以上の場合、祝画面Goto4へ飛ぶのですが、

'====(celebrate)====
Lbl 4:ClrText        
Do:Getkey→I          ←この辺り、こうなるように思いっきり削除で整理。
RanInt#(1,12)→W         これで、正解ブリンクのEXE後キラキラが
    :               すぐに始まります。
    :               ツルはそのほうが良いと思います。                            恐れ入りますが、削除を手作業願えますか?

ー余談ー
通称キラキラですが、Ver4からは♢(ダイヤ)を10個集めて祝画面を、というストーリーなので、あのキラキラしているのは♢なのです。
しかし、どう見ても紙吹雪ですね。(笑) カラーでは何に見えますか?(笑)
そのキラキラ、全体に丸みがあるように見えませんか?
空中を舞う紙吹雪を写真で部分撮影したような四角張った絵を避けるため、
四隅付近の表示を止めて、丸みを出しているんです。(自己満足(笑))



純正CASIO Basic ノーマルクロックでは表示が遅いのでキラキラ感が弱いですが、C.Basicでは丁度良い感じで、ツルはもっぱらC.のほうで楽しんでいます。各ループからの脱出もC.だと反応がいいですね。快適です。

いよいよ、MASIOも手を入れるところがなくなってきた感じですね。
管理人様、お陰様でモード切替も順調、キーリピート抑制も快適です。
sentaro様。お陰様でDELによる入力間違いの訂正も快適です。

9800PのMASTER MIND、ご提案の配列変数からの入力に変え、劇的に入力が良くなりました。基本コードが、5800Pには負担の大きいVer4なので、Progダイエットにも取り組む必要があります。

管理人様。入力インターフェースの工夫・・・
その工夫で快適な楽しいProgが実現できますね。とても参考になります。
もっと小学生辺りからProg作りの楽しさが広まるといいですね。

(ツル)


Re: アドイン版 C.Basic ver.1.64ベータ版(?コマンドオプション追加変更版)

管理人様、ツル様、こんにちは!

>これについては、意図的にやっています。
>私自身、TimeZoneを日常的に使っているなかで、1桁あるいは2桁入力の際はそれを◇◇時00分と見なすような省略入力機能があると便利なので、敢えて上のようにやっています。

あ、なるほど、そういうことだったんですね。
省略形のところ思いっきり見逃してました。(^^;
大変失礼いたしました。

ってことで、C.Basic版Time Zone差し替えました。
http://pm.matrix.jp/CB/TIMEZNCB.zip

Re: アドイン版 C.Basic ver.1.64ベータ版(?コマンドオプション追加変更版)

sentaro様
ツル様

管理にのやすです。

? コマンドの新機能について、これから拝見しようと思います。

その前に、

> ここでひとつバグらしきものが見つかったのでご報告です。
> TZC.g1mの2行目ですが、
> ----------
> Z->X:0->Y
> ----------
> このままだと時間入力が00xxの場合、分の入力値が時間に変換されてしまうので、
> ----------
> 0->X:Z->Y
> ----------
> が正解の様です。


これについては、意図的にやっています。
私自身、TimeZoneを日常的に使っているなかで、1桁あるいは2桁入力の際はそれを◇◇時00分と見なすような省略入力機能があると便利なので、敢えて上のようにやっています。

ご参照:「省略した入力への対応」
http://egadget.blog.fc2.com/blog-entry-130.html

というのも、実際に毎日使っている時、"分" よりも "時" が大切です。時差があるのは "時" であって、"分" には時差が無いからです。なので実は TimeZone では "時" の入力だけでも実用になるのですが、それじゃぁチョット格好悪いから "分" も使うようにしている...そんな感じです。

なので、実際に使う場合は、1桁か2桁の省略機能を使うことが殆どなんです。

そのため、1だけ弊害があって、0時台の入力は24時台として入力しないとダメです。

アドイン版 C.Basic ver.1.64ベータ版(?コマンドオプション追加変更版)

管理人様、ツル様、こんにちは!

MASIOV4、MASIOV4C、MASIOV4M、頂いております。
バージョンアップおつかれさまです。
Easyモードは1回合ったらエンディングなのですね。(^^)
純正版をC.Basicでそのまま動かす場合はWait値を250くらいにするといい感じでしょうか。


>Time Zone

?コマンドの拡張が使えるかもということで、思い立ったが吉日、C.Basicに移植してみました。
C.Basicの特徴である入力待ちループでの消費電力削減と、?コマンドを使ったことにより入力時にカーソルが点滅します。(^^)
http://pm.matrix.jp/CB/TIMEZNCB.zip
・INPI.g1mをC.Basic独自入力コマンドを使用したINPCB.g1mに差し替えています。
・TIMEZONE.g1mとTZS.g1mのGetkeyコマンドをGetkey2コマンドに変更しています。
・新しいファイル名はそれぞれTIMEZNCB.g1mとTZS2.g1mとなっています。

ここでひとつバグらしきものが見つかったのでご報告です。
TZC.g1mの2行目ですが、
----------
Z->X:0->Y
----------
このままだと時間入力が00xxの場合、分の入力値が時間に変換されてしまうので、
----------
0->X:Z->Y
----------
が正解の様です。


この移植の過程でC.Basicの?コマンドオプションに入力桁数の制限をちょこっと追加したので、差し替えました。

アドイン版 C.Basic ver.1.64ベータ版(?コマンドオプション追加変更版)
http://pm.matrix.jp/CB/CBASIC164beta.zip
・v1.55β以降で拡張した?コマンドのオプションパラメータに入力桁数を追加しました。
(書式)?([x][,y][,width][,"空白キャラクタ"][,入力桁数][,R])
 このオプションを付けると直前のカーソル位置から改行されません。入力プロンプトの"?"も表示されません。
 各パラメータは省略できます。
(例)"A="?()->A
 "A="に続いて入力待ちになります。
(例)"A="?(,,,,,R)->A
 "A="に続いて反転表示で入力待ちになります。
(例)"A="?(,,8,,,R)->A
 "A="に続いて反転入力待ちになります。入力範囲は8桁分のみです。それを超える入力では横スクロールします。
(例)?(3,4,5,">",5)A
 X=3,Y=4の位置でAの値を表示して入力待ちになります。入力範囲と入力桁ともに5桁のみ、空白は">"で埋められます。
(例)?(3,4,5,,5,R)A
 X=3,Y=4の位置でAの値を反転表示して入力待ちになります。入力範囲と入力桁ともに5桁のみです。


?コマンドオプションはツル様のMASTER MINDでも使えそうですけど、4桁入力後に[EXE]を押さないといけないのでそこがちょっと違ってしまいます。

Re: Re: モード切替

ツル様
sentaro様

管理人のやすです。

> 管理人様。MASIOV4のSHIFTによるモード切替、いい感じです。
> ただちょっと、画面構成を何とか私の希望を受け入れて頂きたく、レイアウトをMASIOV4Mに入れてありますので、見てやってください。

はい、拝見しました。

[SHIFT] が内緒のキーでなくなりましたね!


> それで、ゲーム中、NomalモードなのかEasyモードなのか一目で分かるように、従来、ゲーム数表示部にGを表示していたのを、NかEの表示にしてみました。

良いアイディアだと思います。


> そうしたら、初めにSHIFTキーで選択操作をすれば選択モードは反映されるのですが、表示のモードをそれで良しとして-で次に進んだ場合、表示のモードが反映されずに、前回終了したモードで始まるという現象になります。
> つまり、スプラッシュ画面ではNormalだったのに、表示はEで、進行もEasyになるということです。どうしてもSHIFT操作は必ずしないとZ[1,2]に入力されないということが起きていますね?
> この場合、どうすればいいのでしょうか?


私の提案にバグがあったことが、おかげさまで分かりました。Mat Z の初期設定をきちんと行っていなかったことによるバグでした(^^;


原因は、プログラム起動直後のゲーム画面描画の際に、

Mat Z[1,2]=0⇒Locate 1,2,"E"

が常に実行されてしまうことで、プログラム起動時に、[SHIFT] キーを押さずに進むと、スプラッシュで Normal Mode と表示されているのにも係わらず、Mat Z[1,2] に 0 が格納されているので、E と表示されます。

で、プログラムが起動され、{1,3}→Dim Mat Z が実行されると、行列の全要素が 0 で初期化され、スプラッシュ画面で [SHIFT] キーを押さない場合は、Mat Z[1,2] と Mat Z[1,3] への値の設定が行われないので、Mat Z[1,2] = 0 の状態のままになります。

従って上記の Mat Z[1,2]=0⇒Locate 1,2,"E" が実行されます。

スプラッシュ画面表示のところの最後に、今回のモード切替のコードがありますが、変数 K と 変数 Z を 0 で初期化する直後に
Mat Z[1,2] も Normal Mode の設定値 1 で初期化しておけば、今回の問題が解決します。
ついでに、Mat Z[1,3] も 2 で初期化しておくと、今後バグで悩まないかも知れません。

0→K:0→Z
1→Mat Z[1,2]
2→Mat Z[1,3]

'(2行追加)


あと、(celebrate) のところで、例えば以下の位置に [EXE] でループ脱出のコードを入れると良いと思います。Celebrate のキラキラ表示中 [EXE]の応答が悪い感じがしますので...

So:Getkey→I
RanInt#(1,21)→W
RanInt#(2,6)→X
RanInt#(1,21)→Y
RanInt#(2,6) →Z
Locate 1,2," "
Locate 1,6," "
Locate 20,2," "
Locate 20,6," "
Getkey=31⇒Break
 :
 :

以上の変更を加えた MASIOV4M のダウンロード;
https://egadget2.web.fc2.com/archives/fx-9860GII/MASIOV4M.html

他にもやり方があるかも知れませんが、ゲーム本体部分をそのままにするには、上記が一番簡単かと思います。



Re: モード切替

管理人様、sentaro様、  お世話になっております。

管理人様。MASIOV4のSHIFTによるモード切替、いい感じです。
ただちょっと、画面構成を何とか私の希望を受け入れて頂きたく、レイアウトをMASIOV4Mに入れてありますので、見てやってください。

それで、ゲーム中、NomalモードなのかEasyモードなのか一目で分かるように、従来、ゲーム数表示部にGを表示していたのを、NかEの表示にしてみました。
そうしたら、初めにSHIFTキーで選択操作をすれば選択モードは反映されるのですが、表示のモードをそれで良しとして-で次に進んだ場合、表示のモードが反映されずに、前回終了したモードで始まるという現象になります。
つまり、スプラッシュ画面ではNormalだったのに、表示はEで、進行もEasyになるということです。どうしてもSHIFT操作は必ずしないとZ[1,2]に入力されないということが起きていますね?
この場合、どうすればいいのでしょうか?

Re: モード切替

ツル様
sentaro様

管理人のやすです。

ツル様お考えに近い実装ができたようで、うれしいです。

取り敢えず、MASIOV4.g1m のダウンロードリンクです。

https://egadget2.web.fc2.com/archives/fx-9860GII/MASIOV4.html


> 私も表示を変えながら何度も見ていますが、統制の美というか、すっきりした美しさが落ちるので、ならば代わりに2面目の最下段に入れるか、何だったら3面目にモード選択画面新設という手もあるか?と。
> というのも、6色から4色を選んだ出題だが、重複ありブランクありなどのルール仕様も選べるのを入れて、新設スクリーンを充実させる。
> などと考えておりました。


今は [SHIFT] キーでのトグル動作で2つの設定の切替ですが、[SHIFT]を押すたびに複数の設定を順次切り替えてゆくのも、今回のコードに必要な部分を追加するだけで、簡単に拡張できると思います。

その場合、Getkeyのループを軽くするために、初期値設定の部分をループの外に移動する必要性が出てくるかも知れませんが、それも 変数 Z の値で切り替える簡単な If文で書ける筈です。


これをカラー化した MASIOV4C.g3m ファイルのダウンロードリンクです;
https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/Ver4.1/MASIO_Ver4_Color.html


スペースに限度のある電卓画面なので、
・特定キーを押して複数切替インターフェースを与える
・1つのキーに、普通押しと長押しの2通りのインターフェースを与える
といった工夫が、視覚的統一感、インターフェースの統一感が出せると思います。

このあたりも、当ブログの "Casio Basic入門" や "逆引き Casio Basi"c などで紹介しているつもりなんです。

たかが Casio Basic、されど Casio Basic ですね。
工夫のしがいがあるだけの機能を持っているのが Casio Basic なので、私はハマってしまったわけです。

特に、fx-5800P のようなハードウェアに制限がある場合は、余計面白くなりますよね。

昔の行番号付き Basic を使って、古いプログラム電卓やポケコンでは実現できないユーザーインターフェース、できるだけPCの使い勝手に近づけるユーザーインターフェースを実現できる、というのが私の当ブログの主張の1つなんです。

例えば、Time Zone というプログラムは、これらインターフェースの工夫をてんこ盛りにしたサンプルプログラムです。

⇒ プログラムライブラリー Time Zone
  http://egadget.blog.fc2.com/blog-entry-566.html

g1mファイルをダウンロードして、取り敢えず実際に操作して頂くと、インターフェースの工夫を経験していただけます。

Time Zone を作る過程を Casio Basic 入門で紹介しています。
  http://egadget.blog.fc2.com/blog-entry-127.html

このプログラムでは、PCに近い入力環境をプログラム電卓で実現する e-Gadgetオリジナルの "入力ボックス" インターフェースを利用しています。

当ブログの記事の多くが、入力インターフェースの工夫だったりします。

モード切替

管理人様、sentaro様、  お世話になっております。

sentaro様。 
>元のコード君をそのまま使う修正版を・・・

ツルは、他の手を考えてみます。とは言ったものの、ツルには思いつかない手のご紹介を頂き、そのサクサク感に驚いています。デバッグ依頼の3行では、余計な追加をしてしまっている感がありました。ありがとうございました!

管理人様。
ツルが、コード書き換えなしでモード変更したいとぼやいたばっかりに、ご面倒をお掛けいたします。ほぼ製作が終わった今となっては、チェックモードでも何でもなく、確かにEasyモードになりますね。でも、Easyがあると選ぶ時があります。
やはりノーマルとの切り替え式は正解な気がします。

それで管理人様の手を煩わせている訳ですが、まるでツルがもう一人いて、勝手に投稿しちゃっているようで、不思議な感覚です(笑)
(そのもう一人のツルは本人より遥かに優秀で困ったものです・・・)

それで、これがMASTERMIND最後の大詰めのような気がします。

管理人様、機能追加案見ました。
>オリジナルをできるだけ変更しないようにしました。
ご配慮がよく伝わってきます。

>・デフォルトではノーマルモード (Normal Mode)
大賛成。

>・Normal と Program Check (Debug Mode とする)を切り替える内緒のキーを[SHIFT]にする
内緒キー大好き。

>・スプラッシュ画面で、現在のモードを表示 (Normal Mode)
ん・・・

>・[SHIFT]キーを押すと、Normal Mode と Debug Mode を表示と共に切り替える
nice。
(Easy⇒+ Normal⇒-)次画面へ行くキーを選択キーでもで良いと思います。

私も表示を変えながら何度も見ていますが、統制の美というか、すっきりした美しさが落ちるので、ならば代わりに2面目の最下段に入れるか、何だったら3面目にモード選択画面新設という手もあるか?と。
というのも、6色から4色を選んだ出題だが、重複ありブランクありなどのルール仕様も選べるのを入れて、新設スクリーンを充実させる。
などと考えておりました。


[最終] Program Check 機能をスプラッシュ画面で [SHIFT]でトグル切替えする

ツル様
sentaro様

管理人のやすです。


[最終見直し 2017/10/18 3:45]
[SHIFT]気での切替が出来ないという問題への直接のトラブルシューティングのために、提案コードを最終的に見直しました。


マシオで、チェックモードの切り替えのためにコード書き換えが必要でしたが、頻度は少ないとは言え、そんなことでいちいち書き換えも変じゃないか。といったさらっとした思いで、メイン画面でモード切替できればいいだろう!とまた楽したい根性が出てきまして、やってみたのですが、うまく切り替わらないのです。
コードに5→cと書いてある。それをSHIFTキーのGetkeyにて1→cとさせる。・・・
が、変わらないのです。原因が分かりません。何か思い当たる点、ひらめかないでしょうか?Getkeyによる代入よりもコード記載の代入が勝るなど、ありますか?


思いつきで、実機で検証していないコードを書いてしまい、余計混乱させることになって、申し訳ありません。

Getkey でキースキャンするタイミングが正しくとれていないのが、主な原因のように思います。キーの応答をよくするには、Getkey をできるだけ軽いループ(速く一回転するループ)内に記述する必要があります。


以下、実際に動作確認したコードの提案です。


まず仕様を仮に決めます。

・デフォルトではノーマルモード (Normal Mode)
・Normal と Program Check (Debug Mode とする)を切り替える内緒のキーを[SHIFT]にする
・スプラッシュ画面で、現在のモードを表示 (Normal Mode)
・[SHIFT]キーを押すと、Normal Mode と Debug Mode を表示と共に切り替える



下記が今回の機能追加案です。Casio Basic 高速化テクニックを織り交ぜています。なお、オリジナルをできるだけ変更しないようにしました。

さて、Normal Mode と Debug Mode かのモードを示す変数を新たに導入。実際は変数 Z を使い回すことが可能。ここで Z を使っても、後で使う本来の Z に影響が無いからです。

オリジナルに対して、変更・追加した部分を赤文字で示す。

"=====(setting)======
●〇 blink timing→U (normal=150):150→U

'For program check (ans free→Q=0 & prize→P=10)
{1,3}→Dim Mat Z

'↙here YES→1 NO→5
'Z=0   0→MAT Z[1.2] Debug Mode (Program Check)
'    10→MAT Z[1,3]
'Z=1  1→MAT Z[1.2] Normal Mode
'    2→MAT Z[1,3]


'=====(opening)======
Locate 1,1,"※※※※ MASTER MIND ※※※※"
Locate 5,3,"4 digits only"
Locate 3,4,"Numbers are 1 To 9"
Locate 5,5,"Normal Mode"
Locate 1,7,"※※※※※Press⇒ - ※※※※※※"

'Switching modes by [SHIFT]
0→K:0→Z

Do
Getkey→K
If K=78:Then
If Z:Then 0→Z
Locate 5,5,"Normal"
1→Mat Z[1,2]
2→Mat Z[1,3]
Else 1→Z
Locate 5,5," Debug"
0→Mat Z[1,2]
10→Mat Z[1,3]
IfEnd
While Getkey
WhileEnd
IfEnd

LpWhile K≠32
[/色] 'ここまで

"《EXSAMPLE》●Hit 〇Blow
 :
 :

ここで、ポイントを幾つか...

1)
オリジナルのループ Do:LpWhile Getkey≠32 の中に機能追加して、今回の目的を達成する。このループ内で [SHIFT]を押すたびに、変数 Z の値 0 と 1 を切り替えると同時に、現在のZ の値に応じて画面表示を "Normal Mode" か "Debug Mode" に切替え、さらに Mat Z の初期化処理の切り替えも行う。


2)
If Z:Then という記法は、Z が0以外の時"真"、0の時"偽" として、Zの判定を行える。If Z=1:Then よりも処理速度が速くなる。


3)
●=1⇒[処理1]
〇=0⇒[処理2]


と2つ並べるよりも、

If Z:Then
[処理1]
Else
[処理2]
IfEnd


の方が、処理時間が短くなる。


4)
While Getkey:WhileEnd は、キーを一回押すたびに切替が行えるようにするために必要。細かく言えば、キーが押されている間は処理をループ内に閉じ込め、キーが離されたら先へ進める、いわば関所の役割。
これを置く場所が重要。If Z ~ IfEnd の外側で、If K=78 ~ IfEnd の内側でないとうまく動作しない。


取り敢えず、狙い通りに動くサンプルコードですが、あとはお好みに併せて変更してください。

Re: Re:D=1⇒Locate F,G,"※※※※"

sentaro様
ツル様

管理人のやすです。

> [DEL]処理は、
> -------------------
> If I=44:Then
> Dsz D
> Dsz D
> Locate F,G,"※"
> IfEnd
> -------------------
> ここだけでOkです。


Dzs の本来のジャンプ機能をうまく活用して、高速かつ効率の良いコードですね。

さすがです。


Re:D=1⇒Locate F,G,"※※※※"

管理人様、ツル様、こんにちは!

>これを削除するとマズイかも...
>3桁入力した後、[DEL] で2回戻すと
>??※※
>となってしまいます。

あれ?っと思ってC.Basicのソースを確認したところ、
追加の3行は、
D=1⇒Locate F+1,G,"※※※"
D=2⇒Locate F+1,G,"※※"
D=3⇒Locate F+1,G,"※"
でした。(^^;


>お二人からいじめられているタイトルのコード・・・
>このコード君がなんか可哀想になってきました(笑)

ってことで、(笑)
元のコード君をそのまま使う修正版を考えてみました。

[DEL]処理は、
-------------------
If I=44:Then
Dsz D
Dsz D
Locate F,G,"※"
IfEnd
-------------------
ここだけでOkです。
元の[DEL]版よりも速度的にも有利かと思います。(^^)

Re: LCD撮影

ツル様

管理人のやすです。

ありがとうございます。とても参考になります。

あの記事は、スマホ (Xperia Z1f、ソニーの古い機種をいまだに使っています)で、一応ズームで撮影したのですが、三脚を使っていません。

虹色の縞模様(干渉縞みたいなもの)が邪魔なのですが、あれはLCDの保護パネルによるものと思っています。できるだけクリーニングしてから撮影したのですが、うまくゆきません。ひょっとして表面ではなくて内部で干渉を起こすような薄くて膜厚が不均一な層が入っているのではないかと疑っています。

一度デジカメ+三脚でトライしてみようかと思っていました。

[追記あり] Re: D=1⇒Locate F,G,"※※※※"

ツル様
sentaro様

管理人のやすです。

[SHIFT]キーでのトグル動作について、一旦撤回させてください。

Locate x,y,"Normal Mode" '(Z=0)
0→K:0→Z
Do
Getkey→K
If K=78:Then
Z=0⇒1→Z:Z=1⇒0→Z '(toggle)
If Z '(Z=1)
Then
[必要な初期値設定2]
Locate x,y,"Easy Mode"
Else
[必要な初期値設定1]
Locate x,y,"Normal Mode"
IfEnd:IfENd
LpWhile K≠32


そして、改めて別コメントで提案致します。

すみませんでした。


D=1⇒Locate F,G,"※※※※"

管理人様、sentaro様、  お世話になっております。

お二人からいじめられているタイトルのコード・・・
このコード君がなんか可哀想になってきました(笑)

今、直ぐに消すと支障があることは把握していますよ。
それでも、一つでもLocateを減らすために、他の手を考えてみます。

にしても、今まで、Locateが速度で曲者だったとは考えたこともありませんでした。今後のProg作りでは、Goto少なく!Locato少なく!水のように上から下へ!を合言葉に頑張ります。

ところで、マシオで、チェックモードの切り替えのためにコード書き換えが必要でしたが、頻度は少ないとは言え、そんなことでいちいち書き換えも変じゃないか。といったさらっとした思いで、メイン画面でモード切替できればいいだろう!とまた楽したい根性が出てきまして、やってみたのですが、うまく切り替わらないのです。
コードに5→cと書いてある。それをSHIFTキーのGetkeyにて1→cとさせる。・・・
が、変わらないのです。原因が分かりません。何か思い当たる点、ひらめかないでしょうか?Getkeyによる代入よりもコード記載の代入が勝るなど、ありますか?

LCD撮影

管理人様

お世話になっております。余計なこととは思いますが・・・
CG50でのアップロード動画を見たときに感じたのですが、LCDとカメラの距離、近くないですか? LCD端部側が暗かったので。

接写可能なレンズだと、ついつい近寄って写してしまいますが、離れてズームのほうがいいと思います。勿論、三脚は必須です。

LCDの視野角を考慮して写すのがきれいに写す第一段階で、他にはカメラの個性があります。例えば、リコーのCXではモアレが出にくいのでLCD撮影に向くとか・・・機種の個体差が出るのがLCD撮影です。特に、赤の発色は顕著です。

のような、余計なことを。失礼。

Re: Re:純正CASIO Basic用 MASIOV4 デバッグ依頼

ツル様
sentaro様

管理人のやすです。

> >D=1⇒Locate F,G,"※※※※"←この次の行から、
> [DEL]対応の追加の3行を付け加えると、この最初の表示処理は必要ない感じですね。


これを削除するとマズイかも...
3桁入力した後、[DEL] で2回戻すと

??※※

となってしまいます。


> fx-9860GIIでもLocate表示が続くと重さに繋がりますし、fx-5800Pだとかなり処理時間をとられるのでLocate削減は高速化の鉄則です。(^^)

文字列処理で表示する内容を決めてから Locate で出力、という作戦が良いかも知れませんね。
こうすると1回の入力時 Locate 1回で済みますよね

こういった工夫は、プログラム電卓ならではのものですが、実はPCプログラミングにも役立った経験があります。今年の初め、C#を味見してアプリを作ったとき、実感しています。リソースを節約する練習には、Casio Basicプログラミングはある意味役立ちます。

https://egadget2.web.fc2.com/archives/Src_files/MyClock.html

開発時は sentaro様に色々とご意見を頂き、お世話になりました。

Re: Re: MASIOV4 COLOR

ツル様
sentaro様

管理にのやすです。

確認がとれたところで、修正した MASIOV4 COLOR です。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MASIO_Ver4_Color.html


そろそろ、記事の準備を始めようかと思います。

Re:純正CASIO Basic用 MASIOV4 デバッグ依頼

管理人様、ツル様、こんにちは!

>D=1⇒Locate F,G,"※※※※"←この次の行から、

[DEL]対応の追加の3行を付け加えると、この最初の表示処理は必要ない感じですね。
C.Basicバージョンでは重さを感じることがなかったのでこの重なる処理をついそのままにしてしまってましたが、(^^;
fx-9860GIIでもLocate表示が続くと重さに繋がりますし、fx-5800Pだとかなり処理時間をとられるのでLocate削減は高速化の鉄則です。(^^)

Re: MASIOV4 COLOR

ツル様
sentaro様

管理にのやすです。


> はっはっは! 今、私の頭の中では物凄いきらめきになっています。
> これを見通してファイル名7文字にした私、凄くないですか?


お見事です( ^o^)ノ


> (あーすごいすごい・・・パチパチ)

私の行動が見事に読まれてます!

MASIOV4 p・

管理人様、sentaro様、  お世話になっております。

管理人様。 はい、Ver4で採用した新記載の pは、(Character Select のαβγ内に記載のものです)prize pointの意で使用。
・は、(Character Select のSYBL内に記載のものです)lcdとキー印刷では中黒dotの2ピクセル角。・キーによるprize表示に使用。

表示位置は、左側9␣p・<です。( ・は、表示X座標内で左寄りなので敢えて採用)

以上です。上記の表示が設計通りです。 (ツル)

Re: 5800P マシオ

ツル様
sentaro様

管理人のやすです。


fx-5800P で動作が遅い原因ですが、残る可能性の1つに Locate コマンドを多用している点が考えられます。

以前、数値表示を3桁区切りにするサブルーチンを検討していた時、表示の高速化は Locate コマンドの実行回数を落とすことが肝でした。ロジックの工夫で Locate の使用回数を減らせば大幅に速度向上が達成できました。

http://egadget.blog.fc2.com/blog-entry-555.html
この記事からしばらく3桁区切りの話が続きます。

この時は、sentaro様の見事なロジック提案で、劇的に処理速度が向上したんですよ!


Re: 純正CASIO Basic用 MASIOV4 デバッグ依頼

ツル様
sentaro様

管理人のやすです。


修正したら、[DEL]での1桁戻りが確実に動作しました。ありがとうございます。完成度がどんどん上がってくるのが良いですね。


実は只今出張中のため、自宅においてある fx-9860GII が触れないので、全て手元にある fx-CG50 で走らせています。
開発環境である fx-9860II でなく fx-CG50 でのことですが、ゲームメイン画面の一番下の行の表示について質問があります。

?⇒1-9 p・<EXIT>ans⇒(-)

となりますが、特に p・ はこれで良いのでしょうか?

fx-9860GII でまだ一度も走らせていないので fx-CG50 と表示上の差異がある可能性があって、そうならば fx-CG50への移植に伴う意図しない動作、文字コードの互換性が無いケースと言えます。

"p・" の"・"のコードは、隣の文字コードとの組み合わせて意図しない表示になる可能性があって、そこが 9860II と CG50 の表示上の違いとなる可能性 (Casio Basic 使いこなしの面白い話題)に興味があります。

如何でしょうか?

純正CASIO Basic用 MASIOV4 デバッグ依頼

管理人様、sentaro様、  お世話になっております。

>2桁目以上の[DEL]で表示に?が残ってしまうところが未処理・・・
・・・ 完璧というのは、難しいのだと。改めて思いました。
ご指摘ありがとうございました。

お手数おかけしますが、

’=====(input)=====
    ・
   (6行)
    ・
D=1⇒Locate F,G,"※※※※"←この次の行から、


D=2⇒Locate F,G,"※※※"
D=3⇒Locate F,G,"※※"   ←この3行 追記願います
D=4⇒Locate F,G,"※"


大変、申し訳ございません。
(ツル)

5800P マシオ

管理人様、sentaro様、  お世話になっております。

>何かしら重くなる処理が挟まっているということで・・・

はい。それで、重複入力の判別部分に多くの比較演算子があるので、全削除しましたが改善が見られず、あとは一番気になっているGetkeyでテンキーの表示、変数への代入1~9迄の一式かな?と思っています。

近く交通裁判があり、その資料作り優先なので、続きはしばらく先になりそうです。

MASIOV4 COLOR

管理人様、sentaro様、  お世話になっております。

はっはっは! 今、私の頭の中では物凄いきらめきになっています。
これを見通してファイル名7文字にした私、凄くないですか?
(あーすごいすごい・・・パチパチ)

Re:5800P マシオ

管理人様、ツル様、こんにちは!

fx-9860GII用 Master Mind Ver4 (Casio Basic 版)とカラー版、頂きました。
2桁目以上の[DEL]で表示に?が残ってしまうところが未処理と思われますが、良い感じで仕上ってますね。
Congratulation! 画面がなんとも心地よい感じです。(^^)


>でも、海外の方ので3つ見ましたが、私のように横に並べた方式のはなくて、縦に4文字にして右方向に進んでいくのだとか、画面中央分に小さな枠を表示させて入力するのだとか、人が変われば・・・と感心したものです。勿論、判定ピンやブリンクはなかったです。

あ、なるほどです。縦型で横スクロールというパターンもありますね。
でも、一度に全部見られるということで言えばスクロールするよりは見易さで現バージョンはとてもいいのではないかと思います。(^^)


>で、あれ? 管理人様の記事から学んで、これ作ってみたのですが・・・
>どこか違ってたかなぁ。入力のレスポンスだけが壁になっているので、解決出来そうですよね。

あ、すでに高速化改修されていたのですね。失礼いたしました。
ってことは、何かしら重くなる処理が挟まっているということで、そこのところの詰めだけですね。

Re: 純正CASIO Basic用 MASIOV4 COLOR に改造してみました

ツル様
sentaro様


管理人のやすです。

[(ー)] キーを押して正解を表示させるとき、正解の4桁の数字をカラー (Green) にするのを忘れていたので、これを修正しました。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MASIO_Ver4_Color.html



純正CASIO Basic用 MASIOV4 COLOR に改造してみました

ツル様
sentaro様

管理人のやすです。

fx-CG50 / fx-CG20 用にカラー化してみました。

正解した時の Congratulation! 画面のランダムカラーと、我々のHN紹介ページもカラー化しています。

プログラム冒頭に Goto 4 を書くと、Congratulation とHN紹介へ直行します。

ファイル名は、MASIOV4 の末尾に Color の C を追加して、MASIOV4C としました。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MASIO_Ver4_Color.html

5800P マシオ

管理人様、sentaro様、  お世話になっております。

管理人様。低次元で理解力が低くて申し訳ありません!
自分で理解度60と申しておりました。
御免なさい。早い段階でこのようなご説明が欲しかったのです。
理解度90になりました!

ありがとうございます!✕5
なるほどなるほど ✕10
お手数をお掛け致しました。

sentaro様。
>画面サイズとピッタリ合っているので・・・

でも、海外の方ので3つ見ましたが、私のように横に並べた方式のはなくて、縦に4文字にして右方向に進んでいくのだとか、画面中央分に小さな枠を表示させて入力するのだとか、人が変われば・・・と感心したものです。勿論、判定ピンやブリンクはなかったです。

で、あれ? 管理人様の記事から学んで、これ作ってみたのですが・・・
どこか違ってたかなぁ。入力のレスポンスだけが壁になっているので、解決出来そうですよね。

管理人様。全体のルーチンの高速性には特に問題はないと思いますので、マシオ(笑)のGotoはこのままでいいと思います。5800Pでは、判定表示も早いです。
入力だけです。

Re:5800P版 MASTERMIND

管理人様、ツル様、こんにちは!

>はまってますね。(笑) 物凄く古いゲームなんですよ?でも、二人いれば、紙とペンだけで出来るゲームなんですよね。
>今回、9860GIIで作ってよかったです。しみじみ感じます。判定する相手を長考で待たせることもなく、実機より楽しめます。

はい!
10回という回数が絶妙というかなんというか、fx-9860GIIの画面サイズとピッタリ合っているので、ゲーム性の絶妙さでハマっています。(^^)


>因みに、5800P Verでは、あまりにも画面が狭いので、入力画面のスクロールやSHIFTキーなどによる画面切り替えを考えていました。(ツルの常套手段なんです)
>考えた末、それらはやめて、6トライ限定版として完成しつつあります。

うわ…6トライだとかなり難易度上がってしまうというか、私的には1/4くらいの成功率になるかもしれません。(^^;
出来れば8トライ、いや、やっぱり10トライあってくれると助かるというか…ぜひ画面切り替えorスクロールの復活をお願いしたいです。(^^;


>基本コードはVer4なのですが、予想値入力が長押ししないと入力出来ないという壁に困っている状況で、ハード面では僅かでも高速化が欲しいところなので、ランドの接続をやってみます。貴重な情報をありがとうございました!

管理人様のコメントにも出てましたところの管理人様謹製入力ボックスの一番速い整数版のINPI ver2.0をカスタマイズすればキー入力の速度的には十分いけると思うのですが、どうでしょうか?


>どういう人がどうして見つけたのでしょうね?

んと、えと、、、倍速化目指してちょこっといじくっていた時に偶然見つけました。
その過程で一瞬、2倍速以上に速くなっていたことがありましたが、どこでどうなったかの再現性が無くお蔵入りになっています。(^^;


>導電性接着剤

使ったことはないのですが、見たこと有ります。
接続だけならハンダ付け要らずで便利そうですね。(^^)



fx-5800Pでのキー入力ですが、管理人様の入力ボックスのとおりにプログラム先頭で配列の初期設定をして、
-----------------------------
87→DimZ    
1→Z[35]:2→Z[36]
2→Z[37]:4→Z[21] 
5→Z[22]:6→Z[23] 
7→Z[31]:8→Z[32] 
9→Z[33]      
-----------------------------

実際のキー入力と数字の表示部分は、
-----------------------------
Do
Getkey→K
LpWhile K=0
Z[K]→I

If (I≧1 And I≦9) Or K=25
Then

Locate F,G,I   // 入力判定と表示がこれだけで済みます。

IfEnd
-----------------------------
かなり高速化出来るのではと思います。(^^)

Re: 純正CASIO Basic用 MASIOV4 今朝お送り致しました。

ツル様

管理人のやすです。

MASIOV4.g1m を頂きました。ありがとうございます。

https://egadget2.web.fc2.com/archives/fx-9860GII/MASIO_Ver4.html

fx-9860GII用 Master Mind Ver4 (Casio Basic 版)の最終版ですね!

手元にある fx-CG50 で動かしてみました。入力キーの抑制と [DEL] 入力位置が1桁戻る機能を確認しました。

これから、じっくり遊んでみようと思います。帰宅後 fx-9860GII に転送して遊ぶ予定です。



> 管理人様。 お願いがあります。MASTER MINDのProgは内容が掴みやすかったと思います。とても簡単なProgの部類に入ると思いますので。
> 全テキスト表示だし。
> それで、あのProgは、全く構造化Basicと呼ぶには程遠いものなのですか?
> 途中で何度もGotoで上へ戻るから? サブルーチンを使っていないから?
> 処理内容毎コメントで区切りながら自分ではブロック化のつもりなのですが、
> どういう点を改善すべきなのか、ご教示を是非お願い致します。


趣味のプログラムは動けばOKというのも良いわけですが、分かり易く、改造や機能追加でバグが入りにくいことを優先させるなら、構造化プログラミングを意識することが重要になります。

さて、fx-5800P では別コメントに書いたように、Goto / Lbl は速度低下の大きな要因になります。そこで高速化プログラミングテクニックとして、Goto / Lbl を極力使わない手法が重要です。そして、Goto / Lbl を極力使わないためには、構造化プログラミングを目指すのが指針となります。

fx-5800P 用 Master Mind はプログラムの高速化が必要だと、ツル様が以前のコメントで述べておられます。高速化を目的にするならば、構造化プログラミングは好みの問題ではなくて、高速化に必要なテクニックと言えます。

fx-5800P では、論理演算、比較演算、配列変数が、特に処理に時間がかかるので、プログラム実行中にこれらが実行される回数をできるだけ減らすこともとても重要です。

さて、fx-0860GII 用 Mater Mind Ver4 のプログラム構造は、ざっと以下の感じ;


=====(setting)======

'=====(opening)=====

'======(answer)=====
Lbl 0

'=====(display)====
Lbl 1

'======(input)======
Lbl I

D>=2 And E=1=>Goto I

'====(judgement)====

'======(prize)======
C≤9 And J≠50=>Goto 1
Q=0 And J=50=>Goto 2
Q=1 And J=50=>Goto 3
C=10 And J≠50=>Goto 3


'======(ending)=====
Lbl 2
P>=10=>Goto 4
Goto 0
Lbl 3
Goto 0

'====(celebrate)====
Lbl 4
Return

こうやってみると、速度低下の要因が如何に多いかが分かります。客に言えば、それだけ高速化の余地があると言えます。

Goto / Lbl は、Do、While で置き換える方が高速化します。倍速も可能でしょう。それだけ高速化の期待ができます。

(prize)ブロックにある、
C≤9 And J≠50=>Goto 1
Q=0 And J=50=>Goto 2
Q=1 And J=50=>Goto 3
C=10 And J≠50=>Goto 3

も勧められません。

プログラム全体の構造を、Goto / Lbl を使わないように書けることは、数学的に照明されているので、あとは工夫したいですね。

ある機能ごとにブロックを作り、複数のブロックが上から下へ1つの流れで進むように書くのが構造化プログラミングです。
このように書くと、あるブロックを変更しても他のブロックへの影響が少なくなります。変更や機能追加をしてもバグが入り込みにくいわけです。


5800P版 MASTERMIND

sentaro様  こんにちは。

>問題は、1234 と 5678 の後、どう絞り込むかで、運不運に左右されています。10回以内に解けないことも結構あるので、ハマリます。ちょうど良い感じの難易度ですね!

はまってますね。(笑) 物凄く古いゲームなんですよ?でも、二人いれば、紙とペンだけで出来るゲームなんですよね。
今回、9860GIIで作ってよかったです。しみじみ感じます。判定する相手を長考で待たせることもなく、実機より楽しめます。

因みに、5800P Verでは、あまりにも画面が狭いので、入力画面のスクロールやSHIFTキーなどによる画面切り替えを考えていました。(ツルの常套手段なんです)
考えた末、それらはやめて、6トライ限定版として完成しつつあります。
すると、1画面で済むので、作るのも楽です。
基本コードはVer4なのですが、予想値入力が長押ししないと入力出来ないという壁に困っている状況で、ハード面では僅かでも高速化が欲しいところなので、ランドの接続をやってみます。貴重な情報をありがとうございました!
どういう人がどうして見つけたのでしょうね?

参考までに、世には導電性接着剤なるものがあるんですよ。半田付けの難しい所に便利だなぁ・・・と思っています。今は持っていませんが、開発した会社の人と知り合いで貰いましたが当時は使うこともなく。
シアノアクリレートに銀粉を混ぜたものなんです。過日、手術した際、手術室で執刀医師に、皮膚はシアノアクリレートで良く付くけれど、使ってるんですか?と聞いたら、こっちが驚くほど驚かれて、どうしてシアノ知っているんですか?だって。止められているけれど、実際の現場では使っていますと、正直な先生でした(笑)

で、5800P Verでの高速化は、複雑な計算でもなく、入力へのレスポンスをあげたいだけなのですが、どうしたものか、考えあぐねてます。トトトッと打つと、全く付いて来ないのです。0.2秒以上の長押しが必要な状態です。こりゃあ、無理かな?と、これで妥協しそうです。まあ、売り物ではないし、自分用だからいいのですがね。

Re:5800P版 MASTERMIND

管理人様、ツル様、こんにちは!

MASTER MINDのfx-5800P版、プログラミング題材としても面白そうです。
画面サイズ&機能&速度に制限のあるfx-5800Pで、その制限をどう乗り越えるかがポイントですね。
かつてポケコンの一行画面でDEGやRADなども利用してあらゆる情報を詰め込んでいたのをちょっと思い出しました。(^^)


>もしかして、基盤のチップ抵抗を外す?

んと、3割アップは細い電線で空きランドを繋ぐだけなので簡単です。
http://pm.matrix.jp/fx-5800p_1.jpg

うちにあるfx-5800Pの一台はこの改造を施してますが、消費電力ほぼ変わらず、ノーマル機との通信も問題ないですし、PCリンクでも無問題なので、複数台お持ちの場合は一台改造しても面白いかもしれません。(^^)

うちでは充電池はアマループ+パナループと一緒にNT1000という充電器を使ってますが通常の充電のみならずリフレッシュ&個別に容量の測定が出来たりするので便利です。
ちなみに単4アマループの平均容量測定値は700mAでパナループは750mAくらいでした。(^^)


>問題は、1234 と 5678 の後、どう絞り込むかで、運不運に左右されています。10回以内に解けないことも結構あるので、ハマリます。ちょうど良い感じの難易度ですね!

3回目の数字選択がその後の運命を分けますね。ここでの勘が冴えると5回以内もいけたりするんですが、外し続けると10回勝負になりますね。(^^;

純正CASIO Basic用 MASIOV4 今朝お送り致しました。

管理人様、sentaro様、  お世話になっております。

管理人様。昨夜は遅くまでご苦労様でした。
くだらない問題で、失礼いたしました。(笑)
ただですね、あの2問は、活字での出題には向かなくて、LINEではだめなんですよ。私は過去に、特にQ2は200人位に口頭で出題していますが、5秒以内に正解する人は1割居なかったです。皆、「疲れたから」、「転んだから」と言います。
1分以内だと正解率は上がります。多くは酒の席ですが・・・(笑)

sentaro様。必要なキー以外の反応を止めるのと、DELによる再入力を反映させました。止めてもバックライトの再点灯は可能だったし、完成度を高めることへ寄与するので。ありがとうございました。
管理人様。スプラッシュ画面のNumberに s 付けました。言われたことはやる。それが私の処世術ですから。 シンジかっ!(ん?伝わるかな・・・)

という訳で、これにてMASTER MIND、私の作業は終わりになります。
数々のご支援ありがとうございました。

ただ、これから5800PVerもやります。
9860と違って判定はH1B2としますし、白黒ピン表示もブリンクもないので、非常に短いProgになります。高速化は、あまり求めないので、既に進捗は90%です。
というか、もう楽しんでるし!(笑)


管理人様。 お願いがあります。MASTER MINDのProgは内容が掴みやすかったと思います。とても簡単なProgの部類に入ると思いますので。
全テキスト表示だし。
それで、あのProgは、全く構造化Basicと呼ぶには程遠いものなのですか?
途中で何度もGotoで上へ戻るから? サブルーチンを使っていないから?
処理内容毎コメントで区切りながら自分ではブロック化のつもりなのですが、
どういう点を改善すべきなのか、ご教示を是非お願い致します。   (ツル)

Re: クイズ好きのご家族様へ

ツル様

面白い問題、ありがあとうございます。
家族のラインに送っておきました。

> Q1: あるビジネスマンが同僚と3人で出張し、いつものホテルに泊まることにした。料金は一人1000円。男は3人分3000円を係に渡した。
> 支配人はそれを受け取ったが、常連様なので500円を値引きにすると言って、500円渡し、客へ戻すよう係に命じた。係は500円を3名に戻すには割り切れないから、自分で200円を懐に入れ、客には100円ずつ戻した。すると、客は一人900円払ったことになり合計2700円。係の持つ200円と合わせて2900円。初めの3000円から100円がなくなっている。どこにいった? という問題。


お金の所有者と所有額で考えると、「客は一人900円払ったことになり合計2700円。」が話を曲げていますね。この2700円は客のお金でなくて担当とホテルが預かった金額です。所有権をごまかした表現ですね。

     客   担当   ホテル  合計
状態1 3000円    0円    0円  3000円
状態2   0円  3000円    0円  3000円
状態3   0円   500円  2500円  3000円
状態4  300円   200円  2500円  3000円

まるで、国の借金、国民一人当たり...と同じ詐欺です。国の負債=国民の債権 が所有権を理解した正しい表現なのに...


> Q2: 正方形の形の広いグランドがあり、四隅を時計回りにA地点、B地点、C地点、D地点とする。ある人が、A地点からB地点まで走って、90分かかった。B地点からC地点までも90分かかった。その人は頑張り続け、C地点からD地点までも続けて走り、やはり90分かかった。ところが、D地点からA地点まではなぜか1時間半かかった。なぜか?

わっはっは、90分=1時間半ですから...なぜかもなにもありませんです。


クイズ好きのご家族様へ

管理人様、sentaro様、  こんばんは。

管理人様。方位換算、さらっと回答していますね。ツルは1週間悩んでいたのに・・・。頭が固くなってきた(涙)

Q1: あるビジネスマンが同僚と3人で出張し、いつものホテルに泊まることにした。料金は一人1000円。男は3人分3000円を係に渡した。
支配人はそれを受け取ったが、常連様なので500円を値引きにすると言って、500円渡し、客へ戻すよう係に命じた。係は500円を3名に戻すには割り切れないから、自分で200円を懐に入れ、客には100円ずつ戻した。すると、客は一人900円払ったことになり合計2700円。係の持つ200円と合わせて2900円。初めの3000円から100円がなくなっている。どこにいった? という問題。

Q2: 正方形の形の広いグランドがあり、四隅を時計回りにA地点、B地点、C地点、D地点とする。ある人が、A地点からB地点まで走って、90分かかった。B地点からC地点までも90分かかった。その人は頑張り続け、C地点からD地点までも続けて走り、やはり90分かかった。ところが、D地点からA地点まではなぜか1時間半かかった。なぜか?

[追記あり] Re: 5800P版 MASTERMIND

ツル様
sentaro様

管理人のやすです。

> 5800P版MASTERMINDを仕上げてみます。
> 管理人様からの情報を生かして! はい、ツルは病んでます。


Wao! 楽しみです( ^o^)ノ

fx-5800P のコマンド処理時間を調べて高速化した人は少ないと思うので、是非トライしてみてください(^^;

[追記]
Goto / Lbl は制御構造が複雑になると顕著に処理時間が遅くなります。そこで、Goto / Lbl の使用を極力減らすことも、fx-5800P での高速化に大きく寄与することが分かっています。
参考)http://egadget.blog.fc2.com/blog-entry-158.html の表3

実は、Goto で処理時間がかかることは、Casio Basic 固有の内部仕様に起因することが分かっています。最初は2重ループ脱出時のバグを見つけたのがきっかけで、カシオお客様サポートセンターの方とのやりとりで、実はこのバグは Goto の内部実装が原因だとはっきりした、という経緯があります。
詳しくは、以下の順に記事とコメントを順にご覧頂くと、詳細が分かります。

1.http://egadget.blog.fc2.com/blog-entry-94.html
2.http://egadget.blog.fc2.com/blog-entry-117.html
3.http://egadget.blog.fc2.com/category14-2.html

すると、高速化を優先するために、Goto / Lbl を無くすのが良いのですが、その代わりにサブルーチン呼び出しを余儀なくされます。ここで、Prog コマンドのオーバーヘッド時間を考えて、Goto か Prog かの判断となりますが、Master Mind レベルの複雑な制御構造になると、経験上 Goto の代わりに Prog を使う方が高速化に寄与する筈です。

サブルーチンのファイル名については、Hit & Blow や TimeZone のサブルーチン名などを参考になさってください。

優先度をどう考えるか、作りかけたものを作り直す手間、ソースコードへの拘り、或いは高速化、どれを優先するかの新たな悩みが現れると思います。

ご覚悟召され...(・ω・)


にせコインにスグ反応(^^;

ツル様
sentaro様


> にせコインにすぐに反応・・・(笑)

こういうの好きなんです。TVでこんな感じのクイズ番組があると、家族みんなで紙と鉛筆をにぎって、一緒に解いたりしてます。家族全員クイズ好きだったりして...


> 私、必ず2468を打って、次に1357。 これで9のあぶり出しから入り、5トライまでは判断のための布石で6トライ目の正解を目指すやり方です。

私も sentaro様と同じです。

問題は、1234 と 5678 の後、どう絞り込むかで、運不運に左右されています。10回以内に解けないことも結構あるので、ハマリます。ちょうど良い感じの難易度ですね!

5800P版 MASTERMIND

管理人様、sentaro様、  こんばんは。

5800Pの高速化は無理ですよね?
> 簡単なハード改造で3割程度のスピードアップなら確実にできる方法を見つけてる・・・

もしかして、基盤のチップ抵抗を外す?

この間、PanasonicのCSに聞いたことがあります。
充電池用の充電器に、単3と単4とのセット場所がある一般的な充電器。
単4は一度に2本までしかセット出来ないので不便だ。単3位置に単4を安全にセット出来たとして、制御回路の電池保護機能、充電時の安全機能に不具合はあるか?という問い合わせをしました。
その際の回答で分かったのですが、単4の充電回路には抵抗をかませているので、充電電流が少し大きくなるとのことでした。
温度監視の安全機能もあるので、あとは自己責任でやっています。

昔、産業の米と呼ばれていたチップ抵抗を作る仕事に携わったことがあります。

5800P版MASTERMINDを仕上げてみます。
管理人様からの情報を生かして! はい、ツルは病んでます。

素朴な回答

管理人様   こんばんは。

私も、電卓に直接入力することが殆どです。
電卓の横には必ずブギーボードを置いて、メモを書いたりしています。

目の前にはタブレットを立てて映画を流しながらというスタイルです。(笑)
PCはもう10台駄目になり今は手軽なタブレットがメインです。
ポメラとブギーボードが無いと生きていけないくらいです。(笑)

Re: ひらめかないツル

ツル様
sentaro様

管理人のやすです。

一般に、x-y座標で、点Aの座標を(X, Y)とし、原点と点Aを結ぶ直線とx軸が成す角度をθ、原点と点Aの距離をLとすると、

X = L・cos(θ)
Y = L・sin(θ)

となりますよね。

ここで、L^2 = X^2 + Y^2 です。

極座標系から直交座標系への一般的な変換方法です。

ここで、θ=A なので、
方位 B = 90 - A (直感)

従って、θを B で現すと、

θ= 90 - B

(但し角度はラジアンでなくて度)

そこで、この最後の式を上の変換式に代入すれば、

X = L・cos(90 - B)
Y = L・sin(90 - B)

如何でしょうか?


[追記]
X = L・cos(90 - B) = L・sin(B)
Y = L・sin(90 - B) = L・cos(B)

なので、X、Y を A (=θ)で表す時と、Bで表す時で、ちょうど cos と sin が交換された形になりますよね。正負も合っていると思います。

Re:Re: Re:必要なキー以外の反応

管理人様、ツル様、こんにちは!

>ええっと、実際は5%以下ですので、1%や 0.5%もあり得ます。

あ゛、了解です。(^^;


>C.Basic を有効に使うのは、Casio Basic を使いこなす延長線上にあると、私は感じています。
>導入は簡単で、奥が深いのが C.Basic と言えると思います。

ありがとうございます。
簡単に使えるというのはとても重要なポイントだと思いますし、電卓本体で使う言語としては煩わしい部分がなるべく少ないほど便利かなと思っています。
今後もより便利に使える改善項目等ありましたらどんどんお願いします。(^^)


>実は、プログラムの高速化については、処理の遅いコマンド使用回数を減らしたり、ロジックを見直すことにより、倍速くらいまで高速化できることを私自身が「入力ボックス」で体験していて、それを公開しています。

高速化というと、ついハード的に考えてしまったのですが、プログラムの最適化での高速化手段がありましたね。(^^)

C.Basicで動作させることが前提だと速度に関係しない部分では最適化を考えずにプログラムしてしまいがちですが、fx-5800Pで動作させることを考えると管理人様のプログラミングテクニックがとっても有用になってきますね。(^^)



>私、必ず2468を打って、次に1357。 これで9のあぶり出しから入り、5トライまでは判断のための布石で6トライ目の正解を目指すやり方です。

私は最初は1234で、次が5678でその後はツル様と同じ感じですね。(^^)

Re: s

ツル様

管理人のやすです。

三単現のsについて、了解です!


ところで、素朴な質問ですが、ツル様はプログラムを書く時、先ずはPCのエディタで書いてから、電卓に打ち込んでいます?それともいきなり電卓に入力されています?

チョット興味があったもので...

というのも、区切り文字を多用されているので、電卓画面では見づらいが、テキストファイルとして見ると見やすいからです。

スタイルは人それぞれですが、私は電卓に直接入力することが殆どです。

但し煮詰まった時だけは、紙に打ち出して鉛筆であれこれ書きながら考えるという超アナログ手法になります。

ひらめかないツル

管理人様、sentaro様、  こんばんは。

>これを、じぃ~っと眺めていると、ひらめいた\(^_^)/
9+X-3Y = N
検算してみると、確かに正しい( ^o^)ノ
モグラの座標から対応する数字キーNへの簡潔な公式が見つかった。

皆様。ひらめきを!

数学で一般的なXY座標においての角度θは、アナログ時計での3時方向とのなす角で表し計算しますね。12時が90度、21時を180度と、反時計回りです。
一方、船舶などでは真北を0度、方位000とし、真東を90度、方位090、と時計回りで表します。θを変数A、方位を変数Bとしたときの換算式をひらめきなさいという問題に対し、ひらめかないツルは、自分の限界を思い知らされています。
(ABともに0~360連続するものとする)。 率直に申し上げます。 教えてください。

管理人様、sentaro様、  こんばんは。

>are 1 To 9 に対応するには、Number (単数) ではなくて、Numbers (複数) が良いと思います。
コメントアウト部分は、(setting) でなくて、複数形の (settings) が良いかも...

ありがとうございます。
sについてはおっしゃる通り、本来はあるべきですが、センタリングを優先しました。judgeも、英米の違いで。・・・見るのは日本人なので(笑)
コメント部は自分用だからと妥協。

にせコインにすぐに反応・・・(笑)
私、必ず2468を打って、次に1357。 これで9のあぶり出しから入り、5トライまでは判断のための布石で6トライ目の正解を目指すやり方です。

Re: Re:必要なキー以外の反応

sentaro様
ツル様

管理人のやすです。

> 5%もいらっしゃるならかなり多いかなと思ってしまいますね。
> ありがとうございます。(^^)


ええっと、実際は5%以下ですので、1%や 0.5%もあり得ます。

但し、C.Basic 記事へのアクセスは7月以降増加してきています。理由は定かではありませんが、C.Basic のマイナーバージョンアップに併せて、記事を追記・修正し、新たな日付けでアップしています。これは確か7月以降だったかな?と思うので、最新記事一覧への露出度が上がったのが原因かも知れません。


> 私の経験則でいうと、ポケコンや電卓等の閉じられたハードの場合、純正以外の言語が使えるとしてそれを使うのは相当にハードルが高いので、C.Basicの純正互換というところから入れるのは他言語にない強みだと思ってますが、反面それが足かせとなって弱みでもあるという両面がありますね。(^^;

C.Basic を有効に使うのは、Casio Basic を使いこなす延長線上にあると、私は感じています。
Casio Basic を知れば、C.Basic の良さが分かるというべきでしょうか?

SDKで作ったプログラム並の高速化が、Casio Basicでできていまう。C言語的な感覚で便利な拡張機能もある。これが C.Basic の特長と言えるかも知れません。Cを知らなくても使える拡張機能もありますが、行列の拡張機能、文字列の拡張コマンド、それからグラフィックス拡張機能を使いこなすには、ひょっとしてCの経験があると理解が楽かも知れませんよね。

導入は簡単で、奥が深いのが C.Basic と言えると思います。


> >5800Pの高速化は無理ですよね?
>
> 簡単なハード改造で3割程度のスピードアップなら確実にできる方法を見つけてるのですが、倍速以上に上げる方法はまだ見つかっていないです。
> このあたりは高速化すると思われる後継機種を待つのが正解でしょうか。

実は、プログラムの高速化については、処理の遅いコマンド使用回数を減らしたり、ロジックを見直すことにより、倍速くらいまで高速化できることを私自身が「入力ボックス」で体験していて、それを公開しています。

なので、例えば sentaro様ご提案の Master Mind (C.Basic版)の入力キー抑制のロジックは、時間のかかる論理演算のてんこ盛りなので、fx-5800P には不利で、その代わりに「入力ボックス」の高速化で行ったように、行列 (fx-5800P では配列変数) を使って論理演算を減らすことで、高速化可能だとふんでいます。

もぐら叩き (fx-5800P版) では、入力したキーのキーコードから実際のテンキーの番号を割り出すのに、配列と数式1つで高速化しています。
参照)http://egadget.blog.fc2.com/blog-entry-28.html

またテンキーの判定には、以下のようなロジックで高速化した経験があります(入力ボックス);

87→DimZ       [初期設定]:全てのキーコードを代入する領域確保
1→Z[35]:2→Z[36]  [初期設定]:テンキーの数字とキーコードの関連付け
2→Z[37]:4→Z[21]  [初期設定]:テンキーの数字とキーコードの関連付け
5→Z[22]:6→Z[23]  [初期設定]:テンキーの数字とキーコードの関連づけ
7→Z[31]:8→Z[32]  [初期設定]:テンキーの数字とキーコードの関連づけ
9→Z[33]       [初期設定]:テンキーの数字とキーコードの関連づけ

Do
Getkey→K
LpWhile K=0
Z[K]→I

If (I≧1 And I≦9) Or K=25
Then


IfEnd


参照)http://egadget.blog.fc2.com/blog-entry-157.html

なので、ひょっとしたら、Master Mind fx-5800P も高速化可能かも知れません。


Re: にせコインの問題

ツル様

管理人のやすです。

> 8枚のコインと、てんびんが1台ある。コインのうち1枚はにせコインで、他のコインより軽い。てんびんを2回使うだけで、にせコインを見つけろ、という問題がありますが、この時の思考ロジックはMASTERMINDでも同じですよね。

ふ~む、面白そうな命題を頂戴しました。
ひょっとして、Mastre Mind 解法のヒントですね!

スグには分からないですね~

先ずは天秤の問題をやってみるとして、答えを知らないので書きながら考えます...

先ずスグに思いつくのは、

1. 天秤使用1回目
 コイン3枚を適当に2組選んで、天秤の左右の皿に3枚づつ載せ
 1.1 上に上がった方の3枚の中に偽コインがある
 1.2 釣り合ったら、2組に分けなかった残りの2枚のどちらかに偽コインがある

2.天秤使用2回目
 2.1 (1.1) の場合は、偽コインを含む3枚から、適当に2枚選び、天秤の左右に1枚づつ乗せる
   2.1.1 天秤が上がった方のコインが偽コインと確定!
   2.1.2 天秤が釣り合ったら、残った1枚が似せコインと確定!
 2.2 (1.2) の場合は、残りの2枚を1まいづつ天秤に乗せ、上がった方が偽コインと確定!

ふむ、これで問題は解けました。こういうひらめきは得意だったりします!


さて、これと Master Mind の思考ロジックとの関連は、どこにあるのだろうか....?

・任意にグループ分けして、グループ同士の比較を行う...?

・8枚から4枚の正解を知るには、4枚の不正解を知ると有利...?

・どうころんでも良いようにグループ分けを考えて進める...?

こんなところだろうか?

なら、ある程度パターンを見つけて、それを覚えると必勝か?

パターンはありそうですね!

今すぐに思いつくのは、残念ながらここまで...(玉砕)


Re:必要なキー以外の反応

管理人様、ツル様、こんにちは!

>なので、当ブログにお越しになる方の中で C.Basic 利用者は大雑把に5%程度。但し、プログラム電卓でプログラミングをしている方の100%が当ブログへお越しになることはあり得ないのでで、5%以下 というべきでしょうか?

5%もいらっしゃるならかなり多いかなと思ってしまいますね。
ありがとうございます。(^^)
私の経験則でいうと、ポケコンや電卓等の閉じられたハードの場合、純正以外の言語が使えるとしてそれを使うのは相当にハードルが高いので、C.Basicの純正互換というところから入れるのは他言語にない強みだと思ってますが、反面それが足かせとなって弱みでもあるという両面がありますね。(^^;



>5800Pの高速化は無理ですよね?

簡単なハード改造で3割程度のスピードアップなら確実にできる方法を見つけてるのですが、倍速以上に上げる方法はまだ見つかっていないです。
このあたりは高速化すると思われる後継機種を待つのが正解でしょうか。


>sentaro様。 実は、全く同じProgを打ってました。
>その後、消しました。必要性と短さを秤にかけて、短さを選んだのです(笑)

なんと!同じProgを!
これは失礼いたしました。
このあたりの仕様は管理人様がおっしゃるようにツル様のご判断で仕様を決定されて下さい。(^^)


>勝手にHN使わないで

何のことかと一瞬焦ってしまいましたけど、管理人様のコメントで理解しました。
ってことで、全く無問題です!(^^)

Re: 必要なキー以外の反応

ツル様
sentaro様

管理人のやすです。

> sentaro様。 実は、全く同じProgを打ってました。
> その後、消しました。必要性と短さを秤にかけて、短さを選んだのです(笑)
>
> しかし、不特定多数が使うことを考えると、決して余計な機能ではないし、あるべきかも知れません。バックライトが消えたときに、再点灯させるために方向キーを押すことが多いので、その辺りのキーだけ無効にしておけばいいかな?と思いました。将来、機能追加でSHIFTなどの受け付けが必要になるかも知れないしとも考えました。
>
> DEL削除はいいですね。(同じキーの複数押しで消えるのでそれでいいなと・・・)
> 楽することに進歩はある!の信念で。(笑)



私の個人的な考えですが、色々な提案を考慮して、最終的に作者の方が好きに決めて作るのが良いと思っています。

一番最初の私の提案で、キーリピート抑制の While Getkey:WhileEnd のコードの追加を申し上げたのは、ゲームの進行上問題になるから、これだけは修正した方が良いと思ったからです。

ゲームを楽しく遊べることが最重要で、それ以外は作者の好みや作者の拘りで作者が決めるものだと思っています。そんな気持ちがこもっているのが、

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

というキャッチフレーズです。
趣味のプログラングは自作プログラムが動くことが一番の楽しみで、動くプログラムが出来れば、色々と手を入れたくなるもので、そこで役立つ情報を発信するのが、e-Gadget の目的です。

当ブログでは、プログラミングの楽しみを共有したいと思っています。なので、色々な提案も大歓迎で、ここをお読みの方がそれをどのように解釈されるかは、作者の方を含めて、それぞれでお好みの方法で、公開プログラムを自由に触って頂ければ良いというのが、管理人の希望です。

Re: 勝手にHN使わないで

ツル様

管理人のやすです。


ファイル名の件、お返事していなかったようです。

ツル様のお好きになさって頂きたく...

ちなみに、スペース入りのファイル名の件は、既にコメントに書いたと思いますが、fx-9860GII 純正Casio Basicでは、スペースが入っていてもリネームできるし問題ないようですので、ファイル名のスペースは問題ないようです。

fx-CG50 だと問題になるだけで、先にfx-9860GIIで確認してからコメントすべきでした。

ということで、スペースを含んだものでも問題ないので、ツル様が納得されるものにしてください。


ところで、

> 怒られると思っていました・・・

これは、何のことをおっしゃっているのか? ふと思いつくのは C.basic版 Master Mind Ver4 で最後に表示される、我々のハンドルネームのことでしょうか?

もしそうだとして、いったい誰が怒るのか...問題ないと思います。

ところで、ゲーム最初に表示される画面で、

Number are 1 To 9

とありますが、are 1 To 9 に対応するには、Number (単数) ではなくて、Numbers (複数) が良いと思います。

コメントアウト部分は、(setting) でなくて、複数形の (settings) が良いかも...

細かいことなので、どうでも良いのですが、ついつい気になってしまいました。

にせコインの問題

管理人様  こんばんは。

8枚のコインと、てんびんが1台ある。コインのうち1枚はにせコインで、他のコインより軽い。てんびんを2回使うだけで、にせコインを見つけろ、という問題がありますが、この時の思考ロジックはMASTERMINDでも同じですよね。

勝手にHN使わないで

管理人様、sentaro様、  こんばんは。

怒られると思っていました・・・

必要なキー以外の反応

sentaro様、管理人様、  こんばんは。

sentaro様。 実は、全く同じProgを打ってました。
その後、消しました。必要性と短さを秤にかけて、短さを選んだのです(笑)

しかし、不特定多数が使うことを考えると、決して余計な機能ではないし、あるべきかも知れません。バックライトが消えたときに、再点灯させるために方向キーを押すことが多いので、その辺りのキーだけ無効にしておけばいいかな?と思いました。将来、機能追加でSHIFTなどの受け付けが必要になるかも知れないしとも考えました。

DEL削除はいいですね。(同じキーの複数押しで消えるのでそれでいいなと・・・)
楽することに進歩はある!の信念で。(笑)

にしても、ご配慮に感謝します。

一休みの雑談

sentaro様、管理人様、  こんばんは。

sentaro様。 いろいろ質問へのご丁寧な回答、本当にありがとうございました。
どこぞの企業のCSよりも的確なご回答で、痒い所に手が届くとはこのことです。
CASIOですら即答率は低いので・・
私も技術支援グループで様々な問い合わせに対応しておりましたが、即答してあげたくて猛勉強したものです。

音については、プロ電に望むほうがいけないですね。
ポケコンでは音でも楽しんだことが懐かしくて。

本体のサイズの点では5800Pがポケットに楽に収まるので便利ですが、このMASTERMINDを入れたら、動作が遅くて難しいです。やれなくはないので、病院で数時間の待ち時間の間にでもやろうかなと。
5800Pの高速化は無理ですよね?
今は5800Pを手にする機会は減りましたが、愛おしく感じます。(笑)

管理人様からのファイル名の件、待ってます。

Re: 質問 いろいろ

ツル様
sentaro様

管理人のやすです。

今日もバタバタしていて、今日やっとPCに向かっています。これから家族と晩ご飯に出かけるので、夜中にもう一度アクセスする感じになります。


ツル様のご質問のうち、sentaro様のコメントに無い部分として、プログラム電卓所有者のうち、使っている言語としての純正Casio Basic と C.Basic の比率についてですが、私も興味があります。具体的に調べたことが無い (調べる方法が思いつかない) のですが、当ブログにアクセスなさる方のうち、C.Basic の記事にアクセス数は、全体のうち5~10%程度の印象があります。

定量的に調べたことがありませんが、毎日の当ブログへの新規アクセス数 (同じ方による重複アクセスを除いた数) 200~400のうち C.Basic 記事へのアクセスが 10~40くらいの感じです。当然毎日バラツキがありますし、私の感覚なので精度の保証はありません。

なので、当ブログにお越しになる方の中で C.Basic 利用者は大雑把に5%程度。但し、プログラム電卓でプログラミングをしている方の100%が当ブログへお越しになることはあり得ないのでで、5%以下 というべきでしょうか?

Re:Master Mind Ver4 C.Basic版

管理人様、ツル様、こんにちは!

Master Mind Ver4 C.Basic版、左からスタートするのが新鮮ですね。
運良く5回までで当たるときもあれば、10回ギリギリのときもあってなかなかのスリルと脳トレになります。
ありがとうございます。(^^)

で、入力時のチェックと[DEL]機能追加が管理人様よりお題が出ておりましたが、そこのあたりちょこっと付け足してみました。

Do:Getkey2->I
の次に
I<>41 And I<>61 And I<>71 And I<>72 And I<>62 And I<>52 And I<>73 And I<>63 And I<>53 And I<>74 And I<>64 And I<>54 And I<>47 And I<>44=>0->I
を追加して、
入力Whileループの抜けた後に
If I=44:Then
D=1=>D-1->D
D>1=>D-2->D
IfEnd
を追加しました。

それからキー入力前に削除で戻った場合の表示対策を追加してあります。

これで、必要なキー以外は反応しなくなりますし、[DEL]での一桁削除が機能するようになります。
C.Basicの独自機能は使ってないのでこの追加はCasioBasic版でもそのまま使えると思います。(^^)

http://pm.matrix.jp/CB/MASTMV4A.g1m

Re:質問 いろいろ

管理人様、ツル様、こんにちは!

Master Mind Ver4 C.Basic版、頂いております。
どんどん完成度が上がっていい感じですね。(^^)


>変数

英文字+数字の変数形式は、マニュアルの236行目からの”行列へのアクセス”の項目にありますが、行列の省略形でのアクセスという感じの説明になっているので、行列を通常変数として使うという感じにはちょっと分かりにくいところあったかもしれません。(^^;
C.BasicはCasioBasic互換なので変数名にはかなりの制限がありますけど、そこを逆手に取ってというか、1文字変数しかない代わりに行列を大幅に拡張してあらゆる方面で便利に使えるようにしています。(^^)


>サブルーチン

一つのプログラム内で昔のBasicと同じように使えるGosubコマンドがあります。
ファイルを分けてサブプログラムにするとローカル変数(大文字変数、小文字変数ともに可です)が使えたりと有利な点も多いので分けた方がいい場合が多いです。
ファイル数増加への対応は同じプログラム群をフォルダで分けるとよいです。
MASTMINDフォルダを作成してそこでMaster Mindのプログラムを格納するようにすればファイル数の増加は抑えられます。(^^)



>1.C.Basicアイコンで表示されるfaile list画面で、左上の[ /  ]何ですか?

ストレージメモリのルートフォルダを表示しているという印です。
フォルダに移動するとフォルダ名が表示されます。


>2.過日、ストレージメモリの空き不足によるエラーを教えて頂きましたが、
> そもそも、なぜメインメモリとストレージメモリとにプログラムが分けられるのでしょうか?

純正CasioBasicは64KBのメインメモリ領域にプログラムを格納しています。
C.Basicではその領域を使うことはせず、1MB以上使えるストレージメモリ(またはSDメモリ)を使用しています。
純正CasioBasicとC.Basicで同じプログラムを動作させる場合はメインメモリ領域を共通に使うことが便利かと思いますがそれはまだ未実装の機能となっています。(^^;


>3.Exec TimeDsp:on/off、出来ました。SET UP内にあるんですね。知りませんでした。あの経過時間データは、Prog内の変数に取り込んでの利用が出来ますか?計測開始のタイミングは、所謂、RUNかけた瞬間ですか?

はい、RUNをかけた瞬間から正常終了時までの時間です。計測値を取り込むことは出来ません。
プログラム内で時間測定を行う場合は、1/128s単位でカウントアップするTicksを使います。

Ticks->S   // 初期値を変数Sに保存
 計測したいプログラム
(Ticks-S)/128->T   // 経過時間(秒)がTで得られます。


>4.そもそも、ファイル名が8文字などのように、なぜ短いと感じる程の制約があるのでしょうか?16文字位だと便利だと思うのですが。使用できる文字の制限も、なぜなのでしょう?

ファイル名の制限はPC上のMS-DOS時代の8.3形式と同じなのですが、PC上でファイル名を変えなくていいように共通化して使えるようにとの電卓OSの仕様かと思われます。
PCとの連携のないfx-5800Pがより長いファイル名が使えてるのは独自仕様でも誰も困ることがないからですね。


>5.CASIO Basicが使える電卓所有者に占める、C.Basic利用者の比率はどの位なのでしょう?

これはまるで分かりません。(^^;
従来より電卓上で動作する独自言語はありましたけど、ポケコン時代に比較するとプログラムを自作する割合がかなり少ないと思われるので、純正言語以外のプログラム言語を使うというのはあまり多くはないかもしれません。
fx-9860GシリーズではCが使えるSDKが用意されてますから、プログラミング環境としてはPCのそれとあまり変わらないレベルで用意されています。
高度なことをしたい場合はCを使うでしょうし、お手軽プログラミングなら純正CasioBasicでも十分なことも多いでしょうし、その間を埋めるのがC.Basicという立ち位置になるかと思います。純正CasioBasicを使ってみたけど、もっと速度が欲しい、もっと細かな動作が出来ると嬉しい、という場合にC.Basicを試してみるくらいの感じかと思っています。
C.Basicは速度的には純正CasicBasicよりもできるだけCプログラムに近いところまで出来るようになってきてはいますが純正互換仕様である限り色々と制約も多いのでそこのあたりの状況は難しいところですね。


>6.9860GII機やCG50機で、表示ピクセルON・OFFの間の中間色(階調)を出すにはどうやればよいのでしょうか?

CG50は6万色表示のカラーLCDなのでアドインを作成すれば自在です。
9860GIIでは2色モノクロLCDなので単純には不可能ですが、高速で画面表示を切り替えするプログラムを作成すれば階調表現は可能です。(C.Basicでも出来ます)


>7.上記2機種、どうあがいても音を出すことは不可能ですか?フィルムスピーカー?を持っていて、(私は電子工作は好きなので)こうすれば出来ますよ的な情報があればな、と思っています。

本体だけでは無理ですけど、3ピンコネクタから1ビット信号を出力すれば可能です。
CG系ではGameBoyのエミュレータのアドインが出てますが3ピンから音声信号が出力されてます。
音出しするには3ピンの出力ポート(シリアル通信用)を直接アクセスする必要があるのですが、C.Basicでも何かしら音出しは出来ると思われますが試したことはまだないです。(^^;

質問 いろいろ

sentaro様、管理人様、  こんにちは。

ご質問させて頂きます。

1.C.Basicアイコンで表示されるfaile list画面で、左上の[ /  ]何ですか?

2.過日、ストレージメモリの空き不足によるエラーを教えて頂きましたが、
 そもそも、なぜメインメモリとストレージメモリとにプログラムが分けられるのでしょうか?

3.Exec TimeDsp:on/off、出来ました。SET UP内にあるんですね。知りませんでした。あの経過時間データは、Prog内の変数に取り込んでの利用が出来ますか?計測開始のタイミングは、所謂、RUNかけた瞬間ですか?

4.そもそも、ファイル名が8文字などのように、なぜ短いと感じる程の制約があるのでしょうか?16文字位だと便利だと思うのですが。使用できる文字の制限も、なぜなのでしょう?

5.CASIO Basicが使える電卓所有者に占める、C.Basic利用者の比率はどの位なのでしょう?

6.9860GII機やCG50機で、表示ピクセルON・OFFの間の中間色(階調)を出すにはどうやればよいのでしょうか?

7.上記2機種、どうあがいても音を出すことは不可能ですか?フィルムスピーカー?を持っていて、(私は電子工作は好きなので)こうすれば出来ますよ的な情報があればな、と思っています。

以上、お願い致します。

(ツル)

Ver4 ファイル名?

管理人様  お世話になっております。


MASTERMIND Ver4の純正CASIO Basic版 チェック終わりました。
お送りできるのですが、1点ご確認です。

ファイル名ですが、予告しておきながらですが・・・ 変えてもよろしいですか?
始めにMASを使うファイルが多くて、また混乱しそうです(笑)

C.Basic版が MASTMV4 
純正CASIO版は、基本的に同じものですが、別扱いは必要。
それで、CASIOの電卓でMASTERMINDだから、MASIOはいかがですか?
MASIOV4 ならスペースもありませんし、私の手元にあるうちにRENしたほうがいいのですよね? (デジタル~は~、マーシオ!)ってことで。

ご返事を見てから送信になります



Ver4の純正CASIO Basic版の製作がほぼ終わりました

管理人様  お世話になっております。


私、サブルーチンの便利さは承知しているつもりです。
が、使用には消極的です。ファイル数が増えるからです。いつも短いファイル名で困っています。なので1本化が大好きなんです。ですので、管理人様が作られたHIT&BLOWも1本にまとめて保有しております。年寄りだから」頑固なんです(笑)

MMでは飛ばしたってLblは4つです。20もあるなら困りますがね。

>プログラムブロックが上から下へ流れるようにすると、機能追加が楽になり、バグも入りにくくなります。
次の作品で構造化プログラミングに是非挑戦してください。

はい・・・

私、他人への物事の説明はとても上手いほうだと自負しております。(笑)
ただし、私がきちんと理解出来た物事に関してはなのです。
問題は、私の理解力が低いという致命的な問題があります。ここ、笑うところです。(笑)

ところで、Ver4の純正CASIO Basic版の製作がほぼ終わりました。これから寝て、明日動作確認等やる予定です。明日日中にはメール出来る予定です。
1,3行列変数のアドバイスありがとうございました。かすかな知識で出来ました。

もうお気づきでしょう。構造化がいまだに理解度60%なんです。具体的な「もの」が必要なのです。

いつもお付き合い下さりありがとうございます。
感謝しております。

Re: Master Mind Ver4 C.Basic版完成!

ツル様
sentaro様

管理人のやすです。

うっかりしてました。C.Basic用 Master Minf Ver.4 のダウンロードです。

https://egadget2.web.fc2.com/archives/fx-9860GII/C.Basic/MasterMind_V4_for_CBasic.html


ここで、構造化プログラミングの重要性にお気づきかも知れません。
Goto であちこち飛ばすと、機能追加が面倒になってきますね。

Goto の代わりにサブルーチンを使ったりして、プログラムブロックが上から下へ流れるようにすると、機能追加が楽になり、バグも入りにくくなります。

次の作品で構造化プログラミングに是非挑戦してください。

Ver4 setting 行列は・・

管理人様、sentaro様、  こんばんは。


Casio Basic 用の完成版は、当たりです!MASTM V4.g1mの予定です。
車の名前みたいです。(笑)
ところで、先の私の投稿で、変数の発番やマニュアルのことでぼやいているような文面ですが、全く不満は微塵もありませんので。気を悪くなさらないでください。始終笑顔のツルです。

行列による純正版へのご提案、ありがとうございます。
ただ、このチェック機能は、メインProg作成中に、動作確認で嫌というほどProg内を移動ばかりしてして追加機能にしようと思った機能なので、一般利用者向けには全く考えていないのです。それと、ツルは行列も苦手なのです。(笑)

あー、管理人さんの横に座って作りたいです。(泣)

小文字変数を入れて面倒なことをやっていますが、それは可読性を高めるためになると考えてのこともありました。今でも他の方法を考えてますが、この先いじる気はないです(笑)


Re: Ver4 setting

ツル様

管理人のやすです。

1つ提案があります。

> ここで小文字cの値を変えてやって、続く下の行でcにより小文字変数qとpとを必要な値にして目指すQとPに入れるというやり方です。

間違ったファイルを見ていたので、ピント外れのコメントを付けてしまいました。失礼しました。

ところで、変数 c、q、p を使う代わりに1行3列の行列を使う方法があります。これを使うと大文字変数のまま、3つの変数の切替が出来るので、純正Casio Basic にも切替機能を実装できるかと...

如何でしょうか?

Re: Ver4 setting

ツル様

管理人のやすです。

私のミスでした。ファイル名はスペースを無くしたのですとね。MASTMV4 を実行すべきを、MASTM V4 を実行していました、どうりで以前のままなわけです。失礼しました。

ここで、質問がありますが純正 Casio Basic 用の完成版は、MASTM V4.g1m ということでしょうか?

No title

Ver4 setting

管理人様、sentaro様

あ、1と2ではなく、1と5です。

Ver4 setting

管理人様、sentaro様、  こんばんは。

分かりにくいですね。申し訳ありません。
本当は大文字変数Qと大文字変数Pを変えたいのですが、Progの中ほどで遠いので、頭側のsetting部で何とかしようとした訳です。

ここで小文字cの値を変えてやって、続く下の行でcにより小文字変数qとpとを必要な値にして目指すQとPに入れるというやり方です。
setting部をご覧になればご理解いただけると思って事前に詳しいご説明は省きました。
残りの使える変数がなかったもので・・・苦肉の策でしたが。
変わるはずなのですが。
今も確認しましたが、手元のでは1と2との違いがでております。

Master Mind Ver4 C.Basic版

管理人様、sentaro様、  こんばんは。

管理人様。たぶん私の作成よりも分かりやすい合理的な方法があるものと思います。

settingのところで、YES→1 NO→5 の次の行で小文字cに1か5を入れると変わります。手元のでは変わっています。
1→c とするとcheckモードなので、ゲーム画面で(-)で答えを表示させて入力するとブリンクとコメントスライドしてきます。5→cではノーマルなので(-)によりずる扱いになり次のゲームへ進むことになる違いが出ます。

Re: C.Basic  扱える変数

ツル様
sentaro様

> あー、アルファベット変数にに発番できればいいのになぁ・・・と悲しくなった時間を返してもらいたいです。だって、マニュアルには書いてないですよね?

同梱の readme_J.txt や Manual_J.txt のどこかに書いてあると思いますよ。

そもそも、この省略は、(私の理解では)文字列を扱いやすくするためのもので、A[1,1]を使えば数値も扱えるという、一種の応用問題なように思います。

Re: Re: Master Mind Ver4 C.Basic版完成!

ツル様

管理人のやすです。

先ほど、メール経由でプログラムを頂きました。

(setting) のところで、変数Cの初期化の記述がありません。
また、1→C や 1→C を記述しても、変化が見られません。

ご確認ください。


C.Basic  扱える変数

管理人様、sentaro様、  こんばんは。

sentaro様。やばいです やばいです!  何ですか?扱える変数・・・
手が震えてきました。特に、今製作中のトラフィックジャムにどんぴしゃです!

あー、アルファベット変数にに発番できればいいのになぁ・・・と悲しくなった時間を返してもらいたいです。だって、マニュアルには書いてないですよね?

この手の震えは・・・喜びだーっ!
なんかあれですね、21世紀を感じます。昔もポケコンで苦労したことを思い出します。
それにしても、凄いものを作りましたね。

皆様からは本当に刺激的な情報ばかりで、感謝と感動で胸が詰まります。

心を込めて申し上げます。 
ありがとうございます!

 ■D\(^^ ) コーヒー いかがですか?皆様

(ツル)

Re:C.Basic 質問

管理人様、ツル様、こんにちは!

>Exec TimeDsp:on/off  ですが、F5のところのEXECがそうだろうと思いますが、押しても無反応なのを有効にするには?(是非使ってみたく)

んと、これはプログラム全体の実行時間をお手軽に計測するために実装している機能で、コマンドではありません。(^^;
Exec TimeDspをonにしておくとプログラムの正常終了後に実行時間が表示されます。
F5のところのEXECはメモリの直アクセスやマシン語を扱うためのちょっと(かなり)危ないコマンド群でExec TimeDsp:on/offとは無関係となっております。

2年に及ぶバージョンアップで多種多様なコマンドや機能面で複雑化してしまったところも多々ありますので、分からないこと不明なところ出てきましたらどんどん質問してくださいませ。
再確認する過程でバグ発見に繋がることも多いのですごく助かります。(^^)

変数については小文字変数も足りなくなった時には、英文字+数字一桁という行列を短縮形で使う使用方法があります。

純正での行列
A[1,1]
A[2,1]
A[3,1]
短縮して
A[1]
A[2]
A[3]
さらに短縮して
A1
A2
A3
でアクセスできます。
123->A1
456->A2
A1+A2->A3

Master Mind Ver4 C.Basic版、完成されたのですね。楽しみです!(^^)



管理人様、早速の1.64対応ありがとうございます!

>色々な方のチェックは貴重ですね。

はい!
多種多様な方向からチェックしていただくと、ついつい見逃してしまうような隠れたバグが見つかるのでありがたいです。(^^)

Re: Re:C.Basic 質問

sentaro様

管理人のやすです。


C.Basic Ver 1.64 マイナーバージョンアップ について、本エントリー記事の対応を済ませています。

http://egadget.blog.fc2.com/blog-entry-495.html

色々な方のチェックは貴重ですね。

Re: Master Mind Ver4 C.Basic版完成!

ツル様
sentaro様

管理人のやすです。

今日も、チョットバタバタしていて、「チョット待った」を今拝見しました。

どうぞ、ごゆっくりと時間をかけてください。

今回の Ver 4 については、当初からじっくり時間をおいてから公開しようと考えていました。
C.Basic についても、おそらくツル様が作成なさるだろうと感じていたので、私自身はまだ全く手をつけていませんでした。

...と思ったら、完成したのですね。

えと、数字入力時、[DEL]で1つ前の入力の状態に戻ったり、無関係なキーを受け付けないようにする、これは好みの問題ですが、課題としては面白いと思います。

私は有ったほうが良いと思うけど、敢えてなくてもゲームとして問題はないと感じています。というのも実際入力を訂正したいときは、私の場合は [DEL]キーを押して ?※※※ にしてから、入力しなおしていますので...

えと、まだメールチェックしてません。Please take your time...

Master Mind Ver4 C.Basic版完成!

管理人様、sentaro様、  こんばんは。

Ver4は完成報告を少し先走った感があり、申し訳ありませんでした。
今度こそ自分で満足する仕上がりです。

えと、実は・・・C.Basicも苦手でした。
ファイル名の自由度が小さかったり、作ったProgが削除されたりと困った事態があったりして。しかし、その速さとsentaro様から低消費電力のことを教えてもらったり、また、英小文字の変数が使えるなど、大変魅力的なものであることを知り、私のこれからのProg作りに欠かせないものだと感じております。

MASTERMINDはもうAZ変数に余裕がなかったのですが、変数に小文字が使えることを最近知り、早速Ver4の仕上げに活用した次第です。
settingの部分に、Prog checkモードを選択できるようにしました。
checkをNOにすると、通常通りの遊びができます。
YESにすると、(-)での答えを表示させても、(-)を押してないことにし、更に、それで正解を出すと(答えを知っているから勿論正解しますが、)一気にprize10です。つまり、check YESにするのは、正解ブリンクを確認しキラキラ画面の先まで手軽に確認できるモードになるということです。

たぶんですが、不具合は出ないと思います。
ファイル名もスペースは抜いてあります。
あと少しのお時間で、メールに添付し送信いたします。
純正CASIO Basicのほうは英小文字の変数が使えないので、チェックモードを選択できない、ノーマルのVer4としてこれから仕上げに入ります。

コメントについて、読みました。管理人様は既に経緯をご存知ですし、記載された内容で問題ないです。一任致します。
文言に何か問題があれば都度ご相談いたしますので。
よろしくお願いいたします。

では。(ツル)

Master Mind Ver4 完成版ちょっと待った!

管理人様  こんにちは。


※Master Mind Ver4 の公開は少し待ってください。

管理人様のほうで手直しとして修正作業に入ってますか?
または、Ver4のC.Basic版のほうはどんな状況でしょうか?

実は、Ver4のC.Basic版を私が作成中です。
で、純正CASIO Basic版は今晩上がりの予定です。
両方の仕上がりを十分にチェックしてお送りしたいと思っております。
もう同じ過ちは避けたく。
コメントの件も待ってください。まだ読んでいません。
大筋では、Ver3はなかった方向でいいのではないかと考えます。
Ver4が楽しすぎて・・・(笑)  また投稿にてご報告ご相談いたします。

Re: Ver4 Getkey=31⇒Break m(_)m

ツル様
sentaro様

管理人のやすです。

ちょっとバタバタしていて、今やっとfx-9860GIIで Master Mind Ver4 を触っています。

スペースを含むファイル名をリネームする動作ですが、fx-9860GII ではエラーにならないことを確認しました。
そこで、MASTM V4.g1m のファイル名は許されるものと言えますので、圧縮ファイル MASTM V4.zip をダウンロードするようにしました。

https://egadget2.web.fc2.com/archives/fx-9860GII/MasterMind_V4.html

なお、これをカラー化して fx-CG50 /CG20 用の g3m ファイルにしたものを MASTMCV4.g3m としてダウンロードできるようにもしました。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MasterMind_CG_V4.html


Master Mind Ver4 も記事にして皆さんに紹介したいと考えてます。

作者のコメントとして、以前コメントで頂いた文章を基本にして、一部を削除して以下のようにしようと思いますが、如何でしょうか>ツル様

=== 作者(ツル様)のコメント ===

MASTER MIND Ver3は、ゲーム実機に近い感覚で遊べるよう作りました。

しかし、ゲーム実機では予想ピンを差す位置は自分側から相手側(出題ピン側)へ近づいてゆくのが正規の進行方向です。その点ではVer3は逆方向です。

なぜ逆に作ったかは、Locate表示(Y値)とトライ数カウント値とが頭の中で思考しやすかった(作りやすかった)のと、左側情報表示と右側入力表示との表示バランスがいいだろうと思ったのが理由です。

その後、幾度も走らせてみると、この進行方向とprize方法についてはどうしても改良したい衝動に駆られました。進行方向変更により、ゲーム実機に近い感覚ではなくゲーム実機そのままに遊べるようになりました。また単に正解アニメを出したいだけでは達成動機としては弱く、実利はないが別なprizeの設定は必要だと考えました。(この点も以前からの課題でした)

たかだか電卓のゲームではありますが、作るからにはちゃんと作りたい。
そこで、気になっている点をこの際全部まとめてVer4として完成版にしたいと思いました。

=== コメントおわり ===

C.Basic 質問

sentaro様、管理人様、  こんにちは。

sentaro様。たぶん本日最後の質問です。

 Exec TimeDsp:on/off  ですが、F5のところのEXECがそうだろうと思いますが、押しても無反応なのを有効にするには?(是非使ってみたく)

Re:C.Basic 質問への迅速回答 助かりました!

sentaro様、管理人様、  こんにちは。

sentaro様。 迅速にご回答頂き、非常に助かりました!
打っても打っても保存されなくて困っておりました。

しかし、C.Basicは機能豊富で、何より動作が早くて気持ちいいですね。
でも、分からないことがまだ多くて・・・
頑張ります!

Re:C.Basic 質問

ツル様、こんにちは!

>1. Prog中に Goto を打ち込もうとすると、Goto Line Number current:3 [1~322]: と出てGotoが打てないのは何故?

それはエディタの行指定ジャンプ機能になるので、
コマンドとしてのGotoを入力する場合は純正CasioBasicと同じ入力方法で、
[SHIFT]+[VARS]-[F3](JUMP)-[F2](Goto)
です。

>2. Not enough MEM code : 2736 が出る原因は何でしょう?

ストレージメモリの空きが少ないのでファイル保存が出来なかった場合に出るエラーです。
ストレージメモリのフリーエリアはファイルモードの右上に表示されてますので、
(括弧()の中はファイル数です。)
ここがファイルサイズ以下に減っている場合は、純正機能のメモリーマネージャーにて[F5](OPT)最適化をして下さい。


サーチで右端に[が出てしまっていた不具合を修正しました。(^^;
差し替えアップしております。
http://pm.matrix.jp/CB/CBASIC164beta.zip

C.Basic 質問

sentaro様、管理人様、  こんにちは。

C.Basic 打ち込みでの質問2点です。

1. Prog中に Goto を打ち込もうとすると、Goto Line Number current:3 [1~322]: と出てGotoが打てないのは何故?

2. Not enough MEM code : 2736 が出る原因は何でしょう?

Re:C.Basicのskip

管理人様、ツル様、こんにちは!

>通常のProg内では、skipを押すたびにskipしますが、コメント文が長い(1画面分)場所までくると、更なるskipが動作しなくなるのです。

現象を確認しました。
これは現行のエディタの分かっていたけど直していなかった仕様だった模様で、(^^;
その場合はSkip値を2以上にして対策するということでごまかしておりました。
失礼いたしました。

ということで、
サーチとSkipの不具合を修正した(と思われる)バージョンです。
1.64の差し替えとなります。(^^;

アドイン版 C.Basic ver.1.64ベータ差し替え版(サーチ&Skip修正版)
http://pm.matrix.jp/CB/CBASIC164beta.zip

C.Basicのskip

管理人様、sentaro様、  こんばんは。

言葉足らずで申し訳ありません。
skipで画面単位でのskipはよいのです。

通常のProg内では、skipを押すたびにskipしますが、コメント文が長い(1画面分)場所までくると、更なるskipが動作しなくなるのです。
MASTER MINDのProgでやってみるとわかる筈です。
長いコメント文があっても、続けてskipを効かせて欲しいということです。

Re: C.Basic の不具合?問い合わせ

管理人様、ツル様、こんにちは!

>C.Basicの場合は1か所で止まり、EXEで次へ飛ばすことが出来ません。

確認できました。
これは仕様ではなく不具合ですね。(^^;
EXEで次のサーチになることが今の今まで分かってませんでした。(^^;
純正仕様をしっかり確認してなかったことによるバグですので、これから修正してみます。


>skip↑↓は便利ですが、改行数は画面単位?

はい、1画面(6行または7行)単位で行がスキップされていくのが現在の仕様です。
スキップする画面単位はセットアップで設定できるので2以上に変更しても止まるようであればバグです。(^^;
現在のスキップ仕様は画面上の行数で計算しているので、これを(改行までを1行とする)論理行に変更する方がよいかもしれません。



管理人様、
C.Basic版のMSATMINDはツル様のアップデートに合わせて随時アップデートしていくのがよいと思うので、最新版だけで構わないと思います。(^^)

Ver4 Getkey=31⇒Break m(_)m

管理人様  こんばんは。

>頂いた Ver 4 は、I=31⇒Break になっていて、[EXE]キーの反応が遅いままですが、結果的にそうなさったのでしょうか?

あれ?もしかして修正前に保存したのをお送りしてしまったたようです。
手元の9860では、Getkey=31⇒Break になっています。
改変版が多くあり、更に海外製のも同じような名前なのでまた混乱したようです。

重ね重ねご面倒をお掛けし大変恐縮です。
もうVer3はDELですね。

C.Basic の不具合?問い合わせ

管理人様、 sentaro様   こんばんは。

楽屋裏で見つけられなかったので、教えてください。

不具合ではなく仕様ならば仕方ないですが、純正casio Basicと違うので使いづらく感じている2点があります。

1. Search

 私はProg中に、作業用に通常のazではなく、Character MATH内にある特殊文字のiやe(太い文字の)をよく使います。所定個所にセットするとピンポイントで行けるからです。
純正casio Basicの場合は、5か所セットしておくと、最後の5個目まで順次飛ぶので便利ですが、C.Basicの場合は1か所で止まり、EXEで次へ飛ばすことが出来ません。

2. JUMP-skip↓

skip↑↓は便利ですが、改行数は画面単位? 今回のMASTERMINDのProgのように、コメント文として1画面丸々作った場合、skipがそこで止まります。
純正casio Basicにはない機能なので便利ですが、止まらないでほしいです。


以上です。

ファイル名

管理人様  こんばんは。

またファイル名でしくじってしまいました。
ご面倒をお掛けし大変申し訳ございません。

9860ではファイル名でのスペース途中使用に問題がないようだったので、他のファイルとの区別に視認性がいいので、よく使っております。
環境に合わせ、都合の良いファイル名への変更でどうぞ。
今後は気を付けます。

>Congratulation! のキラキラ画面は、ダイア (◇) の色をランダムのカラーにして、キラキラ感を増してみました。

うわっ、それは素晴らしい。
9860ノーマルではあのLOOPが秒間7回ですが、速度が増すとどう見えるのでしょうね。

>fx-CG50 をお持ちで無いツル様には、作者であるにも係わらず、申し訳ありません。

ははは、気にしないでください。私は9860に出来る美しさの表現をしているだけですから。


不具合?の件は、あとで楽屋裏をチェックしてみます。

Re: MASTER MIND Ver4

ツル様

管理人のやすです。

> >Getkeyがあるところでキースキャンしますが、I=30⇒Break だけだとキースキャンしません。
> I=30⇒Break でキースキャンさせるには、Getkey=I⇒Break とする必要があります。

頂いた Ver 4 は、I=31⇒Break になっていて、[EXE]キーの反応が遅いままですが、結果的にそうなさったのでしょうか?
私の手元にある fx-CG50 用カラー化バージョンでは、Getkey=31⇒Break に変更しています。

Re: MASTER MIND Ver4 デバッグ依頼

ツル様
sentaro様


管理人のやすです。

Ver 4 を頂き、ご連絡頂いた修正を施しました。

恐縮ですが、ファイル名にスペースを入れないものに変更してよろしいでしょうか?
例えば、MASTMV4.g1m といった感じです。

というのも、当ブログ付属のホームページでは、サーバーの仕様のため、ファイル名にスペースを含むファイルをアップロードできません。それなら ZIP ファイルにすれば良いのですが、これまでのところ g1m ファイルを直接ダウンロードさせるようにしてきています。

それから、もう一つ気になる点があります。

今手元には fx-CG50 しかなく、fx-9860GII で確認していませんが、fx-CG50 では、ファイル名にスペースがあるとリネームを行おうとしても「無効なフォルダ名またはファイル名です」とエラーになるので、ファイル名にスペースを許さない仕様のようです。

但し、スペースのあるファイルをPCから転送することは可能で、このファイル名のままで実行はできます (fx-CG50 の場合)。

fx-9860GII で、スペースのあるファイルをリネームできるかどうか、帰宅後確認します。

そんなことから、スペースを含まないのが安全なファイル名かも知れません。

Casio Basic のファイル名仕様は、fx-9860GII と fx-CG50 は同じなような気がしていますが、何か知見をお持ちでしょうか?>sentaro様

=====

取り敢えず、手元の fx-CG50 でカラー化してみました。
最後の Congratulation! のキラキラ画面は、ダイア (◇) の色をランダムのカラーにして、キラキラ感を増してみました。

fx-CG50 をお持ちで無いツル様には、作者であるにも係わらず、申し訳ありません。

https://egadget2.web.fc2.com/archives/fx-CG50/MasterMind/MasterMind_CG_V4.html


帰宅後、fx-9860GII でファイル名にスペースが入るとどうなるのか、fx-CG50 と同じかどうか、確認してみます。


Re: C.Basic の不具合?問い合わせ

ツル様

管理人のやすです。

※ 2017/10/13 21:16 に追記


> C.Basic の不具合か?と思われる点のお問い合わせは、どのカテになりますか?

読者の方から不具合情報を投稿頂くためのカテゴリは設けていません。

但し、過去に幾つかの不具合を見つけた時の記事は、"楽屋裏" というカテゴリに入れています。
今回ツル様が疑いをかけた問題について、"楽屋裏" の記事と同じものがあるかも知れません。

もし、楽屋裏で取り上げていない"新規"な不具合を発見された場合は、新規不具合投稿用のカテゴリを作っていないので、ココにコメント頂くか、あるいは楽屋裏で近い不具合の記事にコメント頂くのはどうでしょうか?

これまでのところ、不具合がそうそう見つかっていないので、新規投稿用のカテゴリを作っていないんです(^^;


余分なものをそぎ落として、不具合を顕著に示すプログラムを提示頂けると、うれしいです。

なお、新規な不具合らしいものは、是非とも "楽屋裏" で取り上げたいと思うのですが、よろしいでしょうか?

[2017/10/13 21:16 追記]
attention については、ご自由にどうぞ。
私の場合は、特に読んで欲しい方の名前を、複数であれば複数書くようにしています。コメントしないが読んでいてくださる方も意識する場合は、"皆様"という感じを追加することおあります。

特に規則など設けておりませんので、お気軽にご自由にどうぞ!



C.Basic の不具合?問い合わせ

管理人様  お世話になっております。

C.Basic の不具合か?と思われる点のお問い合わせは、どのカテになりますか? また、投稿の宛先はsentaro様連名にしますか?

MASTER MIND Ver4 デバッグ依頼

管理人様  こんばんは、ツルです。

恐れ入りますが、デバッグ をお願い致します。
トライ6になった時に、トライ5での▶を消す記載が抜けておりました。

Locate F,G,"▶"
C≧2 And C ≦6⇒Locate F,8-C,"│"

C=6⇒Locate3,2,"│"   ※↼この1行追記願います。

C≧7 ⇒Locate F,13-C,"│"
'=====(input)=====

ファイル

管理人様  お世話になっております。

丁度、同じタイミングで自力でドラッグ&ドロップでの移し方に気が付きました。

それにしても、ものすごく私の弱点を穴埋めしてくださる投稿です!
一字一句全て頭に叩き込むべき投稿です。
これは物凄く感謝です。

ありがとうございました。
ツル

Re: FA-124

ツル様

管理人のやすです。

FA-124の使い方というよりも、Casio Basic のプログラムファイルのファイル名の付け方の問題だとご理解頂く方が、全体が分かりやすくなると思います。

1. ファイル名は、電卓上で許される範囲で決定する。

2. PC上でファイル名を変えない。

この2点に尽きると思います。

今回は、電卓上で許されないファイル名にしてしまったことが原因と言えます。

なお、FA-124 は、左側は電卓内部の状態、右はパソコン上の状態を示します。
電卓からPCへファイルを移動するには、FA-124 の左側から右側へファイルを移動します。
PCから電卓へファイルを移動するには、FA-124 の右から左へファイルを移動します。

ファイルの移動は、
移動したファイル上で右クリックして現れるメニューを使うか、
ドラッグ&ドロップ
で行います。

ところで、純正Casio Basicのプログラムファイルは、電卓の Main Memory に保存されます。C.Basic のプログラムファイルは、電卓の Storage Memory に保存されます。

FA-124 では、Main Memory か Storage Memory を切り替えて使います。
このあたりの感じは、C.Basic のインストールを説明する以下の記事を参考になさってください。

http://egadget.blog.fc2.com/blog-entry-509.html


FA-124

管理人様  お世話になります ツルです。

また。申し訳ありません。
実はFA-124がとても苦手です。

お察しの通り、
>一旦 fx-9860GII で Ver4 を作ったプログラム g1m ファイルをPCに転送し、その後PC上でファイル名を変更して、それをお送り頂いたのではありませんか?

この通りの手順をやったと思います。
メール添付のために電卓からPCへExportする際、ファイル名がブランクになっていて保存できないので、電卓での名前を同じに打って、保存できるのでそれでよしよしと安心していました。手順が実はさっぱりわかりません。HELPです。

Re: MASTER MIND Ver4

ツル様

管理人のやすです。

Ver 4 をメールで頂きました。ありがとうございます。

一度、今回お送り頂いたファイル MASTM V4.g1m そのものを、FA-124 に Import してみてください。
私のところでは、Import できず、Application Error になります。

ここからは、私の推測ですが、一旦 fx-9860GII で Ver4 を作ったプログラム g1m ファイルをPCに転送し、その後PC上でファイル名を変更して、それをお送り頂いたのではありませんか?

もしそうなら、g1mファイルの1行目で管理しているファイル名と、実際のファイル名が異なり、それが Application Error の原因ではないかと思われます。

一度、ご検討頂けませんか?

MASTER MIND Ver4

管理人様  おはようございます。ツルです。

>Getkeyがあるところでキースキャンしますが、I=30⇒Break だけだとキースキャンしません。
I=30⇒Break でキースキャンさせるには、Getkey=I⇒Break とする必要があります。

お陰様で、このご教示により見事に解決致しました。
ようやく意味合いがピシッと頭に入りました。
今まではちょっとのキー長押しで済んでいたので、問題視しない癖がありました。
ありがとうございました。

Ver4にしてから初めて真剣に取組んで(遊んで)みました。
不具合は出なかったです。
目標はやはり、祝画面の表示なのですが、7ゲームで♢10個獲得して祝画面が出せました。(自分で作ったんですがね(笑))

やはりVer4作ってよかったです。

ツル

ver4 祝画面

管理人様

コードの一番初めに、 Goto 4 と追加して走らせるとすぐに見られますよ。

ツル

Re: MASTER MIND Ver4 fx-9860GII 純正CASIO Basic用 完成

ツル様

管理人のやすです。

Ver 4 で是非遊んでみたいと思いますので、是非送って頂けませんか?

楽しみです。

> キースキャンが鈍い時が残っています。C.Basicでなら大丈夫ですね。
> (GetKey→Iがあるので、I=31⇒Breakにしていますが、それが悪い?)


Getkeyがあるところでキースキャンしますが、I=30⇒Break だけだとキースキャンしません。
I=30⇒Break でキースキャンさせるには、Getkey=I⇒Break とする必要があります。

よろしければ、また私宛にソースを送って頂けるとうれしいです。

MASTER MIND Ver4 fx-9860GII 純正CASIO Basic用 完成

MASTER MIND Ver4

管理人様

お世話になっております。ツルです。
※2017-10-12(19:18) : ツル ←は、一部追加が発生したため、削除願えますか?下記が追加文を入れた差し替え投稿になります。恐れ入ります。

                 記

MASTER MINDは一段落し、改変、改造はもう皆様の自由ですが、私自身が満足する完成版に仕上げておきたいと願いを持っておりました。

MASTER MIND Ver3は、ゲーム実機に近い感覚で遊べるよう作りました。
しかし、ゲーム実機では予想ピンを差す位置は自分側から相手側(出題ピン側)へ近づいてゆくのが正規の進行方向です。その点ではVer3は逆方向です。

なぜ逆に作ったかは、Locate表示(Y値)とトライ数カウント値とが頭の中で思考しやすかった(作りやすかった)のと、左側情報表示と右側入力表示との表示バランスがいいだろうと思ったのが理由です。

その後、幾度も走らせてみると、この進行方向とprize方法についてはどうしても改良したい衝動に駆られました。進行方向変更により、ゲーム実機に近い感覚ではなくゲーム実機そのままに遊べるようになりました。また単に正解アニメを出したいだけでは達成動機としては弱く、実利はないが別なprizeの設定は必要だと考えました。(この点も以前からの課題でした)

たかだか電卓のゲームではありますが、作るからにはちゃんと作りたい。
そこで、気になっている点をこの際全部まとめてVer4として完成版にし、一段落ではなく、気持ちよく終わりにしたいと思いました。

正解アニメループからのEXE脱出は管理人様ご提案コードへ変えていますが、キースキャンが鈍い時が残っています。C.Basicでなら大丈夫ですね。
(GetKey→Iがあるので、I=31⇒Breakにしていますが、それが悪い?)
管理人様は別途、CG50版を仕上げられるかも知れません。
Ver4は公開必要なしと判断されてもそれは構いません。
私は自分用に自分が満足するように作りました。


変更点(兼 MASTER MIND Ver4 遊び方説明)

1ゲーム毎の.トライ方向は左下から右上へ。1ゲーム10トライまで。ゲーム数は無制限。
2.オープニング2面目のEXAMPLEをVer4に合わせ変更。
3.左側HB表示の下にヒット数ブロー数を表示。(白丸黒丸が00の際に数字で確認できる)
4.下段中央に終了用EXITを表示。(管理人様の正常終了方法を踏襲)1~9ansも変更。(入力部の表示の視認性向上のため)。P・も下段に追加。「・」キーにより左上に現在の獲得♢数が表示されます。
5.prizeとして、♢(ダイヤ)を使用。6トライ以内に自力正解で2個獲得。10トライ以内に自力正解で1個獲得。1ゲーム終了時毎に獲得♢累積数を表示。10個獲得で祝画面(追加の最終画面)の表示。
6.一度でも(-)で回答表示したゲーム回では左側Hの上の▶は▶のままで、prize獲得はなし。回答表示させていない場合(自力挑戦中)は▷表示になります。
7.fx-9860GII 純正CASIO Basic用  MASTER MIND Ver4 ( file name[MASTM V4] )をツルが作成完了。
アドインC.Basic版は別途。


で、必要でしょうか? たぶんですが、この先変更はないと思われます。
かなり完成度は高いと思います。管理人様の検収が楽しみです!
ツルはVer4になって、更に満足して遊べております。

ツル

Re: MASTER MIND Ver3  一段落

sentaro様、ツル様

管理人のやすです。


sentaro様

C.Basic版マスターマインドですが、記事では MSATMIN3 のみをダウンロードできるようにしています。というのも MASTMIN2 よりも完成度が高いという感じがしているからです。ZIP では1つ前の MASTMIN2 も同梱されています。C.Basic 使いこなしの観点だと、2つあると比較できて面白そうなので、ZIPも公開しようかどうか、考え中です。


ツル様

はい、一段落ですね!

他の人のアイディアやコードを拝見するのは、面白いしお互い勉強になるので、こんな感じのやりとりは楽しいです。
プログラムを投稿・公開してくださる方が少ないので、とても楽しめました。ありがとうございます。

何か思いついたら、またプログラムを提供して頂けると嬉しいです。


おっしゃるように、fx-CG50 の高精細度液晶は圧倒的にきれいです。そして、個人的にはデザインも気に入っています。あとは、fx-CG50用の C.Basic 登場を楽しみにいているところです。

fx-CG50 版マスターマインドでは、ブリンク速度調整用の変数Uの値を変えると、結果が変わると思います。ひょっとして C.Basic 版でのお話だったと思いますが、念のため...

MASTER MIND Ver3  一段落

管理人様、sentaro様 こんばんは。

MASTER MIND Ver3 も、キーリピートを防ぎ、EXE終了をクイックにし、移植関係も無事に見届け、この辺で私は一段落(いちだんらく)です。(ひとだんらくは誤り)
様々なご協力を戴き、すくすく育ちました。ありがとうございました。

ツル

MM ループ脱出

管理人様 こんばんは。

記事読みました。
ループからの素早いEXE脱出のために Getkey=31⇒Break を随所に入れて反応性を高めるのですね。これならどの機種にも使えますね。
<EXIT>のレイアウト、なんかかっこいいですね。
次第に進化しているのが実感できます。 シンゴジラか!
ツル

MM

管理人様 こんばんは。

えーと、CG50への移植の記事に書かれていますループからの素早いEXE脱出は、赤字と同じく9860にも加えるといいよ!ということですよね?
よく読んでいなくてごめんなさい。

150行目も修正しました。(^^;

ツル様、こんにちは!

150行目のTicksWaitも速めに固定されていたので
TicksWait U
に変更です。
http://pm.matrix.jp/CB/MASTMIN2.zip

これでUの値を設定すれば1/128s単位でスピード調整できます。(^^)

No title

sentaro様、 お世話になっております。

鬼のように早いコメント!

いやぁ、よく理解できました。
じゃぁ、おじさんはおじさん向けにゆっくりにします。(笑)ツル

Re:MM Ver3 C.Basic移植 blink

管理人様、ツル様、こんにちは!

>ちょっと色々あったようで、お疲れ様でした。  ■D\(^^ ) コーヒーでもどうぞ

あ、どもです! 頂きました。(^^)


>今回の移植によって、クロックに左右されないのは素晴らしいのですが、blink調整用の変数を変えても反映しないようなのですが、そういう仕様になるのですか?

あ、すみません。
C.Basicではコメント行の終わりが改行までなので、調整変数Uは80->Uの次の4行目で再指定しています。
TicksWaitとGetkey3でUの値を使っていたと思ってたのですが、
途中の83行目と86行目のTicksWaitの調整値が固定されていました。(^^;
ので、そこのところ修正して再アップしました。
http://pm.matrix.jp/CB/MASTMIN2.zip

TicksWaitは1/128単位で時間待ちするコマンドです。
Getkey3は1/128単位でキー入力があるまで時間待ちするコマンドになっています。

MM Ver3 C.Basic移植 blink

管理人様、sentaro様、 お世話になっております。

私も無事、MM Ver3移植版を入れることが出来ました。
ちょっと色々あったようで、お疲れ様でした。  ■D\(^^ ) コーヒーでもどうぞ


管理人様、MMの公開ページが増えたり変えたりしていません?
とてもいい感じで・・・
CG50でのMMは、白バックに黒文字でしたら9860GIIとの大きな違いはないのですね。 と言った私の発言は撤回です!
カラーテキストの部分もいいですし、何よりも9860との解像度の差が歴然としているんですね。こりゃあ欲しくなる訳だ。(笑)

CG50でのMMの実際の表示も見てみたいなぁ・・・なんて思っていたら上がっているし!動画まで! ありがとうございます、ご苦労様でした。



それで、率直に申し上げまして、コードの初めのほうに書いているように、blinkのタイミング調整が出来るようにしているんです。機器のクロックの差や、利用者の好みに簡単に対応出来るようにした訳です。

今回の移植によって、クロックに左右されないのは素晴らしいのですが、blink調整用の変数を変えても反映しないようなのですが、そういう仕様になるのですか? CG50の動画もそうなのですが、blinkが早いと思います。
ただ、CG50の動画ではblinkがくっきり分かるのは、本体の性能が良いからだろうと思います。ただ、9860では、オリジナルの設定より早いと、機器の性能+人の残像現象とで、blinkがぼける感じに見えると思います。だから敢えてゆっくり目が標準なんですが、移植版では、その調整変数を、標準80を5000にしてもゆっくりになる現象がわからないのです。追加コマンドの仕組みが分かっていないので申し訳ないのですが、標準blinkの倍くらいになったままかと思います。ぼけたblinkは直したいのですが、(記載の内容に無知による間違いがあればご容赦ください)。

Re:Re: ZIPで固めて再アップしました。

管理人様、ツル様、こんにちは!

>ホームページの仕様のせいで、おかしなことになったのですね。申し訳ありません。
>FC2のホームページは、色々と制約が多くて、ご迷惑をおかけしました。
>セキュリティーとの引き換えでの制約だと思うのですが、例えば今回のような制約が文書化されていないのが問題です。

これはファイルをアップしているサーバーのテキストファイルのダウンロード仕様みたいで、管理人様のこちらのホームページの仕様は関係ないと思われます。(^^;
ブラウザではテキストファイルはクリックするとダウンロードにならずそのまま内容が表示されるのでそこからコピペでエディタ等でテキストファイルに再保存すると問題ないみたいですが、勝手に改変されるのも困るので今後はテキストファイルはZIP化したいと思います。(^^;

C.Basic側で改行コードが0Aだけでも受け付けるようにしようと思ったら、0AはENGのPeta記号で使われているのであっけなく玉砕しました。(^^;


>以下にC.Basicへの移植記事をアップしました。
http://egadget.blog.fc2.com/blog-entry-612.html

移植というほどのものではないので恐縮な限りですけど、
早速にありがとうございます。(^^)


>正解した後、[EXE]キーの反応が、getkey2 だと遅いけど、Getkey3 だと即反応するので、こちらの方が良いですね。

はい、以前ガノー様に提案していただいたGetkey3でしたけど、なかなか便利に使えますね。

Re: MM Ver3 C.Basic移植!?

ツル様

管理人のやすです。


> 管理人様、CG50での表示についてご回答をありがとうございました。
> 白バックに黒文字でしたら9860GIIとの大きな違いはないのですね。


カラーグラフ電卓への移植記事をアップしました。
http://egadget.blog.fc2.com/blog-entry-614.html


> 違いがあるとすれば所有欲での満足感と、落としたり飲み物をこぼしたときに、9860GIIでは「あ・・・」で済むのが、CG50では「うおぉぉおっ!」となるくらいでしょうか。(笑)

それは言えるかも...
でも、実際にカラー化されたプログラムを走らせてみると「うおぉぉおっ!」となるので、実感頂くために、拘りのアニメが分かるように 動画も見られるようにしました。

カラー化してみると、アニメの秀逸さがより一層光りますね!

こんな感じで、読者の皆さんにも、どんどん改造して楽しんで貰えるといいな、と思っています。

楽しくて有用なプログラム、本当にありがとうございます。

ちなみに、「ノーヒットノーブローの喜び」を実感しています。私のお気に入りプログラムに入れています。

Re: ZIPで固めて再アップしました。

sentaro様、ツル様

管理人のやすです。

> ダウンロードしてチェックしたところ、テキストファイルの改行コードが0D+0Aのところが0Aのみになっていました。
> ダウンロード時に0Dコードが削除されてるようです。(^^;


ホームページの仕様のせいで、おかしなことになったのですね。申し訳ありません。
FC2のホームページは、色々と制約が多くて、ご迷惑をおかけしました。
セキュリティーとの引き換えでの制約だと思うのですが、例えば今回のような制約が文書化されていないのが問題です。


> ってことで、ZIPで固めて再アップしてみました。
> http://pm.matrix.jp/CB/MASTMIN2.zip


今回は無事に頂きました。

正解した後、[EXE]キーの反応が、getkey2 だと遅いけど、Getkey3 だと即反応するので、こちらの方が良いですね。

以下にC.Basicへの移植記事をアップしました。
http://egadget.blog.fc2.com/blog-entry-612.html

ZIPで固めて再アップしました。

管理人様、ツル様、こんにちは!

>この変換で、改行が ?? に変換され、失敗しているようです。

ダウンロードしてチェックしたところ、テキストファイルの改行コードが0D+0Aのところが0Aのみになっていました。
ダウンロード時に0Dコードが削除されてるようです。(^^;

ってことで、ZIPで固めて再アップしてみました。
http://pm.matrix.jp/CB/MASTMIN2.zip

MASTMIN3.txt
ですが、
当たった時のアニメーションでキースキャンが若干鈍くなる対策でGetkey3を使うように変更してみました。

Re: リンクミスしていました(^^;

sentaro様

管理人のやすです。

> C.Basicで動く版のMASTER MIND Ver3 リンクミスしてました。
> 大変失礼いたしました。(^^;
> http://pm.matrix.jp/CB/MASTMIN2.txt
> プログラム的な変更はウエイトの追加とキー入力コマンドの変更のみなので、ほんの小さな変更です。


Textファイルをダウンロードし、ストレージメモリに転送、C.Basic の ファイルリストで、[F6](▷) [F1](>g1m) を操作で g1mファイルへ変換します。

この変換で、改行が ?? に変換され、失敗しているようです。

ご確認頂けますか?

リンクミスしていました(^^;

管理人様、ツル様、こんにちは!

C.Basicで動く版のMASTER MIND Ver3 リンクミスしてました。
大変失礼いたしました。(^^;
http://pm.matrix.jp/CB/MASTMIN2.txt
プログラム的な変更はウエイトの追加とキー入力コマンドの変更のみなので、ほんの小さな変更です。


>9860GIIが0.7Wですが、その差はバックライトの有無なのだろうと思いますが、

バックライトで増える電流は7mA程度ので、わずか40mW、0.04Wくらいの消費電力アップなります。
0.7Wというのは100mA以上の消費電流になる計算ですけど、最大オーバークロックならともかくノーマルクロックでこの状態になることは無いので、それはフラッシュROMへの書き込み時の一瞬だけだと思われます。
fx-5800Pでも最大の0.12Wに近くなるときはフラッシュへの書き込み時だけなので、通常プログラム実行時では最大6mA程度、わずか0.008Wです。(^^)

MM Ver3 C.Basic移植!?

管理人様、sentaro様、 お世話になっております。

管理人様、CG50での表示についてご回答をありがとうございました。
白バックに黒文字でしたら9860GIIとの大きな違いはないのですね。
違いがあるとすれば所有欲での満足感と、落としたり飲み物をこぼしたときに、9860GIIでは「あ・・・」で済むのが、CG50では「うおぉぉおっ!」となるくらいでしょうか。(笑)

sentaro様、
>当たった時のアニメーションがとっても秀逸ですね。(^^)

ありがとうございます。自分でも気に入ってます。(笑)
ループでの消費電力のお話は興味深いですね。大きな違いが出るものなんですね。SHARPのポケコンが0.2W、9860GIIが0.7Wですが、その差はバックライトの有無なのだろうと思いますが、充電池使用なのでさほど気にはなりません。
>C.Basicでも同じように動くように移植・・・

とてもナイスなお話です。
ダウンロードが出来るようになったら早速入れてみます。
クロックに左右されないブリンクにもなるそうで、素晴らしいです。
しかし、マスターマインドを始めて30年以上ですが、私は病んでますね。

Re: CG50でのMASTER MIND

ツル様

管理人のやすです。

> Q1.このMM Ver3をCG50へ転送すると(カラー設定は何もしないと)、表示は白バックに黒字ですか?

はい、白バックに黒字です。


> Q2.表示テキスト色の変更にはコード書き換えが必要になりますか?

色を付けるには、色コマンドを追加する必要があります。
Locate コマンドの場合は、このコマンドの前に単に色コマンドを追記するだけです。
一方、Master Miindで多用されている " " 命令では、" " の中の特定の文字だけに色を付けられません。
なので、色を付けたい部分は、Locate コマンドを使って書き換え、それに色コマンドを付記する必要があります。


> Q3.9860GIIと同じく、グラフィック表示とテキスト表示との同時表示は出来ないのですか?

はい、基本仕様は変わらないので、グラフィックスとテキストの同時表示はできません。


Re: MASTER MIND Ver3 ナイスです!(^^)

sentaro様

さっそく C.Basic バージョンですね!

> 数値入力時のキー入力をGetkey2化したのと、ウエイトコントロールを動作クロックに左右されないTicksWaitコマンドを追加してみました。(^^)

これで、blink もクロック依存なくキレイに表現できますね。


> http://pm.matrix.jp/CB/MASTMIN2.txt
ところで、ダウンロードに失敗します。

MASTER MIND Ver3 ナイスです!(^^)

管理人様、ツル様、こんにちは!

ツル様のMASTER MIND Ver3、管理人様の特設エントリより頂きました。

これはなかなかに面白いです。つい時間を忘れてハマってしまいます。
だいたい10回以内、6,7,8回くらいで当たるんですが、当たった時のアニメーションがとっても秀逸ですね。(^^)
時間を気にせずにじっくり考えられるところがまさに脳トレです!

純正CasioBasicの思考系のゲームでひとつ気になるのがキー入力待ちのループでの消費電力(約20mA)ですが、これはC.BasicのGetkey2を使えば1/100に削減できます。

ということでC.Basicでも同じように動くように移植してみました。
移植というか、ほぼオリジナルそのまんまですが、
数値入力時のキー入力をGetkey2化したのと、ウエイトコントロールを動作クロックに左右されないTicksWaitコマンドを追加してみました。(^^)
http://pm.matrix.jp/CB/MASTMIN2.txt

CG50でのMASTER MIND

管理人様

こんばんは。本日最後の投稿です。
参考までに質問なのですが、

Q1.このMM Ver3をCG50へ転送すると(カラー設定は何もしないと)、表示は白バックに黒字ですか?

Q2.表示テキスト色の変更にはコード書き換えが必要になりますか?

Q3.9860GIIと同じく、グラフィック表示とテキスト表示との同時表示は出来ないのですか?

以上です。

Re: MASTER MIND Ver3公開で

ツル様

管理人のやすです。

> 公開の記事中、
> <色の違う8つのボール・・・ ”ボール”は”ピンへ変更願えませんか?”
> ボールのマスターマインドは見たことがなく、殆どのものがピンなので。
> <右上からスター路して、・・・ スタートして


ご指摘ありがとうございます。さっそく修正しました。


> (細かくてすみません。残るので・・・)

いえいえ、細かくチェックをお願いします。


> いやぁ、まさかつぶやき程度の言葉までほぼ全部乗せるとは・・・(笑)
> 構いません。キリッ
> 使用説明にもなりますからね。興味のある人には参考になりますよね。


はい、本当につぶやきみたいのは削除したつもりです。

なお、デバッグ不完全...の部分ですが、私が遊んだ限りでは不具合が無かったもので...私の責任で削除しました。



> しかし、ふと思いました。その予測Progが出来てどんなメリットがあるのかと。
> 決して私に必要な脳のリハビリにならないではないか! と。
> という訳で作るのを途中でやめました。


仕事ではないので、緩~く楽しめば良いかと...


> 私はこのマスターマインドVer3では平均7トライで正解に至っているかと思います。例のブリンカーのお陰で、まぐれでも3回とか5回トライ目でブリンカーすると楽しいです。

10回以内に正解になる場合は、5回目までに最低でも4Blow になり、7回までに正解...というパターンが多いです。


> この度はお忙しい中、ありがとうございました。
> 何かございましたらいつでもどうぞ。


読者の方によるプログラム投稿、私はとても嬉しいんです。それも十分楽しめる完成度のプログラムなので、多少の手間を手間と思わず記事を書いてしまいました。記事投稿のご承諾ありがとうございます。


> ツルは今、トラフィックジャム(交通渋滞)のシミュレーションを性格の違う運転手(対応の機敏な人、鈍い人・・・)による状況変化を楽しみたく製作開始しております。

結局プログラミングがお好きなんですよね。

MASTER MIND Ver3公開で

管理人様 お世話になっております。

公開の記事中、
<色の違う8つのボール・・・ ”ボール”は”ピンへ変更願えませんか?”
ボールのマスターマインドは見たことがなく、殆どのものがピンなので。
<右上からスター路して、・・・ スタートして
(細かくてすみません。残るので・・・)

以上です。

いやぁ、まさかつぶやき程度の言葉までほぼ全部乗せるとは・・・(笑)
構いません。キリッ
使用説明にもなりますからね。興味のある人には参考になりますよね。

実は、過去にsolverというかguessというか、マスターマインドを製作しながら、サブルーチンとして回答予測Progを作りかけておりました。
前にも書きましたが、フランス料理は焦げとの闘い。機械は摩擦との闘い。
マスターマインドは確率との闘いです。
予想される回答を自分の入力数字から予測させるProgです。
完成すれば、平均5トライ目で正解が出るようです。
しかし、ふと思いました。その予測Progが出来てどんなメリットがあるのかと。
決して私に必要な脳のリハビリにならないではないか! と。
という訳で作るのを途中でやめました。

私はこのマスターマインドVer3では平均7トライで正解に至っているかと思います。例のブリンカーのお陰で、まぐれでも3回とか5回トライ目でブリンカーすると楽しいです。

この度はお忙しい中、ありがとうございました。
何かございましたらいつでもどうぞ。
ツルは今、トラフィックジャム(交通渋滞)のシミュレーションを性格の違う運転手(対応の機敏な人、鈍い人・・・)による状況変化を楽しみたく製作開始しております。単なる自己満足 テヘッ

ツル

Re: MASTER MIND ノーヒットノーブローの喜び

ツル様

管理人のやすです。

作者のコメントを追記しました。

http://egadget.blog.fc2.com/blog-entry-613.html

何かご意見、ご要望があれば、お聞かせください(この記事へのコメントが良いと思います)。

よろしくお願い致します。

MASTER MIND ノーヒットノーブローの喜び

管理人様 こんにちは。

早速の公開をありがとうございました。(ご苦労様でした)
先ずは、キーリピート抑制 ありがとうございます。
私の入力時はキーリピートはあまりないもので、弊害をさほど感じていなかったのですが、必要な機能ですね。While Getkey WhileEnd の挿入で解決することを確認しました。

確かHIT & BLOWの記事中だったかな?履歴が出るなら8桁でも楽しめるというようなコメントを読んだときには驚きで目が点になりました(笑)。
私は4桁でも難しいのに・・・という驚きです。

作者のコメント

MASTER MIND自体はかなり以前から楽しんでいたゲームですが、もっといつでもどこでも楽しめるようにしたい。それをプログラム電卓で願望を叶えてくれたのがfx-9860GII です。丁度良い大きさの画面とバックライトに、プログラムの作りやすさがありました。
ゲーム実機では、判定をするためにもう一人必要ですが、これなら一人で楽しめます。予想数値を入力したらノーヒットノーブローでがっかり・・・ いえいえノーヒットノーブローということはその数値は使われていないという最大のヒントなのです。
それを私は「ノーヒットノーブローの喜び」と呼んでいます(笑)


使用している変数の説明
A:表示用答え
B:ブローの数
C:ゲーム毎のトライ数
E:入力値エラー
F:表示位置のX値
G:表示位置のY値
H:ヒットの数
J:判定の値
KLMN:自動生成する答えの各桁
P:ポイント
Q:降参時の回答表示
R:判定計算用
S:For Nextでの時間作り用
U:ブリンク表示調整
WXYZ:入力する値の各桁


(管理人様、以上でよろしいでしょうか。?)
                ツル

Re: Re: MASTER MIND Ver3 を再送信

ツル様

管理人のやすです。

取り敢えず、マスターマインドを紹介する記事を公開しました。
http://egadget.blog.fc2.com/blog-entry-613.html


作者のコメントを頂けるとうれしいので、先ずはこんな感じの記事だとみて頂くために、取り敢えず公開しました。

よろしくお願い致します。

Re: MASTER MIND Ver3 を再送信

ツル様

管理人のやすです。

[2017/10/08 11:55 一番下に追記あり]



Master Mind Ver3 を頂きました。

ゲームとして良く出来ていて、面白くまとめられていると思います。

というのも、しばらく夢中で遊びました。
10回のトライで解けるかどうか自信がなくなりそうな時、多分10回くらい遊んだところで、やっとこさ7トライで正解できました。
結構難しいですね!

ありがとうございます。


なお、私が普段使わない記法が散見され、勉強になります。

例えば、

1)
'input Timing→V
(normal1=5):5→V

という記法は私には新鮮です。

これは2行に表示されていますが、実は1行のコードで折り返し表示されているだけです。
コメントアウト ' は改行や: (区切り文字)で無効になることがうまく利用されています。
この1行の中で、実行されるコードは 5→V です。

2)
また、0→A~Z という記法も私はあまり使わないので、忘れていました。Casio Basicコマンドリファレンスの → (代入) の記事に、この記法を追加しようと思います。ありがとうございます。

3)
条件ジャンプ ⇒ が多用されていますが、おかげで可読性の高いコードになっています。

4)
適切なコメントがあるので、コードが理解しやすいです。


プログラム記法には色々なスタイルがあって良いし、趣味のプログラミングは作って、動いて、楽しめるのが最重要ですから、こんなに楽しめるプログラムは、是非記事で取り上げたいと思いますが、よろしいでしょうか?


さて、1点だけ、どうしても手を入れたいと思うところがありました。
オリジナルだと、キーリピートされて1桁づつ入力しずらい点がありました。

fx-9860GII のノーマルクロック (29MHz) で作成され、これで使うことが前提だとおしゃっています。ただ、4桁の数字を入力する時、キーをチョット長めに押すと次の桁に同じキーが入力されてしまいます。
fx-9860GII を Ftune2 でチューニングして処理速度が速くなると、1桁だけを入力するのが困難になります。
さらに、MASTMIND.g1m をそのまま直接 fx-CG50 に転送すると自動的に g3m に変換され、スグに使えますが、同じようにキーリピートのために1桁の入力が困難です。

キーリピート抑制は必須だと思いました。

そこで、1例として2行だけ追加するのが良いと思います。

'======(input)======
のところで、少し下へゆくと

Do:Getkey→I
 :
 :
 :
For 1→S To V:Next
LpWhile I=0:Next
 :
 :

とありますが、LpWhile I=0 と Next の間に
While Getkey
WhileEnd を挿入してみました。

Do:Getkey→I
 :
 :
 :
For 1→S To V:Next
LpWhile I=0
While Getkey
WhilEnd
Next
 :
 :

これで、キーリピートの問題が解消します。

ゲーム進行上必須ではないかと思うので、この修正を施したものを下記からダウンロードできるようにしましたので、ご確認頂けますか?

ゲームとして十分に楽しめるので、これ以外は好みの問題だと思います。

ツル様作 Master Mind (fx-9860GII用)
http://egadget2.web.fc2.com/archives/fx-9860GII/MasterMind.html


[2017/10/08 11:55 追記]
> コードご紹介などで使用変数の説明などはご要望によりご説明申し上げます。
> 私のような初心者への参考になるでしょうから。


是非説明をお願い致します。記事に使わせて頂きたいと思います。
プログラムに込めた思いとか、こだわったところなども、記事をご覧の方の参考になると思います。

よろしくお願い致します。

MASTER MIND Ver3 を再送信

MASTER MIND Ver3 を再送信
管理人様

お世話になっております。Prog送信ではご面倒をお掛け致しました。
再送致しましたが、今度は大丈夫だと思います。

※(この投稿はロックしております。公開等の際に抜き出してご利用ください。
  先ずは管理人様にお伝えしたかった内容の投稿です。ツルの頭の中のご紹介です。(笑))
--------------------------------

1.当MASTER MINDは、ゲーム実機に近い感覚で遊べるよう考えております。
fx-9860GII電卓の処理速度は早いので、入力に対する判定は一瞬なのですが、敢えて人が相手をしているかのように、わざと判定に時間をかけています。
(とは言え、実際レベルだともっさりしてくるので早め)

2.管理人様のProg作りへのポリシーにもありましたが、次に押すべきキーが表示されるような配慮もしております。

3.プロ電での自作なので、実機にはないブリンク表示もさせて、達成欲をくすぐる配慮もしました。(実はこの点がオリジナルかな?)

4.モグラ叩きでも賞金稼ぎへ変更したように、賞金制にしてみました。
(-)で回答を見てからの入力では賞金は無しです。
(まだ、賞金のロジックが検討の余地ありです・・・ あ、終了画面下のPが賞金残高です)

終了時は、回答を見たかどうかが画面表示で分かるようになっています。
(正解画面ではしゃぐ子供の横で、画面を見て突っ込む親がいるシチュエーションを浮かべながら作りました(笑))
回答を見てからでは、終了時は左側の▶が▶のままですが、見ないで自力正解の場合は▷になります。入力各段の4桁目で(-)を押すと回答が見られますが、3桁目入力待ち時点で消えるようにしています。

回答を見ないで進めるか人間性を問われます(笑)

5.完全にデバッグは終えていないので、不具合が多少ある(意図しないキー入力を受け付けてしまう)など残っておりますが、先ずは実用性はあると思います。

6.入力ミスの場合、4桁内に同じキー入力があると元に戻ります。
(結構便利です)


今回のはVer3ですが、製作当初は?入力にして配列変数を使っていましたが、希望の位置に入力=表示になるよう変えていったら、配列変数なしでやれました。

自作ながら、正解して白黒ピンのブリンカーを見ると嬉しいです。
自分としてはマスターマインドはやっぱり4桁が丁度良いです。
所有の実機では8色から4色を選ぶルールなのですが、1~9とやや難しくしました。

海外製の複数のMASTER MIND Progと比べても遊びやすい筈です。
某フランス製のでは、判定ピンが入力ピンと位置が連動していて簡単過ぎでした。

世間では、6色から4色を選ぶルールだけれど、問題に重複ありやブランクありなどのローカルルールもあるようで、このVer3を改変して様々楽しんでみたいです。

以上、厳しいご評価と改良のご提案などをお願いいたします。
コードご紹介などで使用変数の説明などはご要望によりご説明申し上げます。
私のような初心者への参考になるでしょうから。
管理人様がブログに書いていらっしゃる、「プログラム電卓は、プログラムを使ってナンボ!」という文言が大好きです。(笑)

最後に、制作にあたっては、管理人様のHIT & BLOWのコードを大いに参考にさせて頂きました。御礼申し上げます。
著作権は完全放棄です。
(ツル)

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Re: Re: マスターマインド

ツル様

管理人のやすです。

マスターマインドを頂きました。

そちらの手元で問題なく動作するものと、どうやら違うものを送って頂いたようです。

キー入力 (input) のところの Do ループで、LpWhile " " というコードがあって、ここでエラーになり、ゲームがスタートできません。



次に、ファイル名に問題があるようです。
パソコン上でファイル名を変更しただけで、電卓上でリネームしていない痕跡があり、ファイル名の矛盾が起きています。

電卓上はファイル名の冒頭にドット . が付いています。一方パソコン上の g1m ファイルは、冒頭のドットが削除されています。


以上、気がついた点です。

Re: マスターマインド

ツル様

管理人のやすです。


> お届けは無事に済んだでしょうか?
> >ホームページの一番下に Mail ・・・
> が見つけられなかったので記事中のアドレスにお送りしましたが・・・


まだ届いておりません。

http://egadget2.web.fc2.com/archives/Src_files/MyClock.html
のページを一番下までスクロールすると一番下に

Copyright © 2013 Krtyski / e-Gadget.

とあります。

その1行上に

Mail Twitter Facebook

とある筈です。この Mail をクリックしてみてください。いつもお使いのメーラーが起動すると思いますので、そこからメールを再度お送り頂けますか?

マスターマインド

管理人様 こんばんは。

お届けは無事に済んだでしょうか?
>ホームページの一番下に Mail ・・・
が見つけられなかったので記事中のアドレスにお送りしましたが・・・

Re: コメント並びを逆にしてみました+雑談

ツル様

管理人のやすです。


> 投稿欄が近くなってとても楽になりました。
> なーに、遠くの古い記事はスクロールバーでやれるので。


変えてみると、私自身便利になりました\(^_^)


> ところで、脱線部分のお話は読んでいてわくわくします。
> フランス料理が焦げとの闘いであるように、機械は摩擦との闘いですからね。
> 車の回転部摺動部の摩擦が燃費に大きく影響することを知っています。
> 潤滑剤は燃料以上に大切だと思います。


大学を卒業した時、一番興味があったのが潤滑だったんです、実は...
でも入社した時に与えられた研究テーマは、幸か不幸か新素材の開発で、過去に誰も手がけていない全く新しいテーマでした。相談できる先輩も居らず大変でしたが、一方で全部自分の考えたとおりに進められるのが楽しかったのを思い出します。

興味があるので、勝手に勉強したり許される範囲で勝手に実験てました(アングラテーマは一定の制限の元で推奨されてた)。突然降ってわいた緊急テーマ(クレーム対応の材料分析)にアングラ研究が役立ったので、ご褒美に正規なテーマにして貰えたことがあります。継続は力なりですね。

e-Gadgetも、Casio Basicメインのワンテーマブログで、始めた時はスグにネタ切れになると思っていましたが、色々な方に応援して頂いた結果継続できて、気がついたら結構な情報量が溜まってきました。



> 自分が身長1ミリ位になって見回す妄想はよくあります。その大きさで基板上を歩き回ったら電子部品の並びが街の景観に見えるだろうか? LSIのボンディングが近くで見られるわくわく感で興奮します(病んでます)。

同じことをお考えですね、ご同輩!
もうチョット小さくなれば、BGAチップの裏側のハンダを見て歩けますよ。


> 管理人様お薦めはアマループなのは知っていますが、レビューを読むと不具合の話もちらほらあり、

これは知りませんでした、今度じっくりレビューを読んでみます。


> あ、以前に、私が作ったマスターマインドの件がありましたが、普段何も情報提供ができないのに情報を頂いてばかりで恐縮いたしております。
> 是非ご笑納願いたいのですが、どうすればよろしいですか?
> 9860GIIノーマルクロックでちゃんと動きます。3308byteです。


大枠で、以下の2つの方法を提案します;
1. g1m ファイルを手に入れ、個人的に楽しむ
2.私が g1m ファイルを入手し、それを公開する
3. ツル様が g1m ファイルのダウンロードが可能なようにして、そのURLを公開する

※ なお、他の方の作品もあるので、"お友達プログラムライブラリ"みたいなエントリーを作ってそこで紹介することにご同意いただければうれしいです。

さて項目1 のためには、例えば私宛のメールに g1mファイルを添付して送っていただく方法があります。メールアドレスは、e-Gadgetの新しいホームページの一番下に Mail というのがあるので、これをクリックするとメールを送れます。これが一番楽かも知れません。

例えば以下のページ;
http://egadget2.web.fc2.com/archives/Src_files/MyClock.html

或いは、DropBoxなどを使う方法もあります。


項目2 のためには、シンプルなホームページを作ってそこからダウンロードできるようにすれば良いと思いますが、もし初めてホームページを作るような場合は、チョット時間がかかるでしょう。もしご興味があれば作って見られると良いかも知れません。

一例として、e-Gadget の古いホームページがあります。プログラムファイルをダウンロードするためだけに作った超手抜きのページです。
http://egadget2.web.fc2.com/old_top.html


如何でしょう?何かあれば、お聞かせください。

コメント並びを逆にしてみました+雑談

コメント並びを逆にしてみました+雑談
管理人様

お世話になっております。
投稿欄が近くなってとても楽になりました。
なーに、遠くの古い記事はスクロールバーでやれるので。

ところで、脱線部分のお話は読んでいてわくわくします。
フランス料理が焦げとの闘いであるように、機械は摩擦との闘いですからね。
車の回転部摺動部の摩擦が燃費に大きく影響することを知っています。
潤滑剤は燃料以上に大切だと思います。
.
>電子のサイズまで自分が小さくなって、周りを見合わす...といったバーチャルでミクロな世界の幻想・・・

私はここまで病んで(笑)はいませんが、自分が身長1ミリ位になって見回す妄想はよくあります。その大きさで基板上を歩き回ったら電子部品の並びが街の景観に見えるだろうか? LSIのボンディングが近くで見られるわくわく感で興奮します(病んでます)。

今コメント欄はCG50で盛り上がっていますが、私は購入予定はありません。
グラ電はプログラム作成だけが目的なので、9860GIIで満足しています。

更に横道に逸れますが、また充電式エボルタを買い足しました。
管理人様お薦めはアマループなのは知っていますが、レビューを読むと不具合の話もちらほらあり、私は黙って高くてもエボルタです。

あ、以前に、私が作ったマスターマインドの件がありましたが、普段何も情報提供ができないのに情報を頂いてばかりで恐縮いたしております。
是非ご笑納願いたいのですが、どうすればよろしいですか?
9860GIIノーマルクロックでちゃんと動きます。3308byteです。

Re^2: コメント並びを逆にしてみました

sentaro様
ツル様

管理人のやすです。

先ずは発案者のツル様のご希望に応えられたので良かったです。

記事の本文とも近くなったことも、利点かも知れません。

コメントしなくても後から読む方はいらっしゃるので、その場合は下から読む必要があります。そこで、常にトップに表示する e-Gadget Portal に、コメントの並びが逆になったことをお知らせとしてアナウンスしました。


ここからは、かなり脱線します (通じるかどうかは極めてアヤシイですが)...

> 楽するために人類は進歩してきた

将にそうですね。私は機能材料の研究者だったことがあり、世の中にない新機能材料で、できなかったことを "楽に" 実現したり、今実現しているものをより "楽に" (低コストで確実に)実現するための材料開発を仕事にしていたことがあります。

研究者としては、世の中に無い材料を新しく作るほうがワクワクしますが、関係者の喜ぶ顔を見るのも大きなモチベーションになったものです。

私から見れば、例えばエンジンオイルや潤滑油は芸術なんです。機械が動く時、小さな分子達がお互いに手を繋ぎ、皆で協力してシャフトを支えています。高温であったり低温であったり、高速回転している時も力を発揮します。分子を自在に操る醍醐味を感じます!

当時は、いつも分子や原子、たまには電子のサイズまで自分が小さくなって、周りを見合わす...といったバーチャルでミクロな世界の幻想 (量子力学的世界観による思考実験ともいいます) を見ていました。そして、分子を自在に操る方法を考えていました。

....これを話すと、家内からは変人と言われました(^^;

コメント並びを逆にしてみました

管理人様 こんにちは。

これですこれです!
スクロール量を減らしたいための要望でした。
楽したいだけなのですが、楽するために人類は進歩してきたので、これも一つの進歩かと思いますが、投稿しない人には利点はないかな?

ありがとうございました!

Re:コメント並びを逆にしてみました

管理人様、こんにちは!

コメント欄の新しい順、新鮮ですね。
最新コメントから返信する場合はスクロール移動距離がゼロになって便利になりそうです。
ありがとうございます。(^^)

コメント並びを逆にしてみました

ツル様、皆様

管理人のやすです。

以前ツル様から、コメント登録欄を一番下に持って来れないか?というご要望を頂きました。

その時は「簡単にできない」と回答しましたが、コメント欄は動かせないが、コメントを古い順に並べるのではなく、新しい順に並べることが出来ました。これで、最新コメントのスグ上にコメント登録欄がきます。

発想の転換ですが、これでご要望に近づいたと思いますが、如何でしょうか?>ツル様

Re: C.Basic for CG

管理人様、こんにちは!

>fx-CG50 国内発売は10月20日なので時間がありませんが、確実に進めて頂ければと思います。

CG50の国内発売が予想よりも早かったので、10月20日にも間に合わない可能性が大ですが、なんとか早期にα版をアップできればと思っています。(^^;


>勝手に C.Basic for CG と名前を付けてしまいましたが、どんな感じで進められるのでしょうか?

ネーミング、なかなかよいですね。(^^)
C.Basic for CGは初版から現状のfx版と同等機能というのは無理なので、機能限定版でスタートして徐々にバージョンアップしていくという形になりそうです。

C.Basic for CG

sentaro様

管理人のやすです。

> あ゛、んと、これは、’コメント文の中でコマンドの区切り文字としてのコロンの意味でした。(^^;
> 純正仕様ではコメントとして解釈されるのは区切り文字までという仕様ですよね。


そうでしたね。これについては OS 2.09 でマニュアルのバグの扱いで、マニュアルが訂正されたのでした。
そして、謎仕様のままです。


> fx-CG50はソフト的にはCG20と変わらないので、CG20版のC.BasicがCG50でそのまま動くようになります。
> その上で、CG50は使えるメモリが増えてC.Basicに追い風状況なので、おそらくバージョンアップするたびにCG50版がメインになっていきそうです。
>
> fx版のC.Basicは遅くとも日本版のCG50の発売に間に合えばと思っていたところでしたけど、予定が大幅に遅れてしまってすみません。(^^;


fx-CG50 国内発売は10月20日なので時間がありませんが、確実に進めて頂ければと思います。

勝手に C.Basic for CG と名前を付けてしまいましたが、どんな感じで進められるのでしょうか?

Re:Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

管理人様、こんにちは!

>fx-5800P はアメリカではあまり普及していない感じがしています。学校であまり使われていないのがその理由ではないかと想像しています。グラフ機能があって、しっかりした作りのグラフ関数電卓は教材に向いていて、落としたらスグ壊れる fx-5800P は教材になりにくいのでしょうね。

確かに教材用としては3年保証はとても付けられないくらいのちょっと強度不足なところはありますね。
価格的にも欧米ではfx-9750GIIがfx-5800Pよりも安価ということもありますし、このあたりは教育市場の違いは大きいですね。


>ところで、":" が区切りになるという経験はまだ有りません。
>問題が出るケースを覚えておられますか?

あ゛、んと、これは、’コメント文の中でコマンドの区切り文字としてのコロンの意味でした。(^^;
純正仕様ではコメントとして解釈されるのは区切り文字までという仕様ですよね。


>ところで、fx-CG50 向けの C.Basic の実現可能性は如何でしょうか?

fx-CG50はソフト的にはCG20と変わらないので、CG20版のC.BasicがCG50でそのまま動くようになります。
その上で、CG50は使えるメモリが増えてC.Basicに追い風状況なので、おそらくバージョンアップするたびにCG50版がメインになっていきそうです。

fx版のC.Basicは遅くとも日本版のCG50の発売に間に合えばと思っていたところでしたけど、予定が大幅に遅れてしまってすみません。(^^;

Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

sentaro様

管理人のやすです。

> CasioBasicにはコメントが”:”で区切りになってしまう等、何でそうなるの?っていう謎仕様がたまに出てきますが、文字列表示や入力コマンドはfx-5800P仕様が理にかなっていますよね。

fx-5800P はアメリカではあまり普及していない感じがしています。学校であまり使われていないのがその理由ではないかと想像しています。グラフ機能があって、しっかりした作りのグラフ関数電卓は教材に向いていて、落としたらスグ壊れる fx-5800P は教材になりにくいのでしょうね。

ところで、":" が区切りになるという経験はまだ有りません。
そこで、以下のようなプログラムを走らせてみました。

":"
":"
":"
"A"

すると、出力は以下のようになりました。






問題が出るケースを覚えておられますか?



> C.Basicは仕様を独自に決められるのが強みなので今後もいいとこ取りで進化できたらと思います。(^^)

はい、よろしくお願い致します。



ところで、fx-CG50 向けの C.Basic の実現可能性は如何でしょうか?


Re:Re: アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

管理人様、こんにちは!

>私の手元にある他のプログラムも含めて、旧来の出力命令 "" の動作が期待通りに動作することを確認しました。

無事互換動作できてよかったです。(^^)


>これについては、旧来の命令 ""、?、?-> の動作が当初のように fx-5800P 互換であることも確認できました。
>非互換と言われるのは、fx-9860GII 非互換で、fx-5800P 互換ということで、当初そうであったように、今もこれが良いと私は個人的に思います。
>fx-5800P 互換が良いという私の主張は、以下の記事にまとめており、それを今でもご支持頂きうれしいです。
http://egadget.blog.fc2.com/blog-entry-170.html

CasioBasicにはコメントが”:”で区切りになってしまう等、何でそうなるの?っていう謎仕様がたまに出てきますが、文字列表示や入力コマンドはfx-5800P仕様が理にかなっていますよね。
C.Basicは仕様を独自に決められるのが強みなので今後もいいとこ取りで進化できたらと思います。(^^)

Re: アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

sentaro様

管理人のやすです。

> で、なんとか、管理人様のテストプログラムはとりあえず互換動作するようになりました。

私の手元にある他のプログラムも含めて、旧来の出力命令 "" の動作が期待通りに動作することを確認しました。

お疲れ様です。


> 非互換原因は7行目に表示された場合にスクロールする行数の差異が非互換となっておりました。
> 現状相違点としてはCBasicでの文字列表示コマンドは文字列表示部分のみで右側を空白で埋めないのでそこは相違点となっております。

これについては、旧来の命令 ""、?、?-> の動作が当初のように fx-5800P 互換であることも確認できました。
非互換と言われるのは、fx-9860GII 非互換で、fx-5800P 互換ということで、当初そうであったように、今もこれが良いと私は個人的に思います。

fx-5800P 互換が良いという私の主張は、以下の記事にまとめており、それを今でもご支持頂きうれしいです。
http://egadget.blog.fc2.com/blog-entry-170.html

但し、◢ 命令については - DISP - 表示されます (fx-9860GII 互換)が、 - DISP - 表示は fx-5800P には無いものなので、fx-9860GII 互換にするのが、ある意味落としどころだと思っています。



アドイン版 C.Basic ver.1.63ベータ版(7ライン目の文字列表示修正版)

管理人様、こんにちは!

>はい、Please take your time. です。

ありがとうございます。
従来から潜んでいた非互換部分があぶり出された格好で、純正仕様の互換を取るのも簡単ではないということが改めて実感しました。
で、なんとか、管理人様のテストプログラムはとりあえず互換動作するようになりました。
非互換原因は7行目に表示された場合にスクロールする行数の差異が非互換となっておりました。
現状相違点としてはCBasicでの文字列表示コマンドは文字列表示部分のみで右側を空白で埋めないのでそこは相違点となっております。

http://pm.matrix.jp/CB/CBASIC163beta.zip
差し替え版となっております。


>ここからは余談ですが、これまでにブログで公開するもの以外にも色々とプログラムを作ってきていますが、それらを全て3桁区切り表示に改造してみています。
必要に応じて、3桁区切りサブルーチンを、より使いやすい汎用サブルーチンに改造できないか?などと考えています。

純正コマンドのみだと自由度が限られるのですが、汎用サブルーチンとして完成してしまえば、使いまわしできるので便利ですね。(^^)

今回の修正版でもまだ非互換部分が残っている可能性はあるので、厳しいテストお願いします。(^^;

Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)

sentaro様

管理人のやすです。

> 不具合を確認しました。
> これもサクッと修正できるかと思いきや、””表示や7行目での表示処理の不具合が複数見つかったので修正にはあとちょっと時間かかるかもなので、少しお待ち下さい。

はい、Please take your time. です。


> このあたりはC.Basicだけ使っているとなかなか発見しにくいバグですね。
> 毎度ながらありがとうございます!(^^)

C.Basicのバグ取りを目指すのではなく、単に作りたいプログラムを作ろうとするのが良かったのかも知れません。


ここからは余談ですが、これまでにブログで公開するもの以外にも色々とプログラムを作ってきていますが、それらを全て3桁区切り表示に改造してみています。
必要に応じて、3桁区切りサブルーチンを、より使いやすい汎用サブルーチンに改造できないか?などと考えています。

サブルーチン "3DGT" は今のままでも結構使いでがありますので、先ずは色々なプログラムで使ってみて様子をみているところです。

なので、最初は純正Casio Basicを触っていました。C.Basic には EngOn3 というコマンドがあって3桁区切りにできるので特にサブルーチン不要なんですが、旧来の命令を使う場合は表示位置の自由度が欲しい時にはサブルーチンの方が便利だったりします。

Re:Re: アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)

管理人様、こんにちは!

>例えば、以下のように、プログラムCでプログラムA (前回のプログラムAの末尾に 7->Y を追加)とB(新たに追加) を呼び出すようにすると、プログラムBの2行目にある
>"G"?->G
>の表示行が本来の行より1つ上の行に表示されてしまいます。その後に続く表示もおかしなことになります。

不具合を確認しました。
これもサクッと修正できるかと思いきや、””表示や7行目での表示処理の不具合が複数見つかったので修正にはあとちょっと時間かかるかもなので、少しお待ち下さい。

このあたりはC.Basicだけ使っているとなかなか発見しにくいバグですね。
毎度ながらありがとうございます!(^^)

Re: アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)

sentaro様

管理人のやすです。

ご対応ありがとうございます。
上のサンプルプログラムでの不具合は解消しましたが、まだ問題が残っている感じです。

例えば、以下のように、プログラムCでプログラムA (前回のプログラムAの末尾に 7->Y を追加)とB(新たに追加) を呼び出すようにすると、プログラムBの2行目にある
"G"?->G
の表示行が本来の行より1つ上の行に表示されてしまいます。その後に続く表示もおかしなことになります。

純正Casio Basicでは良きした通りに動作します。


== プログラムC ==
Prog "B"
Prog "C"


== プログラムA (末尾に1行追加)==
EngOff
25400->F
125->E
"Q"?->Q
"I"?->I
"S"?->S
FQE+I+S->C
"C=":C->Z
""
2->X:7->Y:Prog "3DGT"
7->Y


== プログラムB ==
EngOff
"G"?->G
C÷(1-(G÷100))->P
"P=":P->Z
""
2->X:`rog "3DGT"
P÷Q->U
"U=":U->Z
""
2->X:Prog "3DGT"
P÷Q->U
"U=":U->Z
""
2->X:Y<7=>Y+2->Y
Prog "3DGT"
P-C->B
"B=":B->Z
""
2->X:7->Y
Prog "3DGT"


== プログラム名 3DGT (3桁区切り) ==
Z=0=>Return
Int log Z+1->K
(K≥4)+(K≥7)+(K≥10)->I
If X+K+I>22:Then
Locate X,Y,Z:Return
IfEnd

E3xFrac (Z÷E3)->U
Int (E3xFrac (Z÷E6)->V
Int (E3xFrac (Z÷E9)->W
Int (Z÷E9)->D

If K≤8:Then
Locate X,Y,E8xW+E4xV+U
I≥1=>Locate X+K-2-(I=1),Y,","
I≥2->Locate X+K-6,Y,","
Else
X+K-6+(I≥3)->J
Locate J,Y,E7+E4xV+U
Locate X,Y,E4xD+W
Locate J+4,Y,","
Locate J,4,","
I≥3=>Locate X+K-9,Y,","
IfEnd


3桁区切り表示のルーチンを、従来の命令だけで使いこなす試みをしていて、今回の現象が見つかりました。

もう少し調べてみて頂けませんか?

アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)

管理人様、こんにちは!

>C.Basic で何か問題を内在している可能性をチョット調査頂けませんか?

不具合が再現できましたのでサクッと修正いたしました。

原因としてはサブプログラムから戻った場合に表示処理フラグが初期化されていたために、Locateで表示された3桁数字が"Done"表示で消えてしまってたという不具合です。
ってことで、そこのところを修正しました。

この不具合はかなり前のバージョンから存在していたのに今まで全然気が付かなかったというわけで、やはり管理人様のバグ出しチェックはさすがですね。
ありがとうございます!(^^)

アドイン版 C.Basic ver.1.63ベータ版(最後がサブプログラムで終わる場合の非互換性修正版)
http://pm.matrix.jp/CB/CBASIC163beta.zip
差し替え版となっております。

Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

sentaro様

管理人のやすです。

純正とC.Basic で異なった動作をする事例があり、チョット悩んでいます。

旧来の命令と以前sentaro様から提案頂いた3桁区切りのサブルーチンを使った事例です。

== プログラム名 A ==
EngOff
25400->F
125->E
"Q"?->Q
"I"?->I
"S"?->S
FQE+I+S->C
"C=":C->Z
""
2->X:7->Y:Prog "3DGT"


== プログラム名 3DGT (3桁区切り) ==
Z=0=>Return
Int log Z+1->K
(K≥4)+(K≥7)+(K≥10)->I
If X+K+I>22:Then
Locate X,Y,Z:Return
IfEnd

E3xFrac (Z÷E3)->U
Int (E3xFrac (Z÷E6)->V
Int (E3xFrac (Z÷E9)->W
Int (Z÷E9)->D

If K≤8:Then
Locate X,Y,E8xW+E4xV+U
I≥1=>Locate X+K-2-(I=1),Y,","
I≥2->Locate X+K-6,Y,","
Else
X+K-6+(I≥3)->J
Locate J,Y,E7+E4xV+U
Locate X,Y,E4xD+W
Locate J+4,Y,","
Locate J,4,","
I≥3=>Locate X+K-9,Y,","
IfEnd


純正では意図通りに動作するのですが、C.Basic だとProg "3DGT" が正常動作しません。

そこで、プログラム A を以下のように変更してみます。

== プログラム B ==
EngOff
25400->F
125->E
"Q?"
"1":1->Q
"I?"
"25000":25000->I
"S?"
"2000":2000->S
FQE+I+S->C
"C=":C->Z
""
2->X:7->Y:Prog "3DGT"

これは、入力命令を無くして表示命令のみにしてみたものです。純正で正常動作しC.Basic では Prog "3DGT" が動作しません。

次に、以下のように変数への代入はそのままにして、出力命令 "" を2つ ("1": と "25000":) 削除してみる (プログラム C) と Prog "3DGT" が正常動作します。


== プログラム C ==
EngOff
25400->F
125->E
"Q"
1->Q
"I"
25000->I
"S"
"2000":2000->S
FQE+I+S->C
"C=":C->Z
""
2->X:7->Y:Prog "3DGT"


つまり、Prog "3DGT" が正常動作するかどうかが、出力命令 "" の影響を受けていることまでは分かりました。
表示命令で表示される行数の影響かも知れません。

C.Basic で何か問題を内在している可能性をチョット調査頂けませんか?

Re: 素因数分解の英語表記

ツル様

管理人のやすです。


同じ事柄に対して、頭の使い方は本当に人それぞれですよね。

私の場合は、勉強は人から教わるのではなくて、自分1人で勉強するタイプです。学校のように黙って座って授業を受けるのは煩わしてく苦手です。人に教えを請う場合は、自分が本当に知りたいことを教えて貰うのにたどり着くまで我慢強く待つことがとても苦手です。なので、何を勉強したら良いのかを教えて貰って、あとは自分で勉強することが多いです。


ところで、私も社内や社外でセミナーの講師をさせてもらうことが結構あります。おしゃるように1を教えるには10や100を仕込んでいます。人に教えることは、とても勉強になります。e-Gadgetでも、多くのネタを結構仕込んでから、その一部を記事にすることが多いです。そしてアウトプットすることにより頭に定着するので、とても良い勉強になります。


> 細かいことでお手数をお掛け致します。

いえいえ、これも良い勉強になります。素因数分解については、英語ネイティブで数学が分かっている人にいずれ確認してみようと思います。

素因数分解の英語表記

管理人様 こんばんは。

細かいことでお手数をお掛け致します。
昔、商品名のDXをディーエックスと読むかデラックスと読むか上司に聞いたら、
どっちでもええやんか!と怒鳴られたことがありました。
私にしてみれば新製品説明会でお客様に聞かれた場合に備えての確認の為であったのですが、「教うるは学ぶの半ば」という諺は私は違う表現をしていて、
「教うるは学ぶの二倍」のほうがしっくりきています。長年、技術研修の講師をしている経験から、他人に何かを教える際はその何倍も学んでおく必要があることを実感しております。そこには正しい用語と分かりやすい説明が不可欠です。
そのような信条からでた疑問でした。
単なる文字数の制約ではなかったのですね(笑)
良く理解できました。ありがとうございました。  (ツル)

素因数分解

ツル様

管理のやすです。


fx-5800P の SHIFT + 矢印キーの件は、原因不明ですが致命的でないから、様子見という感じですね。


ところで、素因数分解の英語表記ですが、どちらが正解なのかよく分かりません。

Prime Decomposition という表記は、以前量子暗号通信の勉強をしていた時、何か英文の記事だったか論文だったかで使われていたのを覚えていて、それを使いました。(現在の暗号通信技術は、素因数分解に時間がかかることに立脚していることはご存じかも知れません、それに対して量子暗号通信は素因数に立脚しないのです)

Factoring は因数分解(文系の人には「債権買取」が馴染みがあります。手形決済かファクタリングといった感じで使われますね)で、Prime Factoring は素因数分解 なので、おっしゃるようにこれで良いと思います。

改めて調べてみると、Prime Factoring の方がよく使われている感じです。Prime Decomposition には「3元多様体の素な分解」 という訳語があるようで、私にはよく分からない数学の分野の用語として使われるようです。

なので、Prime Factoring の方が一般的な感じがします。

但し、必ずしも間違っていないようなので、過去の記事を修正するのが結構大変だから、敢えてそのままにしておくことにします。



Re:fx-5800P での SHIFT移動不具合  Prog比較

管理人様、ツル様、こんにちは!

ツル様、早速に比較していただきましてありがとうございます!
L=5⇒1→LとL=1⇒5→Lのミスしていたことに気がついてなかったので(^^;助かりました。

で、ツル様の変更点を取り込んでみたところ、やっぱりSHIFT移動不具合は発生しないので、これは結構深い発生条件がありそうですね。
本体のROMバージョンは管理人様の診断ページのキー操作で、8番目は管理人様の個体と同じくINROM-A27でした。
さらにROMTESTの後で出るバージョンは
SUM:FB86
VERSION:0002
と出ます。
これはうちにある2台の5800Pが同じでした。

5800PのROMバージョンはそんなに種類は多くないと思われますので、ROMのバージョンで不具合が出たり出なかったりでも無いような感じがしています。

不具合の出るプログラムの中から途中のコマンドをひとつずつ削除してみて正常にSHIFT移動するようになるかどうか確かめるくらいしか思いつかないですが、フリーズまでにはならない不具合なのであまり深く追求することも無いかもしれませんね。(^^)


>ただし、現実では9860GIIのほうがメインになってきており、どうしようか迷っています。

ハード的にはかなりシンプルなので一つあって困るものではないですが、5800Pの後継機種が出てくるとしたらもうそろそろな感じもしますし、
5800Pが一台だけだとPCリンクはとても有用ですが、複数台あればとりあえずなんとかなるので、悩みどころですね。

fx-5800P での SHIFT移動不具合  Prog比較

管理人様 sentaro様

おはようございます。お世話になっております。
さて、2017-09-09(21:43)sentaro様よりご提示の書き直したProgと当方の問題のProgとを比較してみました。

書き直し部の文字列前後でのスペース数が少し違いますが、そこは問題ではないでしょう。
Locate 2,L,Z[K]の後ろに◢(出力命令の黒三角)を打っています。計算結果を一つ一つゆっくり見るために追加しました。
同様に、Locate M+1,L,Z[K+1]にも◢追加してます。
他には、L=5⇒1-L が L=5⇒1→L になっていました。
また、 L=1⇒5-L が L=1⇒5→L になっていました。
(この部分の→は私が?正解?)
0→DimZ
L=1⇒5→L
の次の行に、入力値確認の意味からLocate 9,1,A としております。

以上です。


ところで、5800PのPCリンクの件、記事を見てきました!
いいですねー
作りたくなりました。
ただし、現実では9860GIIのほうがメインになってきており、どうしようか迷っています。
速さの違いもありますが、バックライトの存在が重宝でして。   (ツル)

Re:Re:Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

管理人様、ツル様、こんにちは!

前回のファイルリストの特殊文字表示の修正で、フォルダにサイズが表示されたり、お気に入りとの区切り線が途中で切れていた不具合を修正しました。
例によって1.63差し替え修正となっております。(^^;
http://pm.matrix.jp/CB/CBASIC163beta.zip


fx-5800PのPCリンクは制作してからかれこれ3ヶ月位になりますが、プログラムをPCに保存出来ているという安心感から本体をまっさらにリセットしても大丈夫なので、何度かリセットをしています。(^^;
SHIFT移動不具合はリセットする前には何度か起きたことがあるような気がするのですが、今現在5800P内にあるプログラムでは今のところSHIFT移動不具合の起きるプログラムが一つもないのでなかなか検証出来ないところなんですが、ツル様が提示してくださったPRIME DECOMPをPRIME FACTORIZATIONに書き直したプログラムでも途中で止まる現象が出ない感じなので、1バイトの違いなく全く同じプログラムで試せるPCリンクが貴重になってきますね。

fx5800Pに転送したPRIME DECOMPをPRIME FACTORIZATIONに書き直したプログラム
http://pm.matrix.jp/CB/PRIME_DECOMP_CcEditor.png

ツル様のSHIFT移動不具合が起きたプログラムとどこか違っているところあるでしょうか?

fx-5800P での SHIFT移動不具合

管理人様 sentaro様

こんばんは。

ちょっと、停止に関して追加情報です。
下から4行目で止まるPrgは、上側から↓キーで下から5行目へカーソルを移動し、そこからSHIFT+↓をすると、1行だけ降りた、下から4行目の先頭で止まりました。止まると同じ症状で、方向キーのみでは無効。SHIFT+↑脱出は有効。
でした。 (ツル)

fx-5800P での SHIFT移動不具合

管理人様 sentaro様

こんばんは。
ご考察に感謝いたします。

さて、少しだけ時間を取り調べてみました。

1.必ずSHIFT+↓で途中で止まるPrgが二つありました。
 それらは同操作では何度やっても必ず止まりました。
 Prgは全57行もので、下(END行)から4行目の先頭で止まります。
 止まると方向キーは上下左右に無効になり、SHIFT+↑が効きます。

 そのPrgではLbl+Gotoの対での使用は1回のみです。(先頭行と最終行のみ)

2.止まってしまう二つ目のPrgは、管理人様作成の素因数分解Prgです。
 PRIME DECOMPという記述を、PRIME FACTORIZATIONへ書き直しただけのもので、他は変更はなかったと思います。
 そのPrgも同じく下から4行目の先頭で止まります。

3.他にも多くのPrgがあり、その全てを調べてはいないのですが、先ずは上の二つが判明いたしました。

(ちょっと横にそれますが、どうしてPRIME DECOMPとしているのか不思議です。素数分解になりますよね?CanonもCASIOの電卓でも、素因数分解のキーにはPFactやFACTと刻印されており、PRIME FACTORIZATIONのほうが、閲覧に来られる学生には親切かな?と感じておりました。NAME長さで?)

話は戻り、そのPRIME DECOMPの場合もLbl+Gotoの対での使用は1回のみです。多用していて発生しているのではないと思います。
ただ、その止まってしまうPrgの場合、SHIFT+↓を操作直後に、LCD右上に表示される黒四角■の表示時間が少し長いかな?とは感じます。と言っても1秒未満ですが。   (ツル)

fx-5800P での SHIFT移動不具合

sentaro様、ツル様

管理のやすです。

> 5800PのSHIFT移動不具合ですが、プログラムが長くなるにつれて最後に移動するのにちょっと時間がかかりますよね。
> これはC.Basicで行番号表示している場合の移動時間と似た感じがあるかもとちょっと感じています。
> C.Basicの行番号はプロポーショナルフォントを考慮した改行で行番号を計算していっているので、リストが長くなると待てないくらい時間がかかることがある問題が残っています。(^^;
> 5800Pの移動はこれと似た感じで、最終行にジャンプするのではなくプログラム先頭から最終行までラベルサーチしているような動作ですよね。


内部動作でラベルサーチをしているという仮説ですが、その可能性が高いように思います。

というのも、私が自分で作るプログラムは、極力 Goto / Lbl を使わないようにしています。使ってもせいぜい3つくらいのものです。そして、私自身は SHIFT移動で問題を全く経験していません。

この2つを考え合わせると、Goto を多用しているプログラムだと SHIFT移動で問題が発生しやすくなる..或いは Goto と Lbl が一対一で対応していない時この問題が発生しやすくなる、といった推論が出てきます。

ツル様がこの不具合を経験された時のプログラムが、私が当ブログで紹介しているプログラムならば、この推論の可能性が低くて、別の原因を考えなければと思いますが、如何でしょうか>ツル様


5800PのPCリンク

管理人様 sentaro様

なんですってっ!! 

もう5800Pは容量がなくなるので、ICレコーダーに繋げてみようかと考えていた無知で無駄で無謀なツルでした。
あの5800P同士を繋ぐ3Pケーブルは自作なので、分岐ケーブルでも作って差してみたいなあ・・・ひひひ、と悦に入っていた自分が愚かでした。   (ツル)

Re:Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

管理人様、ツル様、こんにちは!

2バイト系の特殊文字をファイル名に使った場合にリスト表示が崩れるのを修正してみました。
純正では崩れてないので一応、ってことで再度1.63差し替え版しております。(^^;
あと、カナ文字ではシステムエラーが起きるので、カナ文字は自動的に”~”に変更するようにしました。。


5800PのSHIFT移動不具合ですが、プログラムが長くなるにつれて最後に移動するのにちょっと時間がかかりますよね。
これはC.Basicで行番号表示している場合の移動時間と似た感じがあるかもとちょっと感じています。
C.Basicの行番号はプロポーショナルフォントを考慮した改行で行番号を計算していっているので、リストが長くなると待てないくらい時間がかかることがある問題が残っています。(^^;
5800Pの移動はこれと似た感じで、最終行にジャンプするのではなくプログラム先頭から最終行までラベルサーチしているような動作ですよね。
この過程のどこかで引っかかって止まってしまうのが、ツル様の状況になっているのと想像しますが、SHIFT+↑キーが使えるのでハングアップしているわけではないのでとりあえずはなんとかなりそうですね。


ところで、takumako様が開発されている5800PのPCリンク「CcLinker]ですがPC側のエディタ「CcEditor」がどんどんバージョンアップされていますね。(^^)

5800P SHIFT移動不具合

管理人様 こんばんは。

お世話になってます。
過日、5800PでのSHIFTによる移動で不具合が時々出ると申し上げ、リセットデータ転送ト(=メモリ最適化?)をご案内頂き、やってみましたが、やはり時々症状が出ます。リセットALLを実施。裏面のPボタンは押していません。

PrgのTopまたは途中からBtmに飛ぶ際に出るのが100%です。Btmまであと少しというところで移動が止まり、カーソルが無反応になります。
(方向キーによるスクロールが出来なくなります)

その症状が出たら、SHIFT+↑キーでTopへ飛んで脱出しています。
このTopへの脱出は100%効くのです。
Topに着いたら、↓キーを延々と押し続けると無事にBtmに辿り着けます。
(このSHIFT+上下キーの操作は取説に出ているそうですね?)

私は見た記憶が無いために、たまたま動いているだけで、不安定な動作となる操作なのかな?と思っていました。

それほど困ってもいないのですが、ご参考まで。  (ツル)

Re: Re:Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

sentaro様、ツル様

管理人のやすです。

1) C.Basic のファイル名は、シングルバイト英数字で 8.3 形式が仕様。

2) 特殊文字(一部のシングルバイト文字とダブルバイト文字)を使う場合は仕様外になる。

3) 仕様外でも C.basic のプログラムリストでの表示には対応している。

4) FA-124を使ったPCリンクするとき、プログラム名に仕特殊文字を使うと問題になる可能性があるから、気をつけてください...

ということで、ハッキリ、スッキリしました。

ありがとうございます。

特殊文字があると表示されない不具合

管理人様 sentaro様 こんばんは。

>特殊文字をファイル名に使った場合、本体上では使えてもFA124で転送出来ない等の不便さがありますので、パスワードとは違ったファイルのプロテクトとかに使えそうですが・・・

さすが、柔軟な発想ですね。

>特殊文字は使わないというのが一応の仕様という形になりますね。

了解です。

バグの分析ができてよかったですね。  (ツル)

Re:Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

管理人様、ツル様、こんにちは!

ファイル名は1バイト文字のみ想定だったので、2バイト文字を使った場合にどうなるかの検証が出来てませんでした。
特殊文字バグ修正の過程でフォルダがソートされていなかったバグも見つかりまして、そこのあたりのバグ出しも出来たのでよかったです。
ありがとうございます。(^^)


>ところが、4文字までしか入力できなくても、一旦ファイルを保存してから、リネームする時はファイル名に4文字を追加して最大8文字まで入力できます。

新規ファイルネームは8文字=8バイトと文字数を限定しているので、特殊文字の1文字=2バイト文字が入るとその分、文字数が減ります。
リネームやコピー等ではフォルダ名が入力可能なので文字数を18文字までに拡大しています。
それで特殊文字ファイルネームに追加で入力出来るわけですが、OSの仕様上ファイル名は8.3形式なので、特殊文字と通常文字合わせて8バイト分がファイル名となります。

特殊文字をファイル名に使った場合、本体上では使えてもFA124で転送出来ない等の不便さがありますので、パスワードとは違ったファイルのプロテクトとかに使えそうですが、現行のC.BasicではMS-DOS準拠のファイル名で動くように作成されているので、特殊文字を使った場合は正常動作しない文字(カナ文字等)もあるのですべての文字において動作が保証出来ないということで、特殊文字は使わないというのが一応の仕様という形になりますね。(^^)

Re: アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

sentaro様

管理人のやすです。


> 特殊文字を全面的に使えないようにすることもできますが、とりあえず表示や修正が出来るように修正版です。

色々なキャラクターで色々試してみたのですが、ある傾向が見つかりました。

新規にファイルを作成するときの最初にファイル名を入力するとき、
・特定のキャラクターの場合、4文字以上入力できません。
・これ以外のキャラクターは、、8文字入力できます。

特定のキャクターとして、Multi-byte large font が挙げられます。
SDK添付の fx-9860G Charactrt Set.pdf に含まれないキャラクタも上の"特定のキャラクター"に含まれるようです。

ところが、4文字までしか入力できなくても、一旦ファイルを保存してから、リネームする時はファイル名に4文字を追加して最大8文字まで入力できます。

このことから、入力時の文字数カウントでキャクタのバイト数と文字数の不一致など、何か想定外の動作をしている可能性が考えられるので、ちょこっとレポートです。

既知の問題でなければ、ヒントにしてください。

アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)

管理人様、ツル様、C.Basicユーザーの皆様、

ツル様により発見していただいた特殊文字バグを修正しました。

アドイン版 C.Basic ver.1.63ベータ版(ファイルに特殊文字があると表示されない不具合の修正版)
http://pm.matrix.jp/CB/CBASIC163beta.zip

特殊文字を全面的に使えないようにすることもできますが、とりあえず表示や修正が出来るように修正版です。

1.63差し替え版となります。(^^;

もしファイルリストの表示がおかしくなった場合は、C.Basicの設定初期化=メインメモリの<@CBASIC>フォルダの削除をお試しください。

掲示板の利用方法

ツル様

管理人のやすです。


> さて、作りたいPrgが山のようにあって、毎日エラーとの戦いです。遊びなんですがね(笑)
> 今考えているのが、カルマン渦と音の発生についてのPrgです。


自由なテーマで自由に書き込めるのが掲示板なので、チョットしたプログラムを投稿するという使い道がありそうです。

如何でしょうか?

場合によっては盛り上がるかも知れません。というのも、以前他の方のブログで円酒率を100桁とか200桁とか多桁で計算する HPのプロ電用のプログラムが投稿されました。それをsentaro様や私などが悪乗りして Casio Basic に移植したり、Nintendo 3DS のプチコン3というBasicに移植したり、ロジックを改良したりして、高速化とどこまで多桁計算できるかなどと、盛り上がったことがあります。これはとても楽めました。

私の Casio Basic を sentaro様がアドインに移植してくれて、高速化を楽しんだりもしました。

こんな感じで遊んでも良いようなネタのプログラムを投稿なされば、ひょっとして遊べそうな感じがして、新たな掲示板の用途になるかも知れない...というわけです。

あまり他人に弄られたくない時は、気が引けそうですけど....

Re: One Moment Please 

ツル様

管理人のやすです。

お役に立ててうれしいです。

> F2での一瞬表示は
> 上のタイトルに記載の言葉が確認できました。 5MHzで(笑)


Ftune2 を低速化に使うのも有効ですよね。


雑談モードON!

> 何を隠そうエネループに非対応だからEVOLTAにしているだけの話ですが、
> PanasonicのCSに相談した際、BQ-391はとても性能のいい充電器で、EVOLTAにバッチリ対応ですとのコメントをもらい、もう捨てられないものとなりました。


なるほど、そういうことだったのですね。長持ちするのは良い製品の証しですから、末永くお使いください。
私も気に入ったものをとことん使うタチなので、いざ壊れて新しいものを購入する時は技術の進歩を感じて、それも嬉しくなります。


> 3.ペンには拘りがあって、uniのジェットストリームしか使いません。
>  かばんは大事ですね。パーキンソンの法則に、隙間は埋められるというのがありますが全くその通りで、大きい鞄を持つと伴って荷物も増えますので、管理人様の信念に感心しているところです。


ジェットストリームは根強いファンがいらっしゃるのは聞いています。
私の愛用品は、同じく uni ですが、uni ball VISION ELITE という水性ボールペンの黒と、PILOT の FRIXION BALL の青でいずれも0.5mmの太めのものです。VISION ELITE はチョットマイナーかも知れません。


> 4.5800PでのSHIFTを用いた移動不具合はメモリの断片化ですか。
> 可能性高いですね。一度、試してみます。ありがとうございます。


色々考えてコレくらいしか無さそう...といった確証の無い話ですが、一度お試し頂ければ確認できると思います。


> さて、作りたいPrgが山のようにあって、毎日エラーとの戦いです。遊びなんですがね(笑)
> 今考えているのが、カルマン渦と音の発生についてのPrgです。


流体力学はサッパリです。こういうのがパッパと計算できると楽しそうですね。


> この間、台所でコーヒーを飲みながら、サランラップが厚み0.0