Yahoo Groups archive

SynthModules

Index last updated: 2026-04-28 23:14 UTC

Message

Re: MIDI interupts

2004-04-10 by djbrow54

--- In SynthModules@yahoogroups.com, "grantrichter2001"
<grichter@a...> wrote:
> Dave,
> 
> See syncable.bas in the file section under Code 
> Fragments/Mbasic for how to talk to registers and enable and 
> disable interupts. At least as far as we have figured out yet. That 
> particular segment uses timer W, but the serial port should be 
> similar.
> 
> The interupt commands are compiler directives, not keywords. 
> For example, disable the interupt right before the interupt handler 
> name label, not inside the interupt handler routine itself.
> Grant

This is getting more weird.  I followed your lead and re-wrote the
interrupt routine.  In debug mode I can follow the code and see it
execute through the ISR and then exit.  This is significant progress
as before I could never exit the ISR.  However, none of the code
after executing the ISR seems to work correctly.  I traced it down to
all the variables I set within the ISR always are returned as 0.  I
wrote the following simple code:

	DISABLE SCI3INT_RDRF
MIDI_IN_ISR:
		MIDIDATA=RDR	'Read Receiver Data Register
		ctr=10
		debug [dec ctr,"=ctr "]
		end

When sent a MIDI command, it enters the ISR, prints in the debug
console, and halts.  However, the data written to the debug window
is:  0=ctr

No matter what variable or flag I put in the ISR, everthing reads
back as 0.  This is the same effect I saw in trying to read the SSR
register inside the ISR.  They also read as all 0's.

Your code clearly passes back MSEX.  I don't understand the
difference.

Dave

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.