Subject: Re: Yamaha sound card
To: None <mcr@sandelman.ottawa.on.ca>
From: Mike Long <mikel@shore.net>
List: port-i386
Date: 11/06/1997 11:56:35
>Date: Wed, 05 Nov 1997 21:37:41 -0500
>From: "Michael C. Richardson" <mcr@sandelman.ottawa.on.ca>
> I think I've managed to properly split the wss driver into ISA and
>ISAPNP portions. However, I can't get the PNP portions working. I try
>to bus space allocate port 0x530, for 8 bytes, but it gets denied.
I seem to recall that the ad1848 driver allocates its ports itself.
Try changing the size of the allocation to four bytes, and see if that
works.
> I thought that official ISA IO space was 0-0x3ff. I guess PnP has
>changed this? I assume that the bus space macros know about this, and
>I can't see any evidence that they do anything to limit ports to less
>than 0x400.
Nothing so simple. Legacy ISA hardware only uses the 10 LSBs of the
address for decoding. Some older PnP hardware may also use 10-bit
decoding, but all newer PnP hardware uses 16-bit decoding because
Micro$oft requires it for Windows logo certification.
IIRC, bus_space knows nothing about 10-bit decoding; it ignores the
aliases.
> One question: the Yamaha card does both SB and WSS emulation, which
>is why I assume it has both SB and WSS io ports:
>
>isapnp0 at isa0 port 0x279: read port 0x203
>wss1 at isapnp0 port 0x220/16,0x530/8,0x388/8,0x330/2,0x370/2 irq 5 drq 0,1
Yes. 0x220/16 is the SB, 0x530/8 is the WSS, 0x388/8 is the OPL3,
0x330/2 is MPU401 MIDI, and 0x370/2 is (I assume) Yamaha's proprietary
wavetable.
--
Mike Long <mikel@shore.net> http://www.shore.net/~mikel
"Every normal man must be tempted at times to spit on his hands,
hoist the black flag, and begin slitting throats." -- H.L. Mencken