Re: mpu401 module update

Jérôme Duval <[email protected]> Mon, 17 Nov 2003 14:32:34 +0100
Newsgroups gmane.os.openbeos.midi
Message-ID <[email protected]>
Hi Greg,

i did a change to emuxki.c hoping this will prevent the behaviour you fou=
nd.

i don't understand the "And then enable the midi receive interrupts,
EMU=3D5FINTE=3D5FMIDIRXENABLE"
isn't the job of midi_interrupt_op to enable these interrupts ?

Bye,
J=E9r=F4me

----- Original Message -----
From: "Greg Crain" <[email protected]>
To: <[email protected]>
Sent: Saturday, November 15, 2003 3:24 PM
Subject: [openbeos-midi] Re: mpu401 module update


> Hi,
> Thanks for commiting the code.  I will see if it builds.
>
> I had to make a fix in the emuxki.c file.   Somehow, this line does not
> parse correctly and it incorrectly created the device port at 0x70 or
> something:
> if ((err =3D3D (*mpu401->create=3D5Fdevice)(card->config.nabmbar +
(IS=3D5FAUDIGY(&
> card->config) =3D3F EMU=3D5FA=3D5FMUDATA1 : EMU=3D5FMUDATA), &card->mid=
i.driver,
0,
> midi=3D5Finterrupt=3D5Fop, &card->midi)) < B=3D5FOK)
>
> I split it up, like so:
> midiaddress =3D3D card->config.nabmbar + EMU=3D5FMUDATA;
> dprintf("emuxki: midi device 0x%x\n",midiaddress);
> if ((err =3D3D (*mpu401->create=3D5Fdevice)(midiaddress,&card->midi.dri=
ver, 0,
> midi=3D5Finterrupt=3D5Fop, &card->midi)) < B=3D5FOK)
> return (err);
>
> My card base address is E000, so it should create a device at E018.
> Also, this works for the SBLive =3D5Fonly=3D5F.   The Audigys' use indi=
rect
> addressing to the UART that is not compatible with the Be R5 module,
> nor mine.   It can be easily fixed later, but I have to think of a
> method.  I want to avoid specific solutions in the generic module.
>
> And then enable the midi receive interrupts, EMU=3D5FINTE=3D5FMIDIRXENA=
BLE.
>
> Greg
>
> > Selon Philippe Houdoin <[email protected]>:
> >
> > Hi Philippe, Greg,
> >
> > i take the task. i hope you don't mind
> >
> > i committed the source from greg, fixing warnings. I fixed warnings
> > too in
> > emuxki. the midi=3D5Fdriver.h is in os/drivers.
> >
> > I don't know if the module works built this way. It should but i'm
> > not sure.
> > Anyway it seems clean to me now.
> >
> > thanks Greg,
> >
> > J=3DE9r=3DF4me
>
>
>