[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: YMF724



> > Do you have any pointers to things to read or hints for me?  I got
> > time to kill :)
> 
> Ok firstly you can't do ISA DMA on the PCI bus. Secondly you cant emulate
> ISA irqs properly on the PCI bus.
> 
> So you use sideband hacks to emulate it or you use DDMA which is a DMA hack.

I misspoke when I said it was a "pci card" earlier.  It is
accessible over the PCI bus, but the IC is on the motherboard.
The spec sheets explain how it can be hooked up to the "normal"
IRQ lines, and there are registers to select which lines the
IC sends interupts over for the various pieces in the legacy block,
as well as an option to use the PCI interrupt line (INTA#).
I was assuming that the chip is wired this way, and that I can
specify a "normal" IRQ line, but I have no specs to back this up.

As far as DMA goes,  the chip supports both PC/PCI and DDMA.  I'm
not familiar with either of these, really, but from what I read
it looks like PC/PCI encodes the ISA dma channel number over
a set of pins.  The DDMA support seems to have a set of registers
that mimic the layout of the legacy dma controller.  If the DMA
code supported passing in a base register value for the dma register
set, it would (it seems) be easy to redirect it to the DDMA
registers after setting up their position and enabling them, but
upon reading the code, it seems that they are not.

So this leaves me with a number of questions:

  - Am I incorrect in assuming that my motherboard, and in
    general, motherboards with YMF724's on them are wired directly
    to the interrupt controller?
  - If the legacy block exists so that old software can access
    the chip, then it would make sense to me that there is a
    way to initialize the chip so that it "just works" with
    old code that access DMA and IRQ in the normal way.  Testing
    seems to indicate otherwise (ie. the sb driver does not seem
    to work).  Why?  How does the chip work with legacy DOS
    software that doesn't know about the chip?

  - How does PC/PCI DMA work?  Are there any specs (I did some
    searching and turned up nothing yet).

  - It seems like it should be possible to recode a set of DMA
    routines that access the DMA registers at a fixed offset
    (and knowledge of the DMA width).  With such routines, DDMA
    would be a simple matter of initialization and proper indirection.
    Is this true or is this statement simplistic/naive?

> Alan

Sorry for all the questions and thanks for letting me pester you. :)

                                        Tim N.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []