Re: MPU401 Specifications - maybe

Crain Greg <[email protected]> Thu, 16 Jan 2003 09:40:52 -0500
Newsgroups gmane.os.openbeos.midi
Message-ID <EA28E1AD842AD411AE180050041E1A8005A297DE@abhe313a.abh.siemens.com>


>So, yes, we don't really need the full documentation.
>However, there is this "workaround" argument in mpu401->create_device() api 
>which let me think that there is some tricks to support some MPU401 
>*mostly* compatible cards out there, and to much documentation never can't hurt 
>here.
>-Philippe, proud midi team mailing-list lurker ;-)

I'm still having trouble with my driver getting the module to work (emu10k2).  It gets into UART mode, but no midi data. I found this note at the Alsa driver site:
"Some soundchips have similar but a little bit different implementation of mpu401 stuff. For example, emu10k1 has its own mpu401 routines".
I really wonder what that "workaround" is.

I do have a question that is kinda related:
I was going to try bypassing the module write and just write directly to the UART.
Seems the midi server sends this data to the write hook: 

	status_t (*write_hook)(void * cookie, off_t pos, const void * data, size_t * len);

Is there a way to determine what the 'const void * data' is ?  I don't know what to cast it to.  len was 3, pos was 0.  The message was a simple C note, key on.  I figured a 3 byte message, with 'data' being a simple pointer buffer.   Any hints, or am I totally confused ?

Greg, struggling driver hacker  :-)