Hobbyist OpenVMS VAXをsimh VAXで動かしてみようとして、いろいろと調査しています。まずsimhですが、simh自体は依然よりありましたが、最近はOpen SIMHというものがあります。その経緯は「Announcing the Open SIMH project」に書かれているとおりですが、これが存在するために従来のsimhはSimH "Classic"と呼ばれるようになりました。
新しい方を使ってみたい気もしますが、今回は従来版を使います。その主たる理由は、Windows用のバイナリが提供されているからです。FreeBSDやLinuxなどをホスト環境にするなら、最新版のソースを自分でビルドするのは簡単です。しかしWindowsをホスト環境として使おうと思っており、コンパイラなどは入っていないので、既にビルドされたバイナリを利用しようと考えています。公式サイトに置いてあるので、それを使うつもりです。
当初はSIMH 3.9-0のvax.exeを使うつもりでした。しかしネット上で見つかる情報を参考にしても、どうも挙動が異なります。特にネットワークデバイスを扱おうとするとエラーになります。
VAX simulator V3.9-0
sim> show xq
XQ, address=20001920-2000192F*, vector=250, MAC=08:00:2B:AA:BB:CC, type=DELQA-T,mode=DELQA, poll=100, not attached
sim> show version
VAX simulator V3.9-0 [64b data, 64b addresses, no Ethernet]
sim>
何が悪いのか不明でしたが、公式サイトにあるドキュメントを読んでも、解決に至りません。特に「SIMH FAQ」では次のように書かれています。ここで記されているように、「The pre-compiled binaries」は「Ethernet support」が有効なのです。ただしWinPCAPが入っているのが前提ですが、Wiresharkを利用していることもあり、インストール済です。
2.2 How do I install SIMH with Ethernet support on Windows?
The pre-compiled binaries will provide Ethernet support depending on whether or not the WinPCAP package has been installed on the host computer. (以下略)
なかなか解決できなかったので、SimH Classicの古いバージョンのバイナリで試してみようと考えました。公式サイトを核にすると、ビルド済バイナリは、2種類あるようです。
simhv38-1-exe-ether.zip 2009-02-08 11:08 763K
simhv38-1-exe.zip 2009-02-08 11:07 2.6M
ファイル名に「-ether」がついている方のバイナリを利用してみたら、うまくいくようです。
VAX simulator V3.8-1
sim> show xq
XQ, address=20001920-2000192F, no vector, MAC=08:00:2B:AA:BB:CC, type=DELQA, poll=100, not attached
sim> show version
VAX simulator V3.8-1 [64b data, 64b addresses, Ethernet support]
sim>
「show version」で出力を見れば、Ethernetサポートの有無は一目瞭然なのですが、「show xq」の出力だけを見ていると、Ethernetサポート無しでも、サポートされているかのような出力が出てくるので、なかなか気づけませんでした。
またSimH ClassicはV3.12-5が最新ですが、ビルド済バイナリが公式サイトに置かれていません。しかもV3.9-0には「-ether」の付いたファイルも置かれていないのです。そうなると、自前でビルドしないなら、Ethernetサポート済なのは、V3.8-1となります。