楽屋裏 - Casio Basic のグラフィックス プログラミング

楽 屋 裏
e-Gadget

修正 2015/06/24

fx-9860GII は、グラフィックス表示が可能で、fx-5800P には無い楽しさや利便性があります。

以前、簡単に触れました;
楽屋裏 - Casio Basic のグラフィックス描画

fx-9860GII は、グラフ関数電卓の名の通り、数学の学習を主な用途として考えられていて、数式やデータからグラフの描画、変換、比較などを行える各種機能があります。つまり、PCなどで使うプログラミング言語のグラフィックス機能とは、少し方向性が違います。それは、Casio Basic 、特にグラフィックスのコマンド仕様に反映されています。



fx-9860GIIグラフィックス コマンド

fx-5800P の取扱説明書は、Casio Basic のコマンドの説明があまり親切ではありませんが、ほぼ全てのコマンドが簡単な説明付で掲載されています(行列だけが例外と言えます)。

ところが、fx-9860GII の取扱説明書には、実際に機能が搭載されているのに取扱説明書に説明のないコマンドがかなり多くあります。グラフィックス関係のコマンドもそうです。

なお、電卓本体には、[SHIFT] [4] (CATALOG) キーがあり、ここでは全コマンド類が全て含まれています。このリストを手がかりに、色々調べてみようと思っています。


さて、よく使いそうなグラフィックス関係のコマンドは、主に以下のメニューにあります。
・設定コマンド: [SHIFT] [MENU] (SET UP) 
・描画コマンド: [SHIFT] [F4] (Sketch) 
・座標設定: [SHIFT] [F3] (V-Window)
・グラフィックス消去: [SHIFT] [VARS] [F6] (▷) [F1] (CLR) [F2] (Grph)

各種設定、座標設定、点、円、線の描画、消去といった基本的なコマンド類は、これらのメニューから呼び出せます。



Casio Basic 入門 - 新連載の予告

これまで、fx-5800P を中心に Casio Basic 入門を連載してきました。各種コマンド類の使い方、アルゴリズムの紹介をして、ある程度実用的なプログラムを完成させる、といったスタイルです。

これに加えて、fx-9860GII でのグラフィックス プログラミングの紹介を追加してゆくことにしました。先ずは、上記の基本的なコマンド類について、取りあえず私が納得する範囲で調べたその結果を Casio Basic 入門 で紹介します。但し、具体的なゲームなどのプログラム作りは行わず、各コマンドの機能、制限、内部動作が分かるようなプログラムを作ってゆくスタイルにします。

コマンドを実際にみてゆくと、古いグラフ関数電卓から搭載されていたものに加えて、後から追加されたものがあります。このような流れを念頭にして、色々と調べてゆくと、内部動作を垣間見ることもでき、面白いものです。詳しくは Casio Basic 入門で紹介します。さらに、コマンドリファレンスにも追加する予定です。

その後は、グラフ機能や統計計算機能に付随する描画機能も調べてみて、グラフィックス描画性能を上げる可能性も探りたいと思っています。



画面を塗りつぶしてみる

カシオのグラフ関数電卓でのグラフィックス描画は、概して遅いと言えます。しかし、グラフィックス機能といえばゲームプログラミングだと思いますが、そもそも fx-9860GII はどのくらい遅いのか、sentaro 様にご協力頂きながら、実際に調べてみました。

単純に、LCD画面の下半分をドットで塗りつぶすプログラムです。下のプログラムを実際に入力するか、Markout.g1m ファイルをダウンロードして転送し、実際に実行してみてください。

Casio Basic 版 塗りつぶしプログラム MarkOut

ClrGraph
AxesOff
CoordOff
GridOff
LabelOff
ViewWindow 0,126,0,0,62,0
For 0→Y To 31
For 0→X To 126
PlotOn X,Y
Next:Next


以下からダウンロード;
MarkOut.g1m

fx-9860GII でのグラフィックス描画は、一旦メモリにグラフィックスデータを送り、それを LCD 画面に転送する手順で実行されます。Casio Basic では、VRAMへの書き込みとLCDへの転送が、コマンドごとに行われます。

一方、SDK で Addd-in を作る場合は、VRAMへの書き込みとLCDへの転送を、個別に指示できるので、VRAMへのデータ書き込みをある程度まとめて行った後、LCDへ一気に転送すれば描画が速くなる筈です。LCDへのデータ転送の間引きを 1/10 にするのか、1/100 にするのか、1/1000 にするのかで、どの程度速度が変わるのか、試せるように Add-in を作りました。Casio Basic のアルゴリズムをそのまま採用しています。

Casio Basic では、プログラム実行の途中でも [AC] キーで強制終了できます。そこで、Add-in でも描画の途中で [AC] キーで強制終了できるようにしています。

Casio Basic に無い要素として、1ms の分解能のタイマーを同時に走らせて、実行時間の測定を行えるようにしています。このルーチンは sentaro 様が公開されているソースから、流用させて頂いています。

さて、プログラムを作って走らせている際、キースキャン ([AC] キーの検出、Casio Basic の Getkey に相当) が意外と時間を喰っていることに気付き、キースキャンも上と同様に間引きして、その影響をチェックできるようにしました。


Add-in 版塗りつぶしプログラム

以下からダウンロード;
MarkOut.zip


[2015/06/24 修正]
sentaro様からコメントを頂きました。

Add-in 版 MarkOut は、[F1] ~ [F4]を押して測定を開始する。Casio Basic 版と同様に、測定中は [AC] キーを押したら強制終了するようにするため、測定中でもプログラム内で [AC] キーをスキャンして、[AC] キー以外を押すとキースキャンがスキップされてプログラム実行速度が速くなる。逆に言えば、測定開始のために [F1] ~ [F4] を押すと、押した時だけプログラムが加速されていまうので、正しい時間測定にならない。
そこで、[F1] ~ [F4] を押して各測定モードに入った後、[EXE] キーが押されてからキーアップしたタイミングで測定開始させれば、上記の問題は解消される。

その通りですね。そして、これを実現した改良版を作って頂きました。上からダウンロードする Add-in は、この sentaro様の改良版に変更しました。sentaro様、ありがとうございます。
=====

先ずは、LCDへの転送を間引くと瞬間に描画が終わります。Casio Basic では、ドットを1つ描画するたびに LCD転送しているわけで、LCD転送が如何に時間のかかる処理か、とてもよくわかります。

グラフィックス プログラミングは、高速化が必要なプログラムには SDK で作る必要がありそうです。

なお、キースキャンも、LCD転送ほどでは無いのですが、結構な時間がかかっていることが分かります。

LCD Trasnfer Check モードで実行中に、[AC] キー以外を長押ししてみると、さらに増速します。キースキャンを減らしていることになるからです。


Casio Basic でのグラフィックス描画は、遅いという弱点がありますが、画面を全て塗りつぶすような重い処理でなければ、利用価値は多くあると思います。先ずは 実装されているコマンドをしっかりと理解して、使いこなそうと思います。




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

人気ブログランキングへ


FC2ブログランキングへ


 


keywords: fx-9860GII、fx-5800PCasioBasicプログラム関数電卓

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

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

コメントの投稿

非公開コメント

No title

管理人様、こんにちは!

>意外に fx09860GII で実用プログラムが作れたことは、なにか嬉しい発見です。

グラフ電卓も実用的に使ってなんぼですもんね。教育用だけにしておくのはやはりもったいないですよね(^^)


>BAsicとC に限定すれば、カシオ機でいえば fx-9860GII (SH4A) が最強ですね。

はい、今のところは間違いなく最強です(^^)


>fx-CG10/20 の場合、Lua をどの程度使いこなせるのか、実行速度はどの程度か、そのあたりに興味があります。UCFの flyfisch 氏が Luaを推奨しています...

じつはCG10でのLuaはサンプル試して以降はあまり使ったこと無かったんですけど、最高でCasioBasicの100倍速くらいにはなる感じですね。
グラフィックスもアドイン級に速いみたいでますから、CasioBasicの補佐としてお勧めの言語ではあります。
ただ、数値精度が単精度だけっぽいのと、本体上で使えるテキストエディタが無いので、PCでプログラムソースを作成して転送という手間がかかるのがちょっと難点です。
アドインのエディタを作成しようとするプロジェクトはあるのでそのうち電卓上ですべて出来るようになると思われますが、現状ではそういう感じですね。


>さて、退院してくる fx-9860GII ですが、交換対応と思われるので、実性能がどのかが気になるところです。sentaro様の2台目のようなことになると、ちょっと寂しいです...

私の1台目は300MHz越えましたけど、2台目は270MHzどまりで結構ばらつきがあったので、戻ってくる本体の耐性がどのあたりなのかはすごく気になりますね(^^;

やっと退院

sentaro様


意外に fx09860GII で実用プログラムが作れたことは、なにか嬉しい発見です。

おっしゃるように、SDK 次第と言えますね。Casio Basic もそれ相応に使えますが、限界がすぐやってきます。その場合は、SDK に依存しますから...

BAsicとC に限定すれば、カシオ機でいえば fx-9860GII (SH4A) が最強ですね。

fx-CG10/20 の場合、Lua をどの程度使いこなせるのか、実行速度はどの程度か、そのあたりに興味があります。UCFの flyfisch 氏が Luaを推奨しています...


さて、退院してくる fx-9860GII ですが、交換対応と思われるので、実性能がどのかが気になるところです。sentaro様の2台目のようなことになると、ちょっと寂しいです...

No title

管理人様、こんにちは!

>仕事絡みで、ちょっとしたカーブフィティングのアドインを作りました。手元のSH3バージョンの fx-9860GII 向けです。プロットを表示しておき、係数を変えながら式を順次グラフ表示して、パッパッパッ...と表示されるグラフが変化してゆきます。

なかなかに実用的アドインみたいですね(^^)
fx-9860GシリーズはSDKがしっかりしているので慣れてくればアドインでもCasioBasic並に生産性が上がってきますね。
これが本体だけで作れるというか再コンパイルや修正できたりするととさらに便利でいうこと無いんですけどね…(^^;


>新しい KeyScanルーチンを使わせてもらたのですが、良いです!!
>ありがとうございます。

お役に立てたようでよかったです(^^)


>チョット公開できる内容でないのですが、快適に使えます。贅沢を言えば高精細度のLCDの登場が待ち望まれます。

高精細というとCG10/20があるわけですが、公式SDKがないのでアドインの生産性がいまいちなので、今後fx-9860Gシリーズ以上の環境は望めないかもしれませんね。


>カシオからの連絡で、明日発送とのことです。

お!いよいよ戻ってくるのですね。
明日発送だと早ければ土曜日には到着ということになるのでしょうか(^^)

Re: No title

sentaro様

仕事絡みで、ちょっとしたカーブフィティングのアドインを作りました。手元のSH3バージョンの fx-9860GII 向けです。プロットを表示しておき、係数を変えながら式を順次グラフ表示して、パッパッパッ...と表示されるグラフが変化してゆきます。

ここっ!と思ったところで、キーを押して止める...その時の係数を得る...こんな感じですが、客先の工場の現場で使うので、PCでなくて電卓なのがポイントです。ここっ!ってとっころで止めるのに、キーの反応が遅いので、それなりの使い方でした。

新しい KeyScanルーチンを使わせてもらたのですが、良いです!!
ありがとうございます。

チョット公開できる内容でないのですが、快適に使えます。贅沢を言えば高精細度のLCDの登場が待ち望まれます。


そして、手元のSH3バージョンだと、たまに止まらないことがあったのですが、そちらでも再現したとのこと。ある意味安心しました。SH4バージョンだとそのようなことが無いとのことなので、SH4Aの帰還が楽しみです。

カシオからの連絡で、明日発送とのことです。

No title

管理人様、こんにちは!

>私の雑ぱくな認識ですと SH3 の高速対応版が SH4A ですが、カシオのドライバが SH4A では改良されていると言う可能性はどうなんでしょう?

SH4AではCPU本体にキースキャン回路が内蔵されている模様です。
SH3では汎用ポートでという感じなので、キースキャンのメカニズムそのものが自動か手動かという違いに感じます。
なので、ドライバ的にはSH4Aの方がかなり簡単にシンプルになってそうな感じはしますね。

>ある意味、SH3版は研究対象としては貴重と言えそうですね(^^;)

それはかなりありますね(^^;

タイミングが難しいのかも知れませんね

sentaro様

ご調査、ありがとうございます。

SH4A版のほうが素直な設計になっているようですね。


私の雑ぱくな認識ですと SH3 の高速対応版が SH4A ですが、カシオのドライバが SH4A では改良されていると言う可能性はどうなんでしょう?

ある意味、SH3版は研究対象としては貴重と言えそうですね(^^;)



SH3版はタイマー不安定かも?

管理人様、こんにちは!

>以前にも報告したように、Key Scan の間引き(LCD転送は1ドットづつ同じ)で、逆転現象が出て、裏のリセットボタンを押したら、逆転解消という不審な挙動が、また現れました。逆転といっても、0.1~0.3sec 程度の逆転で、F3 (1/100) と F4 (1/1000) のみの逆転ですが...

これはうちのfx-9860GII(SH3)でも逆転が発生するのを確認できました。
fx-9860GII(SH4A)ではそのようなことは全然ないので、SH3版のタイマー精度にちょっと難ありかもです(^^;


>ストローブ出力に併せて読み取る、ということは、クロックをラッチ信号の変わりに使うのでしょうか?

そこのあたりはまだよくわかってないのですけど、このキースキャンプログラムはSH3機だとちょっと不具合が出るのが見つかりました。
描画が終わった後でGetkey()でACキーを判定してメインに戻るところで、試しにACキー以外の「EXE」キーとかに変更するとそれが読み取れないっぽいのです。
このタイミングではMENUでも戻れるのが通常なので、あれ?っと思った次第です。
SH4A機ではそういうことはないので、SH3機のキースキャンは、(今回のプログラムの場合)ストローブ信号を一旦出したらそのままになっている可能性ありますね。
SDKではそのあたり上手く処理されているようです。

タイミイングが難しいのでしょうか?

sentaro様

ストローブ出力に併せて読み取る、ということは、クロックをラッチ信号の変わりに使うのでしょうか?

タイミング合わせは、どうなんでしょう?ポートを監視して HIGHからLOWへ落ちるのが、確実の取れるのでないと、難しそうですよね。

SHチップのことが、何も分かっていないので、的外れかも知れませんが、チョット興味あります。

fx-9860GII SH3 版の挙動不審

sentaro様

以前にも報告したように、Key Scan の間引き(LCD転送は1ドットづつ同じ)で、逆転現象が出て、裏のリセットボタンを押したら、逆転解消という不審な挙動が、また現れました。逆転といっても、0.1~0.3sec 程度の逆転で、F3 (1/100) と F4 (1/1000) のみの逆転ですが...

今回挙動不審になったのは、前回リセットしたからオーバークロックを一子亜していませんので、Ftuneには何の罪もありません(^^;)

タイマーは、1msecの分解精度ですよね。なので、100msec で狂うのは考えにくいですよね。

本体のクロックが、不安定なのかもしれません。電池が減ってきているのかも知れないのですが、未確認です。

No title

管理人様、こんにちは!

>高速キースキャンですが、SH4A 版の解読ができました。単純と言われて、なるほど...と、少しCPUの気持ちで見れば分かりますね。SH3版は、なんだかよく分からないままですが...

CPUの気持ちでというのがいいですね(^^)

SH3のキースキャンは読み取りたいキーのあるキーボードマトリクスの列を指定してストローブ出力をした後に読み取りポートからデータを読むという感じだと思いますが、ちょっと手間隙かかってる感じでしょうか。


>これは貴重なライブラリです。今後愛用させて頂きます。

高速読み取りが必要なければSDKのでも構わないと思いますが、速度が桁違いなのでループ内で使うにはかなり有利ですね。
どんどん自由に使ってやってください(^^)

高速キースキャン、愛用させてもらいます

sentaro様

高速キースキャンですが、SH4A 版の解読ができました。単純と言われて、なるほど...と、少しCPUの気持ちで見れば分かりますね。SH3版は、なんだかよく分からないままですが...

これは貴重なライブラリです。今後愛用させて頂きます。

ありがとうございます。

> >(-) キーで停止は、残っていますね!
>
> はい、元ソースではこの(-) キーとACキーチェックが両方あったので残しています(^^;
>
> SDKキースキャン版と比較すると、SDKのキースキャンは一回あたり0.01秒くらいかかっている計算ですね。

4096回ループを回すと、41秒かかるわけでですから、遅いわけですね。


No title

管理人様、こんにちは!

>KwyDownFunc()はスグに気付きましたが、KeyScan.c のどこをどう変更したのは、スグには分からず....(^^;)
>ひょっとして、SH3 と SH4A 両対応も同時に変更したのですか?

KeyScan.cは今回初登場のSDKを使わないキースキャンプログラムです。
元ネタはSuperH-based fx calculatorsからですけど、SH3とSH4A両対応版です。
SH3のキースキャンはちょっとややこしくて複雑ですけど、SH4Aのはただキーマトリクスに対応したレジスタを読むだけでいいので恐ろしく簡単です。
どちらもSDKに比べると、かなりというか劇的に速くなりますね(^^;


>(-) キーで停止は、残っていますね!

はい、元ソースではこの(-) キーとACキーチェックが両方あったので残しています(^^;

SDKキースキャン版と比較すると、SDKのキースキャンは一回あたり0.01秒くらいかかっている計算ですね。

Re: Add-in 版 MarkOut キースキャン高速化

sentaro様

キースキャンが速くなったのを確認できました。

KwyDownFunc()はスグに気付きましたが、KeyScan.c のどこをどう変更したのは、スグには分からず....(^^;)

ひょっとして、SH3 と SH4A 両対応も同時に変更したのですか?


> 結果として、キースキャンが常にターボ状態以上に速くなったので、キースキャン時間はほぼ無視できる感じになりました。
> 常にターボ状態なので、もちろんターボも効きません(^^;

(-) キーで停止は、残っていますね!



Add-in 版 MarkOut キースキャン高速化

管理人様、こんにちは!

Add-in 版 MarkOutのSDKのキースキャンの速度がかなり遅いってことが気になって、キースキャンを高速ルーチンに変更してみました。
それとEXEで計測スタートを止めて、ファンクションキーを押して、そして離した瞬間から計測開始としました。
最初の仕様に戻ったという感じですね。
http://pm.matrix.jp/MarkOut2.zip

結果として、キースキャンが常にターボ状態以上に速くなったので、キースキャン時間はほぼ無視できる感じになりました。
常にターボ状態なので、もちろんターボも効きません(^^;

1/1、1/10、1/100、1/1000はLCD転送時間だけの差ということになりました。

Re: Re: 早速に恐縮です。

sentaro様

教えて頂いた PxlOn ですが、実は真っ先に作ったのが、予約変数 X,Yの正体を調べるプログラムでした。

Casio Basic入門の新シリーズ、グラフィックス プログラミングの初回をアップして、そのプログラムをダウンロード出来るようにしました。

遊んでみてください(^_^)ノ

Re: 早速に恐縮です。

sentaro様

ご指摘感謝です。
改めて、修正しました。


> CasioBasciでのグラフィックスコマンドは最初に試して異常に遅かったのでその後は二度と使わず状態のままでしたけど、管理人様の影響でまた新たにいじってみてるところです。
> こちらこそありがとうございます(^^)

塗りつぶしですが、Casio Basic だと水平ラインを引くコマンドを For文で使えば、かなり高速に塗りつぶせますよね。

グラフィックスではなくてグラフ描画に特化しているだけに、色々と面白い機能があることが、分かってきました。

今は、まだ基礎的な部分の調査しかしていませんが、高度なグラフ描画機能を詳細に調査してゆけば、普通のグラフィックスに応用できるものが出てくるかもしれず、楽しみです。


> >ネットで調べると、以下のようなサイトなど、わりとまとまったものもあるのですが、
> >http://www.ex-parrot.com/tom/calcs/calcs/encyc/frames/frameset.html
>
> これは年代的にCFX-9850の世代のコマンドリファレンスみたいですね。

はい、この資料のおかげで、新しく追加されたコマンドが分かる点でも有用ですね。


> マニュアルにはグラフィックコマンドの解説が簡単すぎるので、幸か不幸か宝探しの楽しみが満載のCasioBasicですね(^^)

fx-5800P よりも多くの埋蔵金が眠っているかも知れませんね!

早速に恐縮です。

管理人様、こんにちは!

>測定開始のために押す [EXE] キーが、

測定開始は[EXE]でなくて[F1]~[F4]キーを押した瞬間からになりますよね(^^;

で、
例えば[F1]を選択した場合、[F1]を押した瞬間にスタートしてしまうので、ここで[F1]を離さず押し続けるとキースキャンの時間がかなり短くなるのがターボ状態です。
それを抑制するために、[F1]押下でのスタートをさせずに[EXE]でワンクッションいれるっていうことにしました。。
できれば[F1]を離すタイミングでスタートするのが仕様上は一番ですけど、[EXE]スタートは、用意ドン!っていう感じですし、プログラム変更が最小限で済むので、ま、いいっかという感じです(^^;


>昨日 PxlOn というコマンドを教えてもらって、これを色々と弄っていたら、頭の中のモヤモヤが、す~っと晴れて行きました。ありがとうございます。

CasioBasciでのグラフィックスコマンドは最初に試して異常に遅かったのでその後は二度と使わず状態のままでしたけど、管理人様の影響でまた新たにいじってみてるところです。
こちらこそありがとうございます(^^)

>ネットで調べると、以下のようなサイトなど、わりとまとまったものもあるのですが、
http://www.ex-parrot.com/tom/calcs/calcs/encyc/frames/frameset.html

これは年代的にCFX-9850の世代のコマンドリファレンスみたいですね。

>今わかっているだけでも、さすが Casio Basic、面白い機能が隠れているものです。宝探しは、愉しいですよね。

マニュアルにはグラフィックコマンドの解説が簡単すぎるので、幸か不幸か宝探しの楽しみが満載のCasioBasicですね(^^)

Re: 新エントリですね(^^)

sentaro様



> CasioBasicでのグラフィックは日常的に使うことがほとんど無かったという状況なので、今までに知らなかったことがいくつも見つかりそうで楽しみです(^^)

そうなんですよね。さらに、式やデータからグラフを書いたり、逆関数や変数を変えてグラフを書いたり、そういう機能が色々とあるのですが、そういうのも使わないので、プログラミングで利用しようにも知らないわけです。

昨日 PxlOn というコマンドを教えてもらって、これを色々と弄っていたら、頭の中のモヤモヤが、す~っと晴れて行きました。ありがとうございます。

ネットで調べると、以下のようなサイトなど、わりとまとまったものもあるのですが、
http://www.ex-parrot.com/tom/calcs/calcs/encyc/frames/frameset.html

それでもあっさりしていて、実際に徹底的に触ると、もっと色々なことが分かってきました。そうなると、面白くなるのは人情でして、fx-5800P の Casio Basic のコマンドを一つひとつ調べた時のように、グラフィックス・コマンドも記録として残しながら、公開してみることにします。

今わかっているだけでも、さすが Casio Basic、面白い機能が隠れているものです。宝探しは、愉しいですよね。

ゆっくっりペースで進めることになるでしょう。



> スタート時にファンクションキーを押した瞬間から計測スタートしてしまうので、そこでターボが発動して計測誤差が出てしまうのでそれを抑えるために、
> 計測スタートで、EXEキーを押すことにして、EXEを離した瞬間より計測スタートするようにしてみました。
> あと、リアルタイム時間表示には変更できなくなりますけど、1/1000秒での計測にしてみました。
> http://pm.matrix.jp/MarkOut_.zip

ありがとうございます。ちょっと遊ばせて頂いてから、本文に追記することにします。



新エントリですね(^^)

管理人様、こんにちは!

CasioBasicでのグラフィックは日常的に使うことがほとんど無かったという状況なので、今までに知らなかったことがいくつも見つかりそうで楽しみです(^^)

Add-in 版塗りつぶしプログラムですけど、
スタート時にファンクションキーを押した瞬間から計測スタートしてしまうので、そこでターボが発動して計測誤差が出てしまうのでそれを抑えるために、
計測スタートで、EXEキーを押すことにして、EXEを離した瞬間より計測スタートするようにしてみました。
あと、リアルタイム時間表示には変更できなくなりますけど、1/1000秒での計測にしてみました。
http://pm.matrix.jp/MarkOut_.zip
最新記事
最新コメント
カテゴリ
C# (3)
検索フォーム
Visitors
Online Counter
現在の閲覧者数:
プロフィール

やす (Krtyski)

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


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

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

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


人気ブログランキングへ


FC2ブログランキングへ


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

リンク
月別アーカイブ
Sitemap

全ての記事を表示する

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

この人とブロともになる

QRコード
QR