科学・技術
フランスCIIのMitra-15、SIMHで動作。開発途上
French CII's Mitra-15 in SIMH. Work in Progress (github.com)
要約
このプロジェクトは、1970年代初頭にCII(Compagnie Internationale pour l'Informatique)によって開発された16ビットミニコンピュータ、Mitra-15のエミュレータをSIMH(Simple-IDE Machine Emulator)で構築する試みです。開発者は、既存のSDS 940エミュレータを基にMitra-15の特性に合わせて改良を進めており、マイクロコードでI/Oペリフェラルをプログラミングできるといった興味深い概念を再現することを目指しています。ドキュメントが少ない中、歴史的価値のあるコンピュータの保存に貢献しています。
全文翻訳
Mitra-15-for-SIMH https://ajovomultja.hu/mitra-15
SIMH用Mitra-15シミュレータ
これは予備的なバージョンです。今のところ、私のコードはコンパイルされますが、まだ真のMitra-15シミュレータではありません。むしろ、試みです。
Pascal Chour氏のウェブサイトで入手可能な非常に役立つドキュメントに多大な感謝を捧げます: https://www.pascalchour.fr/ressources/cii/mitra15.htm
私のC言語のスキルが錆びついている(言葉遊びです)ため、既存のSIMH用SDS 940シミュレータから始め、Mitra-15の特性に合わせてゆっくりと変更しました。
Mitra-15は、マイクロコードを使用して入力/出力ペリフェラルをプログラミングできるという、外部メカニズム(DMAなど)を使用しないという興味深い概念を備えたマイクロコンピュータです。
https://en.wikipedia.org/wiki/Mitra_15
Mitra-15は、1970年代初頭にCII(Compagnie Internationale pour l'Informatique)によって開発された16ビットミニコンピュータでした。産業オートメーション、科学計算、教育、軍事用途で広く使用されていました。
私はMitra-15でプログラミングしたことはありませんが、CII 10070でCSを学び、その後、Mitraファミリーが制御していた電話交換機を持っていたFrance Telecomで働きました。
かつてフランスで広く普及していましたが、ソフトウェアとドキュメントのほとんどは失われています。このプロジェクトは、コンピューティング史のこの重要な部分の保存に貢献します。
このMitra-15シミュレータには、最終的に以下が含まれる予定です。
- システムおよびオプション命令
- 元のハードウェアの動作を説明する広範なコメント
- SIMHコンソールサポート
- メモリ管理
- 割り込み、高速割り込み、サスペンション、トラップシステム
* プリンター
* アナログインターフェース
* パンチテープ
* DRI固定ディスク
* Sagem固定ディスク
* カードリーダー
* 磁気テープリーダー
- 様々なI/Oデバイス。しかし、これらの多くのペリフェラルのドキュメントが不足しています。
* 非同期チャネル
* 同期チャネル
* 高速チャネル多重化
* 高速チャネルADM(それが何であるか不明)
* IOP(非同期チャネルと同じでなければ)
今日までに私がやったこと:
残っている少数のドキュメントを検索および分析しました(/docフォルダを参照)。
SIMH環境で動作するSIMHを作成しました(deposit/examine/run/break/etc)。
各命令とアドレッシングモードの完全な命令デコーダを作成しました。
一般的なMitraおよびCIIデバイスのコードを作成しました。
ASR33やラインプリンターなどのデバイスとの簡単な通信のためのRDおよびWD命令の説得力のある(テストされていない)コードを作成しました。
サスペンションシステムを使用するDRIディスク(英国のData Recording Instrument)の説得力のある(テストされていない)コードを作成しました。これは、最新のDMAと同様の目標を達成するためのCIIの発明です。
テストプログラムを作成しました。
RP(現代の用語では即時)アドレッシングモードでの分岐命令をテストしました。そのため、少なくともこの部分は正しいはずです。
PDFファイルで見つかった16進ダンプからCIIのMTR(リアルタイムモニター)を再構築することにも着手しました。しかし、OCR出力がひどいため、すべてのバイトを目視で確認する必要があります。これは、私のシミュレータがテストされる元のCIIコードの唯一の断片になる可能性が高いです。それ以外はドキュメントから推測する必要があります。したがって、このテストが成功することが不可欠です。
役に立ちませんが、基本的なアセンブラ(テストされていない)も作成しました。
長期的には、RSX280(RSX-11クローン)をMitraに移植する計画があります。Z80のBCとDEはMitraのLとGレジスタに似ており、IXはMitraのXのようなインデックスレジスタで、AとHLはMitraのAとEに似ています。主な問題:MitraはZ80よりもレジスタが少なく、アドレッシングモードも少なく、スタックの概念がないため、再入可能性の管理が複雑になります。
要件
GCCまたはClang
Make
Linux(テスト済み)
最新バージョンのopenSIMH
SIMHモニター内で、メモリをロードし、レジスタを検査し、Mitra-15プログラムを実行できます。
謝辞
以下の方々に多大な感謝を捧げます。
SIMH開発者(シミュレータを作成および保守してくれたこと)
フランスのコンピューティング史を生き生きと保つことに貢献したすべての人々
しかし、主にPascal Chour氏
https://www.pascalchour.fr/ressources/cii/mitra15.htm