Hati - Rubyで作る8bit CPUエミュレータ
Rubyで8ビットCPUを作る - 趣味的にっきをベースにもうちょっと作り込んでみたいなぁと思って、Google Codeにプロジェクトを申請してみました。安直過ぎるような気もしますが、名前はhati(はち)です。内容はまだまだこれからです。
Google Code Archive - Long-term storage for Google Code Project Hosting.
やりたいことは以下です。環境はWindowsべったりを想定しています。
- ユニットテストを書く。
- Exerbで実行ファイルを作る。
- マニュアルを書く。まずは命令の一覧表が必要。
- アセンブラを作る。アセンブラはバイナリを出力できるようにする。フォーマットはRuby内DSLとする。こんな感じ。
[ :start, movi(0x20, :r1), nop, jmp(:start), hlt ]
- コマンドラインオプションでいろいろ設定を切り替えられるようにする。
- IOポートを整備する。文字出力。MIDIを鳴らす(Beepは同期なので制御が面倒そう。MIDIでいいや)。キー入力はどうしよう?(Windowsの端末ってよくわかってません。いっそのことSDLとかでGUIを付けるか?)
- サンプルコードを書く。とりあえずフィボナッチとか。Hello, world!とか。何か曲鳴らすとか。
期限は未定ですが、今月中くらいでまとめたいと思っています。開発合宿とかないかなぁ。