Posts

Showing posts from October, 2013

TOPS-20をNetBSD/amd64 6.99.24上のKLH10 PDP-10エミュレーターで起動し、TCP/IPで通信する

ふと、NetBSD/pdp10 http://www.netbsd.org/ports/pdp10/ のウェブページを観ると、KLH10というPDP-10エミュレーターをターゲットにすると書いてあった。これは、pkgsrcには収録されていない。
NetBSD/pdp10自体は、gcc for PDP-10の開発が止まってしまったので、放棄されているらしいが、KLH10がpkgsrcにないのは残念なので、追加してみたいと思った。
NetBSD/pdp10のウェブページによると、KL10Bというextended addressingをサポートするCPUをエミュレートするのは、KLH10だけである。
KLH10自体は、KL10B以外にKS10等もエミュレートするバイナリーを作ることができるが、今はそれには対応するpackageにはなっていない。

追加するには、当然動作確認が必要なので、TOPS-20を実行してみた。最新のKLH10を探しているうちに、NetBSDでのtap(4)ネットワークサポートのパッチが提供されていることが分かったので、それを適用して、telnetでloginできることも確認した。
TOPS-20はV7.0をインストールする。最新版は、V7.1のはずだが、どの磁気テープか確認できていないので。


pkgsrcにKLH10を追加する方法は書いても仕方ないので、pkgsrc/emulators/klh10を使って、TOPS-20にtelnetでloginするまでの方法を書いておく。

まずは、pkgsrc/emulators/klh10をmake installでインストールする。これは、現在のところ、NetBSD/i386とNetBSD/amd64しか想定しておらず、NetBSD/amd64 6.9924でしか動作確認していない。NetBSD/i386でも動くと思われる。armやalphaでのbuildができるようにするのは、そのうち対応したい。

KLH10の起動方法は普通のエミュレータープログラムとは異なる。/usr/pkg/share/klh10/binディレクトリーにあるバイナリーファイルは全て、kn10-klを実行するディレクトリーに置かれなくてはいけない。PATHが通っているからと言って、ちゃんと探して実行してもらえるようなことはないので、注意が…