
;---librerias--------------------------------------------------------------
execbase = 4		;base de la exec
allocmem = -$c6		;offset de la funcion reserva memoria
			;#$10002 - chip		#$10004 - fast
openlib = -$198		;en a1 la direccion del nombre (con lea)
closelib = -$19e
freemem = -$d2

;---custom-----------------------------------------------------------------

dmaconw = $dff096		;DMA
cop1lch = $dff080		;localizacion copperlist
copconw = $dff088		; es lo mismo que COPJMP1 , se pone a 0
diwstrt = $dff08E		;hpos = $30	vpos=$81
diwstop = $dff090		;hpos = $30	vpos=$c1
ddfstrt	= $dff092		;$0038
ddfstop	= $dff094		;$00d0
bplcon0 = $dff100		
bpl1mod = $dff108		;a cero
bpl2mod = $dff10a		;a cero
bplcon1 = $dff102		;a cero
bplcon2	= $dff104		;a cero
color00 = $dff180


;-----programa principal---------------------------------------------

	jsr	prepara		;crea pantalla
	move.l	plane3,a0
	lea	text,a1
	move.l	#50,d0
	jsr	print
	lea	textb,a1
	move.l	#70,d0
	jsr	print
	lea	textc,a1
	move.l	#90,d0
	jsr	print
	lea	textd,a1
	move.l	#220,d0
	jsr	print

	move.l	plane1,a0	;direccion del plano1
	lea	stars,a1	;direccion de la tabla
	lea	veloc,a2
	clr.l	d3		;en d3 tenemos el offset de la estrella
	clr.l	d4		;en d4 el offset del incremento

for	jsr	borra		;carga,borra,mueve
	jsr	limite		;comprueba si es mayor de 320
	jsr	dibuja		;y dibuja la estrella
	jsr	next		;siguiente estrella

waitun	btst.b	#6,$bfe001
	bne	for

	jsr	salida
	rts

;---subrutinas programa principal---*----------------------------------

text	dc.b	'   INTENSE SPAIN    '
textb	dc.b	'      PRESENTA      '
textc	dc.b	'  SOUNDS VOL SEIS   '
textd	dc.b	'                   ['

;**************************************************************
;subrutina print de xele con caracteres de 16x16
;entrada d0=fila a1=puntero al texto (20 caracteres con dc.b)
;y como siempre a0=el plano en el que se quiere el texto
;font by xele too!
;**************************************************************
print
	movem.l	d0-d5/a0-a3,-(sp)	;salvo regs
	lea 	font,a2			;puntero a datos del font		
	clr.l	d4		;contador columnas
mortal	clr.l	d1

	move.l	#10000,d5
retard	subi	#1,d5
	bne	retard

	move.b	(a1)+,d1	;carga codigo ascii en d1
	cmp.l	#32,d1
	bne	nospace
	move.l	#64,d1
nospace	sub.b	#64,d1		;le quitamos 65 y tenemos el offset
	mulu	#32,d1		;multiplico por 16*2 (w) lineas de datos
	clr.l	d3		;contador de lineas a cero
letra	move.l	a0,a3
	mulu	#40,d0		;calcula la posicion
	add.l	d0,a3		;
	divu	#40,d0
	move.w	0(a2,d1),d2	;dato del font en d2
	move.w	d2,(a3)
	addi	#1,d3
	cmp.l	#16,d3
	beq	nextle
	addi	#1,d0
	addi	#2,d1  
	bra	letra
nextle	addi	#1,d4
	cmp.l	#20,d4
	beq	fint
	add.l	#2,a0
	sub.l	#15,d0
	bne	mortal
fint	movem.l	(sp)+,d0-d5/a0-a3
	rts

;***************************************************************
;borra una linea (blinea) del bitplane d6=linea a borrar
;a0=plano (como siempre) .Util para hacer scroll y para CLS
;***************************************************************
blinea
	movem.l	d0-d7/a0,-(sp)
	mulu	#40,d6		;calcular posicion dentro del plane
	add.l	d6,a0

	clr.l	d5
siguebo	move.l	#0,(a0)+
	addi	#1,d5
	cmp	#10,d5
	bne	siguebo
	movem.l	(sp)+,d0-d7
	rts
	
font

        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0011111111100000
        dc.w    %0111000001110000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1111111111111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1111111111000000
        dc.w    %1110000001110000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000001110000
        dc.w    %1111111111100000
        dc.w    %1110000001110000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000001110000
        dc.w    %1111111111000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000111111111000
        dc.w    %0011100000001100
        dc.w    %0111000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %0111000000000000
        dc.w    %0011100000001100
        dc.w    %0000111111111000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1111111111100000
        dc.w    %1110000000111000
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000111000
        dc.w    %1111111111100000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1111111111111000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1111111111100000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1111111111111000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1111111111111000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1111111111100000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000011111111000
        dc.w    %0001110000001100
        dc.w    %0111000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000001111110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %0111000000001110
        dc.w    %0011100000011100
        dc.w    %0000111111110000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1111111111111100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1111111111111000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %0000011100000000
        dc.w    %1111111111111000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %1110000000011100
        dc.w    %0111000000111000
        dc.w    %0001111111100000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1110000000111000
        dc.w    %1110000001110000
        dc.w    %1110000011100000
        dc.w    %1110000111000000
        dc.w    %1110001110000000
        dc.w    %1110011100000000
        dc.w    %1110111000000000
        dc.w    %1111111000000000
        dc.w    %1111111100000000
        dc.w    %1110001110000000
        dc.w    %1110000111000000
        dc.w    %1110000011100000
        dc.w    %1110000001110000
        dc.w    %1110000000111000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1111111111111000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1100000000001100
        dc.w    %1110000000011100
        dc.w    %1111000000111100
        dc.w    %1101100001101100
        dc.w    %1100110011001100
        dc.w    %1100011110001100
        dc.w    %1100001100001100
        dc.w    %1100000000001100
        dc.w    %1100000000001100
        dc.w    %1100000000001100
        dc.w    %1100000000001100
        dc.w    %1100000000001100
        dc.w    %1100000000001100
        dc.w    %1100000000001100
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1100000000011100
        dc.w    %1110000000011100
        dc.w    %1111000000011100
        dc.w    %1111100000011100
        dc.w    %1111110000011100
        dc.w    %1110111000011100
        dc.w    %1110011100011100
        dc.w    %1110001110011100
        dc.w    %1110000111011100
        dc.w    %1110000011111100
        dc.w    %1110000001111100
        dc.w    %1110000000111100
        dc.w    %1110000000011100
        dc.w    %1110000000001100
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000111111100000
        dc.w    %0011100000111000
        dc.w    %0111000000011100
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %0111000000011100
        dc.w    %0011100000111000
        dc.w    %0000111111100000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1111111111000000
        dc.w    %1110000001110000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000001110000
        dc.w    %1111111111000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0000111111100000
        dc.w    %0011100000111000
        dc.w    %0111000000011100
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %0111000000011100
        dc.w    %0011100111111000
        dc.w    %0000111111100000
        dc.w    %0000000001111000
        dc.w    %0000000000000000
        dc.w    %1111111111000000
        dc.w    %1110000001110000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000000111000
        dc.w    %1110000001110000
        dc.w    %1111111111000000
        dc.w    %1110111000000000
        dc.w    %1110011100000000
        dc.w    %1110001110000000
        dc.w    %1110000111000000
        dc.w    %1110000011100000
        dc.w    %1110000001110000
        dc.w    %1110000000111000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %0001111111110000
        dc.w    %0111000000011100
        dc.w    %1110000000001100
        dc.w    %1110000000000000
        dc.w    %1110000000000000
        dc.w    %0111100000000000
        dc.w    %0000111100000000
        dc.w    %0000001111100000
        dc.w    %0000000001111000
        dc.w    %0000000000011100
        dc.w    %0000000000011100
        dc.w    %1100000000011100
        dc.w    %1110000000111000
        dc.w    %0011111111100000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1111111111111110
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %0111000000011100
        dc.w    %0011100000111000
        dc.w    %0000111111100000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %1110000000011100
        dc.w    %0111000000111000
        dc.w    %0111000000111000
        dc.w    %0011100001110000
        dc.w    %0011100001110000
        dc.w    %0001110011100000
        dc.w    %0000111111000000
        dc.w    %0000011110000000
        dc.w    %0000001100000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110001110001110
        dc.w    %1110011110011100
        dc.w    %1111110011110000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %0111000000011100
        dc.w    %0011100000111000
        dc.w    %0001110001110000
        dc.w    %0000011111100000
        dc.w    %0001110001110000
        dc.w    %0011100000111000
        dc.w    %0111000000011100
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %1110000000001110
        dc.w    %0111000000011100
        dc.w    %0011100000111000
        dc.w    %0000111111100000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000001110000000
        dc.w    %0000000000000000
        dc.w    %0000000000000000
        dc.w    %1111111111111100
        dc.w    %0000000000011100
        dc.w    %0000000000111000
        dc.w    %0000000001110000
        dc.w    %0000000011100000
        dc.w    %0000000111000000
        dc.w    %0000001110000000
        dc.w    %0000011100000000
        dc.w    %0000111000000000
        dc.w    %0001110000000000
        dc.w    %0011100000000000
        dc.w    %0111000000000000
        dc.w    %1110000000000000
        dc.w    %1111111111111100
        dc.w    %0000000000000000
        dc.w    %0000000000000100
        dc.w    %0000000000001000
        dc.w    %0000000000000101
        dc.w    %0000000000000010
        dc.w    %0000000001000000
        dc.w    %0000000000101000
        dc.w    %0000000100010000
        dc.w    %0000001000000000
        dc.w    %0000100101000000
        dc.w    %0000100010000000
        dc.w    %0000100000000000
        dc.w    %0111111100000000
        dc.w    %0000100000000000
        dc.w    %0000100000000000
        dc.w    %0000100000000000
        dc.w    %0000000000000000
        dc.w    %0000111100000000
        dc.w    %1100001111011100
        dc.w    %1110000000011100
        dc.w    %1111000000011100
        dc.w    %1111100000011100
        dc.w    %1111110000011100
        dc.w    %1110111000011100
        dc.w    %1110011100011100
        dc.w    %1110001110011100
        dc.w    %1110000111011100
        dc.w    %1110000011111100
        dc.w    %1110000001111100
        dc.w    %1110000000111100
        dc.w    %1110000000011100
        dc.w    %1110000000001100
        dc.w    %0000000000000000

;************************************************
borra	move.w	0(a1,d3),d0	;coordenada x
	addi	#2,d3
	move.w	0(a1,d3),d1	;coordenada y
	move.w	0(a2,d4),d2	;incremento
	cmp.l	#2,d2
	bne	teta
	move.l	plane2,a0
teta	jsr	bpunto
	move.l	plane1,a0
	addi	#2,d4
	add.l	d2,d0
	rts

;*
limite	cmp.l	#320,d0
	ble	nolimit
	move.l	#0,d0
nolimit	rts
	

;*
dibuja	cmp.l	#2,d2
	bne	culo
	move.l	plane2,a0
culo	jsr	punto
	move.l	plane1,a0
	move.w	d1,0(a1,d3)	;grabo coordenada y
	subi	#2,d3
	move.w	d0,0(a1,d3)	;grabo coordenada x
	addi	#4,d3		;dejo el puntero preparado para next star
	rts

;*
next	cmp.l	#152,d3
	bne	nonext
	move.l	#0,d3
nonext	cmp.l	#38,d4
	bne	back
	move.l	#0,d4
back	rts
		




stars
	dc.w	10,20,100,200,45,67,23,15
	dc.w	34,90,90,56,13,39,10,83
	dc.w	17,60,56,30,70,43,232,10
	dc.w	125,105,107,99,0,20,11,180
	dc.w	200,59,167,102,300,40,270,172
	dc.w	0,28,13,135,2,3,66,93
	dc.w	120,160,130,128,160,98,154,79
	dc.w	31,119,90,90,75,202,8,7
	dc.w	10,10,50,50,90,133,255,144
	dc.w	300,200,300,50,100,189
veloc
	dc.w	2,3,3,3,2,3,3,3,2,3,3,3,2,3
	dc.w	3,2,3,2,3,2,3,2,3,2,3,2,3,2
	dc.w	2,2,2,3,2,3,2,3,2,3,2,3,3,2

;---subrutinas-generales---------------------------------------

;**************************************************************
;subrutina waitmouse
;**************************************************************
waitmouse
	btst.b	#6,$bfe001
	bne	waitmouse
	rts

;**************************************************************
;subrutina 2 de xele
;subrutina (punto) coordenadas x=d0 , y=d1 , a0=direccion plano
;coord x (0-319), coord y (0-255)
;si d5=1 entonces borra el punto (en ese plano solo)
;no modifica ningun registro
;**************************************************************
punto
	movem.l	d0-d5/a0-a3,-(sp)
	mulu.w	#40,d1
	move.w	d0,d2
	move.w	d0,d3
	divu.w	#8,d2
	add.w	d2,d1
	add.l	d1,a0
	mulu.w	#8,d2
	sub.l	d2,d3			
	move.b	#$80,d4
	lsr.b	d3,d4

	cmp.l	#1,d5
	bne	pinta
	move.b	(a0),d5
	beq	sale
	eor.b	d5,d4
	bra	ok			

pinta	or.b	(a0),d4
ok	move.b	d4,(a0)
sale	movem.l	(sp)+,d0-d5/a0-a3
	rts

;**************************************************************
;subru bpunto (borra punto). los mismos parametros que punto
;**************************************************************
bpunto
	move.l	#1,d5
	jsr	punto
	clr.l	d5
	rts

;**************************************************************
;subrutina (prepara) una pantalla de 32 colores en lowres
;**************************************************************
prepara
	move.l	execbase,a6		;reserva mem pantalla
	move.l	#picsize,d0
	move.l	#$10002,d1
	jsr	allocmem(a6)
	move.l	d0,plane1		;pongo a punto los punteros
	add.l	#10240,d0
	move.l	d0,plane2
	add.l	#10204,d0
	move.l	d0,plane3
	add.l	#10240,d0
	move.l	d0,plane4
	add.l	#10240,d0
	move.l	d0,plane5

	move.l	#copperinicio,d1	;calcula coppersize
	move.l	#copperfin,d0
	sub.l	d1,d0
	move.l	d0,coppersize

	move.l	#$10002,d1		;reserva mem copperlist
	jsr	allocmem(a6)
	move.l	d0,copperchip

;rellenar copperlist

	move.l	plane1,d0
	move.w	d0,cpl1l
	swap	d0
	move.w	d0,cpl1h

	move.l	plane2,d0
	move.w	d0,cpl2l
	swap	d0
	move.w	d0,cpl2h

	move.l	plane3,d0
	move.w	d0,cpl3l
	swap	d0
	move.w	d0,cpl3h

	move.l	plane4,d0
	move.w	d0,cpl4l
	swap	d0
	move.w	d0,cpl4h

	move.l	plane5,d0
	move.w	d0,cpl5l
	swap	d0
	move.w	d0,cpl5h

;copiar copperlist a memoria chip

	move.l	coppersize,d0
	move.l	copperchip,a0
	lea	copperinicio,a1
copia	move.b	(a1)+,(a0)+
	subi	#1,d0
	bne	copia

;desconecta DMA

	move.w	#$03a0,dmaconw

;escribo registros copper

	move.l	copperchip,cop1lch
	clr.l	copconw

;defino parametros bitplanes

	move	#$5200,bplcon0
	move	#$3081,diwstrt
	move	#$30c1,diwstop
	move	#$0038,ddfstrt
	move	#$00d0,ddfstop
	clr.w	bpl1mod
	clr.w	bpl2mod
	clr.w	bplcon1
	clr.w	bplcon2

;conecto DMA

	move.w	#$8380,dmaconw
	rts

;***********************************************************
;subrutina (salida) sale ,restaura el DOS y libera memoria
;***********************************************************
salida
	
	move.l	execbase,a6		;abre graflib 
	lea	grafname,a1
	jsr	openlib(a6)
	move.l	d0,grafbase

	move.w	#$03a0,dmaconw		;pone copperlis del DOS
	move.l	grafbase,a4
	move.l	38(a4),cop1lch
	move.w	#0,copconw
	move.w	#$83f0,dmaconw

	move.l	plane1,a1		;libera mem pantalla
	move.l	#picsize,d0
	jsr	freemem(a6)

	move.l	copperchip,a1		;libera mem copperlist
	move.l	coppersize,d0
	jsr	freemem(a6)

	move.l	grafbase,a1
	jsr	closelib(a6)

	clr.l	d0	
	rts	

	


;------copperlist---------------------------------------------
copperinicio

;punteros de los bitplanes (eliminar los que nos sirvan)

	dc.w	$0001,$ff00
	dc.w	$0180,$0000

	dc.w	$00e0
cpl1h	ds.w	1
	dc.w	$00e2
cpl1l	ds.w	1
	dc.w	$00e4
cpl2h	ds.w	1
	dc.w	$00e6
cpl2l	ds.w	1
	dc.w	$00e8
cpl3h	ds.w	1
	dc.w	$00ea
cpl3l	ds.w	1
	dc.w	$00ec
cpl4h	ds.w	1
	dc.w	$00ee
cpl4l	ds.w	1
	dc.w	$00f0
cpl5h	ds.w	1
	dc.w	$00f2
cpl5l	ds.w	1


	dc.w	$0182,$0aaa
	dc.w	$0184,$0444
	dc.w	$3001,$fffe,$0180,$0f00
	dc.w	$3101,$fffe,$0180,$0000	
	
	dc.w	$6301,$fffe,$0188,$0320
	dc.w	$6401,$fffe,$0188,$0430
	dc.w	$6501,$fffe,$0188,$0540
	dc.w	$6601,$fffe,$0188,$0650
	dc.w	$6701,$fffe,$0188,$0760
	dc.w	$6801,$fffe,$0188,$0870
	dc.w	$6901,$fffe,$0188,$0980
	dc.w	$6a01,$fffe,$0188,$0a90
	dc.w	$6b01,$fffe,$0188,$0980
	dc.w	$6c01,$fffe,$0188,$0870
	dc.w	$6d01,$fffe,$0188,$0760
	dc.w	$6e01,$fffe,$0188,$0650
	dc.w	$6f01,$fffe,$0188,$0540
	dc.w	$7001,$fffe,$0188,$0430

	dc.w	$7701,$fffe,$0188,$0020
	dc.w	$7801,$fffe,$0188,$0030
	dc.w	$7901,$fffe,$0188,$0040
	dc.w	$7a01,$fffe,$0188,$0050
	dc.w	$7b01,$fffe,$0188,$0060
	dc.w	$7c01,$fffe,$0188,$0070
	dc.w	$7d01,$fffe,$0188,$0080
	dc.w	$7e01,$fffe,$0188,$0090
	dc.w	$7f01,$fffe,$0188,$0080
	dc.w	$8001,$fffe,$0188,$0070
	dc.w	$8101,$fffe,$0188,$0060
	dc.w	$8201,$fffe,$0188,$0050
	dc.w	$8301,$fffe,$0188,$0040
	dc.w	$8401,$fffe,$0188,$0030

	dc.w	$8b01,$fffe,$0188,$0200
	dc.w	$8c01,$fffe,$0188,$0300
	dc.w	$8d01,$fffe,$0188,$0400
	dc.w	$8e01,$fffe,$0188,$0500
	dc.w	$8f01,$fffe,$0188,$0600
	dc.w	$9001,$fffe,$0188,$0700
	dc.w	$9101,$fffe,$0188,$0800
	dc.w	$9201,$fffe,$0188,$0900
	dc.w	$9301,$fffe,$0188,$0800
	dc.w	$9401,$fffe,$0188,$0700
	dc.w	$9501,$fffe,$0188,$0600
	dc.w	$9601,$fffe,$0188,$0500
	dc.w	$9701,$fffe,$0188,$0400
	dc.w	$9801,$fffe,$0188,$0300

	dc.w	$9901,$fffe,$0188,$0666
	
	dc.w	$fe01,$fffe,$0180,$0f00
	dc.w	$ff01,$fffe,$0180,$0000

	dc.w	$ffff,$fffe
copperfin
	
;--variables---------------------------------------------------------

picsize = 51200			;10240*n de planos

plane1		ds.l	1
plane2		ds.l	1
plane3		ds.l	1
plane4		ds.l	1
plane5		ds.l	1
coppersize	ds.l	1
copperchip	ds.l	1
grafbase	ds.l	1
grafname	dc.b	'graphics.library',0



	



