delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/11/04/06:34:15

Message-Id: <199911040741.PAA06474@westgate.cyberway.com.sg>
From: "Rob Kramer" <robk AT cyberway DOT com DOT sg>
To: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
Date: Thu, 4 Nov 1999 15:41:58 +0800
MIME-Version: 1.0
Subject: Re: DMA despair.
CC: djgpp AT delorie DOT com
X-mailer: Pegasus Mail for Win32 (v3.01b)
Reply-To: djgpp AT delorie DOT com

> IRQ 10 requires to set up both the Master and the Slave Interrupt 
> Controllers, and send the EOI command to both of them.  Make sure your 
> code does this.

But I'm using _go32_dpmi_chain_protected_mode_interrupt_vector(), so i guess I 
that's done by the wrapper..  (?)

All the ISR do is set a flag.

> You read these registers of the slave controller by reading port 0Ah.  You
> specify what register to read by sending a command (writing) to port 0Ah
> before reading it.  A command value of 0Ah selects the IRR, the Interrupt
> Request Register, while the value 0Bh selects the ISR, the Interrupt
> In-Service Register. 

I tried this, and the IRR on port A0h (!) shows that IRQ 10s *do* come in! It flips to 
'4' sometimes. The ISR is always zero however. Getting somewhere! Now to figure 
out why the thing never gets serviced..


The DMA-problem is solved by the way, or rather, that wasn't the problem. What the 
problem is remains unclear, but I got some MPEG output using an older firmware 
version, which proves that the DMA stuff works fine. (Such a relief)

Thanks!!

	Rob Kramer
	robk AT cyberway DOT com DOT sg

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019