<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/ME2.0.10" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>コメベーダー その1Comments on: </title>
	<link>http://www.fumi2kick.com/komekame/archives/245</link>
	<description>rerofumi の電子工作メモ</description>
	<pubDate>Wed, 19 Nov 2008 07:37:13 +0900</pubDate>
	<generator>http://wordpress.xwd.jp/?v=ME2.0.10</generator>

	<item>
		<title>by: rerofumi</title>
		<link>http://www.fumi2kick.com/komekame/archives/245#comment-160</link>
		<pubDate>Wed, 02 Apr 2008 22:03:10 +0900</pubDate>
		<guid>http://www.fumi2kick.com/komekame/archives/245#comment-160</guid>
					<description>その後のリポートありがとうございます。

音は正常になってなによりです。
-55 はデータの後ろにRIFFチャンクが残っていたのを削るためでした。データの方を削ればよいのに横着した残りです。すみません :-)

m_title_timer もバグでしょうなー。普段は無意識で unsigned を使う人なのですが、珍しく int で済ませちゃったというか。

判定については、ゲームの進行で変化する事はないので単にその様に見えているとかじゃないでしょうかね。数値演算なのでコンパイラバグは入りにくい部分だと思いますが。
自機のショットに対し敵が横から体当たりを食らわせるような判定では微妙に座標が怪しかった様な覚えがあります。とはいえ、このへんのあたり判定を調整すると難易度が目に見えて変化してしまうので、難しいところなのですが。(一応今の数値でゲームバランスをとっているので) </description>
		<content:encoded><![CDATA[その後のリポートありがとうございます。

音は正常になってなによりです。
-55 はデータの後ろにRIFFチャンクが残っていたのを削るためでした。データの方を削ればよいのに横着した残りです。すみません :-)

m_title_timer もバグでしょうなー。普段は無意識で unsigned を使う人なのですが、珍しく int で済ませちゃったというか。

判定については、ゲームの進行で変化する事はないので単にその様に見えているとかじゃないでしょうかね。数値演算なのでコンパイラバグは入りにくい部分だと思いますが。
自機のショットに対し敵が横から体当たりを食らわせるような判定では微妙に座標が怪しかった様な覚えがあります。とはいえ、このへんのあたり判定を調整すると難易度が目に見えて変化してしまうので、難しいところなのですが。(一応今の数値でゲームバランスをとっているので) ]]></content:encoded>
				</item>
	<item>
		<title>by: JICA</title>
		<link>http://www.fumi2kick.com/komekame/archives/245#comment-159</link>
		<pubDate>Wed, 02 Apr 2008 17:04:33 +0900</pubDate>
		<guid>http://www.fumi2kick.com/komekame/archives/245#comment-159</guid>
					<description>　例のサウンドの件ですが、ゲームオーバーの音が上手く再生されなかったのは、ただ単に、チャンネル・ミキサーの手前に設けたFIFOのフラグのビット位置を間違えていて、コーデック側にデータが送られる前に、後ろのデータを上書きしてしまっていたためでした。修正したら上手く「でろりろ〜♪」と鳴らすことができました。ありがとうございました。
　で、インベーダーの歩行音が、各４音の終わりに、「ボツ」とかノイズが入っていたので、「何でかな〜」と色々、調べたのですが、これって元々のWAVデータの各末尾に入っているノイズで、
　komeAudioSERequest(.... , se_size[se_num] - 55, ...);
の -55 は、そのノイズを取り除くためだったんでしょうか？ウッカリ、
　const int se_size[12] = { sizeof(se_data_1),... };
などとやって、この -55 を取り除いてしまっていたのですが・・・。
　あと、使ってるCPUが16ビットでint型が2バイトなもので、m_title_timer をint型で宣言していると、10分ぐらいで正の数から負の数にラップ・ラウンドして、
　if ((m_title_timer &#62; 30)...
の判定がしばらく偽になり、ボタンを押してもスタートできなくなると言う問題がありましたので、取りあえず、unsigned型で宣言し直しました。まあ、int型が4バイトだと、ラップ・ラウンドするまで1年以上かかりますので、実用上は何の問題もありませんが。
　また、敵キャラの数が少なくなり、ゲームが佳境に入ってくると、衝突判定が甘くなると言うか、ど真ん中に命中しても当り判定がされない場合があるようなのですが、そちらでは、そのような現象は出ないでしょうか？　まあ、何せすべて自作なので、こちらのコンパイラの単なるバグかも知れませんが・・・。
　色々、お手数をお掛けして恐縮ですが、よろしくお願い致します。 </description>
		<content:encoded><![CDATA[　例のサウンドの件ですが、ゲームオーバーの音が上手く再生されなかったのは、ただ単に、チャンネル・ミキサーの手前に設けたFIFOのフラグのビット位置を間違えていて、コーデック側にデータが送られる前に、後ろのデータを上書きしてしまっていたためでした。修正したら上手く「でろりろ〜♪」と鳴らすことができました。ありがとうございました。
　で、インベーダーの歩行音が、各４音の終わりに、「ボツ」とかノイズが入っていたので、「何でかな〜」と色々、調べたのですが、これって元々のWAVデータの各末尾に入っているノイズで、
　komeAudioSERequest(.... , se_size[se_num] - 55, ...);
の -55 は、そのノイズを取り除くためだったんでしょうか？ウッカリ、
　const int se_size[12] = { sizeof(se_data_1),... };
などとやって、この -55 を取り除いてしまっていたのですが・・・。
　あと、使ってるCPUが16ビットでint型が2バイトなもので、m_title_timer をint型で宣言していると、10分ぐらいで正の数から負の数にラップ・ラウンドして、
　if ((m_title_timer &#62; 30)...
の判定がしばらく偽になり、ボタンを押してもスタートできなくなると言う問題がありましたので、取りあえず、unsigned型で宣言し直しました。まあ、int型が4バイトだと、ラップ・ラウンドするまで1年以上かかりますので、実用上は何の問題もありませんが。
　また、敵キャラの数が少なくなり、ゲームが佳境に入ってくると、衝突判定が甘くなると言うか、ど真ん中に命中しても当り判定がされない場合があるようなのですが、そちらでは、そのような現象は出ないでしょうか？　まあ、何せすべて自作なので、こちらのコンパイラの単なるバグかも知れませんが・・・。
　色々、お手数をお掛けして恐縮ですが、よろしくお願い致します。 ]]></content:encoded>
				</item>
	<item>
		<title>by: JICA</title>
		<link>http://www.fumi2kick.com/komekame/archives/245#comment-151</link>
		<pubDate>Sat, 15 Mar 2008 20:45:18 +0900</pubDate>
		<guid>http://www.fumi2kick.com/komekame/archives/245#comment-151</guid>
					<description>　ご返信、有難うございます。

&#62;拙作がそんな形で利用されているなんて、なんか逆に恐縮してしまいます。

　ドライバ部分が綺麗に抽象化されて分離されており、移植作業（これ自体は私が行ったのですが）は、必要なハードを組みながらの形で、極めてスムーズに、音を除いて2日ほどで済みました。上位側も分かりやすい模範的な構造で、向こうの大学での教材としても重宝すると思います。ただ、CPUが16ｂｉｔで、主メモリ空間が64ＫByteしかないので、Ｔｉｔｌｅイメージは省略せざるを得ないのと、あと、留学生が帰国した後に、現地で政府要人（下手をすると大統領＾＾；）が成果物を見学するかもしれないので、最初のSplashは割愛させて頂きましたm__m
　CPUもCompilerも、ほぼゼロの状態から、いわゆるフル・スクラッチで組んだのですが、当人達は、このような本格的なゲームが動くものを作っているとは思ってもいなかったらしく、ビックリしています。

&#62;そちらのハードもインベーダーにしては豪華な作りですね :-)

　評価ボードは、Terasic のDE2を使ってます。

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&#38;CategoryNo=39&#38;No=30

台湾のメーカですが、非常に品質が高く、おまけに安価で・・・。翻って日本メーカーの評価ボードの現状を見ると、何か「日本の製造業は終わった・・・」、と感じる次第です。まあ、Alteraの技術指導も入っているとは思いますが。

＞音声ですが、この記事に張り付いているフラッシュムービーをご覧になれていますでしょうか。ソースコード内のデータは、このムービー内で鳴っているのと同じ物です。ですので、ゲームオーバーは「でろりろ〜♪」とかいった感じですね。

　申し訳ありません。あちこちのパソコンでTryしたのですが、なぜかしらフラッシュがロードされず、「聞いた方が早いか」と横着をした次第です。

＞音声サンプリング 8kHz で 8bit のデータですので、125ns毎に1byteを取り出しDACに流し込めば意図通りの音になるはずですよ。 

　コーデックは元々48ｋHｚのサンプルだったものを12ｋHｚに落としていますが、あまり落としすぎると、別な要因で変な音になるようで、この辺で止めています。UFOの登場音とか他の音は、それなりに鳴っていますし、サウンドのテストのために作った別プログラム上では、「でろりろ〜♪」に近い4音ほどで再生されるようなので、何かヘマをしているのかもしれません。もう少し調べてみます。 </description>
		<content:encoded><![CDATA[　ご返信、有難うございます。

&#62;拙作がそんな形で利用されているなんて、なんか逆に恐縮してしまいます。

　ドライバ部分が綺麗に抽象化されて分離されており、移植作業（これ自体は私が行ったのですが）は、必要なハードを組みながらの形で、極めてスムーズに、音を除いて2日ほどで済みました。上位側も分かりやすい模範的な構造で、向こうの大学での教材としても重宝すると思います。ただ、CPUが16ｂｉｔで、主メモリ空間が64ＫByteしかないので、Ｔｉｔｌｅイメージは省略せざるを得ないのと、あと、留学生が帰国した後に、現地で政府要人（下手をすると大統領＾＾；）が成果物を見学するかもしれないので、最初のSplashは割愛させて頂きましたm__m
　CPUもCompilerも、ほぼゼロの状態から、いわゆるフル・スクラッチで組んだのですが、当人達は、このような本格的なゲームが動くものを作っているとは思ってもいなかったらしく、ビックリしています。

&#62;そちらのハードもインベーダーにしては豪華な作りですね :-)

　評価ボードは、Terasic のDE2を使ってます。

http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&#38;CategoryNo=39&#38;No=30

台湾のメーカですが、非常に品質が高く、おまけに安価で・・・。翻って日本メーカーの評価ボードの現状を見ると、何か「日本の製造業は終わった・・・」、と感じる次第です。まあ、Alteraの技術指導も入っているとは思いますが。

＞音声ですが、この記事に張り付いているフラッシュムービーをご覧になれていますでしょうか。ソースコード内のデータは、このムービー内で鳴っているのと同じ物です。ですので、ゲームオーバーは「でろりろ〜♪」とかいった感じですね。

　申し訳ありません。あちこちのパソコンでTryしたのですが、なぜかしらフラッシュがロードされず、「聞いた方が早いか」と横着をした次第です。

＞音声サンプリング 8kHz で 8bit のデータですので、125ns毎に1byteを取り出しDACに流し込めば意図通りの音になるはずですよ。 

　コーデックは元々48ｋHｚのサンプルだったものを12ｋHｚに落としていますが、あまり落としすぎると、別な要因で変な音になるようで、この辺で止めています。UFOの登場音とか他の音は、それなりに鳴っていますし、サウンドのテストのために作った別プログラム上では、「でろりろ〜♪」に近い4音ほどで再生されるようなので、何かヘマをしているのかもしれません。もう少し調べてみます。 ]]></content:encoded>
				</item>
	<item>
		<title>by: rerofumi</title>
		<link>http://www.fumi2kick.com/komekame/archives/245#comment-150</link>
		<pubDate>Sat, 15 Mar 2008 05:08:02 +0900</pubDate>
		<guid>http://www.fumi2kick.com/komekame/archives/245#comment-150</guid>
					<description>拙作がそんな形で利用されているなんて、なんか逆に恐縮してしまいます。
そちらのハードもインベーダーにしては豪華な作りですね :-)

音声ですが、この記事に張り付いているフラッシュムービーをご覧になれていますでしょうか。ソースコード内のデータは、このムービー内で鳴っているのと同じ物です。ですので、ゲームオーバーは「でろりろ〜♪」とかいった感じですね。
音声サンプリング 8kHz で 8bit のデータですので、125ns毎に1byteを取り出しDACに流し込めば意図通りの音になるはずですよ。 </description>
		<content:encoded><![CDATA[拙作がそんな形で利用されているなんて、なんか逆に恐縮してしまいます。
そちらのハードもインベーダーにしては豪華な作りですね :-)

音声ですが、この記事に張り付いているフラッシュムービーをご覧になれていますでしょうか。ソースコード内のデータは、このムービー内で鳴っているのと同じ物です。ですので、ゲームオーバーは「でろりろ〜♪」とかいった感じですね。
音声サンプリング 8kHz で 8bit のデータですので、125ns毎に1byteを取り出しDACに流し込めば意図通りの音になるはずですよ。 ]]></content:encoded>
				</item>
	<item>
		<title>by: JICA</title>
		<link>http://www.fumi2kick.com/komekame/archives/245#comment-149</link>
		<pubDate>Fri, 14 Mar 2008 21:05:09 +0900</pubDate>
		<guid>http://www.fumi2kick.com/komekame/archives/245#comment-149</guid>
					<description>　とある途上国の大学開設に協力している者です。工学系大学の電気電子科の教員を
養成するということで、２名ほど留学生として受け入れて、教育を行っています。１人は、
FPGAを使ったオリジナル(といっても、情報処理技術者試験のCOMETIIの亜流ですが）
の16bit CPUを製作し、1人は、それ用の C Compilerを作成しています。Compilerの
テスト用に、komevaderのソースを使用させて頂きました。有難うございました。
　画面は折角ですので、色を付け(今のところ8色ですが)、さすがに音が出ないとインベ
ーダらしくないので、FPGAの評価ボード上16bit コーデックを使って音を出しています。
チャンネルのミキシングは、CPU(50Mhzで走らせていますが１インストラクションあたりの
クロック数が多く、精々5MIPS程度)で行うのは酷なので、FPGA側で加算させて誤魔化
しています。ただ、コーデック側のサンプリング周波数が速すぎるのか、ゲーム・オーバ
ー時の音などが、「プギャッ」といった感じで上手く再生していないように感じるのですが
本物の音はどのような感じでしょうか？　お手数ですが、お返事下されば幸いです。 </description>
		<content:encoded><![CDATA[　とある途上国の大学開設に協力している者です。工学系大学の電気電子科の教員を
養成するということで、２名ほど留学生として受け入れて、教育を行っています。１人は、
FPGAを使ったオリジナル(といっても、情報処理技術者試験のCOMETIIの亜流ですが）
の16bit CPUを製作し、1人は、それ用の C Compilerを作成しています。Compilerの
テスト用に、komevaderのソースを使用させて頂きました。有難うございました。
　画面は折角ですので、色を付け(今のところ8色ですが)、さすがに音が出ないとインベ
ーダらしくないので、FPGAの評価ボード上16bit コーデックを使って音を出しています。
チャンネルのミキシングは、CPU(50Mhzで走らせていますが１インストラクションあたりの
クロック数が多く、精々5MIPS程度)で行うのは酷なので、FPGA側で加算させて誤魔化
しています。ただ、コーデック側のサンプリング周波数が速すぎるのか、ゲーム・オーバ
ー時の音などが、「プギャッ」といった感じで上手く再生していないように感じるのですが
本物の音はどのような感じでしょうか？　お手数ですが、お返事下されば幸いです。 ]]></content:encoded>
				</item>
</channel>
</rss>
