どうも、こんにちは
2週間ぶり、2回目の更新です。
現在、組込み関係や、プログラムの勉強をしているんですよ。
はい。そうなのですよ。
それで
今は、ARMマイコンと、FPGAを使用して、ぬわんとVGAのモニターに、
*FPGA・・・ プログラム(ハードウェア記述言語)によって書き換え可能なLSI(集積回路)
ゲームを出力しちまおうと
そういう話になってます。
ARMマイコンは、ゲームの流れの制御。
FPGAは、マイコンからの命令でひたすらに画面に描画をする。
これがメインの動作。
そんなに複雑ではありません。
たーだ
色数やなんやの関係でSRAMを積まなあかんのですわ。
で、
まずは、SRAMのコントローラと、VGAのコントローラをFPGA上でつくらないといけないんです。
えーっと
今のところ、FPGAでモニタに単色や四角なんかの図形を出すことができましたー
基本的にはカウンタが重要なんです。
簡単にいうと、640(横のピクセル VGA = 640 × 480なので)数えるカウンタ(計数器)と、
480(縦)数えるカウンタの2つを作ります。
それぞれ、横のカウンタを 水平カウンタ
縦のカウンタを 垂直カウンタ
っていいます。
*カウンタ・・・数をただひたすら数える回路
FPGA関連の参考にどうぞ ↓ http://monoist.atmarkit.co.jp/mn/articles/0701/25/news136.html
で、そのカウンタは、1数えるごとに、現在のピクセルに色を書き込みます。
なので、 640数えるということは・・・・
水平カウンタは、1ピクセルずつ横一列に色をつけます。
同じように、垂直カウンタも一行ごとに、指定していきます。
つーまり、水平カウンタの桁上げで、垂直カウンタをうごかすんでーす。
こういうカウンタの仕組みについては、上記リンクを参考にどうぞ
FPGAなこんな感じ
説明がいい加減なので、気が向いたら詳しい説明にもチャレンジしたいです。
ほかに、C言語で、コンソール(DOS窓)に、ゲーム(インベーダゲーム)の試作なんかをしてるんですけど
それは、また次の機会があればと
ではでは

![#includeしてposedge CLKなんだけどpublic static void main(String args[])ではないlsな生活-zu](https://stat.ameba.jp/user_images/20121013/11/endupclangv/bb/45/p/t02200117_0800042412234409101.png?caw=800)
![#includeしてposedge CLKなんだけどpublic static void main(String args[])ではないlsな生活-zu2](https://stat.ameba.jp/user_images/20121013/11/endupclangv/a4/17/p/t02200134_0800048712234409100.png?caw=800)