
	PAGE

;********************************************************
;*							*
;*		メモリダンプ				*
;*							*
;********************************************************

DUMP_INIT
		CALL	LCDC_OFF

		BGCLR	$00,VBK_1
		BGCLR	SPACE,VBK_0
		BGSET	DUMPBG,VBK_0

		OBJCLR

		LD	DE,DEBUGMODE_CURSOR_INIT_DATA
		CALL	CURSOR_INIT

		CALL	DEBUGMODE_ALL_ADDR_DISPLAY

		XOR	A
		LD	(VBK_BUF),A
		LD	(SVBK_BUF),A

		LD	A,1
		LD	(DEBUG_ON),A

		VECTOR	VBLK,DUMP_VBLK_INT

		NEXT_MAIN	DUMP

		CALL	LCDC_ON

		RET


;********************************************************
;*							*
;*		ダンプ					*
;*							*
;********************************************************

DUMP
		CALL	CURSOR_MOV

		CALL	CHANGE_ADDR_AND_SETDATA

		LD	A,(TRG1)
		BIT	SE_KEY_BIT,A
		JR	Z,_10

		LD	A,(VBK_BUF)
		XOR	1
		LD	(VBK_BUF),A

		LD	A,(SVBK_BUF)
		INC	A
		AND	$07
		LD	(SVBK),A
		LD	(SVBK_BUF),A

;--------------------------------------------------------

_10		LD	A,(CNT1)
		CP	A_KEY | B_KEY
		RET	NZ

		XOR	A
		LD	(DEBUG_ON),A

		NEXT_MAIN	SET_BG_TITLE
		RET


;********************************************************
;*							*
;*		メモリダンプ V-BLANK割り込み		*
;*							*
;********************************************************

VBK_DSP_ADDR	=	$9986
SVBK_DSP_ADDR	=	$998E

DUMP_VBLK_INT
		PUSH	AF
		PUSH	BC
		PUSH	DE
		PUSH	HL

		LD	HL,VBK_DSP_ADDR
		LD	A,(VBK_BUF)
		AND	$01
		ADD	A,$E0
		LD	(HL),A

		LD	HL,SVBK_DSP_ADDR
		LD	A,(SVBK_BUF)
		AND	$07
		ADD	A,$E0
		LD	(HL),A

;--------------------------------------------------------

		LD	A,(VBCOUNT)
		INC	A
		LD	(VBCOUNT),A

		LD	A,1
		LD	(VBLK_FLG),A		; VBLK_FLGセット

		POP	HL
		POP	DE
		POP	BC
		POP	AF

		RETI


;********************************************************
;*							*
;*		カーソル座標データ			*
;*							*
;********************************************************

DSP_MAX		=	8

DEBUGMODE_CURSOR_INIT_DATA
		DB	DSP_MAX			; CURSOR_Y_MAX
		DB	6			; CURSOR_X_MAX
		DW	DEBUGMODE_CURSOR_XY_POS
		DB	$08			; CURSOR_CHR_No1
		DB	$DF			; CURSOR_CHR_No2
		DB	$81			; CURSOR_ATRB
		DB	30			; CURSOR_TIMER_MAX

CURSOR_Y_BASE	=	$28
CURSOR_X_BASE	=	$18

DEBUGMODE_CURSOR_XY_POS
		DB	CURSOR_Y_BASE + $00, CURSOR_X_BASE + $00
		DB	CURSOR_Y_BASE + $00, CURSOR_X_BASE + $08
		DB	CURSOR_Y_BASE + $00, CURSOR_X_BASE + $10
		DB	CURSOR_Y_BASE + $00, CURSOR_X_BASE + $18
		DB	CURSOR_Y_BASE + $00, CURSOR_X_BASE + $60
		DB	CURSOR_Y_BASE + $00, CURSOR_X_BASE + $68

		DB	CURSOR_Y_BASE + $08, CURSOR_X_BASE + $00
		DB	CURSOR_Y_BASE + $08, CURSOR_X_BASE + $08
		DB	CURSOR_Y_BASE + $08, CURSOR_X_BASE + $10
		DB	CURSOR_Y_BASE + $08, CURSOR_X_BASE + $18
		DB	CURSOR_Y_BASE + $08, CURSOR_X_BASE + $60
		DB	CURSOR_Y_BASE + $08, CURSOR_X_BASE + $68

		DB	CURSOR_Y_BASE + $10, CURSOR_X_BASE + $00
		DB	CURSOR_Y_BASE + $10, CURSOR_X_BASE + $08
		DB	CURSOR_Y_BASE + $10, CURSOR_X_BASE + $10
		DB	CURSOR_Y_BASE + $10, CURSOR_X_BASE + $18
		DB	CURSOR_Y_BASE + $10, CURSOR_X_BASE + $60
		DB	CURSOR_Y_BASE + $10, CURSOR_X_BASE + $68

		DB	CURSOR_Y_BASE + $18, CURSOR_X_BASE + $00
		DB	CURSOR_Y_BASE + $18, CURSOR_X_BASE + $08
		DB	CURSOR_Y_BASE + $18, CURSOR_X_BASE + $10
		DB	CURSOR_Y_BASE + $18, CURSOR_X_BASE + $18
		DB	CURSOR_Y_BASE + $18, CURSOR_X_BASE + $60
		DB	CURSOR_Y_BASE + $18, CURSOR_X_BASE + $68

		DB	CURSOR_Y_BASE + $20, CURSOR_X_BASE + $00
		DB	CURSOR_Y_BASE + $20, CURSOR_X_BASE + $08
		DB	CURSOR_Y_BASE + $20, CURSOR_X_BASE + $10
		DB	CURSOR_Y_BASE + $20, CURSOR_X_BASE + $18
		DB	CURSOR_Y_BASE + $20, CURSOR_X_BASE + $60
		DB	CURSOR_Y_BASE + $20, CURSOR_X_BASE + $68

		DB	CURSOR_Y_BASE + $28, CURSOR_X_BASE + $00
		DB	CURSOR_Y_BASE + $28, CURSOR_X_BASE + $08
		DB	CURSOR_Y_BASE + $28, CURSOR_X_BASE + $10
		DB	CURSOR_Y_BASE + $28, CURSOR_X_BASE + $18
		DB	CURSOR_Y_BASE + $28, CURSOR_X_BASE + $60
		DB	CURSOR_Y_BASE + $28, CURSOR_X_BASE + $68

		DB	CURSOR_Y_BASE + $30, CURSOR_X_BASE + $00
		DB	CURSOR_Y_BASE + $30, CURSOR_X_BASE + $08
		DB	CURSOR_Y_BASE + $30, CURSOR_X_BASE + $10
		DB	CURSOR_Y_BASE + $30, CURSOR_X_BASE + $18
		DB	CURSOR_Y_BASE + $30, CURSOR_X_BASE + $60
		DB	CURSOR_Y_BASE + $30, CURSOR_X_BASE + $68

		DB	CURSOR_Y_BASE + $38, CURSOR_X_BASE + $00
		DB	CURSOR_Y_BASE + $38, CURSOR_X_BASE + $08
		DB	CURSOR_Y_BASE + $38, CURSOR_X_BASE + $10
		DB	CURSOR_Y_BASE + $38, CURSOR_X_BASE + $18
		DB	CURSOR_Y_BASE + $38, CURSOR_X_BASE + $60
		DB	CURSOR_Y_BASE + $38, CURSOR_X_BASE + $68


;********************************************************

	END
