Aron_Fingers_Nelson@cup.portal.com (09/20/87)
This is Turbo Pascal code for the MPU-401 and IBM-pc. This uses the MPU in "dumb" mode. It can be and has been used for a MIDI synth librarian and MIDI filter. Use it for your own MIDI projects.. Correct mistakes and return to me! ( hah hah!!! ) Seriously, this file can be used for a MIDI librarian. This file is UUEncoded. ------------------- CUT HERE --------------------------------------------- begin 644 mpu.arc M&@A-4%4N24Y#`"4E)24EXQ```#0/PQ'K%&DG```,>T@D`1&G3AF#+M*X&=.G M@0*'>T#T@"0!!(@F4*J`&/*&3!D09M[(`4$'S<<D0IJ`:`$"RA")D#2`4)$" M(@A(%8+(>>,&A),R;.;PO*FBH8*(=^2DH4.G3$^%(*C4D2/F3<LP<\:$80-B MA@L88D`8=8A"Q<4@64#8`!$C!XX;()+0`7%'Y)HY($+HU6NQ+TVR9JF8E/,Q M#=XP(-R4N0,B31LX;,JT<4HG#)TT/%F`0#PFC9PQ==B$&5GPX$<T6$&(*>/4 M85^/9A26(>,B*AK#!`T:W#R&SN'#3]W`J3-73!TS9LJ,O&.R9\G3;^;,Q4U' M3AZ%9UQ;I&-UCE,R(,A81OR&.$FKST',R>.F9&W!'S%JO).&#=<P8H2R(0XT M3^(W<WGG!GAAN.&?>)5I1]=MD34V%VIX*33<7`B&\5YWWVVF6AY-@5#>7'F4 M!T(;=4@'PAB1C09"$$PPT9APYE6H8&QR2!>";1_55>-<<(PVG1DDH397>A+& M.%YC>,&QDQCXL>&?&P!^5.%>"AY1!AT5(JE>&SZ"X%1Y9Z!Q'@AK0,E8298Y MJ!X:Y;$!WA@FC;$&2"+]UV&64#VG8&>?A:9B:;L5"!X4Q.&)UQQ<RC'7EW6$ M.6:9;YPII)ISL!D:>!,J6"2%1^9I$@A1U&9$$DQ048046H8T$F%MO&$'=IL9 MR-ME=GPDX!RP5J@9<VG`J2E>.I84V1S`Y7%'&'FXH*`*S/KTA*DS-6O1%<V! M8"661U:71AEX<0?"A!J*P6%A[:'W*:`?"1ID&0JBFVIH;&CVG'.?*L:8N!WB MQD9T=,A[VZ&6N@D"FW"480:\3P(X<!AP%.R&ICTA)IH<9WR$;FU16478&&6D M46MXXVFFD!UOK/%1>D;4L=!E0UVK:Y579@EG&7)V>ZYN'ZD*<F4@E`AK')+! M04<>(@.9GKNX!3TT"PK.:VW,1\Y<,YTC;;K9D)^B)@<9QQ(&`@H5T_&%&3NU M\0425Z10&R0&_/60`GV591&SS4Y1<&=;!5G@76,JX=A&0/&4!M4@5*R8''F? M44<:XBV4[H"N0<+`$#XJ!\(4<+[!AAZ$*[14&GEO=89(2Z'1!EXJ0!+!3#6] M+;<2H?F7@V9MO:7@1$DH^!-C09!!QN<\S:%#Y!#`=Q5A[7V[$\=D3/618K-Y MZ(:3JGTT!D\<RZ$8>/25!((,UN[+9%##PPT)!$N4D<<75V#U!12$$1N]H,0G M,<<72WU1H;+FHZ\^^^Z#'[>\`Q[<Z$P,A`G#&F#U(0\!26)O>`,<F-8_==D/ M?V++4J7:!)[5>$@,KRK/'/AW$PB`KPA8,)44G,"BEBQO-L[#"VH^MAJG;,9W MT2M?"9.P$#F@``164%%/=/"BIE1L)"G8`0A,0#PBT,R'0!0B"(BH$"-:+HG$ M0X($#8:P=7E'>6]@7@PWXS42P0DD6&G*2-#4DR'V(#$@6`%;B%>%+QHAC5]P MV9%TAJO'-"A+S7O,'.CX13WR3&=55$X8>N.Q^#!N<`(BPPB)1P5NT4$^.J2( M8'"CI##"T&O[*AE>=%:@%0UA":I9Y)S(]H8VK.LB&:'@3220!B`M14M0FDM( M5$8&?]GPEM[Q#2RK\(4RX,$PPO16=78CDLA)P`Q;\0X)SQ>$GA0!#V'PXT?> M`"0VG<DJ)3I9O19SHHX4)D(+V8]':+.L9CDA2M%2@8*,UX0P0*638HB,*[GY M2LUY9"2UJA%F>L+/DN#F6#9+4WJNYQ&Z<-!."D)@&13H(?/P$S&$*5B:0@F' M6($'-6XX0\\FJ"'O*$6$(&"#8Y9BF8&&X':06()#W.:0FBJ`(VZ0CG:($`0J M!`$*3Y`"%20"`A+,8`8PV(%VIN!3*@!5J$0UZ@QBH%3S'8`(4IA"5'&05(M$ M)$L))(-_O!5)L43NJE)`U1M)0(.N@N"K1PKK6#5&LXY]S"@W.4`03AE5(Q1! MB6\=IBE1B=>^C*I4IR*J#&I``\!&Q%N'56%%BS,NO.22+@5J2@%[XBZSPJTO M4BC"%(HPU+X:H:H@J$(0A/J%)CR!"$6(Z@S,4-4@RD$[5'!,&;[P!.+($@3I M6U_[[B=`^?52.Q?,W\L^*Y]B'E,Z>"%B530W43=4U2'P\V3SO$8H.A#A2"AH MPB.%,"X=X*L,2;R)`>367;SPY"/G'9-\:O,$5+K-MA;!@G3'554AE.$,"E%0 M8X#47&,B$R]OA&90Q&E#`],!M7W!PA3?F%0!9W2B=#BKA'7P1BB(A`Y;8&I/ MGTJ%+J`6$@>HY=>PJE5U82$%/8!!Y!3@-/\"^&'FB\"&._SA+?#4IR0V<>0B MH&()\\`'((AL8N<UY.XJ)`HH>/&)'U"$`9T8`3MNR8=!$.*F!AFP<@OKY;P< MU*&ZK2\]:T]]OB9A=6%5"C!V:]S,HK++<.7-LVHDZP3L845Q^<<_+7,7)GR1 M\?+W:V8I:Y;.#((JDZ&J*5O90)\F-E::#6U3W%!3E!B1L(VR;((UBFT%C(7? M6D2\OR-O4\S+7P&/+H-'DFX$4V1=`;O!U%'1+6^)\P6.U#G3B3QB?_\;8`6H MN,#/%6:"H\G@GCBXJA>VC(*R7.'/YGHRNQ:;KY/'81!4NR^YQ79OY])M!7L' MPL#]WW#?%S\"$MK<94`WJM.@ZH]T^]L6B7:&S8=E0O=Y+ET>L:#!;!8QB]BI M99Y;ZVZ"`!6;+`]*&F#TWKC,9H/`QL6^R0C"O=MQ$[KB)QY!<`%(W';GD.)R M,$C(GQTY$3CZRAS/=J_+P^TWSJ$.8Q@#"F+^H2]<K\Y8Y+>*8S[NF?\:R3&` M@=+7U9/5W#AR)B`ZK[=-;@J?..JZ]GBW00[U5^LOUBA7.=2_@^XZKQD%4?8H M"%@,8V^GP$,CV7G6S1-V],K;T!WJ]K__W--`"U7(UCXVWC]RY"232K(U)C:. M;Q*"L(VM;%]``V.Z/>]ZG[CQ`/HZS[:>\GA'S@,O=XC9N>+U+-6]JJ%70*09 MV3*H58;5F_9JX:YT&$UO$TA9LK1@ZQ0%G'EVU-8&0:D%7/EQ9?J\PWYZ\(^= M$><>F*CP9KJ7COE@`:LX"DKSS[(7+.#$*_\F"S`D8KH=-DM'@=.S%^9[;0\2 M4+L+KY!80')AO?G31RX!CO82]\V7`(PO/O[B1VB.9VEG<P4GM@`J-G+K5ESN M5G?2YW^1PP(!>&_H%TAMX!]8@2MGX`:3D3SPQP+SIWGCMWWG%H$*&$`F!QZ< M)W;FPP(L9SXJD'K@-W1S-Q<.Z#0AF"7EQFR?!Q1?E(-@1Q*==V+X9V4.D7K8 M]4+;]1'?Q3,H@%_%MVKGE5Z(1FGNI1CLIWOSM6<*@%_ZA7P"-E1$9'D.`8'! M)X8QAFX#-DS.!UW0QVS2]X)H1FUJJ&\WX0%RPP01U%$NT(=<J%X.ISX19UQQ M2'U*!`D*(#>CIR$/IR6#Z&Y_R#99MG<!AW!_=V(&@(;J@7,Z1P=!AV:+B'9M M-B!KEU5Q]G9ULG,@@&0RH'3I)3=U8B@@(%<642<<]R&,=FJ#YV];YF-]]V7: MD7K9)4;<11Q#T`;@@0(<T09<,B"P9W<,)S=3\!UX<3W,J"[>LH7WI2+Z97MJ M*(9%]%_*D7P9!VZ$AF\6P7S$9&!N2((6)X<1=HYU6`8:M6_J-8F]>'#`&'RA M.(K@\69QIH:4J(^"1FC+V(R/9F'TB&&18P`5$F6?*(F\J"B^"&0#UY":>',Y MAP*>J(;]V`-[M02H&'=#A71*!P-!)XQ*Z#P@L1^54B&U-1K:L6'>6(:*=U;J MV(;*AD8+5HA+<6('P"L-@G8H\&^5&&1OYV:F2%0H&1YO<'_X2)&`]F7J%683 M]8^_F'!NHY+:Q9)2P"U7(A^'"`%R$UJC-53R,2:+1"NV4AD=PH5>N%^;9I/? MMX;(]GSNZ)/5]UGZ1FH3"7`$>8G6!R1IIY1PQI1GY30#269_1V@D8`2GY9=Z MUXM3>9&?M8A8`)*GA'I&J`##^$D?44G2(99S9ANXL4&74CVO1",FTDG$:#U; M$1G@L8TC01%R8U#=8DFC5">EE)9NLV%@:&PZ$&SC2)?EF([RJ)#UV)`J-C@^ M\$9)=Y*)62UF>!,-\&IO@`=Y@`)(Q0))%Y$-D!1+408H,`(WP`(GD);O-!<\ M)!VQ.1M]>`+@B9W:R9TPX)TQ`)[BV10HD)X9D60JPWHYM7:&T22S$0+R>6(- MX!&BL9U(Y8H*>I=NN(,+IJ!R*#DR*#E1"9B,66(GQ@`J5IBD")!,*7V+*7"- MV6UF25H?NJ%\9Y&":3X@VFT:J7-I\(E]@9F:N01J**'"M(*>IP"IMWHLTQ-W M)!UYY'KCAWRR5T<Y4R=,,!H5LW9U($B_IR*0T`![0!BOXFZZ1SF*8CF8PR:; M<P)XT0:/-(L?(AN%91%J()=!BF9K,)SM(8YR`&'5V1<YR8X[&7U.`X\6\7!? M@%!?\(@GQY,E&'QJD)S!-Z=I&(8UR&'P-H_+:3X&,"<TRHDHL`81:0"!"'$I M*'U.EW&0L`&"2JB&JH+V9SX90'8-N:B3Z6=':9F`""1S8I(G*7V!I6+KT1YB M@AL>$0;@42<"4A\?`7\(('5TP&$@)WM.<QF3T4`.V*9I9F=?@P*+JI13<(IP M=VT=1QQJ>*1B,X$\)JN5&:,6(8-@])IQX01)0`5?P"),`&&CNGAH)IJ7E!&' M*`%[T!0FHC/R0:T$X3D/=A,4$!$$BQ?H(K`G6'(2IZJ(&F^!90:B(5*?JCP/ MZUEHYJU?T$`4>FX,UVGBDS?0NDWF(;!&X))HT(1AX%@46R(F@4[@DGN@EI8" M.R''2`8H4`<^\@6MXA'I!0D(\%55&A8\ZV<_>ZS:X:J):!8PX0#7E$V0\1$3 M,0(T]3:N"9HDH9MN62)590<R:6U-\1C`5J?"YA#U*F!7H!1-P09NT)]$8!B0 M@2RPT@1)0`0#P;(KP1(N-$"QXA^-2%;<T5$MT`()*F#["11O>P)0T*`7<;<# M<3WML1/V83EF@J`XFF\+*6WF0V-!0VCB=V+&!B1`R#,W6"V)RY%!@YX@<+B= MFX#JAH(/VP,5IY<>J69<,;8=]48/BGZ*$5!T41]<811,B[8W&7PODC^QR6DD M8B(>I!652R#%H7ANP$!`TDEG@#AM(+#^ZAM=.P=5]1W\4Q8S!0D6X!/PI#/A M5",S4:H.H1%<XA_A%"2XD98,]:0C$2)3\;AX"T9J0#.^41M)`"3ZVQB/L1,? M,Q2X64X>04&1,1>3029FLAE581Y+<2-)<`*N1#"P@B8!TDH?<05IH`>C\5&J M9#GT81^J::!CDK@.@1B))`<I)S3AH12UTA,!A2M#D2=3417?@A70JS=SD<)< ML3%V)25[!&KI(1\.`16)9!]I8#ASX5JPQ3\##`(%/$,,1L'UL1082(KIX1%J MA*9NT%)#\<`C\A&0<@?\\Y63T0:K(0>9A`"4H\(\I+SVH:#SB[/(N+,]F[3I MY2W@DI959!6J!55).TT-L,>%,AXH$,@80HI9HDR?8K?]VT!P\&&*/+]A`Y-C M$C8[@QBZM\20^R+?LF7T8SX-(#5S<@8CRQ44&P9G@!>EBQCJTK"%FH*;_$7Q M$Y;_J3.]?!DA]4IIZ2U/K%)2?!&O502[G#-XU,E[5"<3,Z6!!`?@&SF+_$4O M^Y+98A4H,E%K5,G_:<D#<4^:?'\#03#BI%#_PL`Y(KQ@]!@?',&CTQ'\.Q"= M]+^],4G\Y\:2$<=CLJ)#M<3_&09FH$987!XC@;W:FRJ>4RGP>7_UE`<>=`>P MV1.@C!CD7$YND!S(PS&%\P;8<2,:\;N6L\8OI0`TH0$:"%%5155%+DE.0P`E M)24*!```-`_/$0FA?P<```P-%`1$H0)$&C=SZ,BI,X9.FC<(09AY(P<$'31E M0(Q)(V=,'39A*D:I4X8DB(04PYPIHP,$E3MO0!QA\T9,‑Z9`R)DQCEE MZ+`("**HF8]L6/1T0P9$F39PZ.1Q`<((4H,\TYBQB!'$R)(9T_`TDX8-FS)- M[Z2Y"(),&#IAE(9A2K3HTZAYBHH%<0>C&ZX9OYI$$X:GFYANX;JH"Z+)$R)5 MF!29HH,H)`51#JX%T5).&:!T>%[,".?-03IEY/",0N<-G*5-HXAY0V>Q`A"7 MHQPUR_EDT+%76UM<F!$$18DW@5I.$.6NU-Z@>3K/*URAR>-FDI>Q?&`E'3-R MWK2)TML[3X@9Q>1!+3%\&Z\D27*'4\>A&_)%6](/;=Q-^O5A_278=@+=!LD! MPM4!%`C>@2<>>62I1H=&-^'4'%3/S=74&!B-L89!6TW7@W4$XG:`5L.9-$:% M#`:56!@&_055'2X<-(9%,7D61E,.OH?$%4JA.!UR;"AG(()^@:`CC^[!!Y9M MW"6XX'X'0<A10A3RIAM206ZU&TY[D0C87^JAQI-:9G$G1D8T):3417O-@<8; M'S5UV(2$P0%'&7^IQ1:,8J1Q!@ABU&&&&:FQP.%<*ZEI**(5S9&&'AD))T<: M3<$1GAAGM4$5B$0N.)H;W`$*(%]EX;0F"/O%*-R`GX*@0@H!C0%10HQ%(2FE M(/0`0@TP!+M#0%+MF>M!9)2!1Z\@P."""[I.6L:PMQ4UX!?%9N1K2'*$D<<6 MF3&E;!?&;57FM+G&5\874)CF!FH5^>K%M53DL2>U=H24+EB]7=ON::E16Y17 MLPG%FFLZ`+R2'#L411"K[L++TZP!!01%>&.@58=G7FE&![5KGG$08P33QIFO M,0@\\,&OZ8"RRD4Y4<8=*`R80L-[J*"S"A6^L2)[;3Q%41X[Z]Q'0'R20:U5 M;C3TD(!?]C;;&V?-!7(9(I-JH`$HLLRL;":W`((,42:Y)6\NIUCB@644&5C4 M:6?G-K5)+UU'TPY!Y-60+4U=M1M79\W8PZ"B4'/!((C-<@H@M/%&;+N6P3C* M15%\9-<%]\!RV7SNC6%>:9/(7=L+7HC7R:&BJT#=`3'MM-X-ND=>WP`&/G*U M`\?^(.H#>@%NP2O$T`7,UB*>]N$FKP!"#(P[#KFT=#-%[<4^:\PQE?>A<"/M MJ-WL<$'8D\=A&1Z.==P9--F$4]0)O:6@K+0J$/+M`X-Z-DZ^BG[DJ(1B33\D M#[C#I5"#@A/LS$DFL0IO#GB"FUGF`<I:2\.^!X(V_<=,(,`(QRR'&P8D;71N MZY_@#/0`KQW/:\IC7N,>YY7(->QA27#"$$``A2?$D`I%D`+\'M@[<+4&#N1* 1VQ@$!@D/2@]I1RQ00#0`&@`` ` end -------------------- END UUE FILE ---------------------------- Good Luck in MIDI programming!!! aron_fingers_nelson@cup.portal.com
Aron_Fingers_Nelson@cup.portal.com (09/24/87)
I know that I posted some inquiries about MPU 401 code in Pascal - got hardly any response so I guess hardly anyones working on music in pascal... Anyway I have another question - I have a routines that installs itself as a device driver reliably with int(s) 27 hex 1b (CTRL break) - dec 28 hex 1C (clock tick int) and dec 5 Hex 5 ( print screen ) ------- it works as you might expect, taking over whenever the INT is invoked. Can anyone tell me why it doesn't work with hex 0A? This is supposed to be the interrupt dec 10 address 0028 for the MPU-401. I'm so close at making this work and it doesn't!!! Why would it work with all the other interrupts and not with int 10? it just sits there and does nothing... If anyone knows interrupt handling in pascal please reply.. else 'C' is looking very good nowdays.................. aron_fingers_nelson@cup.portal.com