Re: mpu401 module
Crain Greg <[email protected]> Thu, 9 Jan 2003 12:28:55 -0500
| Newsgroups | gmane.os.openbeos.midi |
|---|---|
| Message-ID | <EA28E1AD842AD411AE180050041E1A8005A297AF@abhe313a.abh.siemens.com> |
Greg wrote:
>> I am basically trying to follow the same
>> method. I can get the module, load it, and create a device. The
>> problem is, as soon as the midi port is opened, the computer completely
>> freezes and never makes it beyond the open hook.
>Sounds like something goes wrong at interrupted time.
>Did the callback you pass to MPU401 create_device() call ever called?
>Did the MPU401 interrupt_hook() is correctly called when a MPU interrupt raised?
This all happens before the interupt handler is even installed, or midi interrupts are enabled in the soundcard.
if ( mpu401->create_device (base_addr + A_MUDATA , &card.midi.driver, 0, midi_interrupt_op, &card.midi) == B_OK)
{....}
If I understand what you mean by callback, the function 'midi_interrupt_op' never gets called, or the interrupt hook. I think that the problem is somehow in the way I create_device. It gets created, but the first time its called, it crashes. Maybe an incorrect pointer. Also, in the Ad1816 source, the parameter &card.midi is just 0. I'm not sure what the module is looking for here.
>Do you ask Jerome Duval some help? AFAIR, he managed to get some MIDI support
>in his emu10k driver project...
He was having a similar problem with the midi freezing the computer. He thought it was an interrupt issue. I know he didn't have midi equipment to test it. I looked at some of his older code, and it is just like the Sonic Vibes. I will have to ask if he made any progress, or at least collaborate.
>Oh, BTW, somewhere on the road, OBOS midi team will have to rewrite this MPU401
>kernel module too. Glup. ;-)
Its only about 9-10kB. Can't be too much code, right? :-)
>-Philippe
I'll look at it some more tonight. If I getting it working, I will make the source available.
-Greg