2022年5月27日金曜日

久しぶりに店頭でfx-CG50をいじってきましたヨ

時間があったので、量販店の店頭で、fx-CG50をいじってきました。

店頭のデモ機には、当然の事ながらpythonやC:BASICは入っておりません。
そこで、本体に予めある CASIO BASIC による、Mandelbrot集合グラフィクスをやってみましたよ !

他のカラーグラフ電卓のグラフィクスがQVGA (320x240 pixels)に対して、fx-CG50の画面は379x187 pixels となっております (CASIO BASICのバヤイ)。
解像度は、かなり細かいのですが、CASIO BASICでpixel ハンドルを行おうとすると、つぎの制約がある様子。

  • BASIC インタプリターは、少々遅い
  •  ピクセルの色付け、固定の7色しか使えない

C:BASIC やpythonでは、こうした枷がないのですが、そこは店頭のデモ機ですから、制約を楽しみつつ、いじって来ました。

 CASIO BASICで点を描くには、いくつか命令がありますが、Plot 命令による点描では、3x3 pixelsの四角を描くらしい。
379x187 pixelの解像度を活かすには、1x1 pixelの点を打つ操作が欲しい所です (Flineによって出来る様子) が、大量の点を打つと、その分、遅くなりそうです。
実行速度との兼ね合いから、今回はPlot 命令によってプログラムを構成してみました。

作図領域にもよりますが、以下のプログラムではおよそ20分程度の時間が掛かった模様です。
店員サンの動きを気にしながら、気長に動かしてみて頂戴。
お暇なら使ってネ、私寂しいの ... (バーローッ)。
あーあ。こんなんだったら、買ってしまえばいいものを ... ゲルピンで、財布は軽い毎日。トホホ。

 
(Listだよん) 
ViewWindow -3.78,3.78,0,-1.86,1.86,0
CoordOff:GridOff:AxesOff:LabelOff

For 0->J To 186 Step 3
For 0->I To 378 Step 3

I(Xmax-Xmin)/378+Xmin->D
J(Ymax-Ymin)/186+Ymin->E
0->X
0->Y
1->C
While X^2+Y^2<=4 And C<14
X^2-Y^2+D->Z
2XY+E->Y
Z->X
C+1->C
WhileEnd

MOD(C,7)->C
C=0=>Black PlotOn D,E:
C=1=>Blue PlotOn D,E:
C=2=>Red PlotOn D,E:
C=3=>Magenta PlotOn D,E:
C=4=>Green PlotOn D,E:
C=5=>Cyan PlotOn D,E:
C=6=>Yellow PlotOn D,E:

Next
Next
 

2022年5月17日火曜日

プログラム作成、ゴーヂャスに行こう !

こんなTweetがありました。

https://twitter.com/louvre_ken/status/1517883336496013312

カシオさんのFX-CG50-N で
ポケコンレベルのゲームを作れるものですか?

当方の認識としては「ポケコン」つうと、BASICが稼働する製品で、既に製造されなくなって久しい。
おそらく、最初はSharpのPC-1210/1211 (4 bit CPU)から始まり、最後には、CASIOのZ-1 (16 bit CPU ; CMOS 8086)だったか、で幕を閉じた、そういう製品群だと思うのであります。

こうしたBASICポケコンが終焉して久しい今日ではあります。
上記のTweetの主は、どういった製品を指して「ポケコン」と称しているのだろうか ?

BASICポケコンが製造されなくなり、その後は、電子手帳、そしてPDA製品へ流れて行きます。PDAというと、当方などはHP-LXから始まり、Windows CEデバイス、Palm OSマシンなどを想起します。そして、民生品としては、携帯電話から、今日のスマートフォンへ至る道筋があります。
そういや、PDA全盛のころ、経産省あたりが音頭をとって「MBT」という名前のデバイスを策定していた、などという話がありました。MBT = Moble Bussiness Tools, です。Main Battle Tankではありません。今から思うと、かなり物騒な名称でした。

そして、今日ではスマートフォン全盛で、更に、ポケットに収まる大きさのPCなども製造されております。ドンキで販売されているNanote などは、その好例といえましょう。そうした、ポケットに収まるPCの事を、今日的にはポケコンと言っているのだろうか ?

昔の、BASICポケコンの事を指しているのだとすると、これはかなり偏屈であるのだらうか ? それは言い過ぎとしても、かなりノスタルジイではあります。
Tweetの主、かなり体作りに余念のない方らしく、かなりお若い様に思われます。当方の様にポンコツではありませんね。
そうした御仁がBASICポケコンの事を指しているとは思えず、色々と考えてしまったのです。

BASICポケコン、最後に出たのが、8086の製品でありましたが、それでも、DOSの様なモノは搭載されておりませんでした。そら、そうですネ。ストレージも、64KBとかでしたから。しかし、8086を採用しただけでも、十分に評価できるものでありました。

今日では、Arduinoベースのゲームデバイスを始め、さまざまなプログラマブルなガジェットが登場しております。

ref. カードサイズの携帯ゲーム機「Arduboy FX」が店頭入荷、250以上のゲームを搭載 - Akiba Watch
https://akiba-pc.watch.impress.co.jp/docs/news/news/1408350.html

「ポケコンレベルのゲーム」というのは、こうしたモノを指しているのだらうか ?
ArduBoy、PCで動作する開発環境によって、かなり高度なゲームプログラムが作成、公開されております。
ArduBoyのプロセッサは、ATmega32u4という8bit RISCで、16MHzで動作する模様。昔のBASICポケコンは、1MHz で動いたかどうか、でした(PC-1251あたりは、576kHzだったかしらん ?)。当時のZ80 BASICマシン、クロックが4MHz程度でしたネ。
ソコは時代の進歩ではあります。
ちなみに、PC-E500で32x32dot のMandebrotグラフィクスをBASICで動かした人の話では、20分くらいの時間が掛かったと言います。

海外では、TIの電卓などで、バイナリのゲームを作成するという事が広く行われていると言います。
そして、CASIO fx-CG50 でも、バイナリのAdd On を作成し、かなり高度なプログラムが開発されている模様です。
この文脈ならば「ポケコンレベルのゲーム」と言うのは、十分に説明がつきそうです。

fx-CG50では、Sentaro様がAdd Onを作成されていて、Clock Upから、C:BASICまで作成されております。この辺りは、親分のサイトでも積極的に情報発信されております。
Add On開発ツールによって、かなり高度なゲームプログラムは作成可能だといいます。可能性は大いに開かれております。

PC開発資源が十分に活用できる今日、プログラム開発も「ゴーヂャスに」行きたいものであります。