画像をクリックすると、QuickTimeムービーファイルが見られます(395Kバイト)
デモモードなのでパドルは一杯に広がってますが、実際のゲームの時の動きと同じです。
Design Wave誌の2003年10月号にCycloneボードがオマケでついてきた。2004年4月号でHandel-Cを紹介したときにこのボードを使ってブロック崩しゲームを作ったのだが、あまり認知されなかったようだ。
Cから論理合成される実例がどうたらとかいう真面目な話はともかくとして、単なるゲームとしてもそれなりに遊べるんじゃないかと思うので、ここでソースコード、プログラミングファイルと回路図を掲載しておくことにした。
ソースコードはほとんどCそのままだけども、Handel-Cを使って論理合成されるためCPUコアなどは一切使っていない。ブロックの描画、ボールの移動、衝突判定など、すべての処理が論理回路で実行される。
PICで作られたブロック崩しのように、VRAMを使わない方法もあるのだが、Cycloneの中にはそれなりの容量のRAMがあるので、しっかりVRAMとして利用させていただいた。PIC流にすればカラー化もできるので、いずれやってみたいところでもある。
まだゲートも余っているし、当たったときにピポッと音を出す位のこともできそうだけど、こちらも期限のない宿題か。


回路図
(PDFファイル)
ダウンロードはこちら
回路図はCycloneボードにジョイスティックとVGAコネクタをつけただけ。
ちなみに、電源は写真右上にちらっと写っているけど、USBから拝借した(100円ショップのUSB携帯電話充電アダプタをちょん切って使用。なぜか赤が−、黒が+というトラップが仕掛けられていたというトンデモケーブルであった)
入力はPC用のジョイスティックを借用。単に右側のスイッチ4つだけ使っていて、左側のスティックは使っていない。このあたりはPSoCで受けて前処理してやるというのもいいかもしれないな。

プログラミングファイル
(ダウンロードはこちら)
Quartusでダウンロードするファイル。ボードを作って、このファイルを食べさせてあげれば、うまく動く・・・はず
ソースコード
(ダウンロードはこちら)
ブロック崩しのソースコード。Handel-Cの処理系(DK2)を持っていないと再コンパイルもできないし、直接は役に立たないのだけど、ソースやフィッターレポートはこんなもの。
なにぶんほんの2、3日という期間でサラッと書いただけなので無駄も多いし格好悪いところも多々あるとは思うけれども、こんなものでもこの程度は動く。