系统核心 自订 FreeBSD Kernel( 七 )


5.3.9. 音效卡
内附的 GENERIC kernel 并不包含音效卡的支援, 你必须参考 LINT
这个设定档来奶J音效卡的支援 (只有 LINT 尼t所有音效卡的设定) 。
controller snd0

标准音效呼叫介面,所有的音效卡 (除了 pca 外) 都需要此参数 。
device pas0 at isa? port 0x388 irq 10 drq 6 vector pasintr

ProAudioSpectrum digital audio 跟 MIDI.
device sb0 at isa? port 0x220 irq 7 conflicts drq 1 vector sbintr

SoundBlaster digital audio.
注意: 如果你的 SoundBlaster 使用不同的 IRQ (如 5), 你必须将设定中的
irq 7 改成 irq 5, 并且移除 conflicts,此外,你还需要奶Joptions
``SBC_IRQ=5"" 的设定 。
此外,你还需要奶J以下几行:
device sbxvi0 at isa? drq 5

SoundBlaster 16 digital 16-bit audio.
注意: 如果你的 SB16 使用不同的 16-bit DMA channel (如 6 或 7),将
drq 5 改成 drq 6 或 drq 7,并奶Joptions "SB16_DMA=6" 的设定 。
device sbmidi0 at isa? port 0x330

SoundBlaster 16 MIDI 介面 。如果你有 SB16,
你一定要奶J此参数,?ampthinsp;则你的 kernel 将无法完成编译 。
device gus0 at isa? port 0x220 irq 10 drq 1 vector gusintr

Gravis Ultrasound.
device mss0 at isa? port 0x530 irq 10 drq 1 vector adintr

Microsoft Sound System.
device opl0 at isa? port 0x388 conflicts

AdLib FM-synthesis 音效卡,如果你有 AdLib、SoundBlaster 跟
ProAudioSpectrum,你需要此参数 。此外,你可以用 playmidi 来播放
MIDI 音效 (在 ports 收集里) 。
device mpu0 at isa? port 0x330 irq 6 drq 0

独立的 Roland MPU-401 音效卡 。
device uart0 at isa? port 0x330 irq 5 vector ``m6850intr""

独立的 6850 UART MIDI 介面 。
device pca0 at isa? port ``IO_TIMER1"" tty

利用 PC 喇叭模拟数位音效,此音效的效果很差, 而且要花不少 CPU
时间,你应该要知道这点 。在你没有音效卡时才考虑此功能 。
注意: 你还可以阅读 /usr/src/sys/i386/isa/sound/sound.doc 。
此外,你还必须建立相关的 device nodes 给音效卡使用 。

_________________________________________________________________
5.3.10. 虚拟装置 (Pseudo-devices)
虚拟装置提供一些特殊的支援,但它们并不是真正的硬体介面 。有一部份的
网路相关的 虚拟装置并不在下列说明中 。
pseudo-device gzip

gzip 让你可以执行被 gzip 压缩的 FreeBSD 程式,由於 /stand
中的程式都是被压缩过的, 因此奶J此功能是个好主意 。
pseudo-device log

log 提供系统记录 (system log) 的功能, 这是必须的 。
pseudo-device pty number

pty 代表 ``虚拟终端机 (pseudo-terminal)"" 或上线人数的多少 。
许多程式如 telnet、rlogin、xtermx 和 emacs
等都会使用它 。GENERIC kernel 内定只有 16 的 ttys,
你可能会想要将它提高到 32 或 64 以上 。
pseudo-device snp number

监看装置 (Snoop device) 。提供你监看其他 tty 的资讯 (使用
watch(8) 命令),这牵涉到系统安全以及
使用者隐私权的问题,是可有可无的功能 。
pseudo-device vn

Vnode 驱动程式 。允许将一个档案利用 vnconfig(8) 当成一个
partition 来使用 。通常拿来建立 floppy disk image 或充当 swap
装置 (如跟 MS Windows 共享 swap file),是可有可无的功能 。

_________________________________________________________________
5.3.11. 摇杆、PC 喇叭及其他杂七杂八的
本章及讨论 FreeBSD 支援的其他杂七杂八的装置, 这些都是 GENERIC kernel
所没有的功能 。你可能会想参照 LINT 设定档的内容 。
device joy0 at isa? port ``IO_GAME""

推荐阅读