1990年代のPCで音を鳴らしたサウンドカード「Gravis Ultrasound」は、いま中古市場で手に入りにくい。復刻を試みる有志のクローンはいくつかあるが、回路図の一部が非公開だったり、基板に載る小さなロジックICの中身が明かされていなかったりする。schlae氏が公開した「Beavis Ultrasound PnP」は、そこを埋めにきた設計だ。回路図の全体に加えて、解析して書き起こしたGALの論理式まで含む。
対象はGravis UltrasoundのPnP版だ。PnP版では、音源の機能をほぼすべてAMDのチップ「InterWave」(AM78C201)が担う。そのため基板そのものの設計は単純で、周りはアナログ回路とわずかな論理回路、音色データを収めるROMで済む。裏を返せば、このチップだけは中古で探すしかない。
基板は208×107mmの4層で、KiCadのデータ一式と回路図のPDFをリポジトリに置いた。ISAスロットに挿す金色の端子は、本来は硬い金メッキが望ましいものの費用が跳ね上がるため、同氏はENIGでも構わないとしている。オペアンプも部品表ではLM833を指定しつつ、10MHz程度の低ノイズ品で±8Vの電源に耐えるものなら置き換えて構わないと書く。
解析の跡もそのまま残っている。基板上のGALは、CD-ROM用のIDE端子まわりの信号を扱う。ISAバスへの信号の中継、リセット信号の受け渡し、アドレスの一部を見てドライブを選ぶ信号の生成、データバッファの制御を担う。同氏はこの中身を書き起こし、書き込み用のファイルとソースの両方を置いた。CD-ROMをつながないなら、このICは省いてよいとも記している。
手に入らない部品への逃げ道も用意した。1MBの音色ROMは専用品だが、見つからなければネット上にあるデータを汎用のROMに焼いて別の場所に載せられるようにしてある。設定を保持するEEPROMは、書き込み用のデータを同梱した。ただし中身は16bitごとにビットの並びが逆になるという癖があり、確かめたい人のためにPythonの小さなスクリプトも添えた。
元のカードから読み取れなかった部分は、正直に書いてある。フェライトビーズは手元の個体で欠品していて値がわからないため、0Ωの抵抗や電線で代用してよいとする。使われていないPLLは、そのチップがもう手に入らないとみて、水晶2個で置き換えた。
注意点もはっきりしている。同氏は基板をまだ製造しておらず、動作の確認も取れていない。製造用のデータも作っていない。作るなら自己責任だとしている。ライセンスはCERN-OHL-P-2.0を選んだ。