* interrupt-driven SPI handling routine.
* for 68HC11 AS11_IC assembler

SCIINT	EQU	$d6
	
BAUD	EQU	$102b
SCCR1	EQU	$102c
SCCR2	EQU	$102d
SCSR	EQU	$102e
SCDR	EQU	$102f
	
	ORG	MAIN_START


subroutine_initialize_module:
* insert address of routine into interrupt vector
	LDX	#$BF00
	LDD	#sci_receive
	STD	SCIINT,X
		
	LDAA SCSR  	;clear SPIF
	LDAA SCDR
	
	RTS

subroutine_put_byte:
	STAB	SCDR
	RTS

subroutine_to_var:
	LDAA	#0
	LDAB	SCDR
	STD	variable_sci_data
	LDD	variable_sci_data
	RTS
	
subroutine_enable_interrupts:
	CLI
	LDD	#0
	RTS

subroutine_disable_interrupts:
	SEI
	LDD	#0
	RTS
	
variable_sci_new_data:
	FDB	0

variable_sci_data:
	FDB	0
	
sci_receive:	
	LDAA 	SCSR
	LDAA	#0
	LDAB	SCDR
	STD	variable_sci_data

	LDD	#1
	STD	variable_sci_new_data
	
	RTI	




