	; This WONDERFUL intro/demo was made 100% by Dragonfly 1990

	move.w	#$4000,$dff09a

	or.b	#%10000000,$bfd100
	and.b	#%10000111,$bfd100

	move.w	#$01a0,$dff096

	move.w	#$4200,$dff100
	move.w	#$0000,$dff102
	move.w	#$0002,$dff104
	move.w	#$4,$dff108			; Modulo 4 = +32 pixels
	move.w	#$4,$dff10a
	move.w	#$2c71,$dff08e
	move.w	#$f4d1,$dff090
	move.w	#$38d1,$dff090
	move.w	#$0030,$dff092
	move.w	#$00d8,$dff094

Start:	lea.l	stars,a1			; My ONLY sprite
	lea.l	copper,a2
	move.l	a1,d1
	move.w	d1,6(a2)
	swap	d1
	move.w	d1,2(a2)	
	
	lea.l	blank,a1			; Other 7 are BLACK!!!
	lea.l	copper,a2
	move.l	a1,d1				; Here's the address
	add.l	#10,a2
	moveq	#6,d0

molop:	swap	d1
	move.w	d1,(a2)
	addq.l	#4,a2
	swap	d1
	move.w	d1,(a2)
	addq.l	#4,a2
	dbra	d0,molop
	
	lea.l	screen,a1
;	lea.l	$dff180,a2
;	move.l	#15,d1

;lipp:	move.w	(a1)+,(a2)			; Colors
;	add.l	#2,a2
;	dbra	d1,lipp

	add.l	#32,a1
	move.l	a1,d1				; Pointer to screen
	lea.l	btplcop,a2
	addq.l	#2,a2
	moveq	#3,d0				; 4 Bitplanes

rutt:	swap	d1
	move.w	d1,(a2)
	addq.l	#4,a2
	swap	d1
	move.w	d1,(a2)
	addq.l	#4,a2
	add.l	#12288,d1			; 384*256=1 bitplane
	dbra	d0,rutt

	lea.l	copper,a1			; Starting copper
	move.l	a1,$dff080
	move.w	$dff088,d0
	move.w	#$081a0,$dff096

;-----------------------------
Loop:	bsr	wait
	bsr	movestars
	bsr	scroll

	btst	#6,$bfe001
	bne	loop
;-----------------------------
Quit:	move.w	#$0080,$dff096

	move.l	$04,a6
	move.l	156(a6),a5
	move.l	38(a5),$dff080

	move.w	#$8080,$dff096

	move.w	#$c000,$dff09a
	rts

Wait:	move.l	$dff004,d2			; Check raster
	asr.l	#8,d2
	and.l	#$1ff,d2
	cmp.w	#300,d2
	bne	wait
	rts

Movestars:
	lea.l	stars,a3			; Star-address
	clr.l	d1
	lea.l	Scrollnumber,a2
	add.l	#1,a3
	move.b	(a3),d1
	move.l	#64,d0				; 65 stars

Moveit:	cmp.b	#$35,d1				; Is this the end?
	bhi	notend

	move.b	#$f0,d1

Notend:	sub.b	(a2)+,d1			; Move star
	move.b	d1,(a3)
	add.l	#8,a3
	clr.l	d1
	move.b	(a3),d1
	dbra	d0,moveit
	rts

Scroll:	lea.l	counter,a1
	cmp.w	#16,(a1)			; 2 pixel scroll + space
	bne	fortsatt

	clr.w	(a1)

	lea.l	tecken,a1			; Vilket tecken skall
	move.w	(a1),d1				; scrollas?
	addq.w	#1,(a1)

	lea.l	blaha,a2
	clr.l	d2
	move.b	(a2,d1.w),d2			; Lagra ASCII-kod i d2

	cmp.b	#100,d2				; Ar texten slut?(*)
	bne	vidare

	clr.w	(a1)
	move.b	#32,d2				; Om ja, satt space...

Vidare:	lea.l	askIIkopp,a1
	move.l	(a1,d2.l),d2			; Hitta teckenposition
	cmp.b	#$20,d2
	bls	rad0				; Nasta rad om d2 > P

	sub.b	#$50,d2				; Vardet mellan 0 och f
	asl.w	#2,d2
	add.w	#1716,d2			; Rad = 66 words * 26
	jmp	doat

rad0:	asl.w	#2,d2				; d2 * 4 longwords

doat:	lea.l	font,a1
	add.l	d2,a1				; Satt pekare

	lea.l	screen,a2
	add.l	#8476,a2			; (48bytes*175lines)+44
						; +16 colors!(16 words)

	moveq	#24,d0				; Hojd på bokstav
	
Puttabokstav:
	move.l	(a1),(a2)			; 1 word = 16 pixels
	add.l	#66,a1				; Bredd på font-screen
	add.l	#48,a2				; Bredd på demo-screen
	dbra	d0,puttabokstav

fortsatt:
	lea.l	screen,a1
	add.l	#9632,a1			; Nedersta linjen+16cols
	move.l	#3,d1				; 3 Bitplan skall scrolla

Lyp:	btst	#6,$dff002			; Blitter busy?
	bne	fortsatt

	move.l	a1,$dff050
	move.l	a1,$dff054
	move.w	#0,$dff064
	move.w	#0,$dff066
	move.l	#$ffffffff,$dff044
	move.w	#$29f0,$dff040
	move.w	#$0002,$dff042			; Blitter descending
	move.w	#$061a,$dff058			; 25 lines*64+24 words

	add.l	#12288,a1			; Nasta bitplan
	dbra	d1,lyp

	lea.l	counter,a1
	addq.w	#1,(a1)
	rts

Copper:	dc.w	$0120,$0000				; Only 1 sprite
	dc.w	$0122,$0000				; is moving!

	dc.w	$0124,$0000
	dc.w	$0126,$0000
	dc.w	$0128,$0000
	dc.w	$012a,$0000
	dc.w	$012c,$0000
	dc.w	$012e,$0000
	dc.w	$0130,$0000
	dc.w	$0132,$0000
	dc.w	$0134,$0000
	dc.w	$0136,$0000
	dc.w	$0138,$0000
	dc.w	$013a,$0000
	dc.w	$013c,$0000
	dc.w	$013e,$0000

	dc.w	$2c01,$fffe
	dc.w	$0100,$4200
	dc.w	$0182,$00f0

Btplcop:dc.w	$00e0,$0000
	dc.w	$00e2,$0000
	dc.w	$00e4,$0000
	dc.w	$00e6,$0000
	dc.w	$00e8,$0000
	dc.w	$00ea,$0000
	dc.w	$00ec,$0000
	dc.w	$00ee,$0000

	dc.w	$2c01,$fffe
	dc.w	$0180,$0f00
	dc.w	$2d01,$fffe
	dc.w	$0180,$0000
	dc.w	$ad01,$fffe
	dc.w	$0180,$0f00
	dc.w	$ae01,$fffe
	dc.w	$0180,$0000

	dc.w	$01a2,$0fff				; My sprite color
	dc.w	$01a4,$0999
	dc.w	$01a6,$0555

	dc.w	$ffdf,$fffe
	dc.w	$2c01,$fffe
	dc.w	$0100,$0200
	dc.w	$ffff,$fffe

;-------------------------------------------------------------------
		;VsHsVe    Data     (Vs=Vert.start, Hs=Horis. start)
Stars:	dc.l	$2AAC2B00,$00000000,$2C952D00,$00000000
	dc.l	$2ED22F00,$80008000,$30563100,$80000000
	dc.l	$32833300,$00008000,$34B03500,$80008000
	dc.l	$36603700,$80000000,$38493900,$00008000
	dc.l	$3A943B00,$80008000,$3C4D3D00,$80000000
	dc.l	$3E6B3F00,$00008000,$40824100,$80008000
	dc.l	$42C04300,$80000000,$44BB4500,$00008000
	dc.l	$460A4700,$80008000,$48604900,$80000000
	dc.l	$4AFC4B00,$00008000,$4C734D00,$80008000
	dc.l	$4E924F00,$80000000,$50EC5100,$00008000
	dc.l	$52F05300,$80008000,$544E5500,$80000000
	dc.l	$56655700,$00008000,$586C5900,$80008000
	dc.l	$5ABF5B00,$80000000,$5CBD5D00,$00008000
	dc.l	$5E3B5F00,$80008000,$609E6100,$80000000
	dc.l	$62D76300,$00008000,$645C6500,$80008000
	dc.l	$66AE6700,$80000000,$68066900,$00008000
	dc.l	$6AB86B00,$80008000,$6CCC6D00,$80000000
	dc.l	$6EEC6F00,$00008000,$700E7100,$80008000
	dc.l	$72BF7300,$80000000,$74B57500,$00008000
	dc.l	$761F7700,$80008000,$787B7900,$80000000
	dc.l	$7AFC7B00,$00008000,$7C4F7D00,$80008000
	dc.l	$7EAA7F00,$80000000,$801E8100,$00008000
	dc.l	$82638300,$80008000,$845D8500,$80000000
	dc.l	$86A58700,$00008000,$88A68900,$80008000
	dc.l	$8A7B8B00,$80000000,$8C738D00,$00008000
	dc.l	$8E778F00,$80008000,$92909300,$80000000
	dc.l	$94949500,$00008000,$96979700,$80008000
	dc.l	$98799900,$80000000,$9AB59B00,$00008000
	dc.l	$9C679D00,$80008000,$9ECC9F00,$80000000
	dc.l	$A06BA100,$00008000,$A256A300,$80008000
	dc.l	$A490A500,$80000000,$A67DA700,$00008000
	dc.l	$A814A900,$80008000,$AAAAAB00,$80000000
	dc.l	$AC56AD00,$00008000,$00000000,$00000000

Scrollnumber:
	dc.l	$03020103,$02010302,$01030201,$03020103
	dc.l	$02010302,$01030201,$03020103,$02010302
	dc.l	$01030201,$03020103,$02010302,$01030201
	dc.l	$03020103,$02010302,$01030201,$03020103
	dc.l	$02010302,$01030201,$03020103,$02010302
	dc.l	$01030201,$03020103,$02010302,$01030201
	dc.l	$03020103,$02010302,$01030201,$03020103
	dc.l	$02010302,$01030201,$03020103,$02010302

AskIIkopp:
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$5e ;" "
	dc.b	$5d ;!
	dc.b	$00
	dc.b	$5c ;" = #
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$5a ;,
	dc.b	$00
	dc.b	$5b ;.
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00
	dc.b	$00 ;A
	dc.b	$01 ;B
	dc.b	$02 ;C
	dc.b	$03 ;D
	dc.b	$04 ;E
	dc.b	$05 ;F
	dc.b	$06 ;G
	dc.b	$07 ;H
	dc.b	$08 ;I
	dc.b	$09 ;J
	dc.b	$0a ;K
	dc.b	$0b ;L
	dc.b	$0c ;M
	dc.b	$0d ;N
	dc.b	$0e ;O
	dc.b	$0f ;P
	dc.b	$50 ;Q - NEXT LINE!
	dc.b	$51 ;R
	dc.b	$52 ;S
	dc.b	$53 ;T
	dc.b	$54 ;U
	dc.b	$55 ;V
	dc.b	$56 ;W
	dc.b	$57 ;X
	dc.b	$58 ;Y
	dc.b	$59 ;Z
	dc.b	$00
	dc.b	$00
	dc.b	$00

Blaha:	dc.b	"AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUVVWWXXYYZZ"
	dc.b	",,..!!## d"
	even

Blank:	dc.l	$00000000

Screen:	blk.b	49184,0

Font:	blk.b	13464,0

Counter:dc.w	$0000

Tecken:	dc.w	$0000

