* void GPalHalf(int cols)
* グラフィックの明度を半分に落とす
* cols=256/16（色数）,65536色モードでは使えない

	.include	defines.mac

	.xdef	_GPalHalf
_GPalHalf:
	move.w	4+2(sp),d2	* cols
	move.l	d3,-(sp)
	
	SUPERMODE		* SuperVisor mode -> d0.l
	move.l	d0,a1
	
	subq.w	#1,d2		* for dbra
	move.l	#GPALET,a0	* パレット
@@:
	move.w	(a0),d0		* for G
	move.w	d0,d1		* for R
	move.w	d0,d3		* for B
	* G
	and.w	#%11111_00000_00000_0,d0
	lsr.w	#1,d0		* 半分
	and.w	#%11111_00000_00000_0,d0
	* R
	and.w	#%00000_11111_00000_0,d1
	lsr.w	#1,d1		* 半分
	and.w	#%00000_11111_00000_0,d1
	* B
	and.w	#%00000_00000_11111_0,d3
	lsr.w	#1,d3		* 半分
	and.w	#%00000_00000_11111_0,d3
	* Iは常に0
	or.w	d1,d0
	or.w	d3,d0
	move.w	d0,(a0)+
	dbra	d2,@b
	
	USERMODE		* to user mode
	move.l	(sp)+,d3
	rts

	.end
