Title: | * * Computer Music, MIDI, and Related Topics * * |
Notice: | Conference has been write-locked. Use new version. |
Moderator: | DYPSS1::SCHAFER |
Created: | Thu Feb 20 1986 |
Last Modified: | Mon Aug 29 1994 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 2852 |
Total number of notes: | 33157 |
I'm loooking for some software information for the Roland MPU-IPC. I have some patch software that doesn't seem to initialize the thing correctly so I want to write a little assembler program that I will run before my patch software that will pre-initialize it. The only info I have is that the status port is at 331h, the data port is at 330h and the command port is at 331h. Does anyone have any information about how to program this thing ? In particular I'm looking for the definition of the bits in the status port and how to make the interface 'reset itself'. Any help or pointers to help would be greatly appreciated. Thanks. Tg P.S. the software I have is a patch ed/libr for the IBM PC and the Korg M1. I just got it. Maybe I can do a review later if anyone is interested.
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
1914.1 | Try this. | TROA01::HITCHMOUGH | Sun Feb 19 1989 13:19 | 39 | |
I'm assuming that the IPC uses the same protocol as the 401, so some questions: Is the librarian written for the IPC/401? Re you running anything else that uses it before you try the librarian. For example Texture leaves the 401 in a funny state so you usually have to re-boot before using anything else after Texture. Do you have a copy of the reference manual for the 401? If not I may be able to help there, however I'm out of town for a week so I couldnt help you 'till I come back. The problem is that the 401 has basically two modes of operation, simple UART and intelligently buffered. It is possible to get the unit into an unbreakable loop, because it sends an ACK byte in response to a command. If yo don't read this byte you cant get at the data that could be sitting in the buffer, so the thing just sits there. You might try this little routine that someone sent into December's issue of E.M. start mov dx,0331 loop1 in al,dx test al,40 jnz loop1 mov al,ff out dx,al dec dx in al,dx cmp al,fe jz end jmp start end int 20 There's obviously more you need to do to get a .com file, but the writer says this resets his MPU and runs it before anything else. I haven't tried it 'cos the code I write does this itself but it may be worth a try. Ken | |||||
1914.2 | MPU-IPC support routines available | TLE::GRIEB | Fri Nov 10 1989 14:06 | 15 | |
For them that is interested: I have spent my free time over the last week or so writing a set of assembler support routines for the MPU-IPC, MPU-401 or compatible. These routines, written in MICROSOFT Assembler support the use of the MPUIPC in interrupt mode. The routines are written to be called from MICROSOFT C. The sources and a sample program may be found in: TLE::PPP$:[GRIEB.XFER]MPU401.ARC If I can figure out how to give them to the MIDILIB I will do that. Tg | |||||
1914.3 | How to copy to MIDILIB | DYO780::SCHAFER | Brad - boycott hell. | Fri Nov 10 1989 14:59 | 4 |
Copy the .ARC and an associated .DOC file to [MIDILIB.DEPOSIT] (using the network::device: listed in 17). Then send me mail. -b | |||||
1914.4 | books available. | TRFSV1::WEBSTER | Just another brick in the wall | Thu Nov 30 1989 09:26 | 9 |
Jim Conger's book "Midi programming in C" has a bunch of assembler support routines for the MPU401. It also contains info on all the commands for the MPU401. I have found the book interesting, as it shows how to build a patch libarian for a Juno. He also has a follow book that show how to write a sequencer for the I*M pc. -Larry |