時間が掛かったな~と思いつつ,完成まであと少し残っているので,引き続き頑張っていこうと思います。前回は,スプライトのラインバッファ基板を作成し,スプライトが表示できるようになりました。信号出力の基板を作っていきたいと思います。1面しか作っていませんが)。これらは互いに独立していますので,最終的には,それぞれを優先順位に従って重ね合わせてから,画面に出力してやる必要があります。バイトのレジスタをアドレス空間に割り振って,そのレジスタに対して,値を書き込むことによって設定します。スプライトのラインバッファも,同じタイミングでドットデータを送ってきます。いう事は,優先順位が決まれば,その中で一番手前になる面のドットを選んで,モニターに出力してやれば良いと言うことになりますよね。それぞれの面が重ね合わせられるということは,ドットを表す色に透明色が必要ですよね。面の下は完全に隠れてしまいます)上になる面が透明色の場合は,その下にある面のドットが表示されることになります。ドットなのか,スプライトのドットなのかを判定すればよいのです。その流れですが...,あくまで一つの方法ということで説明します。選択入力として,マルチプレクサを通して,優先順を決定します。上で書いたように,最前面のドットが常に表示されるわけではなく,透明色のドットは,表示されずに,その下になる面のドットが表示されなくてはなりませんよね。割り当てられることが多いです。これは,プログラム的にわかりやすいという理由もあるかもしれませんが,全ビットがゼロになるので,回路も単純になるんですね。...)そして,これらの優先順情報と透明色判定情報をプライオリティエンコーダに突っ込んで,最終的に一番上に表示される面を決定します。出力する面が決定したので,あとは,この面から出力されるドットデータを,マルチプレクサで選択,パレット変換回路へ入力して最終的な色が決まるというわけです。信号へ優先順位に従って,決定されたドット情報は,パターンのドットデータと,カラー番号から構成されています(厳密には,スプライトの場合,このカラー番号からカラールックアップテーブルを経由していますが)。このカラー番号によって,同じドットの形をしていても,色を変えて表示することができるんですね。...で,この変換はどうするのかと言うと...。入力に対して出力が一対一になっています。マシン語でもお馴染みのテーブル変換です。マシン語では,出力データのテーブルを用意しておき,入力データからアドレスを決定して,テーブルからデータを引きますよね。一般的に,このテーブルはパレットテーブルなどと呼ばれます(...よね?)。用意されたカラーセットしか使えません。すると,プログラマブルにパレットのデータを変更できますが,書き込みと読み出しを排他制御する必要があるので,面倒くさいことになります(笑)。以降は,パレットに任意の色を設定できます。データはデジタルなデータです。信号は,その名の通りアナログな信号なので,抵抗などを通してアナログ変換してから最終的な信号として出力します。これをモニターに入力してやれば,カラフル(?)なドットパターンが表示されます。作成した基板がこちらです。並んだ基板なので,全く変わり映えしない感じですね...。ブートすると,うんともすんとも言わなくなってしまうんです。フォロワーの方から,電源周りでは?とのアドバイスをいただきました。使っていたので,この時点では,あまり気にしていませんでした。波形を観察してみることにしました。なっているではないですか!「なんでリセット解除されないの~?」と悩んでいたら...電圧低下リセットはい。