🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: demon.tech.pc
Article #22908

Re: PCI sound card for MSDOS 6 or Opendos 7 ?

#22908
From: Iain Paton
Date: Wed, 03 May 2000 00:00
55 lines
3069 bytes
Graham Murray <newspost@gmurray.org.uk> wrote in message
news:m2ln1tbfnx.fsf@barnowl.demon.co.uk...

> Why?

Hardware limitation.

>      Once the PCI bus and the devices have been initialised (which
> should be a one-off process at boot time), in what way do applications
> have to communicate differently?

>                                  Surely in both cases, internal
> registers in the card are mapped to I/O address space,

Maybe, it's not outwith the realms of possibility that you could use PCI
configuration space for this. Would be somewhat clumsy, but would be a
*totally* different way of communicating with the card.

>                                                        an interrupt
> handler is required,

Yup.

>                      and DMA (when used) is just a combination of I/O
> register access and interrupt handling.

Here's at least one of your problems. PCI can't do DMA for several reasons:
1. The PCI connector doesn't have the signals available.
2. DMA from the 8237 which is hosted on the ISA bus gives you a real problem
with latency issues. i.e. memory is controlled by the host-to-pci bridge, so
you have to go from memory -> host-pci-bridge -> pci bus ->
pci-isa-bridge -> dma controller -> pci-isa-bridge -> pci based device. The
double round trip thru the pci-isa-bridge is horrible as it has the lowest
priority on the pci bus.

PCI devices can quite happily do bus mastering to achieve the same effect
but the setup for this is quite different and doesn't involve the 8237.
Hence old code that expects an ISA soundcard can't cope.

There have been several schemes to try to get round this, some use NMI
service routines to provide 'virtual' DMA emulation which usually requires
the CPU to be in V8086 mode and can sometimes screw up other things that
need V8086 mode (like EMM386).
Another approach is the SB-Link header you see on some motherboards. I've
never seen or heard of a sound card that uses this connector,  so don't ask
for details.

>                                         In both cases the application
> just needs to know the base I/O address and IRQ used by the card.

Not if the software relies on some of the features of ISA that simply aren't
available on PCI.

I
--
Technical Details
Message-ID: <8epqrs$bpa$1@sphere.demon.co.uk>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <7dnrgsc2311feuus98lov79820lmiluhge@4ax.com> <craNGIAJ$fD5EwVS@zenn.demon.co.uk> <m2ln1tbfnx.fsf@barnowl.demon.co.uk>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 1036bc,341f5b98cc286b50
X-Google-Attributes: gid1036bc,public
From: "Iain Paton" <go.away@dev.null.com>
Subject: Re: PCI sound card for MSDOS 6 or Opendos 7 ?
Date: 2000/05/03
Message-ID: <8epqrs$bpa$1@sphere.demon.co.uk>
X-Deja-AN: 618795079
X-NNTP-Posting-Host: sphere.demon.co.uk:158.152.8.91
References: <7dnrgsc2311feuus98lov79820lmiluhge@4ax.com> <craNGIAJ$fD5EwVS@zenn.demon.co.uk> <m2ln1tbfnx.fsf@barnowl.demon.co.uk>
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2615.200
X-Complaints-To: abuse@demon.net
X-Trace: news.demon.co.uk 957378255 nnrp-14:29551 NO-IDENT sphere.demon.co.uk:158.152.8.91
Organization: Home of the Heretic
X-MSMail-Priority: Normal
Newsgroups: demon.tech.pc