CRTCによるインベーダーゲームの完成です。タイトルはプロジェクト名だった「コメベーダー」をそのままタイトルにしてしまいました。考えるの面倒だったので。作成成果物の提示ということで、動作している所を紹介するムービーとスクリーンショットから。ムービーはニコニコ動画にあるのと同じもの。作成成果物としてのソースコード。ソースコードCPLDは以前から変わっていないはず。V850のソースコードも画面周りはCPLDとSRAMが無いと意味がないので参考程度に。音声出力周りは使い回しが効くんじゃないかと。21:05:09とある途上国の大学開設に協力している者です。工学系大学の電気電子科の教員を養成するということで、2名ほど留学生として受け入れて、教育を行っています。Compilerを作成しています。Compilerのテスト用に、komevaderのソースを使用させて頂きました。コーデックを使って音を出しています。チャンネルのミキシングは、CPU(50Mhzで走らせていますが1インストラクションあたりのクロック数が多く、精々5MIPS程度)で行うのは酷なので、FPGA側で加算させて誤魔化しています。お手数ですが、お返事下されば幸いです。5:08:02拙作がそんな形で利用されているなんて、なんか逆に恐縮してしまいます。:-)音声ですが、この記事に張り付いているフラッシュムービーをご覧になれていますでしょうか。ソースコード内のデータは、このムービー内で鳴っているのと同じ物です。ゲームオーバーは「でろりろ〜♪」とかいった感じですね。データですので、125ns毎に1byteを取り出しDACに流し込めば意図通りの音になるはずですよ。20:45:18ご返信、有難うございます。>拙作がそんな形で利用されているなんて、なんか逆に恐縮してしまいます。ドライバ部分が綺麗に抽象化されて分離されており、移植作業(これ自体は私が行ったのですが)は、必要なハードを組みながらの形で、極めてスムーズに、音を除いて2日ほどで済みました。上位側も分かりやすい模範的な構造で、向こうの大学での教材としても重宝すると思います。CPUが16bitで、主メモリ空間が64KByteしかないので、Titleイメージは省略せざるを得ないのと、あと、留学生が帰国した後に、現地で政府要人(下手をすると大統領^^;)が成果物を見学するかもしれないので、最初のSplashは割愛させて頂きましたm__mCPUもCompilerも、ほぼゼロの状態から、いわゆるフル・スクラッチで組んだのですが、当人達は、このような本格的なゲームが動くものを作っているとは思ってもいなかったらしく、ビックリしています。http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=39&No=30台湾のメーカですが、非常に品質が高く、おまけに安価で・・・。翻って日本メーカーの評価ボードの現状を見ると、何か「日本の製造業は終わった・・・」、と感じる次第です。Alteraの技術指導も入っているとは思いますが。>音声ですが、この記事に張り付いているフラッシュムービーをご覧になれていますでしょうか。ソースコード内のデータは、このムービー内で鳴っているのと同じ物です。ゲームオーバーは「でろりろ〜♪」とかいった感じですね。あちこちのパソコンでTryしたのですが、なぜかしらフラッシュがロードされず、「聞いた方が早いか」と横着をした次第です。データですので、125ns毎に1byteを取り出しDACに流し込めば意図通りの音になるはずですよ。コーデックは元々48kHzのサンプルだったものを12kHzに落としていますが、あまり落としすぎると、別な要因で変な音になるようで、この辺で止めています。UFOの登場音とか他の音は、それなりに鳴っていますし、サウンドのテストのために作った別プログラム上では、「でろりろ〜♪」に近い4音ほどで再生されるようなので、何かヘマをしているのかもしれません。17:04:33例のサウンドの件ですが、ゲームオーバーの音が上手く再生されなかったのは、ただ単に、チャンネル・ミキサーの手前に設けたFIFOのフラグのビット位置を間違えていて、コーデック側にデータが送られる前に、後ろのデータを上書きしてしまっていたためでした。修正したら上手く「でろりろ〜♪」と鳴らすことができました。ありがとうございました。取り除いてしまっていたのですが・・・。30)...の判定がしばらく偽になり、ボタンを押してもスタートできなくなると言う問題がありましたので、取りあえず、unsigned型で宣言し直しました。int型が4バイトだと、ラップ・ラウンドするまで1年以上かかりますので、実用上は何の問題もありませんが。すべて自作なので、こちらのコンパイラの単なるバグかも知れませんが・・・。お手数をお掛けして恐縮ですが、よろしくお願い致します。22:03:10その後のリポートありがとうございます。音は正常になってなによりです。データの後ろにRIFFチャンクが残っていたのを削るためでした。データの方を削ればよいのに横着した残りです。済ませちゃったというか。判定については、ゲームの進行で変化する事はないので単にその様に見えているとかじゃないでしょうかね。数値演算なのでコンパイラバグは入りにくい部分だと思いますが。自機のショットに対し敵が横から体当たりを食らわせるような判定では微妙に座標が怪しかった様な覚えがあります。いえ、このへんのあたり判定を調整すると難易度が目に見えて変化してしまうので、難しいところなのですが。Islamorada.。