プチコンってどんなもの?

 プチコンに採用されているBASIC言語は80年代のパソコンやポケコンにおいて標準搭載されていたプログラミング言語です。BASIC言語はC言語などと比べて最初に覚えなければならないことが少ないということで初心者にとって扱いやすいため入門用としては最適でしょう。これによってプログラミングの楽しさが分かったら様々な言語に挑戦していくのもいいし、プチコン用に作られたsmile basicを極めるのもいいでしょう。
 コンパイラによって高速処理が可能なC言語とは異なりBASICの場合はインタープリタ型のものが大半となっています。このプチコンのsmile basicもインタープリタ型となっています。速度面では不利ですが、コンパイル不要であるため手軽に動作確認ができデバッグ(プログラムのバグ取り)も容易であるというメリットはあります。
 それにBASICが遅いと言っても80年代のマシンと比べるとDSの性能は圧倒的に高いため実はそれほど遅くはありません。

 それでは、私が持っているポケコン(PC-E650)とプチコン(ver1.1)の速度を比較することにしましょう。(プチコンは高速なのでループ回数を100倍して実行して時間を測定した)

《 リスト1 》 単純ループ
FOR I=1 TO 10000:NEXT

《 リスト2 》 加算
FOR I=1 TO 1000:A=A+1:NEXT

《 リスト3 》 PRINT表示
FOR I=1 TO 1000:LOCATE 0,0:PRINT I:NEXT

《 リスト4 》 ドット表示
FOR I=0 TO 31:FOR J=0 TO 239:PSET (J,I):NEXT :NEXT ※E650用
FOR I=0 TO 31:FOR J=0 TO 239:GPSET J,I,15:NEXT :NEXT ※プチコン用

《 リスト5 》 塗りつぶし四角形表示
FOR I=1 TO 100:LINE (0,0)-(59,31),BF:NEXT ※E650用
FOR I=1 TO 100:GFILL 0,0,59,31,15:NEXT ※プチコン用

リスト1リスト2リスト3リスト4リスト5
PC-E65013.8秒4.8秒18.5秒49.2秒143秒
プチコン0.21秒0.048秒0.30秒0.43秒0.0165秒
速度比66倍100倍62倍114倍8666倍
※リスト5が他のテストと異なりポケコン(E650)の方が極端に遅いのはポケコンが描画専用のチップを搭載していないため
 CPU性能はこれでもは80年代前半の8ビットパソコン(PC-8801など)と比べて同レベルとなっており、初期のポケコンよりは桁違いに高速


 プチコンはPC-E650と比べて圧倒的に速いことが分かると思います。(2012年3月14日に配信されたプチコンmkIIは従来のプチコンと比べて大幅に高速化されており、演算速度で2割の速度アップ、グラフィック表示速度で3〜4割の速度アップ、テキスト表示で2倍の速度アップとなりました)
 PC-E650は1989年に発売されたPC-E500の後継機種でありシリーズの最終モデルとなっています。とはいっても、CPU自体は初代のPC-E500と同じもの(シャープオリジナルCPUとなるSC62015 2.304MHz)が搭載されています。PC-E500は8ビットパソコンに匹敵する処理速度を持ち当時のポケコンの中では最速クラスのものでした。その後継機であるPC-E650もポケコンの中では速い部類となっています。
 PC-E650だとよほどBASICでは単純なゲームでない限りは高速化を駆使して5〜10fpsくらいが限界であり、高速化を駆使しなければその数分の1にまで実行速度は低下してしまいます。しかし、それから60〜100倍程度高速で塗りつぶし四角形においては数千倍も高速であるためよほど凝ったゲームでない限りはBASICでも十分な速度が得られると思います。(ポケコンは速度面ではプチコンと比べて全く歯が立たないけどこの速度面においてはマシン語を使えばBASICよりも数10倍〜100倍程度は高速になるし、ポケコンは電卓の発展系であるため演算精度で優れるという面やハードウェアでキーボードを有しているという点に加えて乾電池で非常に長時間動作するというメリットがある)
 実際、私が作った「プチコン50m走」は高速化はあまり気にしないで作ったにも関わらず900fps程度の速度になりました。PETIT RUNではGFILLを多用して疑似3D表示を行っていますがそれでも60fpsの速度が出せています。もしも、プチコンを十分に使いこなせるようになれば市販されていたファミコンなどの8ビット機レベルのゲームをBASICだけで作ることが可能になるでしょう。(プチコンでアフターバーナーIIを再現した人もいます)

 「プチコン」はプチコンが動作する本体(DSi、DSi LL、3DS)さえ持っていれば、他には何も要りません。かつては、ファミコン用の「ファミリーベーシック」、サターン用の「サターンBASIC」、プレステ2用の「BASIC STUIO」といったコンシューマゲーム機単体で動作するBASIC開発環境が市販されていましたが、それらとは異なり価格が安価(800円相当)であり、バッテリ駆動によっていつでもどこでもプログラミングができるというのが非常に魅力的です。
 「プチコン」はソフトウェアキーボードであるため入力環境が良いとは言えないことや作ったソフトを不特定多数の人に配布する方法がない(※mkIIでQRコード経由での公開が自由にできるようになりました!)ということで万人にお勧めできるものではないですが、ハードルの低いBASICによって自分で作ることの楽しさを一人でも多くの人が分かるようになれば良いと思っています。

 気軽にプログラム(ゲーム)を作れるプチコンでぜひプログラミングの楽しさを覚えてください!


RETURN/RETURN *MAIN

inserted by FC2 system