Aron_Fingers_Nelson@cup.portal.com (09/20/87)
This is a preliminary MPU-401 interrupt shell for MIDI programs. All this program does is put the MIDI bytes received by the ISR (interrupt service routines) in a circular queue. **Note** that the user must sort the MIDI data and store the bytes in a logical manner **then** send the bytes out the MIDI port. For some reason this Interrupt structure does not like a procedure call within the ISR. Anyone who can help and is interested in working on this ---- Please respond via E-MAIL.. This is put on the Net in hopes that someone can improve on the code and to get more response on MIDI programming in turbo-pascal. Written in Turbo Pascal UUENCODED FILE MPUINT.arc ------------------------ CUT HERE ----------------------------- begin 644 mpuint.arc M&@A-4%4N24Y#`"4E)24EFP8``#0/5@^0G<X.```,>UI`.M*G@8(]("`Y:)*& M#`@V9>R480-"2IDP9%Y<D9.&3IDY"4D4/)C0`14T'\N`@"/GS9@R9.K(^0@B MS$P0=-Z`N/-&SIJ='=$DQ#`2H4(Z*$&D<>-1CIPZ<.B`:%F'SM*/+A***%HR MB=29&$&^,6,&9](Q:>2,J</&)H@X=<K$3:B!JT(R9<Q<=;CT;=RX+I:.25B" M*X@<+V+@>('C!HC'CX.T=`/"R<0Y;RA#<F&7H,&``T<:-#@D\QPZ!A\3"4(E M")0G4JB`Z`&"Q(P9,':D!C&E-977L6?7OAU#MX*$!XA(F2*<!([<CQ&2"4,G MS-2+9/+@U#FGC!N'(Y$KE]*<!G00TJE;!YM]^_67:22""`_I0)`A2YH;*;(C M.H@F4%0!PGWYA0>9%$5,481L^AEA'`A5!!';%TT\0401S<U@QH.0&.!$%4PP M(5P+Q4&&D!D]@7!&&71,5]U\GT$&@A%),$%%$>31)D,--/3W6$XSUG@C>6]4 M!8(8>7@$DAMO2'5'&$S!I!1E<,FE$HPDI=$&'#UYY)`9+;7AEY6!N3&8:`J, MIH`5-NU&A99E?/%$52SLMD09>7QQ11AS?`'%3'-T1T:=Q_T7X!=EX)'&:7,0 M^AB`59"161DZ@"#$&V]`!*5QH%D`0A(O/#%5D5:Y09-`(:!I1!UF6I69BBRZ M:%VE2WFTHAS](303'3*Y`1*)2I7%)`BR8FEI&6?TY1][(('YAIA5SF4@9&F4 M%4496]*A'5+>P=JB>B#H0!N)NT%VF4HK?ONBN-X:$684#WI'AG$&_>D23#*I M!$551("+`D-DI"%$DI0BZ5$*_76(@@H@[$N'6*8>2;![D&;U1'XJI&`0FW(\ MAD6E!I=AG!#(+E5NL(96@:BBC`IG1AAL=&=6MXEV]"!D6(1+6VXGSP3'1:@= M!PD".;,+19<@;-$;:\!1T86/"U^'$6^^-0U"QB>S:A5%*.0,I4/CI=##>9!% MK74:%(U7TQA6R8=UH8\=+8=46ZS66M-=Z/Q?0P(3W%_4W7U'++AO/U;$=_0J M8.]+,=WD\!!M.(3"&)'K$#+""3&`T!3R@C3&LVU\37&`61EH1YMP@_!QR#<_ ME@:M4=Z:N(R+XWM3NE_T^R(*IW<,<!JZAV$YP9@C=`2+$*L4,@C.BEFQL3)R MG%I]:H#L]_0'K`&[K67@.KT!)"?KQO0)J*$W=-J/S6$";[81)ZGBOARSR.3[ M#/3T#:0_1QUCC('"&@C#G_G8Q:6Y)>TTU"D@'9XV/0=4"P1K\`$)8@"#"LYL M?$*+0/O>5Q5QT>$I]!-:`L[&-1283W1DD,,<Q`:#%(`@11O\`JG6][O@Z4V! M29.5`ADHM`/(:W;'$M_)'@BIE2WJ82Z#F<RX19F:T:%UJCM??UZGOI/%D%1Z MDU]WH&@_ZGR/BOOK'PK2$$"A&:!HM,'A%A!(AQURR``/3(,$*6A!)DX/`5?L M8`\^&!<HDA`$*.A:30270CFPT(4PA),,JP)%-;)QAWJCW+R&*"Z>I:Z+04L( M',451O^1\8W'HT/NU-.U,FHRCG.L(`PN"((\TL&#(/0C4]`&2"ST(`QC`.`+ M.^;*F_U03;5KG$K,P(8ZS`$-LLH5\XIYS,&]J'DSVUO`IK02I(U$>H4JFL0\ M,K*281`Y1#Q4S5I&&RVJA(D@<"*'#G`'-*!-)8%$@=SHH+2JP<9I+A2=<J;@ MPIVY4%+D0V/#NE0WUKCFGD_39-38`P*['30X;SO<)-.DN)8P+E\520D=()4P M"$0-00J2#:3<@\NVJ82-5WH;QU1G/6X:)'PF*U0X539.))93B>=$21,5]<3= M8/)D`IUGTI;V&X1"\8&"U*<4I-!/$,``>^@4:CV9AE"]@71!4`PJT@IZ-Z/N MYH^V))!Q))JX8&*4"A_9:(!\!$B&G611(#AFD=C@$#'D=)AI.4W#+&H[E8P! M9A!QB$K=`@D)1`TI<%42$E'4,2BE[&H:4T#16&>0U]4*6=WKIA!3EP8I]JP, M/_.B&>,(`A_0AHX5A*I.@QC3A#3@#$UZ`Q[R@`+<L(""IH1$`^[`$8^@8`0W M8,$)1NJ$)GW*5]5A0V!=X((3Y/:UL9UM;6%PVQ@\E[<=*0,*AAN@&;&*;6DP M34,7%08Q!#8$SN50`_#2%MKBIH+/+6)-0<(N<ZI7G=-C`%GSJU4#3K6HL>%A MYI#J-<&%33BKC.I6B8HWJR8(J_S5FU0=BC<.,:"S[.KD&$T)&;#V0*PGDR_+ MD,@N/H9POPK0`!H(35!524Y4+E!!4P`E)<@(```T#ZX2Y!U@$P``#"#V@&@! MZ8`/2`I`*&P"I0J()$ZH%)$BI0H4*B"F("G"A(E"A3P@,2#(H$\#!2<#@A@2 M1@Z=,G(RCD'SAHV>$W-`A&%SYHV<-'30M,D)XLX+$&/2R!E3ATU+$''JE)$* MPHR<-VUT7G4#PDT9-G/><#694""3,'/H@*#RIL[,,F1T@(B1`\2<,G#4XK@! M@JQ*%8"=/)$X!;"*E`BIH"D#(LV<F&WJI.WZ1BV9-SK=Y$&Z$RP(.IC-U'$S MADX:L3E]@H!S=0S<.G+*S$&L(`W7,&XJ+XXIALV;,6M8?$;CV&Z9,D,_8QX3 M1C)CUF]Z(R=*]N3)/2H@.5B[^"Z(R)/%,`Y#A@S<QJ39U#%/!OWW,+977STC M)TS6[!'([B&1!*I4J2[8-H9^_'T'1QT!DE:=`MA!TH1^)!WAFQ@[S4$0!639 MT5)*(!`Q11!6%`&"7+:]=`9,.HD1EGHOK737&3J0`,.,-NS`(4-5$!$$%4&P M,,03540T(GHFPF0C@]DQL>!U+3295DMJE0B3''7D99P<=J3A&D$/+`A%:Z_% M!@*.7R3AQDMR4)G7%U/`E*5K7TC1EFE>':F0$$4<`1&'"MG&AFV,@8`""3$4 M<10D!@C4D$8=3N&72"34`,.AB8*`:!!8/,I`I#-0*A"B0F2*V*8UQ."II08, M(6I"D-8@PZF($K&JI:3>`*L!1"2A::0VW#J%KJ/*V*NE"`CT41&.!FN$$"GL M\)%"`DU!!;`H)?21GX`*2@(.0[Q`PA`X'/71'DT\804(F/HXQ4`@Q):63XR1 M$08=81AW1AMEG+DK#H:20$2XSY)K;J,L8+IK$*9Z"**AT)9[;KH*A[AOO_\V M.Z[#!!ML'9*00+#2$T2(2,43&4UD11)#B`B11!19A%%V&BQI+8XZ\CAB#ZOY M1,<6\M(+A\Y=."N0%&60!P(4;T@9$X20/+!:'5%R%<=`D/3%81IFC-E0S4&` MP(,/5:7!!IJ((1!4OOY-5<86<8`&1Q<W:YWCCD$<N0>79HX1&[YG@A#%STH3 MA(%?C67=]AMP>`UV$YA^$06;26@AXME2NQWW'&Z-@<+A<*2`&`9?><=YW##8 M35`.?F']<9`8\3!F&'@X#KGDP^7+X8^L7YXY"KA'U.S&UV6W71%.$`'"$T8\ M%-%$%5U4LA0GI_QQR"!D-_C&S_[L$@A;R`B####`K0/.)(#O+"0+[)&;&W/` M44929F@)0A%/]`<:"#C(4$-=4*"\X+/8\HJV8&`K5.T!"D^`POR2Q2I2,0Q1 MQOK(KW95`R.<ZEFYHF`0+O@165$P!QQ4B*HH*(00@B!4%`08!)^%KEE!*@86 M-"`+/;2K(1C!8@%+@A2*0(7_S:]X1V)2DYI$/.,I34UJN0N6M,28+_TF3&4@ MR`&\!"8RP(8Q17!#&*13)BE$`04ZC((.Q)"'E_S.6AJ2`Y\:TP8YL*`-:%F# M7,CX$CN=,$][LI9"X#B'-5CJ`..CC%I0$`.[H($-#_'B&0'81F(%4GL[*U\, M@K;&-#02$@@(I"5C@IOV\'$-=E0()+DG2?'A;)-V+&(0%>!$UUA13$1PS!;9 M4(8N?C&,>!@2'<NPR(^D$3$&V*1P/NE($.PRE'?4DQ.`24Q$!;*0<SAD(J.` M!SLA:I-_?*3.NB>#29XO`0(Y0AFBAB8DOJ>/[2K#&1R#IJI<)2OYVY_56!7, M2P+RE(U4S2?/=P"!W$4MQ#3"$Z0PS5Q"H@*/,@`DN3G)N*'24@\02"?320?8 M<.5^9T,*<>#@`H@23B&JW%@KH9B1<9;)"E1`0;[H((<\Z$!*)Y)#+W^I1Q"\ MP0QF^*=P7L0W.@@G?G)(RQ?NX!,R[/1]8B'#4(M*HC.ITT@<PI,RUWC3G([3 M4A,(Y!-RB@(RF:F<5:(#F]S$Q#C-"5`I`,$*;H!,GJ[44A((Y!!>A$R@"I6H M<FA/TP*ITC.U=`4X2*L*0$"#MB+5#4K%JUX=$$B[BE6Q*Y`!,O'5ABN0<D8S MTH%CEYI7N,6MJO^<+'(LVSW,PD`'=QE#4CE+!E/:JZ>I!"+P.#8!Y25A6D%@ M0N0@<H2C2>$)*2-"%7:XKNQT@"PC?25CS`24+^!(:,,I3G'NL!O&9+0-!P+! MB>B0$]L`!00")2@9L&8&F+RU#6\P3T[((M4\*H0*LJ'#<SGDKG$^%U5W^,E+ MV,`5%)R`:/\\02^A`+4AM*$]@\(!LYQ5%/U^I;\G(,*\ZA6?=R4.O>9Q@8#M M2&`Z&!C!))@!#7"87Z`\6%`GN`)0T``"*[:A#9LQ31ML<P9CEK$,&AYP@0\\ M0!F0V,'\17$3DI`KN]#+)3D^4DA96<4K/H1]]&(#&\HT!2E`ESE2CFY.[F>; M)V4YHTEXS#S;NTQK14Q$@20"73G4)K$F`:4H\'$JM<C%,,;YQR8.LG_#S,G2 MI$%#+R%#DD^RY.0Z>0IN*]-C&"P0+",R*,69UP^-=U/YO($^]ADS'LNLD%C. M89:UM+.</U+B_;IASU6V*4XWS*$.?UA;1K@A@TM]8O\">)RL5L"2&[0$F6VL M02?0SQ<@$>SK6$H!'V(($T0$A=\>00I!:()'KS/L8C/(4M8&-N$,+::W`.<+ M<_I"5-2&3!"DL3%#@BE4:YI,]V(RO.A^IG)6)R0B/&%4XEFG&Q#3`-5%`3EY MR0/.S%`AZRYFWZQJ`*U1L%VK8"4*+#@!"')-JWR1H=Q+/@F9.021VSJW(7;L M<I2G[!@YV+%W&`EDZ3@4!>_2P8YC8$-0]6;'V+AO7FM4"4$2`((LM"4FT,%T M5HC:E/;T!`35I1H$$MH3T.`A#X1D00P6B:B%GT`QTLU)'GYN::&W:S1NH'%1 MB$/+QHB9.7FY8DZ&7.1=SH'BB&KZ&YX>=3D#T^I"N'%.8N.:/Y\G/DFHLEQ. MP`+5CH8.5#>`>9P"]1A@MI>'%QL(UE"&/+!&-G>Y.(=B/G.3<\C"7RBY':\` MY%.?H`EI&.\)]9[.OML!+B&@N$;?MP9P0TW<_RF#DHOG@MEJ`!H(455%544N M24Y#`"4E):L$```T#VH2-)8`"@``#'M`J("4I$\#!0%!Y'@18R&.&R!`4)&3 M)XV;,R#HH$DS!\2<-&W@L"D#(DZ=,B=!0#IA$&'$*53JP$E#!L20-'+&U&$3 M1D[)DRGK?+P(`DU/,FSR@`CC1NF8,&QT\J23YHV;CI`JM$Q(96-'-V7N_$1) M<@Z:-SMKWGDC9PT(JR`LTBDC1XY,.B#(R$ECIXP;$'+04@6+-<+6B!HY@K@3 MIJ.<,E"3`A:*IDQ-,77PFD7+1BU;MR!$S*$CD^;8DR)42M@Z4,GAB$V>$*G" MI,@4$#H.JF00Q6(:O"!:^)#H%02<P&,LUWF\.`T;-H#+S"F#5R-)DV1=@*@R M/6/Q.Y7=Z(9D(0_:Q4RKOXE[Q@U;DI'?FO%.4DR>N1TUAL';)HQ2HWV-9T$8 M.K6QTWZ6Q?67=:>5X8)N9M3AQAA4P15%&2'1D8<.(`CQQALC,161<,0I9H2$ M%%;UUQW.0?<8:7(L6)E'=.PGE'ST-3B>!^!15YE/=-A%$EL@F`'5=#N,9P`4 MF5D4!0KVS97"B,-U19(;8;11EG\=_;;4<P\J4"2*%?YU!G5F!-9&%+B!$"5) M)%H)`I9:>L1E7'A%IATD"[1TT$%#6#6:;A'!%@067T3QQ11):%$$"#V`8`,, ME"8I9J$@&)$$$U04(06D(,A0`PT[8+K'F7CM5=,;\UG7'9:C*44@57UYY-=0 M&+TYAY\*4)$''&40&I&B23A!1!%8@`J#"RXT<6BBBS9:A*681@%4&5]H""RH M/<GAWQ;$&HML%SB^::D5/0D+@K5DM<GN2=G^6@:UA49!QQMPL!"%&&_@Q:%< M99PIAZ4''?=&<F0L1U)O;OQ6*@@!/?7<4DU156>/?YE7!WINJ!?==-7-B%U* M+45D1T]QM0FPP-2*$;!%ZA9)9!JX10I#1NLYBZBBC#J:UQOC(3!R&5ND0:X. M-C\,L8)>#@U"R=7>"T?-(,#P<$*/@6S<&P#+T1'4]?+K;](1!02)8;KY18:E M)TY8YKH13LRAAR!"Y@:]+I\!LYB0&)#&?"C8BR^H^_8;'`@Q3&G=7U'$#1W2 M&0DYW@9EL-%=XSL]'JF1EL]+J-K4]ETP<LHQE\2$<@@.1ZD!_5V2U`H"QM29 M]/UET1@^5=Y=UM3A7/73NN6]-Z9QS:<Z"#P,IS.T/3^Z^+JP0SY%'6.,$;C4 M*8Q'@NX+1Y]TVFZL/?K!I9-T.NZ%T]'RRW^U/I][>)5A$E2^QP'[\[?[5'+? MKJ</ZO(\D]9X$O`\X8F';Q+P'^2L-AX)E`$/#AN/`T`7L_Z)#7G#.9Z5&'=! MZ5'/>NE+`;4HJ("VI<A"&(*#AMI$MQ#=;6FNB\,%(V6_P3W//7G93QB`)R8# M*LF"AHN4Z@;XO`ME2"F0"]))!LB]=:5PA9#C')+`)SX%&`QA"@,!DP;SI")T MC"(LO$\91!@\]@FK?XZK'0@>^!MA-=&'?&.`Z[P8)*4D+U/.F0N0PC.>!\!1 M)1$8VA9J"(>C18J.%"G5>")POM1)C77Y>QV^]O<`$JH$`98DH0G?=@3J&$%- M;.*0N<JHMP,2KY-T^.0;UD0U0<JP7UV@5Z$:F;ZK*0AW);E@R4CX)P5H`!(A #`!H` ` end --------------------END----------------------------------------- Hope to hear from more programmers! Aron_fingers_nelson@cup.portal.com