;
		INCLUDE	zel_ram.asm
;
;------------------------------------------------------------------------
;
;		PAL_ZELDA-3 (FRANCE)		1992.05.20(WED)
;
;------------------------------------------------------------------------
;
		ORG	01FE88H
;
;=============================================== (zel_gsub) =============
		GLB	YMCGCNG
;========================================================================
;
		EXTEND
		MEM8
		IDX8
;
;
;
;
;
;
;
;
;
;************************************************************************
;*		Ura-Yama CG. change			(YMCGCNG)	*
;************************************************************************
YMCGDAT		EQU	$
;;; France 04.05.20 ;		WORD	00884H,00CC7H,0150AH,0154DH,07FF6H,05944H,07AD1H
;;; France 04.05.20 ;		WORD	00884H,00CC7H,0150AH,0154DH,05BFFH,07AD1H,021AFH
;;; France 04.05.20 ;		WORD	01084H,048C0H,06186H,07E6DH,07FE0H,05944H,07E20H
;;; France 04.05.20 ;		WORD	01084H,0000EH,01059H,0291FH,07FE0H,05944H,07E20H
;;; France 04.05.20 ;		WORD	01084H,01508H,0196CH,021AFH,07FF6H,01D4CH,07AD1H
		WORD	01908H,01D4BH,0258EH,025D1H,07FFAH,069C8H,07F55H
		WORD	01908H,01D4BH,0258EH,025D1H,06BFFH,07F55H,03233H
		WORD	02108H,05944H,0720AH,07EF0H,07FE4H,069C8H,07EA4H
		WORD	02108H,01092H,020DDH,0399FH,07FE4H,069C8H,07EA4H
		WORD	02108H,0258CH,029F0H,03233H,07FFAH,02DD0H,07F55H
;
;
GNTWRCG		EQU	$
;;; France 04.05.20 ;		WORD	07FFFH,00884H,01CC8H,01DCEH,03694H,04718H,01D4AH,018ACH
;;; France 04.05.20 ;		WORD	07FFFH,01908H,02D2FH,03614H,04EDAH,0471FH,01D4AH,0390FH
;;; France 04.05.20 ;		WORD	07FFFH,034CDH,05971H,05635H,07F1BH,07FFFH,01D4AH,03D54H
;;; France 04.05.20 ;		WORD	07FFFH,01908H,02D2FH,03614H,04EDAH,0471FH,01D4AH,0390FH
;;; France 04.05.20 ;;
;;; France 04.05.20 ;		WORD	07FFFH,00884H,0052AH,021EFH,03AB5H,04B39H,01D4CH,018ACH
		WORD	07FFFH,01908H,02D4CH,02E52H,04718H,0579CH,02DCEH,02930H
		WORD	07FFFH,0298CH,03DB3H,04698H,05F5EH,0579FH,02DCEH,04913H
		WORD	07FFFH,04551H,069F5H,066B9H,07F9FH,07FFFH,02DCEH,04DD8H
		WORD	07FFFH,0298CH,03DB3H,04698H,05F5EH,0579FH,02DCEH,04993H
;
		WORD	07FFFH,01908H,015AEH,03273H,04B39H,05BBDH,02DD0H,02930H
;
;
;
YMCNG900	EQU	$
		RTL
;
YMCGCNG		EQU	$
		LDA	!GDINFF
		BNE	YMCNG900	; yama-tower change on ?
;					; no
		LDA	<MPDTNO
		CMP	#043H
		BEQ	YMCNG40		; ura-yama ?
;					; no
		CMP	#045H
		BEQ	YMCNG40		; ura-yama ?
;					; no
		CMP	#047H
		BNE	YMCNG900	; ura-yama ?
;					; yes
YMCNG40		EQU	$
		PHB
		PHK
		PLB			; (DBR) set
;
		LDA	<FCNT
		CMP	#003H
		BEQ	YMCNG210	; change ?
;					; no
		CMP	#005H
		BEQ	YMCNG100	; change ?
;					; no
		CMP	#024H
		BEQ	YMCNG200	; change ?
;					; no
		CMP	#02CH
		BEQ	YMCNG100	; change ?
;					; no
		CMP	#058H
		BEQ	YMCNG210	; change ?
;					; no
		CMP	#05AH
		BNE	YMCNG400	; change ?
;					; yes
YMCNG100	EQU	$
		MEM16
		REP	#00100000B	; memory 16bit mode
;
		LDX	#002H
YMCNG120	EQU	$
		LDA	>CGRAM+060H,X
		STA	>CGWORK+060H,X
		LDA	>CGRAM+070H,X
		STA	>CGWORK+070H,X
		LDA	>CGRAM+090H,X
		STA	>CGWORK+090H,X
		LDA	>CGRAM+0E0H,X
		STA	>CGWORK+0E0H,X
		LDA	>CGRAM+0F0H,X
		STA	>CGWORK+0F0H,X
		INX
		INX
		CPX	#010H
		BNE	YMCNG120	; end ?
;					; yes
		BRA	YMCNG400
;
;
YMCNG200	EQU	$
		LDX	#036H
		STX	!SOUND2		; <sound2>
YMCNG210	EQU	$
		MEM16
		REP	#00100000B	; memory 16bit mode
;
		LDX	#002H
		LDY	#000H
YMCNG220	EQU	$
		LDA	YMCGDAT+00EH*0,Y
		STA	>CGWORK+060H,X
		LDA	YMCGDAT+00EH*1,Y
		STA	>CGWORK+070H,X
		LDA	YMCGDAT+00EH*2,Y
		STA	>CGWORK+090H,X
		LDA	YMCGDAT+00EH*3,Y
		STA	>CGWORK+0E0H,X
		LDA	YMCGDAT+00EH*4,Y
		STA	>CGWORK+0F0H,X
		INY
		INY
		INX
		INX
		CPX	#010H
		BNE	YMCNG220	; end ?
;					; yes
YMCNG400	EQU	$
		MEM8
		SEP	#00100000B	; memory 8bit mode
;
		LDX	#000H
		LDY	#040H
		LDA	<MPDTNO
		CMP	#043H
		BEQ	YMCNG420	; ura-yama ?
;					; no
		CMP	#045H
		BNE	YMCNG440	; ura-yama ?
;					; no
YMCNG420	EQU	$
		LDA	>GNDTBL+043H
		AND	#00100000B
		BNE	YMCNG500	; tower flashing ?
;					; yes
		LDA	<FCNT
		AND	#00001100B
		ASL	A
		ASL	A
		TAY
YMCNG440	EQU	$
		MEM16
		REP	#00100000B	; memory 16bit mode
YMCNG460	EQU	$
		LDA	GNTWRCG,Y
		STA	>CGWORK+0D0H,X
		INY
		INY
		INX
		INX
		CPX	#010H
		BNE	YMCNG440	; set end ?
;					; yes
YMCNG500	EQU	$
		MEM8
		SEP	#00100000B	; memory 8bit mode
;
		PLB			; (DBR) reset
		INC	<CGVMAF
		RTL
;
;
;
;
;
;
;
;
;
;
;
;
		END
