;destinated to all the developpers that use standard colors, and didn't see
;that Vsetscreen set standard colors. (I DON'T LIKE THE FLASHING WHITE)
;thanks go to audoly@orque.unice.fr (from B.A.Info)
;note: ASSEMBLE form Brainstorm is a great assembler pack.
;
;example:
;
;start:
;	Setres	#log,#phy,#mode
;	...
;	...
;	Resres	;in Super mode please.
;	Term
;	BSS
;res:	ds.w	1
;mem_pal:	ds.l	256
;	END	
;

Setres:	MACRO	#log.L ,#phy.L ,#mode.W
	Vsetmode	#-1
	move.w	d0,res
	VgetRGB	#0,#10000,#mem_pal
	VgetRGB	#0,d0,#mem_pal
	Setscreen	\1,\2,#3,\3
	ENDM
	
Resres:	MACRO
	Vgetsize	res
	move.l	$436.w,d1
	sub.l	d0,d1
	sub.l	#256,d1
	and.b	#-8,d1
	Setscreen	d1,d1,#3,res
	VgetRGB	#0,#10000,#mem_pal
	VsetRGB	#0,d0,#mem_pal
	ENDM

Setscreen:	MACRO		#log.L, #phy.L, #res.W, #mode.W
	move.w	\4,-(sp)
	move.w	\3,-(sp)
	move.l	\2,-(sp)
	move.l	\1,-(sp)
	move.w	#5,-(sp)
	trap	#14
	lea.l	14(sp),sp
	ENDM

Vsetmode:	MACRO		#mode.W
	move.w	\1,-(sp)
	move.w	#$58,-(sp)
	trap	#14
	addq.w	#4,sp
	ENDM

Vgetsize:	MACRO		#mode.W
	move.w	\1,-(sp)
	move.w	#$5b,-(sp)
	trap	#14
	addq.w	#4,sp
	ENDM	

VsetSync:	MACRO
	move.w	\1,-(sp)
	move.w	#$5a,-(sp)
	trap	#14
	addq.w	#4,sp
	ENDM
	
VsetRGB:	MACRO		#index.W, #count.W, #L*array.L
	move.l	\3,-(sp)
	move.w	\2,-(sp)
	move.w	\1,-(sp)
	move.w	#$5d,-(sp)	
	trap	#14
	lea.l	10(sp),sp
	ENDM

VgetRGB:	MACRO		#index.W, #count.W, #L*array.L
	move.l	\3,-(sp)
	move.w	\2,-(sp)
	move.w	\1,-(sp)
	move.w	#$5e,-(sp)
	trap	#14
	lea.l	10(sp),sp
	ENDM
