2005-11 << 2005-12 >> 2006-01

2005-12-16 (金)

*コンピュータ通信

課題を提出.

出来上がったエミュレータ上で動くブロック崩しを作ってみる.使えるメモリが1Kワードしかないので,ボールの反射がかなり不自然.プログラムカウンタは10ビットに拡張しましたが,ジャンプ命令に渡すアドレスが8ビットしか無かったのでそっちも修正.使ってないビットが1ビット余ってたので,とりあえず9ビットということに.

ブロック崩しは頑張れば256ワードくらいで書けました.コンパイラでもっと高度な最適化をすれば,まだ小さくなりそう.ただ,基本的にデータの置き場所がレジスタとスタックしか無いのがなぁ.VRAMはCPU側からは書き込み専用の設計だし.指定したメモリの内容を読めれば,変なアドレッシングモードを追加して,凄く短くできるのだけど….おかげでブロックの管理が凄いことになってます.複数のレジスタにビットを詰め込むより,スタックポインタを弄った方が良かったかな….

ブロックが消えると背景画像が表示されるようにしたり,ゲームオーバーの画面を作って332ワード.動いているところを見ると,ちゃんとジャンプ命令が9ビットになっているようです.急いで書いて無駄な部分があるので,このプログラムなら300ワード以内にはできるな.

大学の裏に100円ショップが出来たので行ってくる.さり気なく2フロアもあって色々ある.工具が微妙に充実している気がするのは,工学部が近いからですか?…昨日ダイソーに行ったような…….

今日はたこ焼き(のようなもの)でした.

2005-11 << 2005-12 >> 2006-01