| ??? 01/29/02 10:41 Read: times |
#19188 - RE: Midi Patch Change |
Hallo again Mr.Bores !
Here are two examples for handling MIDI PGM Change events for the 8052 uC. The original Code from a friend of mine. I´ll hope that helps .. First Example: ; *********************************************** ; NAME : PRG_CHG ; Call by: CALL ; IMPORT: MIDI-Byte in B ; EXPORT: MIDI-Byte in B ; Used REG: Acc ; STACK: 2 ; ; Saves the Program-Change-Event to: (up to M_I) ; M0: STATUS | M1: Program-Nummer ; PRG_CHG: MOV A,M_I ; get MIDI-Index for jump CJNE A,#0,M_NO40 ; Is M_I=0? -> No, than NOT40 INC M_I ; M_I:=M_I + 1 MOV B,M0 ; save MIDI-Byte in M0 SETB MIDI_ON RET ; = STATUS ; M_NO40: MOV M_I,#1 ; M_I=1 -> M1 MOV B,M1 ; save MIDI-Byte in M1 ; = PROGRAM-NR. ; At this Area is a complete MIDI Event in ; Program-Change-Event reseived and stored in ; M0: STATUS , M1: PROGRAM ; ; CLR MIDI_ON ; RET ******************************************* Second Example: ; *********************************************** ; NAME : PRG_CHG ; AUFRUF: CALL ; IMPORT: xx ; EXPORT: xx ; BENUTZTE REG: Acc ; STACKBEDARF: 2 ; ; Merge of a MIDI Event to Program-Change ; PRG_CHG: ; CLR IE ; disable Interrupts ; MOV A,#1FH ; KEY 1F = 32d pressed ? CJNE A,TASTE,P_STD ; if < 1F => Standard P_PAN ; Panickey MOV B,#0B0H ; Channel 1 ACALL MIDI_OUT MOV B,#07BH ; ALL NOTES OFF ACALL MIDI_OUT MOV B,#00 ACALL MIDI_OUT ; MOV B,#0B1H ; Channel 2 ACALL MIDI_OUT MOV B,#07BH ; ALL NOTES OFF ACALL MIDI_OUT MOV B,#00 ACALL MIDI_OUT ; MOV A_WERT,#0FFH ; SJMP P_RUN ; P_STD MOV B,#0CEH ; Program Change ACALL MIDI_OUT ; to Puffer ; MOV A,TASTE MOV DPTR,#T_LIST ; List Pointer MOVC A,@A+DPTR ; Value from List MOV B,A ; to B and MOV A_WERT,A ; for Display ACALL MIDI_OUT ;to Buffer ; P_RUN MOV A,M0 ; restore old Status MOV B,A ; und merge ACALL MIDI_OUT ; for "Running-Modus" ; CLR TASTE_NEU ; clear Value ; MOV A_ORT,#0 ACALL HEXAUS ; Display ; SETB IE ; enable Interups ; RET ; ******************************************* So I´ll hope that helps... Have a nice Day Stefan |
| Topic | Author | Date |
| Midi Patch Change | 01/01/70 00:00 | |
| RE: Midi Patch Change | 01/01/70 00:00 | |
| RE: Midi Patch Change | 01/01/70 00:00 | |
| RE: Midi Patch Change | 01/01/70 00:00 | |
| RE: Midi Patch Change | 01/01/70 00:00 | |
| RE: Midi Patch Change | 01/01/70 00:00 | |
| RE: Midi Patch Change | 01/01/70 00:00 | |
| RE: Midi Patch Change | 01/01/70 00:00 | |
to Mr. Phillip M Gallo | 01/01/70 00:00 |



