1974年のCPUを270円のマイコンで動かすエミュレーター

1974年に登場したIntelのCPU「8080」を、わずか512バイトのRAMしか持たない安価なマイコン「ATtiny85」の上で再現する。そんなエミュレーターを、Ted Fried氏が公開した。CP/M(初期のパソコン用OS)や、Microsoftの「Altair BASIC」といった当時のソフトがそのまま動く。

8080は、初期のパソコンを支えた歴史的なCPUだ。一方のATtiny85は、RAMが512バイト、書き込めるプログラム領域が8KBと、極めて小さい。本来の8080を動かすシステムより乏しい資源で、そのCPUの動きをそっくり再現するのが、この「MCL8080+」だ。

工夫はバスの作り方にある。元の8080は40本の端子で外部とやり取りするが、Fried氏はこれをSPIという数本の信号線に置き換えた。ATtiny85は8080のCPUだけを担い、メモリやROM、周辺機器、ディスクの中身はすべて、より強力なTeensy 4.0が受け持つ。ATtiny85の5Vの信号は、抵抗で分圧してTeensy側の3.3Vに合わせる。

プログラムやデータはSPIの先にあるため、毎回読みに行くと遅くなる。そこでFried氏は、ATtiny85の中に128バイトの小さなキャッシュを置き、読み込みの回数を減らした。コードはC言語で書き、関数の呼び出しを減らすなど、容量と速度を切り詰めている。SPIも、連続するアドレスをまとめて転送するなど独自に最適化した。

こうした積み重ねで、エミュレーターは8080のすべての命令テスト(ZEXALLを含む)に通った。CP/Mの起動では、本物の8080と比べてもわずかに遅いだけだという。設計とコードはGitHubで公開している。

関連情報

Close-up of an MCL8080+ MicroCore Labs development board; green base with a USB micro connector, a black IC socketed module, a brown capacitor, and the text 'MCL8080+ MicroCore Labs 2026' visible on the board.

fabsceneの更新情報はXで配信中です

この記事の感想・意見をSNSで共有しよう
  • URLをコピーしました!

最新記事

YouTube / PodCast

【PR】読んで役立つ注目記事

目次