渡辺一寛です。
遅いフォローですが。

At Mon, 27 Dec 2010 15:50:44 +0900,
武井 潤 wrote:
> 最近ISAの付いたマザーが少なくなったため、
> FreeBSD 4.11でISAのサウンドブラスタPro2をやめて
> PCIのサウンドカードにしたいと思っています。ただし、
> 音(PCMやMP3)を再生/録音するのが目的では無く
> /dev/joy
> に繋がっているジョイステックと
> /dev/sequencer
> に繋がっている外部MIDI音源を使うのが
> 目的です。
> 
> 手持ちのYMF744の載ったPCIボードを挿して
> みましたが、joyは認識されるのですが、
> od /dev/joy0などどしても、止ったままになります。
> サウンドブラスタの時は値がダンプされスクロール
> します。
(snip)
> そこで質問なのですが、YMF744の載ったPCIボードは正常に
> 動作すると
> /dev/joy
> や
> /dev/sequencer
> がISAのサウンドブラスタと同様に使えるようになるのでしょうか?
> 
> 4.11と古いバージョンの話で申し訳ございませんが、よろしく
> お願いいたします。

ジョイスティックですが、サウンドカードのドライバのソースをちょっと
いじれば、標準の joy(4) ドライバで動作するようになると思います。

手持ちの Avance Logic ALS4000 の載った古い PCI サウンドカードと
7.3-RELEASE で試してみましたが、snd_als4000(4) ドライバで

(1) ジョイスティックの I/O ポートアドレスを設定 (0x200)
(2) ジョイスティックポートを有効にする

具体的には以下のようにしました (ちょっと乱暴なコードですが):

--- sys/dev/sound/pci/als4000.c.orig    2010-02-10 09:26:20.000000000 +0900
+++ sys/dev/sound/pci/als4000.c 2011-01-18 20:33:59.000000000 +0900
@@ -700,6 +700,9 @@ als_init(struct sc_info *sc)
                als_gcr_wr(sc, i, 0);
        }
 
+       /* Enable gameport @ 0x200 */
+       als_gcr_wr(sc, 0xa8, 1 << 16 | 0x200 << 16);
+
        /* Emulation mode */
        v = als_gcr_rd(sc, ALS_GCR_DMA_EMULATION);
        als_gcr_wr(sc, ALS_GCR_DMA_EMULATION, v);

あとは joy(4) のマニュアルに沿って /boot/device.hints に記述を加え、
joy(4) ドライバをロードすることで無事動作しました。

 # dmesg | egrep '^(pcm|joy)'
 pcm0: <Avance Logic ALS4000> port 0xd400-0xd47f irq 9 at device 9.0 on pci0
 pcm0: [ITHREAD]
 joy0 at port 0x201 on isa0
 joy1 at port 0x201 on isa0
 # perl -e 
'open(JOY,"/dev/joy0")||die;while(1){sysread(JOY,$x,16);@j=unpack("iiii",$x);print
 "@j\n";sleep(1);}'
 470 446 0 0
 470 18 0 0     十字キー上
 469 19 0 0     十字キー上
 466 873 0 0    十字キー下
 467 872 0 0    十字キー下
 468 442 1 0    Aボタン
 471 445 0 1    Bボタン
 468 445 0 0
 ^C# 


YMF744 の場合、データシートをちょろっと眺めた限りでは I/O ポートアドレ
スを設定するだけでいけるような気もします。場合によってはポートを明示的
に有効にする必要もあるかも知れません。

ALSA (http://www.alsa-project.org/) のソースコードを参考に、
いじってみたらどうでしょう。
YMF744 のデータシートはこのへん↓にあります (ALSA の古いミラー)。
http://alsa.cybermirror.org/manuals/yamaha/


MIDI 方面はよく知らないです。最近のリリースでも USB-MIDI アダプタを含
めて「ものによっては動く」という感じ (?) ですが、4.11-RELEASE だとどう
なんでしょうねぇ。
---
WATANABE Kazuhiro (cqg00...@nifty.ne.jp)

メールによる返信