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