[comp.sys.amiga] Audio Interrupt vector

dillon@CORY.BERKELEY.EDU (Matt Dillon) (11/19/86)

	Using an old version of Wack which has the 'ints' symbol, the
Audio interrupt vectors are 7,8,9, and 10 (scale 0-15).  This corrosponds
with the definitions in HARDWARE/INTBITS.H.  Read the manual page for
the EXEC SetIntVector() and AddIntServer().

References:	RKM V2
		HARDWARE/INTBITS.H
		EXEC/INTERRUPTS.H

					-Matt

c55-grig@buddy.Berkeley.EDU (Ted Griggs) (11/21/86)

[]

Does the procedure and example program given in the ROM Kernal Manual
actually work?

Here is what I did:
wrote 68000 machine lang program that changes a check variable from
0 to 1 then rts.

set up the interrupt structure EXACTLY in the same manner as the RKM

called SetIntVector

I assume all went well because the call returned a pointer to the old
interrupt structure of name audio.device.

No interrupt occured when I started the dma  (i.e. check var never changed)

I looked at intenar and bit 7 (for audio channel 0 or 2, depending where
one looks - but I was using all channels so it does not matter) was not set
(bit 14 set was so interrupts were enabled in general).


Okay, so what is wrong?  Thanx.
Ted Griggs
ucbvax!buddy!c55-grig

carolyn@cbmvax.cbm.UUCP (Carolyn Scheppner) (11/25/86)

In article <1074@zen.BERKELEY.EDU> c55-grig@buddy.Berkeley.EDU.UUCP (Ted Griggs) writes:
>[]
  (re: interrupt example)
>Does the procedure and example program given in the ROM Kernal Manual
>actually work?

   I'm not sure which example you're talking about.  

   If you mean the Interrupt Server example (p 1-57 CBM RK, p 61 A-W Exec),
then it depends on which book you have.  The version on p. 61-62 of
the Addison-Wesley Rom Kernel: Exec manual is OK as far as I know.
The text on Interrupts is also updated in that manual.  But the version
in our older 1.1 Rom Kernel Manual (Vol. 1, p 1-57,58) is messed up.

   The major problems are:

 p.1-57 The two occurences of "sizeof(struct Interrupt *)" should be
        "sizeof(struct Interrupt)"  (no *).  You want to allocate
        (and free) an Entire Interrupt Structure NOT a Pointer to
        one.  Else you are poking values into mem you don't own.

 p.1-58 In the assembler portion, I think that in this particular
        example, the MOVE.L (A1),A0 should be MOVE.L A1,A0.


             
-- 
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Carolyn Scheppner -- CBM   >>Amiga Technical Support<<
                     UUCP  ...{allegra,caip,ihnp4,seismo}!cbmvax!carolyn 
                     PHONE 215-431-9180
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=