ZK-80エミュレータに触れる
最近Z80のマイコンに触れる機会があったので、ちょっとだけ、ほんのちょっとだけZ80の話をします。かなり雑な記事なのでZ80のエミュレータのリンクを踏むためだけに訪れてほしい。
Z80
1976年に発表された8ビットのマイクロプロセッサ。80年代中頃まではパーソナルコンピュータのCPUとして使われて、現在でも組み込み機器など目に見えないところで活躍してるらしい。パチスロのコアCPUには暗号機能を付与したZ80ベースのカスタムLSIが使われている。「ゼッぱち」て呼ばれると聞いたけど、そんな呼び方聞いたことが無い。
Z80で何をする
何をするってと、プログラミングする。何の言語でするのかと聞かれるとアセンブリ言語と答える。
ここでアセンブリ言語とは何かと聞かれる。ざっくりと説明すると、例えばC言語がコンパイルされるときの過程を思い浮かべてほしい。ここも簡単に説明すると
人が書く -> C言語 -> アセンブリ言語 -> 機械語 -> コンピュータが読んで実行する
この過程におけるアセンブリ言語は機械語に近い、機械語に一対一対応した機械語よりも人に読みやすいものなのである。Z80ではこのアセンブリ言語のプログラミングをする。
アセンブリ言語プログラミング
現在のコンピュータは64bitで演算を行えるがZ80は主に8bitで演算を行う。また、現在のCPUは1.8GHzなどだがZ80は20KHzである。64bitのアセンブリ言語のプログラミングではなく8bitのアセンブリ言語のプログラミングなのでそれほど気負うことは無いと思う(CTF極めるなら64bitのアセンブリ言語のプログラミングぐらいできなきゃいけなさそう)。それでも、普通のプログラミング言語よりも少ない命令で命令にない動作を実現しなければいけないので難しい。
例えば、乗算命令がないので加算命令やシフト演算を駆使して再現する。
残念ながら、この記事は全くアセンブリ言語のプログラミングには触れずに、見つけたZ80エミュレータの話を軽く行って終える。
アセンブラなど:
Z80のエミュレータ
ZK-80となっているがZ80の動作をする。ちゃんと動く、しっかり動く。Microsoft EdgeじゃなくてChromeとかFirefoxでアクセスした方が使いやすい。使い方などは説明しない。興味があれば色々読んで試してほしい。このサイトにはZ80だけでなく8080Aを選択できるなど、隠し要素が多くあるらしい。
一応Z80の参考を貼っておく:
使用していないから分からないが他にもエミュレータがあるらしい。
web版が合わないと感じた場合は色々と試してみると良いのでは。
最後に
一体これは誰向けの記事だったのか、それは
Z80使いたいけど金無いし、作り方分からんし、作る気はないけどZ80に触りたい。
という方向けのリンク紹介記事でした。