;
		INCLUDE	zel_ram.asm
;
;------------------------------------------------------------------------
;
;		ZELDA-3			1990.03.06(TUE)
;
;------------------------------------------------------------------------
;
		ORG	01F000H
;
;=============================================== (zel_char) =============
		GLB	CHSMAIN,BCHBST
;
		GLB	O2CGST,O2CGST1,O2CGST2,KAGECST,KNCGSET
		GLB	DJCGSET,B3CGSET,LTCGSET,BMCGSET
		GLB	MSCGST1,MSCGST2,MSCGST3,SPCGST,DICGSET
		GLB	KABCGST,DSCGST1,DSCGST2,DSCGST3,PLCGSET
		GLB	KKCGSET
;========================================================================
;
		EXTEND
;
		MEM8
		IDX8
;
;
;
;=====================================================================
;
BCHA00		EQU	08A000H
BCHA01		EQU	BCHA00+0C00H
BCHA02		EQU	BCHA01+0C00H
BCHA03		EQU	BCHA02+0C00H
BCHA04		EQU	BCHA03+0C00H
BCHA05		EQU	BCHA04+0C00H
BCHA06		EQU	BCHA05+0C00H
BCHA07		EQU	BCHA06+0C00H
BCHA08		EQU	BCHA07+08C00H
BCHA09		EQU	BCHA08+0C00H
BCHA0A		EQU	BCHA09+0C00H
BCHA0B		EQU	BCHA0A+0C00H
BCHA0C		EQU	BCHA0B+0C00H
BCHA0D		EQU	BCHA0C+0C00H
BCHA0E		EQU	BCHA0D+0C00H
BCHB0E		EQU	BCHA0E+0600H
BCHA0F		EQU	BCHB0E+0600H
BCHB0F		EQU	BCHA0F+0600H
BCHA10		EQU	BCHB0F+0600H
BCHB10		EQU	BCHA10+0600H
BCHA11		EQU	BCHB10+0600H
BCHB11		EQU	BCHA11+0600H
BCHA12		EQU	BCHB11+0600H
BCHB12		EQU	BCHA12+0600H
BCHA13		EQU	BCHB12+08600H
BCHB13		EQU	BCHA13+0600H
BCHA14		EQU	BCHB13+0600H
BCHB14		EQU	BCHA14+0600H
BCHA15		EQU	BCHB14+0600H
BCHB15		EQU	BCHA15+0600H
BCHA16		EQU	BCHB15+0600H
BCHB16		EQU	BCHA16+0600H
BCHA17		EQU	BCHB16+0600H
BCHB17		EQU	BCHA17+0600H
BCHA18		EQU	BCHB17+0600H
BCHB18		EQU	BCHA18+0600H
BCHA19		EQU	BCHB18+0600H
BCHB19		EQU	BCHA19+0600H
BCHA1A		EQU	BCHB19+0600H
BCHB1A		EQU	BCHA1A+0600H
BCHA1B		EQU	BCHB1A+0600H
BCHB1B		EQU	BCHA1B+0600H
BCHA1C		EQU	BCHB1B+0600H
BCHB1C		EQU	BCHA1C+0600H
BCHA1D		EQU	BCHB1C+0600H
BCHB1D		EQU	BCHA1D+0600H
BCHA1E		EQU	BCHB1D+08600H
BCHB1E		EQU	BCHA1E+0600H
BCHA1F		EQU	BCHB1E+0600H
BCHB1F		EQU	BCHA1F+0600H
BCHA20		EQU	BCHB1F+0600H
BCHB20		EQU	BCHA20+0600H
BCHA21		EQU	BCHB20+0600H
BCHB21		EQU	BCHA21+0600H
;
BCHA22		EQU	BCHB21+0600H	;obj 2bit data
BCHA23		EQU	BCHA22+0800H	;BG3 2bit data
BCHA24		EQU	BCHA23+02800H	;7 mode data
;
;
;
BCADB		EQU	$
		BYTE	BANK BCHA00,BANK BCHA01,BANK BCHA02,BANK BCHA03
		BYTE	BANK BCHA04,BANK BCHA05,BANK BCHA06,BANK BCHA07
		BYTE	BANK BCHA08,BANK BCHA09,BANK BCHA0A,BANK BCHA0B
	        BYTE    BANK BCHA0C,BANK BCHA0D
		BYTE	BANK BCHA0E,BANK BCHB0E,BANK BCHA0F,BANK BCHB0F
	        BYTE    BANK BCHA10,BANK BCHB10,BANK BCHA11,BANK BCHB11
		BYTE	BANK BCHA12,BANK BCHB12,BANK BCHA13,BANK BCHB13
		BYTE	BANK BCHA14,BANK BCHB14,BANK BCHA15,BANK BCHB15
		BYTE	BANK BCHA16,BANK BCHB16,BANK BCHA17,BANK BCHB17
		BYTE	BANK BCHA18,BANK BCHB18,BANK BCHA19,BANK BCHB19
		BYTE	BANK BCHA1A,BANK BCHB1A,BANK BCHA1B,BANK BCHB1B
		BYTE	BANK BCHA1C,BANK BCHB1C,BANK BCHA1D,BANK BCHB1D
		BYTE	BANK BCHA1E,BANK BCHB1E,BANK BCHA1F,BANK BCHB1F
		BYTE	BANK BCHA20,BANK BCHB20,BANK BCHA21,BANK BCHB21
MD7B		EQU	$
		BYTE	BANK BCHA24
OBDB		EQU	$
		BYTE	BANK BCHA22
BBDB		EQU	$
		BYTE	BANK BCHA23
;
BCADH    	EQU     $ 
	        BYTE    HIGH BCHA00,HIGH BCHA01,HIGH BCHA02,HIGH BCHA03 
	        BYTE    HIGH BCHA04,HIGH BCHA05,HIGH BCHA06,HIGH BCHA07 
	        BYTE    HIGH BCHA08,HIGH BCHA09,HIGH BCHA0A,HIGH BCHA0B 
	        BYTE    HIGH BCHA0C,HIGH BCHA0D
		BYTE	HIGH BCHA0E,HIGH BCHB0E,HIGH BCHA0F,HIGH BCHB0F
	        BYTE    HIGH BCHA10,HIGH BCHB10,HIGH BCHA11,HIGH BCHB11
		BYTE	HIGH BCHA12,HIGH BCHB12,HIGH BCHA13,HIGH BCHB13 
		BYTE	HIGH BCHA14,HIGH BCHB14,HIGH BCHA15,HIGH BCHB15 
		BYTE	HIGH BCHA16,HIGH BCHB16,HIGH BCHA17,HIGH BCHB17 
		BYTE	HIGH BCHA18,HIGH BCHB18,HIGH BCHA19,HIGH BCHB19 
		BYTE	HIGH BCHA1A,HIGH BCHB1A,HIGH BCHA1B,HIGH BCHB1B 
		BYTE	HIGH BCHA1C,HIGH BCHB1C,HIGH BCHA1D,HIGH BCHB1D 
		BYTE	HIGH BCHA1E,HIGH BCHB1E,HIGH BCHA1F,HIGH BCHB1F 
		BYTE	HIGH BCHA20,HIGH BCHB20,HIGH BCHA21,HIGH BCHB21 
MD7H     	EQU     $
         	BYTE    HIGH BCHA24 
OBDH    	EQU     $ 
         	BYTE    HIGH BCHA22 
BBDH    	EQU     $ 
         	BYTE    HIGH BCHA23 
; 
BCADL    	EQU     $ 
         	BYTE    LOW BCHA00,LOW BCHA01,LOW BCHA02,LOW BCHA03 
         	BYTE    LOW BCHA04,LOW BCHA05,LOW BCHA06,LOW BCHA07 
	        BYTE    LOW BCHA08,LOW BCHA09,LOW BCHA0A,LOW BCHA0B 
	        BYTE    LOW BCHA0C,LOW BCHA0D
		BYTE	LOW BCHA0E,LOW BCHB0E,LOW BCHA0F,LOW BCHB0F
	        BYTE    LOW BCHA10,LOW BCHB10,LOW BCHA11,LOW BCHB11
		BYTE	LOW BCHA12,LOW BCHB12,LOW BCHA13,LOW BCHB13 
		BYTE	LOW BCHA14,LOW BCHB14,LOW BCHA15,LOW BCHB15 
		BYTE	LOW BCHA16,LOW BCHB16,LOW BCHA17,LOW BCHB17 
		BYTE	LOW BCHA18,LOW BCHB18,LOW BCHA19,LOW BCHB19 
		BYTE	LOW BCHA1A,LOW BCHB1A,LOW BCHA1B,LOW BCHB1B 
		BYTE	LOW BCHA1C,LOW BCHB1C,LOW BCHA1D,LOW BCHB1D 
		BYTE	LOW BCHA1E,LOW BCHB1E,LOW BCHA1F,LOW BCHB1F 
		BYTE	LOW BCHA20,LOW BCHB20,LOW BCHA21,LOW BCHB21 
MD7L     	EQU     $ 
         	BYTE    LOW BCHA24
OBDL     	EQU     $ 
         	BYTE    LOW BCHA22
BBDL     	EQU     $ 
         	BYTE    LOW BCHA23
;
;
;
C_A0		EQU	016H
C_A1		EQU	017H
C_B0		EQU	018H
C_B1		EQU	019H
C_C0		EQU	01AH
C_C1		EQU	01BH
C_D0		EQU	01CH
C_D1		EQU	01DH
C_E0		EQU	01EH
C_E1		EQU	01FH
C_F0		EQU	020H
C_F1		EQU	021H
C_G0		EQU	022H
C_G1		EQU	023H
C_H0		EQU	024H
C_H1		EQU	025H
C_I0		EQU	026H
C_I1		EQU	027H
C_J0		EQU	028H
C_J1		EQU	029H
C_K0		EQU	02AH
C_K1		EQU	02BH
C_L0		EQU	02CH
C_L1		EQU	02DH
C_M0		EQU	02EH
C_M1		EQU	02FH
C_N0		EQU	030H
C_N1		EQU	031H
C_O0		EQU	032H
C_O1		EQU	033H
C_P0		EQU	034H
C_P1		EQU	035H
; 
C__Q    	EQU     014H           ;player 
C__R    	EQU     014H 

C__S    	EQU     000H 
C__T    	EQU     001H 
C__U    	EQU     002H 
C__V    	EQU     003H 
C__W    	EQU     004H 
C__X    	EQU     005H 
C__Y    	EQU     006H 
C__Z    	EQU     007H 
C_1A    	EQU     008H 
C_1B    	EQU     009H 
C_1C    	EQU     00AH 
C_1D    	EQU     00BH 
C_1E    	EQU     00CH 
C_1F    	EQU     00DH		; OBJ.
;
C_1G    	EQU     00CH 
C_1H    	EQU     00DH		; mode-7
; 
C1I0    	EQU     00EH 
C1I1    	EQU     00FH 
C1J0    	EQU     010H 
C1J1    	EQU     011H 
C1K0    	EQU     012H 
C1K1    	EQU     013H 
C1L0    	EQU     014H
C1L1    	EQU     015H		; BG.
;
C_1M    	EQU     022H		; BG. OBJ. char
;
C_1N    	EQU     023H 
C_1O	  	EQU     024H 
C_1P    	EQU     025H 
C_1Q    	EQU     026H 
C_1R    	EQU     027H		; BG.3 char
; 
; 
;<<<<<< OBJ >>>>>>> 
OBCHDAT  	EQU     $ 
		BYTE	C__S,C__W,C__Z  ;  0 ground 
		BYTE	C__S,C__Y,C__T  ;  1 danjon
		BYTE	C__S,C__W,C__Z  ;  2
		BYTE	C__S,C__W,C__Z  ;  3
		BYTE	C__S,C__W,C__Z  ;  4
		BYTE	C__S,C__W,C__Z  ;  5
		BYTE	C__S,C__W,C__Z  ;  6
		BYTE	C__S,C__W,C__Z  ;  7
		BYTE	C__S,C__W,C__Z  ;  8
		BYTE	C__S,C__W,C__Z  ;  9
		BYTE	C__S,C__W,C__Z  ;  A
		BYTE	C__S,C__W,C__Z  ;  B
		BYTE	C__S,C__W,C__Z  ;  C
		BYTE	C__S,C__W,C__Z  ;  D
		BYTE	C__S,C__W,C__Z  ;  E
		BYTE	C__S,C__W,C__Z  ;  F
		BYTE	C__S,C__W,C__Z  ; 10
		BYTE	C__S,C__W,C__Z  ; 11
; 
BGCHDAT  	EQU     $ 
; <<<<<<  BG   >>>>>>>> 
		BYTE	C_I0,C_I1,C_J0,C_J0,C1I0,C1J1,C1J0,C1J1	;  0 ground
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  1 danjyon
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  2
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  3
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  4
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  5
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  6
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  7
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  8
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  9
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  A
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  B
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  C
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  D
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  E
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	;  F
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	; 10
		BYTE	C_A0,C_A1,C_D0,C_G0,C1I0,C1J1,C1K0,C1K1	; 11
;
;
;
;************************************************************************
;*		Block char. buffer set			(BCHBST)	*
;************************************************************************
BCBPTD		EQU	$
;;;;		WORD	00000H,000C0H,00100H,00140H
		WORD	00018H*00H,00018H*40H,00018H*42H,00018H*46H
;
;
BCHBST		EQU	$
		PHB
		PHK
		PLB			; (DBR) push
;
		MEM16
		REP	#00100000B	; memory 16bit mode
		IDX8
		SEP	#00010000B	; index 8bit mode
;
		LDA	<BKMODE
		AND	#00003H
		ASL	A
		TAX
		LDA	BCBPTD,X
		STA	<WORK8
;
		MEM8
		SEP	#00100000B	; memory 8bit mode
;
		LDY	#000H
		LDA	#04CH		; Vram addres (04C00H)
		JSR	BCBS200		; character set
;
		LDA	#04DH		; Vram addres (04D00H)
		JSR	BCBS200		; character set
;
		MEM8
		IDX8
		SEP	#00110000B	; memory,index 8bit mode
;
		PLB			; (DBR) pull
		RTL
;
;
BCBS200		EQU	$
		STZ	2116H
		STA	2117H		; Vram addres set
;
		LDX	#C_1E
         	LDA     BCADL,X 
         	STA     <WORK0
         	LDA     BCADH,X 
         	STA     <WORK1 
         	LDA     BCADB,X 
         	STA     <WORK2 
;
         	MEM16
         	REP     #00100000B	; memory 16bit mode
; 
		LDA	<WORK0
		CLC
		ADC	<WORK8
		STA	<WORK0
;
		LDA	#00002H
		STA	<WORKE
BCBS220		EQU	$
		LDX	#003H
BCBS240		EQU	$
		LDA	[<WORK0]
		STA	!BKCHBF0,Y
		INC	<WORK0
		INC	<WORK0
		INY
		INY
;
		LDA	[<WORK0]
		STA	!BKCHBF0,Y
		INC	<WORK0
		INC	<WORK0
		INY
		INY
		DEX
		BPL	BCBS240		;
;					;
		LDX	#003H
BCBS260		EQU	$
		LDA	[<WORK0]
		AND	#000FFH
		STA	!BKCHBF0,Y
		INC	<WORK0
		INY
		INY
;
		LDA	[<WORK0]
		AND	#000FFH
		STA	!BKCHBF0,Y
		INC	<WORK0
		INY
		INY
		DEX
		BPL	BCBS260		;
;					;
		DEC	<WORKE
		BNE	BCBS220		;
;					;
		LDA	<WORK8
		CLC
		ADC	#00180H
		STA	<WORK8
;
		MEM8
		SEP	#00100000B	; memory 8bit mode
; 
		RTS
;
;
;*************************************************************************
;*       inital charcter set main program               (CHSMAIN)        *
;*                                                                       *
;*************************************************************************
CHSMAIN		EQU	$
		PHB
		PHK
		PLB			; (DBR) set
;	
	        LDA     #10000000B     ;addres inc mode set
        	STA     2115H 
; 
;<<<<< obj charcter set >>>>>>
	        STZ     2116H          ;Low
        	LDA     #048H 
	        STA     2117H           ;vram addres High (4800H) 
; 
        	LDX     #02H
	        LDA	!CHARBK
		ASL     A 
	        ADC	!CHARBK
	        TAY
CHM0050 	EQU     $ 
	        LDA     OBCHDAT,Y 
	        STA     <WORK4,X 
	        INY
	        DEX
	        BPL     CHM0050 
; 
	        LDA     #02H
	        STA     <WORKF 
; 
CHM0070  	EQU     $ 
	        LDX     <WORKF 
	        LDY     <WORK4,X 
	        JSR     CHSET 
	        DEC     <WORKF 
	        BPL     CHM0070 
; 
;<<<<< obj 2bit set >>>>>>
	        STZ     2116H          ;Low
        	LDA     #040H 
	        STA     2117H           ;vram addres High (4000H) 
; 
        	JSR 	CHSET1
; 
;<<<<< BG,OBJ character set >>>>>
		STZ	2116H
		LDA	#04CH
		STA	2117H		; Vram addres set (04E00H)
		LDX	#C_1E
         	LDA     BCADL,X 
         	STA     <WORK0 
         	LDA     BCADH,X 
         	STA     <WORK1 
         	LDA     BCADB,X 
         	STA     <WORK2 
         	MEM16
         	REP     #00100000B	; memory 16bit mode
; 
		LDY	#03FH
		JSR	CHS0000		; character set
;
		MEM8
;
; 
;<<<<< 2 bit charcter set (BG3) >>>>>
; 
	        STZ     2116H           ;Low
	        LDA     #070H 
	        STA     2117H           ;vram addres High (7000H) 
; 
	        LDA     BBDL
        	STA     <WORK0 
	        LDA     BBDH
        	STA     <WORK1 
	        LDA     BBDB
        	STA     <WORK2 
; 
	        MEM16
        	IDX16
         	REP     #00110000B	; memory,index 16bit mode
; 
	        LDX     #013FFH         ;2 bit mode charcter set 
CHM0500  	EQU     $ 
         	LDA     [<WORK0] 
         	STA     2118H 
         	INC	<WORK0
         	INC	<WORK0
		BNE	CHM0550
;
		LDA	#08000H
		STA	<WORK0
		INC	<WORK2
CHM0550		EQU	$
         	DEX
         	BPL     CHM0500 
; 
         	MEM8 
         	IDX8 
         	SEP     #00110000B	; memory,index 8bit mode
; 
; 
;<<<<< BG charcter set >>>>>      normal & 7mode
; 
;;;;;;;;         LDA      #10000000B      ;addres inc mode set
;;;;;;;;         STA      2115H 
; 
		MEM16
		IDX16
		REP	#00110000B	; memory,index 16bit mode
;
		LDA	#02000H
         	STA     2116H           ; vram addres (2000H) 
; 
         	LDX     #00007H
         	LDA     !CHIKNO
         	ASL     A 
         	ASL     A 
         	ASL     A 
         	TAY
;
		MEM8
		SEP	#00100000B	; memory 8bit mode
CHM0100  	EQU     $ 
         	LDA     BGCHDAT,Y 
         	STA     <WORK4,X 
         	INY
         	DEX
         	BPL     CHM0100 
; 
		IDX8
		SEP	#00010000B	; index 8bit mode
;
         	LDA     #007H
         	STA     <WORKF 
CHM0300  	EQU     $ 
         	LDX     <WORKF 
         	LDY     <WORK4,X 
         	JSR     CHSET0 
         	DEC     <WORKF 
         	BPL     CHM0300 
; 
		PLB			; (DBR) reset
		RTL
; 
; 
; 
CHM0777  	EQU     $ 
         	JSR     MD7CHST 
CHM0700  	EQU     $ 
		PLB			; (DBR) reset
		RTL
; 
; 
;*************************************************************************
;*       Y ----- flg  0~                                                 *
;*************************************************************************
CHSET    	EQU     $ 
         	LDA     BCADL,Y 
         	STA     <WORK0 
; 
         	LDA     BCADH,Y 
         	STA     <WORK1 
         	LDA     BCADB,Y 
         	STA     <WORK2 
; 
; 
         	MEM16
         	REP     #00100000B	; memory 16bit mode
; 
         	LDY     #07FH 
CHS0000  	EQU     $ 
         	LDX     #07H
; 
CHS0100  	EQU     $ 
         	LDA     [<WORK0]
         	STA     2118H 
; 
         	INC     <WORK0 
         	INC     <WORK0 
         	BNE     CHS0300         ;bank chengi ?
; 
         	LDA     #08000H         ;bank inc 
         	STA     <WORK0 
         	INC     <WORK2 
CHS0300  	EQU     $ 
         	DEX
         	BPL     CHS0100 
; 
         	LDX     #07H
CHS0500  	EQU     $ 
         	LDA     [<WORK0] 
         	AND     #00FFH
         	STA     2118H 
         	INC     <WORK0 
         	BNE     CHS0700         ;bank chengi ?
; 
         	LDA     #08000H         ;yes
         	STA     <WORK0           ;bank inc 
         	INC     <WORK2 
CHS0700  	EQU     $ 
         	DEX
         	BPL     CHS0500 
; 
         	DEY
         	BPL     CHS0000 
; 
         	MEM8 
         	SEP     #00100000B	; memory 8bit mode
         	RTS
; 
; 
;*************************************************************************
;*       Y ----- flg  0~                                                 *
;*************************************************************************
CHSET0    	EQU     $ 
         	LDA     BCADL,Y 
         	STA     <WORK0 
; 
         	LDA     BCADH,Y 
         	STA     <WORK1 
         	LDA     BCADB,Y 
         	STA     <WORK2 
; 
; 
         	MEM16
         	REP     #00100000B	; memory 16bit mode
; 
         	LDY     #03FH 
		BRA	CHS0000
;
; 
		MEM8
;*************************************************************************
;*    obj 2bit CH set	                                                *
;*************************************************************************
CHSET1    	EQU     $ 
         	LDA     OBDL 
         	STA     <WORK0 
; 
         	LDA     OBDH 
         	STA     <WORK1 
         	LDA     OBDB 
         	STA     <WORK2 
; 
;;;;              <WORK3    dumy 
; 
;// 02/03/08 //          	MEM16
;// 02/03/08 //          	REP     #00100000B	; memory 16bit mode
;// 02/03/08 // ; 
;// 02/03/08 //          	LDY     #07FH 
;// 02/03/08 // CHS1000  	EQU     $ 
;// 02/03/08 //          	LDX     #07H
;// 02/03/08 // CHS1100  	EQU     $ 
;// 02/03/08 //          	STZ     2118H 
;// 02/03/08 //          	DEX
;// 02/03/08 //          	BPL     CHS1100 
;// 02/03/08 // ; 
;// 02/03/08 //          	LDX     #07H
;// 02/03/08 // CHS1300  	EQU     $ 
;// 02/03/08 //          	LDA     [<WORK0]
;// 02/03/08 //          	STA     2118H 
;// 02/03/08 // ; 
;// 02/03/08 //          	INC     <WORK0 
;// 02/03/08 //          	INC     <WORK0 
;// 02/03/08 //          	BNE     CHS1500         ;bank chengi ?
;// 02/03/08 // ; 
;// 02/03/08 //          	LDA     #08000H         ;bank inc 
;// 02/03/08 //          	STA     <WORK0 
;// 02/03/08 //          	INC     <WORK2 
;// 02/03/08 // CHS1500  	EQU     $ 
;// 02/03/08 //          	DEX
;// 02/03/08 //          	BPL     CHS1300 
;// 02/03/08 // ; 
;// 02/03/08 //          	DEY
;// 02/03/08 //          	BPL     CHS1000 
;// 02/03/08 // ; 
;// 02/03/08 //          	MEM8 
;// 02/03/08 //          	SEP     #00100000B	; memory 8bit mode
;// 02/03/08 //          	RTS
;
         	MEM16
         	REP     #00100000B	; memory 16bit mode
; 
         	LDY     #07FH 
CHS1000  	EQU     $ 
         	LDX     #07H
; 
CHS1100  	EQU     $ 
         	LDA     [<WORK0]
         	STA     2118H 
; 
         	INC     <WORK0 
         	INC     <WORK0 
         	BNE     CHS1300         ;bank chengi ?
; 
         	LDA     #08000H         ;bank inc 
         	STA     <WORK0 
         	INC     <WORK2 
CHS1300  	EQU     $ 
         	DEX
         	BPL     CHS1100 
; 
         	LDX     #07H
CHS1500  	EQU     $ 
         	STZ     2118H 
         	DEX
         	BPL     CHS1500 
; 
         	DEY
         	BPL     CHS1000 
; 
         	MEM8 
         	SEP     #00100000B	; memory 8bit mode
         	RTS
; 
; 
;************************************************************************
;*       7 BIT MOOD CHARCTER set                                     	*
;*                                                                   	*
;************************************************************************
MD7CHST  	EQU     $ 
; 
         	LDA     MD7L
         	STA     <WORK0 
         	LDA     MD7H
         	STA     <WORK1 
         	LDA     MD7B
         	STA     <WORK2 
;;;;;;            	<WORK3 
; 
; 
         	IDX16
         	REP     #00010000B	; index 16bit mode
; 
         	LDY     #0000H
         	LDX     #07FFH
; 
MD70300  	EQU     $
         	LDA     [<WORK0],Y 
         	STA     <WORKF 
; 
         	JSR     SIFTSB
         	LDA     <WORK4 
         	STA     2119H 
; 
         	JSR     SIFTSB
         	LDA     <WORK4 
         	STA     2119H 
; 
         	STZ     <WORK4 
         	ROL     <WORKF 
         	ROL     <WORK4 
         	ROL     <WORKF 
         	ROL     <WORK4 
; 
         	INY
         	LDA     [<WORK0],Y 
         	STA     <WORKF 
; 
         	ROL     <WORKF 
         	ROL     <WORK4 
         	LDA     <WORK4 
         	STA     2119H 
; 
         	JSR     SIFTSB
         	LDA     <WORK4 
         	STA     2119H 
; 
         	JSR     SIFTSB
         	LDA     <WORK4 
         	STA     2119H 
; 
         	STZ     <WORK4 
         	ROL     <WORKF 
         	ROL     <WORK4 
; 
         	INY
         	LDA     [<WORK0],Y 
         	STA     <WORKF 
; 
         	ROL     <WORKF 
         	ROL     <WORK4 
         	ROL     <WORKF 
         	ROL     <WORK4 
         	LDA     <WORK4 
         	STA     2119H 
; 
         	JSR     SIFTSB
         	LDA     <WORK4 
         	STA     2119H 
; 
         	JSR     SIFTSB
         	LDA     <WORK4 
         	STA     2119H 
; 
         	INY
; 
         	DEX
         	BPL     MD70300 
; 
         	IDX8 
         	SEP     #00010000B	; index 8bit mode
		RTS
; 
; 
; 
SIFTSB   	EQU     $ 
         	STZ     <WORK4 
         	ROL     <WORKF 
         	ROL     <WORK4 
         	ROL     <WORKF 
         	ROL     <WORK4 
         	ROL     <WORKF 
         	ROL     <WORK4 
         	RTS
; 
;
; 
;\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
; 
; 
; 
;CGDATA 
; 
CORGENE  EQU      $ 
; 
;H2.03.06 15:30 
; 
                BYTE    0B5H,06AH,0FFH,07FH,0E4H,02CH,00DH,056H,0B5H,06AH,0FFH,000H,045H,01DH,06BH,032H
                BYTE    0B5H,06AH,0FFH,022H,08AH,038H,055H,079H,0B5H,06AH,0FFH,07FH,02AH,008H,03AH,00CH
                BYTE    0B5H,06AH,0FFH,07FH,000H,000H,079H,015H,0B5H,06AH,0FFH,07FH,072H,001H,01FH,00BH
                BYTE    0B5H,06AH,09FH,04FH,0E0H,030H,020H,062H,0B5H,06AH,0DEH,009H,048H,031H,026H,05EH
                BYTE    0B5H,06AH,0FFH,07FH,0A6H,049H,0F0H,072H,0B5H,06AH,058H,025H,086H,015H,08CH,02AH
                BYTE    0B5H,06AH,0F7H,05EH,08FH,000H,0B7H,001H,0B5H,06AH,0FFH,07FH,000H,000H,03AH,00CH
                BYTE    0FFH,07FH,0E4H,02CH,00DH,056H,0FFH,000H,045H,01DH,06BH,032H,0FFH,022H,08AH,038H
                BYTE    055H,079H,0C7H,01CH,06BH,041H,0ADH,049H,031H,056H,018H,06BH,04FH,01DH,0CAH,010H
                BYTE    04AH,015H,0D5H,029H,04FH,01DH,063H,014H,0CCH,030H,0B0H,052H,02CH,042H,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,000H,000H
                BYTE    0EFH,03DH,018H,063H,000H,000H,000H,000H,013H,000H,0FFH,07FH,000H,000H,000H,000H
                BYTE    03AH,002H,0BFH,023H,000H,000H,000H,000H,000H,05EH,09FH,04FH,000H,000H,000H,000H
                BYTE    033H,001H,0F7H,05EH,000H,000H,000H,000H,0ADH,04DH,0ADH,04DH,0ADH,04DH,000H,000H
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,000H,000H,0ADH,04DH,0ADH,04DH,0ADH,04DH,000H,000H
                BYTE    0EFH,03DH,018H,063H,000H,000H,000H,000H,0FFH,07FH,0DBH,052H,04EH,021H,000H,000H
                BYTE    057H,029H,0DBH,052H,04EH,021H,000H,000H,015H,03AH,0DBH,052H,04EH,021H,000H,000H
                BYTE    02AH,056H,0DBH,052H,04EH,021H,000H,000H,0B1H,02EH,0DBH,052H,04EH,021H,000H,000H
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,000H,000H,0ADH,04DH,0ADH,04DH,0ADH,04DH,052H,07BH
                BYTE    050H,000H,03FH,037H,0DFH,019H,01FH,03EH,025H,04DH,077H,07FH,06FH,05EH,01FH,03EH
                BYTE    0A0H,049H,0F2H,06FH,0E0H,056H,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,000H,000H,000H,000H
                BYTE    000H,000H,000H,000H,000H,000H,000H,000H,000H,000H,0FFH,07FH,000H,000H,0B0H,008H
                BYTE    03CH,036H,047H,001H,016H,03FH,02EH,022H,0FFH,07FH,000H,000H,0B5H,000H,01DH,02EH
                BYTE    008H,025H,018H,067H,010H,046H,0FFH,07FH,000H,000H,067H,015H,0CEH,02AH,011H,000H
                BYTE    0DEH,01AH,05BH,001H,0FFH,07FH,000H,000H,06BH,031H,0F7H,062H,091H,008H,07EH,03AH
                BYTE    017H,015H,0FFH,07FH,000H,000H,0F3H,00CH,03AH,022H,086H,00DH,073H,043H,08CH,026H
                BYTE    0FFH,07FH,000H,000H,06EH,019H,057H,02EH,0CEH,008H,09CH,032H,0B5H,015H,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0FFH,07FH,0FFH,07FH,0B2H,030H,0BBH,049H,0EBH,000H,09CH,027H,052H,012H
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,02AH,019H
                BYTE    0D5H,029H,04FH,01DH,0CFH,024H,04EH,031H,078H,052H,0F4H,041H,02AH,019H,0D5H,029H
                BYTE    04FH,01DH,01FH,07CH,0EEH,025H,0D5H,042H,072H,032H,02AH,019H,0D5H,029H,04FH,01DH
                BYTE    01FH,07CH,0A9H,02DH,0B0H,052H,02CH,042H,0E7H,01CH,070H,029H,00DH,02DH,0EBH,01CH
                BYTE    0A9H,01CH,0B2H,031H,02DH,025H,0E7H,01CH,070H,029H,00DH,02DH,01FH,07CH,0E7H,02CH
                BYTE    00BH,046H,088H,039H,0E7H,01CH,070H,029H,00DH,02DH,01FH,07CH,0C9H,028H,0CEH,051H
                BYTE    04BH,041H,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0E7H,01CH,04BH,041H,0ADH,049H,052H,056H,039H,06BH,070H,029H,00DH,02DH
                BYTE    02AH,019H,0F0H,019H,095H,026H,03BH,04FH,0FFH,06BH,0D7H,02DH,051H,025H,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,08CH,045H
                BYTE    031H,056H,039H,073H,07BH,077H,0EEH,052H,024H,03EH,088H,035H,074H,02AH,01AH,053H
                BYTE    0FFH,063H,0F3H,016H,0B1H,014H,0ADH,07DH,0ADH,07DH,010H,055H,018H,06EH,01AH,06BH
                BYTE    0DFH,07DH,01FH,07CH,028H,046H,040H,04AH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH,0ADH,04DH
                BYTE    03AH,016H,06AH,014H,0DCH,051H,043H,01DH,0EEH,05EH,043H,01DH,0EEH,05EH,09BH,042H
                BYTE    05FH,05BH,05AH,02BH,0FFH,07FH,000H,000H,0ADH,04DH,0ADH,04DH,0ADH,04DH,059H,02DH
                BYTE    06AH,014H,09CH,01DH,062H,041H,0C4H,06EH,062H,041H,0C4H,06EH,09BH,042H,05FH,05BH
                BYTE    07FH,037H,0FFH,07FH,000H,000H,0ADH,04DH,0ADH,04DH,0ADH,04DH,029H,03AH,06AH,014H
                BYTE    05AH,01EH,092H,01CH,0BFH,041H,095H,01CH,0BFH,041H,09BH,042H,05FH,05BH,0F8H,043H
                BYTE    0FFH,07FH,000H,000H,0ADH,04DH,0ADH,04DH,0ADH,04DH,05AH,009H,06AH,014H,0D1H,05DH
                BYTE    08EH,015H,0F9H,032H,08EH,015H,0F9H,032H,09BH,042H,05FH,05BH,035H,06FH,0FFH,07FH
;
;
;
;a
; 
OBJ2BIT	 EQU      CORGENE         ;2bit obj chengi 
YUMIOBJ  EQU      OBJ2BIT+4*10*2  ;YUMI SCOP
KAGEOBJ  EQU      YUMIOBJ+4*1*2	  ;KAGE 
KENOBJ	 EQU	  KAGEOBJ+4*1*2   ;KEN BEEM
;
;b
;
DANJOBG  EQU      KENOBJ+3*3*2		;danjyou BG kouka OBJ 
BG32BIT  EQU      DANJOBG+7*10*2	;BG3 2BIT 
MAP2BIT  EQU	  BG32BIT+4*6*2		;MAP 2BIT
RODOOBJ	 EQU	  MAP2BIT+4*6*2		;ROTDO KOUKA OBJ
BAKUOBJ  EQU 	  RODOOBJ+4*4*2		;BAKUHATU OBJ
;
;c
;
ENMYOBJ	 EQU	  BAKUOBJ+7*2*2		;ENMY OBJ
TOKUOBJ  EQU      ENMYOBJ+7*24*2	;TOKUSYU OBJ
;
;d
;
DANBSBG  EQU	  TOKUOBJ+7*8*2		;DANJYOU BASE BG
;
;e
;
KABEBG	 EQU      DANBSBG+7*30*2	;KABE BG
SOUSBG   EQU      KABEBG+7*10*2		;SOUSYOKU BG 
PLAYCG	 EQU	  SOUSBG+7*10*2		;PLAYER
;
;f
;
CIJOBG	 EQU 	  PLAYCG+15*4*2		;CIJO BG 
KOUKABG  EQU      CIJOBG+7*4*2		;KOUKA BG


CGLPT3	 EQU	  $
		 BYTE	  000H,006H,00CH,012H,018H,01EH,024H,02AH,030H,036H,03CH,042H
CGLPT4	 EQU	  $
		 BYTE	  000H,008H,010H,018H
CGLPT7	 EQU	  $
		 BYTE	  000H,00EH,01CH,02AH,038H,046H,054H,062H,070H,07EH,08CH,09AH
CGLPTC	 EQU	  $
		 BYTE	  000H,018H,030H,048H
CGLPT73  EQU      $ 
         BYTE     000H,02AH,054H,07EH,0A8H,0D2H,0FCH,0126H
CGLPT16	 EQU	  $
	 BYTE	  000H,00FH
CGLPT24	 EQU	  $
	 BYTE	  000H,030H
;
;/*----------------------------------------------------------------------*/
;/*		2bit obj chengi data cg set jyouchu   			 */
;/*----------------------------------------------------------------------*/
O2CGST	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDA      #YUMIOBJ
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #001D0H				;set point 
         LDX      #00003H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;/*----------------------------------------------------------------------*/
;/*		2bit obj chengi data cg set 1				 */
;/*----------------------------------------------------------------------*/
O2CGST1  EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      OJ2BC0
         LDA      >CGLPT4,X 
         AND      #00FFH
         CLC
         ADC      #OBJ2BIT
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00110H				;set point 
         LDX      #00003H				;yoko kosu
         JSR      CHGSUB2
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;/*----------------------------------------------------------------------*/
;/*		2bit obj chengi data cg set 2				 */
;/*----------------------------------------------------------------------*/
O2CGST2	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      OJ2BC1
         LDA      >CGLPT4,X 
         AND      #00FFH
         CLC
         ADC      #OBJ2BIT
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00130H				;set point 
         LDX      #00003H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;/*----------------------------------------------------------------------*/
;/*		2bit obj chengi data cg set 4				 */
;/*----------------------------------------------------------------------*/
KAGECST  EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDA      #KAGEOBJ
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00118H			;set point 
         LDX      #00003H			;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;/*----------------------------------------------------------------------*/
;/*       ken beem obj cg set											 */
;/*----------------------------------------------------------------------*/
KNCGSET	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      KNBOJC
         LDA      >CGLPT3,X 
         AND      #00FFH
         CLC
         ADC      #KENOBJ
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00142H				;set point 
         LDX      #00002H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
; 
;/*----------------------------------------------------------------------*/
;/*		dajyou bgkouka obj cg set										*/
;/*----------------------------------------------------------------------*/
DJCGSET	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      BOBOJC
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #DANJOBG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
;/*----------------------------------------------------------------------*/
;/*		BG3 2BIT cg set													*/
;/*----------------------------------------------------------------------*/
B3CGSET	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      BG3BGC
         LDA      >CGLPT16,X 
         AND      #00FFH
         CLC
         ADC      #BG32BIT 
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00000H				;set point 
	 LDX	  #0000EH				;yoko kosu
	 LDY	  #00001H				;tate kosu
         JSR      CHGSUB3 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;
;/*----------------------------------------------------------------------*/
;/*		map 2bit cg set 												*/
;/*----------------------------------------------------------------------*/
;MPCGSET	 EQU	  $ 
;         MEM16
;         REP      #00100000B
;;
;         LDX      BG3BGC
;         LDA      >CGLPT24,X 
;         AND      #00FFH
;         CLC
;         ADC      #BG32BIT+020H
;         STA      <WORK0 
;; ;
;	 IDX16
;	 REP	  #00010000B
;;
;         LDA      #00030H				;set point 
;         LDX      #00007H				;yoko kosu
;         JSR      CHGSUB2 
;;
;         MEM8 
;         IDX8 
;         SEP      #00110000B
;         RTL
;; 
;;
;/*----------------------------------------------------------------------*/
;/*       rotdo kouka obj cg set										 */
;/*----------------------------------------------------------------------*/
LTCGSET	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      KOKOJC
         LDA      >CGLPT4,X 
         AND      #00FFH
         CLC
         ADC      #RODOOBJ
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00148H				;set point 
         LDX      #00003H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
; 
;
;
;/*----------------------------------------------------------------------*/
;/*       bakuhatu cg set jyou												 */
;/*----------------------------------------------------------------------*/
BMCGSET	 EQU	  $ 
         MEM16
         IDX16
         REP      #00110000B
;
         LDA      #BAKUOBJ
         STA      <WORK0 
;
         LDA	  #BAKUOBJ 
         STA      WORK0 
; 
         LDA      #00102H				;set point 
         LDX      #00006H				;yoko kosu
         LDY      #00001H				;tate kosu
         JSR      CHGSUB3 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
; 
;
;/*----------------------------------------------------------------------*/
;/*       enmy cg set													 */
;/*----------------------------------------------------------------------*/
MSCGST1	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      EYOJC0
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #ENMYOBJ
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00162H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;
;
;/*----------------------------------------------------------------------*/
;/*       enmy cg set 2						 */
;/*----------------------------------------------------------------------*/
MSCGST2	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      EYOJC1
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #ENMYOBJ
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #001A2H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;
;
;/*----------------------------------------------------------------------*/
;/*       enmy cg set													 */
;/*----------------------------------------------------------------------*/
MSCGST3	 EQU	  $ 
         MEM16
         REP      #00110000B
;
         LDX      EYOJC2
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #ENMYOBJ
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #001C2H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;
;
;/*----------------------------------------------------------------------*/
;/*       enmy cg set													 */
;/*----------------------------------------------------------------------*/
SPCGST	 EQU	  $ 
         MEM16
         REP      #00110000B
;
         LDX      SPCBGC
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #TOKUOBJ
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #000E2H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;/*----------------------------------------------------------------------*/
;/*       danjyou base bg cg set										 */
;/*----------------------------------------------------------------------*/
DICGSET	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      BSCBGC
         LDA      >CGLPT73,X 
         AND      #00FFH
         CLC
         ADC      #DANBSBG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00072H				;set point 
         LDX      #00006H				;yoko kosu
         LDY      #00003H				;tate kosu
         JSR      CHGSUB3
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
;/*----------------------------------------------------------------------*/
;/*       KABE cg set													 */
;/*----------------------------------------------------------------------*/
KABCGST	 EQU	  $ 
         MEM16
         REP      #00110000B
;
         LDX      WALBGC
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #KABEBG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00042H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
;
;/*----------------------------------------------------------------------*/
;/*       danjyou sousyoku BG											 */
;/*----------------------------------------------------------------------*/
DSCGST1	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      SSBGC0
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #SOUSBG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00062H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL

;
;/*----------------------------------------------------------------------*/
;/*       danjyou sousyoku BG											 */
;/*----------------------------------------------------------------------*/
DSCGST2	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      SSBGC1
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #SOUSBG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00082H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 


;
;/*----------------------------------------------------------------------*/
;/*       danjyou sousyoku BG											 */
;/*----------------------------------------------------------------------*/
DSCGST3	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      SSBGC2
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #SOUSBG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #000A2H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
;/*----------------------------------------------------------------------*/
;/*		player cg set													*/
;/*----------------------------------------------------------------------*/
PLCGSET	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      PLYOJC
         LDA      >CGLPTC,X 
         AND      #00FFH
         CLC
         ADC      #PLAYCG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #001E2H				;set point 
         LDX      #0000EH				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;/*----------------------------------------------------------------------*/
;/*		cijo bg cg set													*/
;/*----------------------------------------------------------------------*/
GDCGSET	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      GNDBGC
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #CIJOBG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #00042H				;set point 
         LDX      #00006H				;yoko kosu
;///         LDY      #00000H				;tate kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
;
;
;
;/*----------------------------------------------------------------------*/
;/*       kouka bg cg set												 */
;/*----------------------------------------------------------------------*/
KKCGSET	 EQU	  $ 
         MEM16
         REP      #00100000B
;
         LDX      KOKBGC
         LDA      >CGLPT7,X 
         AND      #00FFH
         CLC
         ADC      #KOUKABG
         STA      <WORK0 
; 
	 IDX16
	 REP	  #00010000B
;
         LDA      #000C2H				;set point 
         LDX      #00006H				;yoko kosu
         JSR      CHGSUB2 
;
         MEM8 
         IDX8 
         SEP      #00110000B
         RTL
; 
; 
;*********************************************************************
;*       siro & nuki color set sub                                   *
;*       X -----  0:nuki  1:siro                                     *
;*********************************************************************
NKCGSET  EQU      $ 
         MEM16
	 IDX16
         REP      #00110000B
;
         LDY      #0000FH
	 LDX	  CGSTPT		
; 
CS10100  EQU      $ 
;//         LDA      #0000H 
;//         STA      CHGRAM,X
	 STZ	  CHGRAM,X
         TXA
         CLC
         ADC      #020H 
         TAX
         DEY
         BPL      CS10100 
; 
         MEM8 
         IDX8 
         SEP      #00110000B
;
         RTL
; 

         MEM16
         IDX16
; 
;*********************************************************************
;*       CHGSUB2                                                     *
;*       CHGSUB3                                                     *
;*								     *
;*       WORK0,1  <---- ch data addres                               *
;*       WORK4,5  <---- set ram pointer                              *
;*       WORK6,7  <---- yoko set kosu                                *
;*       WORK8,9  <---- tate set kosu                                *
;*                                                                   *
;*********************************************************************
CHGSUB2  EQU      $ 
	 LDY	  #00000H
CHGSUB3  EQU	  $
         STA      <WORK4	; set point
         STX      <WORK6 	; yoko count
         STY      <WORK8 	; tate count
;
         LDA      #00001H
	 STA	  <WORK2
CS20000  EQU      $ 
;;;;;         LDX      WORK4 
		 LDA	  CGSTPT
		 CLC
		 ADC	  WORK4
		 TAX
	 LDY	  <WORK6
CS20100  EQU      $ 
         LDA      [<WORK]
         STA      CHGRAM,X				;CGRAM
         INC      <WORK0 
         INC      <WORK0 
         INX
         INX
         DEY
         BPL      CS20100 
; 
         LDA      <WORK4 
         CLC
         ADC      #00020H 
         STA      <WORK4 
; 
         DEC      <WORK8 
         BPL      CS20000 
; 
         RTS
; 
         MEM8 
         IDX8 
; 
;*********************************************************************
;*       MAP color genelater set sub                                 *
;*                                                                   *
;*********************************************************************
;MPCGST   EQU      $ 
;         MEM16
;         IDX16
;         REP      #00110000B
;; 
;;----- nuki set ------
;;;;;         LDA      #05795H 
;         STZ      NUKCOL
;;;;;         JSR      CNCLST
;; 
;;----- MAP 2 bit color set ------ 
;         LDA      #MPBIT          ;map 2bit data addres set 
;         STA      WORK0 
;         LDA      #010H 
;         STA      WORK4           ;set addres set 
;         LDA      #07H
;         STA      WORK6           ;yoko kosu
;         LDA      #01H
;         STA      WORK8           ;tate kosu
;         JSR      CHGSUB2 
;; 
;;;;;;;;;;;; 
;;;;;;;;;;;;-----   map ch bg & obj gene set ----- 
;;;;;;;;;;;         LDA      #MPBG1          ;map cijo cg
;;;;;;;;;;;         LDY      CHIKNO
;;;;;;;;;;;         CPY      #010H           ;cijo == 010H,,,cika== 012H 
;;;;;;;;;;;         BEQ      MPC0100 
;;;;;;;;;;;         LDA      #MPBG2          ;map cika cg
;;;;;;;;;;;; 
;;;;;;;;;;;MPC0100  EQU      $ 
;;;;;;;;;;;;;;;;;;;;;;         LDA      #MPBG1 
;;;;;;;;;;;         STA      WORK0 
;;;;;;;;;;;         LDA      #0002H
;;;;;;;;;;;         STA      WORK4 
;;;;;;;;;;;         LDA      #06H
;;;;;;;;;;;         STA      WORK6 
;;;;;;;;;;;         LDA      #0FH
;;;;;;;;;;;         STA      WORK8 
;;;;;;;;;;;         JSR      CHGSUB2 
;;;;;;;;;;;; 
;;-----   MAP BG chrgene set ----- 
 ;        LDA      #MPBG1          ;map cijo cg
;;;;;;;;;;;         LDY      CHIKNO
;;;;;;;;;;;         CPY      #010H           ;cijo == 010H,,,cika== 012H 
;;;;;;;;;;;         BEQ      MPC0100 
;;;;;;;;;;;         LDA      #MPBG2          ;map cika cg
;; 
;MPC0100  EQU      $ 
;;;;;;;;;;;;         LDA      #MPBG1 
;         STA      WORK0 
;         LDA      #0002H          ;set addres set 
;         STA      WORK4 
;         LDA      #06H
;         STA      WORK6           ;yoko kosu set
;         LDA      #07H
;         STA      WORK8           ;tate kosu set
;         JSR      CHGSUB2 
;; 
;;-----   MAP  OBJ gene set -----
;MPOB010  EQU      $ 
;         LDA      #MPOBJ1         ;map obj data addres  set 
;         STA      WORK0 
;         LDA      #0102H          ;set addres set 
;         STA      WORK4 
;         LDA      #06H            ;yoko kosu set
;         STA      WORK6 
;         LDA      #07H
;         STA      WORK8           ;tate kosu set
;         JSR      CHGSUB2 
;; 
;; 
;         MEM8 
;         IDX8 
;         SEP      #00110000B
;;         RTS
;; 
;;*********************************************************************
;;*       TITLE color genelater set sub                                 *
;;*                                                                   *
;;*********************************************************************
;TLCGST   EQU      $ 
;         MEM16
;         IDX16
;         REP      #00110000B
;; 
;;----- nuki set ------
;         LDA      #05795H 
;;;;;         LDA      #0000H
;         STA      NUKCOL
;;;;;         JSR      CNCLST
;; 
;;----- 2 bit color set ------ 
;         LDA      #BITCG2 
;         STA      WORK0 
;         LDA      #030H 
;         STA      WORK4 
;         LDA      #07H
;         STA      WORK6 
;         LDA      #00H
;         STA      WORK8 
;         JSR      CHGSUB2 
;; 
;         LDA      #TITLBIT
;         STA      WORK0 
;         LDA      #010H 
;         STA      WORK4 
;         LDA      #07H
;         STA      WORK6 
;         LDA      #00H
;         STA      WORK8 
;         JSR      CHGSUB2 
;; 
;; 
;;-----   map ch bg & obj gene set ----- 
;         LDA      #TITLBG 
;         STA      WORK0 
;         LDA      #080H 
;         STA      WORK4 
;         LDA      #07H
;         STA      WORK6 
;         LDA      #07H
;         STA      WORK8 
;         JSR      CHGSUB2 
;; 
;;;;;;;;;;;;----- obj chengi color set ----- 
;;;;;;;;;;;         LDA      #OBJCG2 
;;;;;;;;;;;         STA      WORK0 
;;;;;;;;;;;;;;;;;         LDA      OBJCOL
;;;;;;;;;;;;;;;;;         AND      #00001111B
;;;;;;;;;;;;;;;;;         TAY
;;;;;;;;;;;         LDY      #00H
;;;;;;;;;;;         LDA      CGLPT,Y 
;;;;;;;;;;;         AND      #00FFH
;;;;;;;;;;;         CLC
;;;;;;;;;;;         ADC      WORK0 
;;;;;;;;;;;         STA      WORK0 
;;;;;;;;;;;; 
;;;;;;;;;;;         LDA      #01C4H
;;;;;;;;;;;         STA      WORK4 
;;;;;;;;;;;         LDA      #05H
;;;;;;;;;;;         STA      WORK6 
;;;;;;;;;;;         LDA      #01H
;;;;;;;;;;;         STA      WORK8 
;;;;;;;;;;;         JSR      CHGSUB2 
;; 
;         MEM8 
;         IDX8 
;         SEP      #00110000B
;         RTS
;; 
; 
;;*********************************************************************
;;*       MOD 7 color genelater set sub                                 *
;;*                                                                   *
;;*********************************************************************
;M7CGST   EQU      $ 
;         JSR      CHGSET
;; 
;         MEM16
;         IDX16
;         REP      #00110000B
;; 
;;----- nuki set ------
;         LDA      #0017H
;         STA      NUKCOL
;;;;;         JSR      CNCLST
;; 
;;----- 2 bit color set ------ 
;         LDA      #BITCG1 
;         STA      WORK0 
;         LDA      #010H 
;         STA      WORK4 
;         LDA      #07H
;         STA      WORK6 
;         LDA      #01H
;         STA      WORK8 
;         JSR      CHGSUB2 
;; 
;;-----   map ch bg & obj gene set ----- 
;         LDA      #BG7MOD2
;         STA      WORK0 
;         LDA      #000H 
;         STA      WORK4 
;         LDA      #07H
;         STA      WORK6 
;         LDA      #00H
;         STA      WORK8 
;         JSR      CHGSUB2 
;; 
;         MEM8 
;         IDX8 
;         SEP      #00110000B
;         RTS
;; 
; 
;************************************************************************
;*                                                                   	*
;*       color genelter set program                                  	*
;*                                                                   	*
;************************************************************************
;CGNSET   	EQU     $ 
;		RTL
; 
; 
; 
; 
; 
		END
