[openbeos-midi] Re: mpu401 module update

  • From: "Greg Crain" <gsc70@xxxxxxxxxxx>
  • To: openbeos-midi@xxxxxxxxxxxxx
  • Date: Sat, 15 Nov 2003 09:24:19 -0500 EST

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 =3D (*mpu401->create=5Fdevice)(card->config.nabmbar + (IS=5FAUDIGY(&
card->config) =3F EMU=5FA=5FMUDATA1 : EMU=5FMUDATA),    &card->midi.driver, 0, 
midi=5Finterrupt=5Fop, &card->midi)) < B=5FOK)

I split it up, like so:
midiaddress =3D card->config.nabmbar + EMU=5FMUDATA;
dprintf("emuxki: midi device 0x%x\n",midiaddress);
if ((err =3D (*mpu401->create=5Fdevice)(midiaddress,&card->midi.driver, 0, 
midi=5Finterrupt=5Fop, &card->midi)) < B=5FOK)
                return (err);

My card base address is E000, so it should create a device at E018.  
Also, this works for the SBLive =5Fonly=5F.   The Audigys' use indirect 
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=5FINTE=5FMIDIRXENABLE.

Greg

> Selon Philippe Houdoin <philippe.houdoin@xxxxxxx>:
> 
> 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=5Fdriver.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=E9r=F4me


Other related posts: