プログラマyasuhoの隠れ家

某ソフトウェア企業に勤務するおじさんプログラマyasuhoです

RPN Calculator for VX-4 - ver 0.1


VX-4で使うRPN電卓です。10<->16進変換機能つき。



ダウンロードはこちらから。


http://www.geocities.jp/yasuho68k/

開発メモとか


ちょっと面倒だったのは10<->16進変換。VX-4の整数演算やHEX$()などは16ビットまでしかできません。なので、ムリヤリ32ビットの演算をさせるようにしています。まあソースを見れば分かると思いますが。^^;


本当はもうちょっといろいろやろうかと思ったんですが、性能やメモリ容量の問題から今回は見送りました。ポケコン、それもBASICを使う際にはGBA以上に性能に気を使わないとダメですね。まあそこがまた面白いところでもあるのですが。(単に技術力がないだけかもしれん)

次回作は


やっぱりゲームの予定。なんだけど、また変わるかも。気まぐれなんで。:)

VX-4とPCをつなぐ


というわけで、アキバで部品を購入し、VX-4とPC間で通信を行えるようにしました。



本当にやっつけ仕事なのが見え見えですが、どうかご勘弁を。^^;


写真を見ると分かるように、最初3.5Φミニプラグとばかり思っていたら、実は2.5Φであることが判明。あわてて変換プラグを買ったりしています。(*^^*)


なお、接続には以下のサイトを参考にさせていただきました。感謝。


sate-o ポケコン - CASIO VX-4とPC接続

通信環境について


通信は「PB-1000 Data Communicator32」を使用。


私のところもなぜか4800bpsではエラーになったので、2400bpsで通信しました。


あと、BASICプログラムのReceive時、完了になりません。Stopボタンを押すと一応データは転送できているようなのですが・・・


どこか間違ってるのかな!?

実は


だいぶ前に機材は購入していたのですが、なかなか時間が取れず、ようやく通信することができました。^^;


こんな機械オンチな私が出来たのも、先人の知恵があってこそ。この場を借りてお礼申し上げます。(_O_)

というわけで


プログラムの写し間違えもなくなっているはず(笑)


これで気軽にどんどん消して次のプログラムが書けるぞー。

Duel Vader for VX-4 - アップデート


とある方にバグを指摘して頂きましたので、アップデートしました。このままではSN Errで動きません。^^;


手で書き写すと、どうしても間違えてしまうなあ。やはり早くPCとの通信環境を整えなければ。というか、一応機材は買ってあるのですけど、まだ組み立ててないのです。とほほ。


そういえばPB-1000のエミュレータはあるみたい。これが使えるかどうか、調べてみようかな。

Duel Vader for VX-4 - v0.1


はっきり言ってつまんないです。^^;


まあレトロっぽい感覚を味わえるということでどうかお許しを。:)



昔バンダイからこんな電子ゲームが出てたんですけど、それをマネたものです。UFOは出ません。


ミサイルインベーダーやこの頃のバンダイの電子ゲームはどれも筺体デザインが秀逸で、いろいろ持っていました。けっこう楽しかったんだけど、どこに行ったのか全然覚えてない。実家のどこかに埋もれてるのかなあ・・・

ちなみに


ダウンロードは以下から。


http://www.geocities.jp/yasuho68k/

デジタルインベーダー for VX-4 - v0.1


というわけで、ちまちま作っていたデジタルインベーダー for VX-4が大体形になってきたので、以下のサイトで公開しました。


http://www.geocities.jp/yasuho68k/


まだPCとの通信環境がないので、ソースは手で移したもの(笑)。もし間違い等ありましたら、ご容赦くださいませ。また、コメント等あればフィードバックしてもらえるとyasuhoが喜びます。:)


ちなみに操作は"."で数字変更、"E"がファイアです。

思ったより時間がかかりましたね


まあyasuhoの技術力からするとこんなもんかなという気も。


パフォーマンスの観点からは、あまり満足のいくものにはなりませんでした。何度か書き直しはしたのですが、このへんが限界かなと。最終的にはアセンブラなのでしょうが、そうなると電車の中ではしんどいので、またの機会にということで。


プログラミング的にはそれほど難しいことはしていないので、特に見るべきところはないと思います。VX-4固有のものとしては最初にある

110 DEFCHR$(255)="545454545400"


ぐらいでしょうか。VX-4ではキャラクタコードが252から255までの4種類を8x6ドットのユーザ定義キャラクタとして定義できます。

実はそろそろインベーダーにも飽きてきたんですね


なので、そろそろ次へいこうかなと。こんな感じで気軽にプログラミングできるのも、ポケコンの大きな魅力。


さてと。次は何を作ろうかなー。:)

今はこんなのを作ってます


というわけで、今は電車の中でこんなのを作っています。たぶんポケコン買ったら誰もが最初に作るであろうアレです。:)


とりあえず基本部分は出来てきたんだけど


技術力のなさから、とてもゲームにはならないです(笑)


最大の問題は、キーの取りこぼしが多発すること。INKEY$はキーを押している間だけキャラクタコードが返ってくるので、ちょっと長い処理をやっている最中にキーを押してしまうと、キー入力判定に戻ってきた時に取れないんですね。


いろいろ工夫はしてみるものの、なかなか思ったようにはいかず。ちょっとした1命令がパフォーマンスに大きく影響するんだよね。場合によっては最初から書き直すか、機械語の助けを借りることになるかも。

ところでこの機種のBASICはというと


いたって普通ですね。CASIO系は初めてだったのだけど、ポケコンにしてはクセがないなと思った。標準的な文法という印象。


CASIOのプログラム電卓よろしく、プログラム領域をP0-P9に分けられる。行番号覚えなくていいしね。今は使ってないけど、ちょっと大きなプログラムを組むには便利かも。


ちなみに変数の大文字・小文字は区別される。A$とa$は別の変数。この時代にしては珍しいかな。

とは言うものの


電車の中でプチプチするのはけっこー楽しいです。yasuhoの場合、長くプログラム書いてないと禁断症状が出るのですが、そんな中毒症にもいい処方箋に(笑)


しかし予想していたとはいえ、ポケコンの電池は持つなー。毎日1時間ぐらいは使ってるんだけど、全然電池のなくなる様子がない。しかも付属のマンガン電池だよ、これ。


こういうの使ってると最近のコンピュータは進化したのか退化したのか分からなくなる。もちろん出来ることは全然違うし、この時代に戻りたいわけじゃない。ただ、出来ることとパワーのバランスって大事だな、って改めて思う。


さて、この記事書いたら、もうちょっとがんばってみるかな。:)

CASIOポケコンVX-4を使ってみた


というわけで、先日購入したCASIOのポケコンVX-4をしばらく使ってみた。

ポケコンと言えば


1行24桁のみ。それも1424ステップ*1しか扱えないSHARPのPC-1211しか使ったことのないyasuhoから見ると、これはとてもゴージャスな印象。32桁x4行の広い画面に、CASLC言語も扱えるとあっては、正直もうポケコンじゃないかも、と思えてしまう。


しかしBASICを少し使ってみると、昔の感覚が蘇ってくるのを感じる。機能や性能は高いとはいえ、これはやっぱりポケコンなのだ。先日の動画じゃないけど、少ないメモリと小さな画面の向こうにマイコンの夢を見た、あのポケコンなのだ。


キーボードについてはクリック感が少なく、押したつもりで押せなかったりするんだけど、個体差もあるのかな。スクリーンエディタはわりと使いやすい。これなら電車の中でも何とか書けそう。

細かいところはいろいろあるけれど


これを使うことの最大のメリットは何と言っても


いつでもどこでもプログラミングが出来る


ということに尽きる。他にも機能はあるけれど、やはりこれはプログラミングを楽しむ機械なんだ。使ってみると分かるけど、これにはいかにプログラム作成を楽にできるか。そんなプログラマへの愛情がこもっている。だからyasuhoは使っていて楽しいんだ、きっと。

そうか


プログラム用に使えるメモリは3.5KBしかないのか。まあチマチマ遊ぶ分には十分かな。:)


機械語は隠し命令で実行できるらしい。クロスアセンブラを公開されている方もいらっしゃる。すごいなあ。


グラフィックもやはり隠し命令で操作できるんですって。


参考: HD61700 SPIRITS


まあまずはゆっくりとBASICでも。CASLC言語はまだ使ったことがありません。:b

ある友人が言った


「これって単なるノスタルジーじゃね!?」と。


たしかに購入動機は懐古だったさ。「今時ネットも出来ない、メモリも少ない非力なマシンなんて何に使うの!?」友人は続ける。うん、そうだよね。


でもね。ちょっと使ってみてよ、これ。起動に1秒もかからない。普通の家電みたいに、いつでも電源を気軽に切れる。いつ交換したか分からない電池。気軽に持ち運べる軽さ*2。などなど。


VAIO type Pもいいけど、こんなのも楽しいよ。いや、type Pは欲しいんだけどさ。:)

今は


電車の中でプログラム書いてます。まわりの人からはどんな風に見られているかは分かりませんが、たぶん奇異な目で見られているはず。もしそんな人を見かけても、いじめないでね(笑)

これから


とりあえずPCと通信できないと、どうしようもないので、今週末あたりアキバへ行ってこようかな。これならはんだ付けの苦手なyasuhoでも何とかなるかも。


参考: sate-o ポケコン - CASIO VX-4とPC接続

そんなところです


続きます。

*1:BASICの1命令を1ステップとして換算

*2:VX-4はちょっと大きいけど、それでもNintendoDSぐらいかな