ひとしれずひっそり

主にソフトに関することをメモしていきます。過程をそのまま書いていたりするので間違いが含まれます。鵜呑みしない様に。

i8080AからTK-80へ

i8080Aを実装したので実際に動かしてみたいとなる。
メモリになんか書いてあげれば動くんだけど、動いているのが目に見える方がいい。
となるとTK-80っぽいのを作る事になってしまう。

7セグっぽいのがでればそれっぽいのでそこまではできた。
表示に時間がかかってそうなのでCPUの実行速度に影響がでてるかもしれない。

rake
ruby board.rb
0.000133
 _   _   _   _   _   _   _   _  
| | | | | | | | | | | | | | | | 
|_| |_| |_| |_| |_| |_| |_| |_| 

A:91 F:82 B:4d C:00 D:00 E:00 H:84 L:00 
BC:4d00 DE:0000 HL:8400 PC:0027 SP:fffa

久しぶりにアセンブリ言語で書いた訳だが、アセンブラがない事にはバイナリーが作れない。
自分でアセンブラを作ろうかとも思ったけどasm80-nodeというのがあるのが分かった。
拡張子を変える事で Z80 や 6502 なども対応する優れものだ。i8080は拡張子をA80にすれば良い。

あとはキーボード部を作ってあげれば TK-80 のプログラムがそのまま動くんではないかという気がしてきた。

モニタープログラムは 復活!TK-80 にあるので、それを入力すれば良さそうだが実際に試したとしても権利関係が不明なので公開はしないつもり。
中日電工で公開しているドキュメントにND80ZIII用に変更した物が載っているのでそれを改造する事でも動かせるだろう。

というかND80ZIIIのアドレスにも対応させればそのままでもうごかせるか。

examples の training_board に置いているので試したい人はどうぞ。
セグメントデータとして0から255のデータを回しているだけです。

github.com