超マシン復活 #4 DEC TOPS-20 伝説の8080エミュレーターとALTAIR

超マシン復活#4 表紙

超マシン復活#4 表紙

伝説の8080エミュレータの解説書

2022年6月、Amazonから『超マシン復活 #4 DEC TOPS-20 伝説の8080エミュレーターとALTAIR』という本を出版しました。

PDP-10マシンの上で8080アセンブラで記述したプログラムが動作します。

|d|i|g|i|t|a|l| DECSYSTEM 20
達人の英知と技に学ぶ知的冒険

 

本書は、マイクロソフトを創業したビル・ゲイツと相棒であるポール・アレンが Altair BASICを開発するときに活用したPDP-10マシンで動作する 伝説の8080エミュレーターについて記載したもので、超マシン復活 シリーズの第4作となります。

超マシン復活 シリーズ
シリーズ  書 名
超マシン復活#1 DEC TOPS-20 レトロOSワールド
超マシン復活#2 DEC TOPS-20 プログラミング言語 その世界
超マシン復活#3 DEC TOPS-20 太古のPDP-10 アセンブラの世界
超マシン復活#4 DEC TOPS-20 伝説の8080エミュレーターとALTAIR

 

超マシン復活#4 タイトル

超マシン復活#4 タイトル

本書では、ポール・アレンが作った『伝説の8080エミュレーター』を再現します。主な内容を以下に示します。

  • ポール・アレン自身が書いた著書『ぼくとビル・ゲイツとマイクロソフト』 を引用して、 ふたりの大冒険と題してAltair BASIC開発の秘話を紹介します。
  • PDP-10マシンのアセンブラ言語で8080エミュレーターを作成します。
  • 8080アセンブラ言語の少し実用的なプログラム例として数式電卓を作ります。
  • PDP-10マシンの8080エミュレーターでこの数式電卓を実行します。
  • PDP-10マシンから8080オブジェクトコードを出力します。
  • Altairマシン用のブートストラップローダを作成します。
  • Altairマシンで8080オブジェクトの数式電卓を実行します。

もちろん、PDP-10マシンは現存しておりませんので、 超マシンシリーズで解説しているKLH10エミュレーターを導入することにより TOPS-20 OSが走ります。 また、Altairマシンも現存しておりませんので、Altairシミュレーターを導入 することにより8080マシン語が走ります。

本書ではPDP-10マシンとAltairマシンをアセンブラ言語で巧みに操ります。 この本を開ければ、新たな発見があることでしょう。

本書の目的

本書の目的は、ポール・アレンが作った『伝説の8080エミュレーター』の仕組みを考え、 彼と同じ道を歩んでみることです。そして、彼が試行錯誤したであろうことを体験してみます。

当初、頭の中でエミュレーターの構成を思い描いてみました。 しかし、ポール・アレン自身が書いた著書『ぼくとビル・ゲイツとマイクロソフト』を読み進めると、 既存のツールを有効に組み合わせて実現したことが判明しました。 特にUUO命令を利用したエミュレーターの構成は、シンプルで感激しました。

8080アセンブラ言語によるプログラミングでは、 計算機科学のコンパイラ技術で使用する字句解析や構文解析についても解説します。 コンパイラやインタプリタを作成するときに役に立つ技術です。 また、乗算命令や除算命令のない8080プロセッサーで算術オーバーフローを考慮した 四則演算を行うアルゴリズムを解説します。 もし、伝説の8080エミュレーターに興味を持てなくてもインタプリタを作ってみたい技術者にとって、 この章だけでも読む価値があります。

このように、探究心と好奇心をかきたててあなたを知的冒険の旅に誘います。 『伝説の8080エミュレーター』の世界の魅力は、本書だけでは語り尽くせません。 エミュレーターの世界は、ワクワクでいっぱいです。 この本を出発点として、探究心と好奇心の扉を開いて 『達人の英知と技に学ぶ知的冒険の旅』へ出発してください。

本書のサンプル

本書の内容を紹介します。


第1章 魔法の箱AltairとPDP-10

MITS AltairマシンとDEC PDP-10マシンについて解説します。 ビル・ゲイツとポール・アレンが開発したマイクロソフトのAltair BASIC誕生の背景には、 伝説の8080エミュレーターの存在がありました。

超マシン復活#4 第1章

超マシン復活#4 第1章

超マシン復活#4 第1章

超マシン復活#4 第1章


第2章 BASICとギークな少年

超マシン復活#4 第2章

超マシン復活#4 第2章

超マシン復活#4 第2章

超マシン復活#4 第2章


第3章 伝説の8080エミュレーター

超マシン復活#4 第3章

超マシン復活#4 第3章

超マシン復活#4 第3章

超マシン復活#4 第3章

超マシン復活#4 第3章

超マシン復活#4 第3章


第4章 8080エミュレーターを作ろう

達人ポール・アレンと同じ道を歩んで伝説の8080エミュレーターを作ってみます。 8080プロセッサーの命令セットを解説し、エミュレーターとオブジェクトコード出力について解説します。

超マシン復活#4 第4章

超マシン復活#4 第4章

超マシン復活#4 第4章

超マシン復活#4 第4章

超マシン復活#4 第4章

超マシン復活#4 第4章


第5章 8080アセンブラで数式電卓

8080アセンブラで数式電卓プログラムを作成して、PDP-10マシンの上で実行してみます。 字句解析、構文解析などの専門的な知識が必要ですが、定石アルゴリズムが存在するので 実装するのはそんなに難しくはありません。

超マシン復活#4 第5章

超マシン復活#4 第5章

超マシン復活#4 第5章

超マシン復活#4 第5章

超マシン復活#4 第5章

超マシン復活#4 第5章


第6章 エンハンスドAltair入出力

AltairマシンのSIOボードを使用した入出力について解説します。 そして、数式電卓の端末入出力をIN/OUT命令で書き換えます。 最終的に入出力命令をサポートしたエンハンスド・エミュレーターで数式電卓を動作させます。

超マシン復活#4 第6章

超マシン復活#4 第6章

超マシン復活#4 第6章

超マシン復活#4 第6章


第7章 Altairで歴史的瞬間へ

ポール・アレンが初めてAltairマシンでBASICシステムを起動したときの 歴史的な瞬間について説明します。 読者の皆さんも同じ体験をするためにAltairシミュレーターを導入し、 PDP-10マシンから出力した数式電卓の8080オブジェクトコードをAltairマシンで実行してみましょう。

超マシン復活#4 第7章

超マシン復活#4 第7章

超マシン復活#4 第7章

超マシン復活#4 第7章


付録G ソースコードの入手方法

本書のような電子書籍では、掲載したプログラムコードのコピペは困難です。
読者の皆さんが手軽に本書のプログラムを試せるように、プログラムコードをGitHubに登録しました。

超マシン復活#4 付録G

超マシン復活#4 付録G

超マシン復活 #4 伝説の8080エミュレーターとALTAIR

『超マシン復活 #4 伝説の8080エミュレーターとALTAIR』は、ラズパイで動く超マシンシリーズ4です。

本の情報

  • 超マシン復活 #4 伝説の8080エミュレーターとALTAIR
  • 2022年6月10日
  • フォーマット: Kindle版
  • ファイルサイズ: 49228 KB
  • 紙の本の長さ: 933 ページ
  • 出版社: 私の計算機科学研究
  • 販売: Amazon Services International, Inc.

目次

はじめに
第1章 魔法の箱AltairとPDP-10
1.1 マイクロソフト誕生
1.2 Altair探訪
1.3 超マシンPDP-10
第2章 BASICとギークな少年
2.1 BASICの起源
2.2 ギークな少年の出会い
2.3 ふたりの大冒険
2.4 模倣するエミュレーター
第3章 伝説の8080エミュレーター
3.1 エミュレーターの謎
3.2 驚きの真実
3.3 PDP-10命令とUUO
3.4 8080エミュレーターの原型
カメレオン・エミュレーター
第4章 8080エミュレーターを作ろう
4.1 エミュレーターの概要
4.2 8080プロセッサー
4.3 8080命令セット
4.4 エミュレーターの設計
4.5 命令エミュレートの詳細
4.6 エミュレーターのソースコード
4.7 エミュレーターの実行
4.8 オブジェクトコード出力
第5章 8080アセンブラで数式電卓
5.1 数式電卓を作ろう
5.2 数式電卓の設計
5.3 数式解析部の設計
5.4 演算ライブラリ部の設計
5.5 入出力管理部の設計
5.6 数式電卓のソースコード
5.7 数式電卓のテスト
5.8 数式電卓の実行
第6章 エンハンスドAltair入出力
6.1 端末入出力方法
6.2 数式電卓の完成版
6.3 エンハンスド・エミュレーター
第7章 Altairで歴史的瞬間へ
7.1 続・ふたりの大冒険
7.2 Altairシミュレーター
7.3 ブートストラップローダを作る
7.4 Altairマシンで数式電卓
付録A マニュアル
付録B エディターの操作
付録C TOPS-20起動と停止
付録D アカウント登録
付録E ASCIIコード
付録F Altair simHコマンド
付録G ソースコードの入手方法
おわりに
参考文献
索引
改訂履歴
著者紹介
著者書籍 一覧
奥付

超マシン 関連情報

『超マシン誕生』と『超マシン復活』

超マシン復活 #1 DEC TOPS-20 レトロOSワールド

超マシン復活 #1 DEC TOPS-20 レトロOSワールド (無料サンプル)

超マシン復活 #2 DEC TOPS-20 プログラム言語 その世界

超マシン復活 #2 DEC TOPS-20 プログラム言語 その世界 (無料サンプル)

超マシン復活 #3 DEC TOPS-20 太古のPDP-10 アセンブラの世界

超マシン復活 #4 ソースコードはGitHubから入手可能