home *** CD-ROM | disk | FTP | other *** search
-
- midisend equ $FFFFFC06
- midiread equ $FFFFFC06
- midictrl equ $FFFFFC04
- midistat equ $FFFFFC04
- mfpiis equ $FFFFFA11 ; bit 6... for midi-acia...
- bit6 equ $40
- notbit6 equ $BF
-
-
- main:
- bra.b instal
- dc.b "MTRU" ; more or less dbra protocol...
- dc.b "DBRA"
-
- interrupt:
- btst #3,midistat ; check midi out status
- bne.b notready
- move.b d0,midisend ; if ready, send character on
- notready:
- andi.b #notbit6,mfpiis ; disable interrupt-in-service bit in mfp
- rts
-
- instal:
- move.w #$0022,-(a7) ; Kbdvbase
- trap #14 ; Xbios
- addq.l #2,a7
- movea.l d0,a0 ;
- move.l (a0),a1
- cmpi.l #"MTRU",-8(a1) ; already installed?
- beq.b present ; then leave
- move.l (a0),oldvec
- move.l #interrupt,(a0) ; replace midi routine by our own interrupt
- bra.b show
-
- present:
- pea text2 ; message: already present
- move.w #$9,-(a7)
- trap #1
- addq.l #6,a7
- move.w #0,-(a7)
- move.w #$4c,-(a7) ; pterm
- trap #1 ; do not install
-
- show:
- pea text ; greet the people
- move.w #$9,-(a7)
- trap #1
- addq.l #6,a7
- move.w #0,d0
- move.l #386,-(a7) ; 256(basepage) + 130(for program)
- move.w #$31,-(a7) ; terminate & stay resident
- trap #1
-
- .bss
- oldvec:
- ds.l 1
-
- .data
- text: dc.b 10,13," *** Midi-thru (C) Copyright E. van Herk 1990"
- dc.b 10,13," Midi-thru installed ! ",10,13,0
- text2: dc.b 10,13," *** MIDI-THRU already loaded - aborted ! ",0
-