Thread overview
DMA, Hardware Interrupts
Oct 07, 2001
Imran Haider
Oct 07, 2001
Walter
Oct 24, 2001
Roland
October 07, 2001
I know that there are four ways to access hardware buffers:
    DMA,    Interrupts,    Memory Maps,    I/O ports

I do know that to acces the IO ports, you could use import() or outport() functions; you could also access memory maps through _386_map_physical_address() function. You could also access SOFTWARE interrupts through int386() function.

QUESTION: How do you access DMA and Hardware Interrupts of the system?


October 07, 2001
Check out \dm\include\int.h
    Imran Haider wrote in message <9ppmpv$15lp$1@digitaldaemon.com>...
    I know that there are four ways to access hardware buffers:
        DMA,    Interrupts,    Memory Maps,    I/O ports

    I do know that to acces the IO ports, you could use import() or outport() functions; you could also access memory maps through _386_map_physical_address() function. You could also access SOFTWARE interrupts through int386() function.

    QUESTION: How do you access DMA and Hardware Interrupts of the system?


October 24, 2001
Imran Haider a écrit :

> I know that there are four ways to access hardware buffers:    DMA, Interrupts,    Memory Maps,    I/O ports I do know that to acces the IO ports, you could use import() or outport() functions; you could also access memory maps through _386_map_physical_address() function. You could also access SOFTWARE interrupts through int386() function.QUESTION: How do you access DMA and Hardware Interrupts of the system?

- concerning io: use inp, outp instructions.
carefull: since SC 7.02, DM has a BUG: inpw read 4 bytes instead of 2,
outpw write 4 bytes instead of 2.
generally it does not makes problem.
- Concerning interrupts: use interrupt package that comes with DM C++:
it works very well and is fast.
- Concerning DMA: works through io port with DMA controller 8237.
I've never worker with DMA, can't help.
May be i will have to work with it in the comming 12 month.
- Concerning memory acces, read a previous message i sent: "Accessing
VRAM directly"

Ciao

Rolland