
NATUを作る(パート18)
HARUは失敗に終わってしまった。
だが、その悔しさをバネに、新たにNATUを作ることになった。
今回は、画像描画回路を作っていきたいと思います。
どんな仕組みにするかは、前回考えたので、今回は比較的スムーズに進むはずです。
制作
それでは、早速制作していきたいと思います。
VRAMのアドレス確認
まずは、指定されたアドレスかどうかを調べる回路を作りました。

これを8個積み重ねることで、8bitに対応させます。
死角になっていますが、下の方にも回路が詰め込まれています。
8個積み重ねました。

それでは、次はROMからの情報を保存する回路を作っていきたいと思います。
あれ、作業中にだれかのチャットの幻覚が一瞬見えた気が、、
、、気のせいか、、
早速作り直し
あ、いろいろミスが見つかりました。。。

白黒はROMに保存されているのに、線を引くときの感覚が残ってて、一色に染めるような回路になってしまっていたり、、
一旦、1から作り直した方がよさそうです。
なんだか、ほんと最近の僕、調子悪いなぁ、、、
一旦、余計なものは付けずに、指定されたアドレスか調べる回路を作り直しました。

この回路は、指定されたアドレスと一致した時に、パルス信号を出力します。
変換回路
それでは、次は信号強度を二進数に変換する回路を作りたいと思います。
ROMから出力された情報は、信号強度化されていますが、VRAMには二進数のオンオフで入力する必要があるため、変換を行う回路が必要です。
それでは、作っていきます。
完成しました。

この回路が、信号強度を二進数に変換します。
そして、変換した信号はシリアル通信によって、一本の配線で出力されます。
このシリアルの情報をVRAMに送ることで、描画が可能になります。
記憶回路
それでは、次は信号強度を保存する回路を作っていきたいと思います。
ROMから情報を読み出したら、しばらくの間は記憶装置に保管しておくことになります。
これから、そのための記憶回路を作っていきたいと思います。
完成しました!

上のやつは、失敗作です。
下の方が、今回完成したやつです。
ちゃんと動いてくれるはず!
実際、テストでは問題ありませんでした。
今見返してみると、「作ります」と「出来ました」が近くて、まるですでに用意されていたみたいですね(実際は、制作しながらnoteも同時進行で書いています)。
それでは、次回はROMなどを作っていきたいと思います。
今回は、約1時間20分の作業でした。
お疲れさまでした。
それじゃあ、次回、また会いましょう