
	PAGE

;********************************************************
;*							*
;*		割り込みルーチン			*
;*							*
;********************************************************

VBLK_EXEC
		LD	A,(LCDC_BUF)		; LCDCセット
		LD	(LCDC),A

		DI
		CALL	DMAEXE			; DMA転送
		EI

		LD	A,(DEBUG_ON)
		BIT	0,A
		JR	Z,_10
		CALL	SET_SETDATA		; SETDATAを(ADDR)に代入
		CALL	DEBUGMODE_DATA_DISPLAY	; データ表示
		LD	A,(CURSOR_Y)
		CALL	DEBUGMODE_ADDR_DISPLAY	; アドレス表示

_10		LD	A,(SCY_BUF)		; スクロール値セット
		LD	(SCY),A
		LD	A,(SCX_BUF)
		LD	(SCX),A

		LD	A,(WY_BUF)		; ウィンドウ値セット
		LD	(WY),A
		LD	A,(WX_BUF)
		LD	(WX),A

		CALL	CONT			; キー入力

		XOR	A
		LD	(VBLK_FLG),A		; VBLK_FLGリセット
		RET


;********************************************************
;*							*
;*		V-BLANK割り込み				*
;*							*
;********************************************************

VBLK_INT
		PUSH	AF

		LD	A,(VBCOUNT)
		INC	A
		LD	(VBCOUNT),A

		LD	A,1
		LD	(VBLK_FLG),A		; VBLK_FLGセット

		POP	AF
		RETI


;********************************************************
;*							*
;*		H-BLANK割り込み				*
;*							*
;********************************************************

HBLK_INT
		PUSH	AF

		LD	A,(HBLK_FLG)
		INC	A
		LD	(HBLK_FLG),A

		POP	AF
		RETI


;********************************************************
;*							*
;*		TIMER割り込み				*
;*							*
;********************************************************

TIMER_INT
		PUSH	AF

		LD	A,(TIMER_INT_FLG)
		INC	A
		LD	(TIMER_INT_FLG),A

		POP	AF
		RETI


;********************************************************
;*							*
;*		SIO割り込み				*
;*							*
;********************************************************

SIO_INT
		PUSH	AF

		LD	A,(SIO_INT_FLG)
		INC	A
		LD	(SIO_INT_FLG),A

		POP	AF
		RETI


;********************************************************

	END
