
; this intro was made by Sharp of Abstract

org $30000
load $30000

;      main prog

o:	jsr	picinit
        jsr     mt_init
	clr.l	0
	movem.l	D0-D7/A0-A6,-(SP)
	move.l  #text2,son
        bsr	systeminit
        bsr     barsinst
	bsr	clrmem         
	bsr	setcopper
	bsr	scrdefine
	bsr     vscr
        bsr     setspr
        bsr	irq     
out:    bsr	clrsystem
	movem.l	(SP)+,D0-D7/A0-A6
	RTS	
	
;      install picture1 in bitplane

picinit:
	move.l	#logo,d0
	move.w	d0,blt1l
	swap	d0
	move.w	d0,blt1h
        swap    d0
	add.l	#$0c08,d0
	move.w	d0,blt2l
	swap	d0
	move.w	d0,blt2h
        swap    d0 
	add.l	#$0c08,d0
	move.w	d0,blt3l
	swap	d0
	move.w	d0,blt3h
        swap    d0
	add.l	#$0c08,d0
	move.w	d0,blt4l
	swap	d0
	move.w	d0,blt4h
        swap    d0
	add.l	#$0c08,d0
        move.w  d0,blt5l
        swap    d0
        move.w  d0,blt5h
        swap    d0
	rts	
	 
l58:    DC.W	$0000
l5a:    DC.W    $0003
l5c:    DC.W    $0000
l5e:    DC.W    $00FF
l60:    DC.W    $0003
l62:    DC.W    $0000

;       set color in tom

setlog:	lea	col,a0
	lea	tom+2,a1
	moveq	#$1f,d0
add:	move.w	(a1)+,(a0)
	addq.w	#4,a0
	dbra	d0,add
	rts	
	
foss01: dc.w 0

;      set tom to colorplane

login:  cmp.w   #$0f00,foss01
        beq     log
        add.w   #1,foss01  

log:	move.w  #2,158
        addq.w	#1,l5c
	lea	plane,a0    ;colorplane
	lea	tom+2,a1    ;blank
	moveq	#$1f,d0     ;32 color
ret:	moveq	#0,d2       ;o to d2 d3 d4 d5 d6 d7
	moveq	#0,d3
	moveq	#0,d4
	moveq	#0,d5
	moveq	#0,d6
	moveq	#0,d7
	move.w	(a0)+,d5    
	move.w	(a1),d2
	move.w	d5,d6
	move.w	d5,d7
	move.w	d2,d3
	move.w	d2,d4
	and.w	#$0f00,d2
	and.w	#$00F0,d3
	and.w	#15,d4
	and.w	#$0f00,d5
	and.w	#$00f0,d6
	and.w	#15,d7
	cmp.w	d2,d5
	beq.s	rol1
	add.w	#$0100,d2
rol1:	cmp.w	d3,d6
	beq.s	rol2
	add.w	#$0010,d3
rol2:	cmp.w	d4,d7
	beq.s	rol3
	add.w	#1,d4
rol3:	add.w	d2,d4
	add.w	d3,d4
	move.w	d4,(a1)+
	dbra	d0,ret
	rts	
 	 
;       clr 60000 to 64500 not necessary

clrmem:	move.l	#$00060000,a0
	move.l	#$00004500,d7
clron:	clr.l	(a0)
	add.l	#4,a0
	dbra	d7,clron
	RTS	
	
;     set dna channel and blitter

systeminit:
	moveq	#0,D0
	move.w	$dff002,D0
	or.w	#$8000,D0
	move.w	d0,dma
	move.w	#$4000,$dff09A
	move.w	$dff01E,base
	RTS	
	
;     do normal plane and get out of it

clrsystem:

	move.l	#gfxname,A1
	moveq	#0,d0
	move.l	4,a6
	jsr	-$0198(a6)
	move.l	d0,a1
	move.l	$0026(a1),$dff080
	tst.w	$dff088
	jsr	-$019e(a6)
        bsr     mt_end
	move.w	dma,$dff096
	move.w	base,$dff09a
	rts	
	
;       set copperlist

setcopper:
	move.l	#copper,$dff080
	tst.w	$dff088
	move.w	#$85e0,$dff096
	rts	
	
;     set textpoint and fontpoint for scroll 

scrdefine:
        move.l #text,point2
        move.l #font,point3
        move.l #$714e2,point4
        rts

dma:  dc.w 0
base: dc.w 0
some: dc.w 0
gfxname: dc.b 'graphics.library',0
even

;       the mainloop

irq:	cmp.b	#$ff,$dff006
	bne.s	irq
irq2:	cmp.b	#$26,$dff006
	bne.s	irq2
	bsr	pause
        bsr     login        
        jsr     mt_music
        bsr     setlog
        bsr     star
        bsr     raster
        bsr     nothing
        btst	#6,$bfe001    ; push the mouse
	bne.s	irq	
	rts	
	
;    check foss to Vscroll or write

nothing: 
         cmp.w #$0000,foss         
         bne.s cont2 
         bsr   write                    
         rts
cont2:   cmp.w #$0001,foss
         bne.s cont3
         bsr   Vscroll
         rts
cont3:   cmp.w #$0002,foss
         bne.s cont4
         bsr   write 
         rts         

cont4:   bra   out
         rts

;  install colorlist for bars in the middle

barsinst:
     lea    col2,a0
     move.l #$a101fffe,d2
     move.l #$01800000,d3
     move.l #$00000036,d1
ad1: move.l d2,(a0)+     
     move.l d3,(a0)+ 

     move.l #$01800000,d3
     add.l  #$00520000,d2
     move.l d2,(a0)+
     move.l d3,(a0)+ 

     move.l #$01800000,d3 
     add.l  #$00100000,d2
     move.l d2,(a0)+
     move.l d3,(a0)+     

     move.l #$01800000,d3 
     add.l  #$00100000,d2 
     move.l d2,(a0)+
     move.l d3,(a0)+

     move.l #$01800000,d3
     add.l  #$00100000,d2
     move.l d2,(a0)+
     move.l d3,(a0)+

     move.l #$01800000,d3
     add.l  #$00100000,d2
     move.l d2,(a0)+
     move.l d3,(a0)+       

     move.l #$01800000,d3 
     add.l  #$00100000,d2
     move.l d2,(a0)+
     move.l d3,(a0)+

     move.l #$01800000,d3
     add.l  #$00100000,d2
     move.l d2,(a0)+ 
     move.l d3,(a0)+ 

     move.l #$01800000,d3
     add.l  #$00100000,d2
     move.l d2,(a0)+      
     move.l d3,(a0)+ 

     move.l #$01800000,d3
     sub.l  #$00c20000,d2 
     add.l  #$01000000,d2     
     dbra   d1,ad1
rts

;    move the bars 

raster:	addq.w	#8,some
	and.w	#$03fe,some
	move.w	some,d0
	lea	posi(PC),a0
	lea	col2+6(PC),a2
	moveq	#8,d7
rfgf:	move.w	d0,d1
	cmp.w	#$0200,d1
	blt.s	rfor
	eor.w	#$03fe,d1
rfor:	move.w	0(a0,d1.W),d1
	and.w	#$01fe,d1
	lea	data,a1
	lea	0(A1,D1.W),a1
rwat:	btst	#14,$dff002
	bne.s	rwat
	move.l	#$ffffffff,$dff044 ; blitter mask
	move.l	#$09f00000,$dff040 ; con0
	move.l	a2,$dff054 ; dest. data d
	move.l	a1,$dff050 ; source data a
	move.l	#$00000046,$dff064 ; module a
	move.w	#$0dc1,$dff058 ; start bit and size of the bwindow
	addq.l	#8,a2
	add.w	#$0004,d0
	and.w	#$03fe,d0
	dbra	d7,rfgf
	rts	
	
;      setsprites

setspr:	move.l	#sprites,d0
	swap	d0
	move.w	d0,sp1
	swap	d0
	move.w	d0,sp2

	move.l	#sp0,d0
	swap	d0
	move.w	d0,sp3
	move.w	d0,sp5
	move.w	d0,sp7
	swap	d0
	move.w	d0,sp4
	move.w	d0,sp6
	move.w	d0,sp8
        rts

;    add sprite with 1

star:	move.w	#82,d0
	move.l	#sprites+1,a0 
LL:	move.b	#01,d1
L:	add.b	d1,(a0)
	add.l	#8,a0
	add.b	#1,d1
	cmp.b	#4,d1
	beq.s	LL
	dbf	d0,L
	rts

; the scroll routine

pause:  cmp.w #0,pause1
        beq   scroll
        sub.w #1,pause1    
        rts

Scroll:	cmp.b	#0,point+1
	bne.s	con
	bsr	Sinst
	move.b	point,point+1
con:	bsr	sec
	sub.b	#1,point+1
	rts	
 
Sinst:	move.l	point2,a2
	move.l	#ctab,a0
	move.l	#vague,a1
	move.b	(a2),d0
right2:	cmp.b	#'@',d0
	bne.s	con2
	move.l	#text-1,point2
	 
con2:	cmp.b	(a0),d0
	beq	con3
	add.l	#1,a0
	add.l	#2,a1
	bra.s	right2
 
con3:	add.l	#1,point2
	moveq	#0,d0
	moveq	#0,d1
	move.l	point3,d0
	move.w	(a1),d1
	add.l	d1,d0
	move.l	#$7102e,d1
	moveq	#0,d7
	moveq	#2,d7
wblitt:	btst	#14,$dff002
	bne.s	wblitt
	move.l	#$ffffffff,$dff044 ; blitter mask a
	move.w	#0,$dff042 ; con1
	move.w	#$09f0,$dff040 ;con0
	move.w	#$0024,$dff064 ; module a
	move.w	#$002e,$dff066 ; dest. d
	move.l	D0,$dff050 ; source data a
	move.l	D1,$dff054 ; dest. data d
	move.w	#$0642,$dff058 ; start bit and size of the window
	add.l	#$00001950,d0 
	add.l	#$000004e2,d1 
	DBRA	d7,wblitt
	rts	
 
sec:	btst	#14,$dff002
	bne.s	sec
	move.w	before,d0
	move.l	point4,d1
	or.w	#$09F0,d0
	moveq	#0,d7
	move.b	#2,d7
ablitt:	move.l	#$ffffffff,$00DFF044 ; blitter mask
	move.w	#2,$dff042 ; control 1
	move.w	D0,$dff040 ; control 0
	move.w	#0,$dff064 ; module a
	move.w	#0,$dff066 ; module d
	move.l	d1,$dff050 ; source data a
	move.l	d1,$dff054 ; dest. data d
	move.w	#$0659,$dff058 ; start bit and size of the window
	add.l	#$000004e2,d1
	dbra	d7,ablitt
	rts	
	
blank2:  dc.w 0
blank3:  dc.w 0	

;  hor. scrll routine

Vscroll:
	lea	$dff000,a5
	lea	$60000,a0
	lea	setone,a1
	cmp.w	#$1f40,blank3
	ble.s	cn
	bsr	cc2
cn:	add.w	#$0028,blank3
	move.w	blank3,d0
	move.w	d0,2(a1)
	subq.w	#1,blank2
	bgt.l	retur
	move.w	#8,blank2
	add.l	#$00000140,com
	bsr	Vscr
retur:	rts	
 
cc2:	move.w	#0,blank3
	move.l	#$00061f68,d0
	move.l	#$00060000,d1
wblit:	btst	#14,2(a5)
	bne.s	wblit
	move.l	#$09f00000,$0040(a5) ; con0
	move.l	#$ffffffff,$0044(a5) ; blitter mask
	move.l	#0,$0064(a5) ; module a
	move.l	D0,$0050(a5) ; source data a
	move.l	D1,$0054(a5) ; dest. data d
	move.w	#$4814,$0058(a5) ; start bit and size of the bwindow
	move.l	#$00060f00,com
	rts	
 
wblit2:
	btst	#14,2(a5)
	bne.s	wblit2
	move.l	#$09000000,$0040(a5) ; con0
	move.l	#$00060f00,$0054(a5) ; dest. data d
	move.w	#$4014,$0058(a5) ; start bit and size of the bwindow
	RTS	
 
com:    dc.l $60f00	

vscr:	bsr	goon
	rts	
 
goon:	move.w	#$0046,d6
	move.l	com,a1
retur2:	move.l	txt,a2
	move.b	(a2),d0
	cmp.b	#0,d0
	bne.s	forts
	addq.l	#1,txt
	rts	
 
forts:	cmp.b	#$FF,D0
	bne.s	for2              
	move.l	#Vtext,txt        
        cmp.w   #$0001,foss        
        beq     foss1 
        cmp.w   #$0002,foss
        beq     foss2
	rts	
 
for2:	lea	charpos,a0
	moveq	#-1,d1
calc:	addq.l	#1,d1
	cmp.b	(a0)+,d0
	bne.s	calc
	divu	#$28,d1
	move.w	#$0140,d2
	mulu	d1,d2
	swap	d1
	mulu	#1,d1
	add.l	d2,d1
	lea	Vfont,a0
	add.l	d1,a0
	move.b	(a0),(a1)
	move.b	$0028(a0),$0028(a1)
	move.b	$0050(a0),$0050(a1)
	move.b	$0078(a0),$0078(a1)
	move.b	$00A0(a0),$00A0(a1)
	move.b	$00C8(a0),$00C8(a1)
	move.b	#0,$00F0(a1)
	move.b	#0,$0118(a1)
	move.b	#0,$0140(a1)
	move.b	#0,$0168(a1)
	move.b	#0,$0190(a1)
	move.b	#0,$01B8(a1)
	move.b	#0,$01E0(a1)
	move.b	#0,-$0028(a1)
	addq.l	#1,A1
	addq.l	#1,txt
	dbra    d6,retur2
	rts	
	
pause1: DC.W    0
point:	DC.W	$0800
point2: DC.W    $0000,$0000
point3: DC.W    $0000,$0000
point4: DC.W    $0000,$0000
before: DC.W    $2000
foss: dc.w 0 	

;   write routine

write:	sub.w	#1,sub
	beq	fort11
	rts	
 
fort11:	move.w	#1,sub
	cmp.b	#0,rap
	beq	nextchar
	move.l	pon,a0
	move.w	#80,d0
tr:	move.b	#0,(a0)
	lea	$0028(a0),a0
	dbra	d0,tr
	sub.l	#1,pon
	cmp.l	#$64000,pon
	BPL	home
	MOVE.L	#$64027,pon
	MOVE.B	#0,rap
home:	RTS	
 
nextchar:
	lea	emp,a4
	lea	qfont,a2
	move.l	pil,a3
	moveq	#0,d0
back:	move.l	son,a1
	move.b	(a1),d0
	cmp.b	#$FF,d0
	bne	fort12
        cmp     #$0002,foss
        beq     foss2
        move.w  #$0001,foss
        move.w  #$0006,blk1
        move.w  #$0000,blk2
        move.w  #$0000,mod1 
        move.w  #$0000,mod2                  
        rts
  
fort12:	and.b	#$3f,d0
	cmp.b	#$27,d0
	bmi	fort13
	add.b	#1,d0
fort13:	add.l	d0,a2
	asl.w	#1,d0
	move.w	0(a4,d0.W),d0
	add.l	d0,a2
	move.w	#7,d1
tr2:	move.b	(a2),(a3)
	lea	$0028(a2),a2
	lea	$0028(a3),a3
	dbra	d1,tr2
	add.l	#1,pil
	add.b	#1,sil
	cmp.b	#$14,sil
	bne	while
	move.b	#0,sil
	add.l	#$00000154,pil
	add.b	#1,pap
	cmp.b	#8,pap
	bne	while
	move.w	#$0050,sub
	move.l	#$6400a,pil
	move.b	#0,pap
	move.b	#1,rap
while:	add.l	#1,son
	rts	
	
foss1:  move.w  #$0002,foss
        move.l  #text3,son  
        move.w  #$0006,blk1
        move.w  #$400a,blk2 
        move.w  #$0046,mod1
        move.w  #$0046,mod2         
        rts 

foss2:  move.w  #$0000,foss
        move.l  #text2,son
        move.w  #$0006,blk1
        move.w  #$400a,blk2
        move.w  #$0046,mod1
        move.w  #$0046,mod2
        rts

;  noiseroutine

mt_init:lea	mt_data,a0
	move.l	a0,a1
	add.l	#$3b8,a1
	moveq	#$7f,d0
	moveq	#0,d1
mt_loop:move.l	d1,d2
	subq.w	#1,d0
mt_lop2:move.b	(a1)+,d1
	cmp.b	d2,d1
	bgt.s	mt_loop
	dbf	d0,mt_lop2
	addq.b	#1,d2

	lea	mt_samplestarts(pc),a1
	asl.l	#8,d2
	asl.l	#2,d2
	add.l	#$43c,d2
	add.l	a0,d2
	move.l	d2,a2
	moveq	#$1e,d0
mt_lop3:clr.l	(a2)
	move.l	a2,(a1)+
	moveq	#0,d1
	move.w	42(a0),d1
	asl.l	#1,d1
	add.l	d1,a2
	add.l	#$1e,a0
	dbf	d0,mt_lop3

	or.b	#$2,$bfe001
	move.b	#$6,mt_speed
	clr.w	$dff0a8
	clr.w	$dff0b8
	clr.w	$dff0c8
	clr.w	$dff0d8
	clr.b	mt_songpos
	clr.b	mt_counter
	clr.w	mt_pattpos
	rts

mt_end:	clr.w	$dff0a8
	clr.w	$dff0b8
	clr.w	$dff0c8
	clr.w	$dff0d8
	move.w	#$f,$dff096
	rts

mt_music:
	movem.l	d0-d4/a0-a3/a5-a6,-(a7)
	lea	mt_data,a0
	addq.b	#$1,mt_counter
	move.b	mt_counter,D0
	cmp.b	mt_speed,D0
	blt.s	mt_nonew
	clr.b	mt_counter
	bra	mt_getnew

mt_nonew:
	lea	mt_voice1(pc),a6
	lea	$dff0a0,a5
	bsr	mt_checkcom
	lea	mt_voice2(pc),a6
	lea	$dff0b0,a5
	bsr	mt_checkcom
	lea	mt_voice3(pc),a6
	lea	$dff0c0,a5
	bsr	mt_checkcom
	lea	mt_voice4(pc),a6
	lea	$dff0d0,a5
	bsr	mt_checkcom
	bra	mt_endr

mt_arpeggio:
	moveq	#0,d0
	move.b	mt_counter,d0
	divs	#$3,d0
	swap	d0
	cmp.w	#$0,d0
	beq.s	mt_arp2
	cmp.w	#$2,d0
	beq.s	mt_arp1

	moveq	#0,d0
	move.b	$3(a6),d0
	lsr.b	#4,d0
	bra.s	mt_arp3
mt_arp1:moveq	#0,d0
	move.b	$3(a6),d0
	and.b	#$f,d0
	bra.s	mt_arp3
mt_arp2:move.w	$10(a6),d2
	bra.s	mt_arp4
mt_arp3:asl.w	#1,d0
	moveq	#0,d1
	move.w	$10(a6),d1
	lea	mt_periods(pc),a0
	moveq	#$24,d7
mt_arploop:
	move.w	(a0,d0.w),d2
	cmp.w	(a0),d1
	bge.s	mt_arp4
	addq.l	#2,a0
	dbf	d7,mt_arploop
	rts
mt_arp4:move.w	d2,$6(a5)
	rts

mt_getnew:
	lea	mt_data,a0
	move.l	a0,a3
	move.l	a0,a2
	add.l	#$c,a3
	add.l	#$3b8,a2
	add.l	#$43c,a0

	moveq	#0,d0
	move.l	d0,d1
	move.b	mt_songpos,d0
	move.b	(a2,d0.w),d1
	asl.l	#8,d1
	asl.l	#2,d1
	add.w	mt_pattpos,d1
	clr.w	mt_dmacon

	lea	$dff0a0,a5
	lea	mt_voice1(pc),a6
	bsr.s	mt_playvoice
	lea	$dff0b0,a5
	lea	mt_voice2(pc),a6
	bsr.s	mt_playvoice
	lea	$dff0c0,a5
	lea	mt_voice3(pc),a6
	bsr.s	mt_playvoice
	lea	$dff0d0,a5
	lea	mt_voice4(pc),a6
	bsr.s	mt_playvoice
	bra	mt_setdma

mt_playvoice:
	move.l	(a0,d1.l),(a6)
	addq.l	#4,d1
	moveq	#0,d2
	move.b	$2(a6),d2
	and.b	#$f0,d2
	lsr.b	#4,d2
	move.b	(a6),d0
	and.b	#$f0,d0
	or.b	d0,d2
	tst.b	d2
	beq.s	mt_setregs
	moveq	#0,d3
	lea	mt_samplestarts(pc),a1
	move.l	d2,d4
	subq.l	#$1,d2
	asl.l	#2,d2
	mulu	#$1e,d4
	move.l	(a1,d2.l),$4(a6)
	move.w	(a3,d4.l),$8(a6)
	move.w	$2(a3,d4.l),$12(a6)
	move.w	$4(a3,d4.l),d3
	tst.w	d3
	beq.s	mt_noloop
	move.l	$4(a6),d2
	asl.w	#1,d3
	add.l	d3,d2
	move.l	d2,$a(a6)
	move.w	$4(a3,d4.l),d0
	add.w	$6(a3,d4.l),d0
	move.w	d0,8(a6)
	move.w	$6(a3,d4.l),$e(a6)
	move.w	$12(a6),$8(a5)
	bra.s	mt_setregs
mt_noloop:
	move.l	$4(a6),d2
	add.l	d3,d2
	move.l	d2,$a(a6)
	move.w	$6(a3,d4.l),$e(a6)
	move.w	$12(a6),$8(a5)
mt_setregs:
	move.w	(a6),d0
	and.w	#$fff,d0
	beq	mt_checkcom2
	move.b	$2(a6),d0
	and.b	#$F,d0
	cmp.b	#$3,d0
	bne.s	mt_setperiod
	bsr	mt_setmyport
	bra	mt_checkcom2
mt_setperiod:
	move.w	(a6),$10(a6)
	and.w	#$fff,$10(a6)
	move.w	$14(a6),d0
	move.w	d0,$dff096
	clr.b	$1b(a6)

	move.l	$4(a6),(a5)
	move.w	$8(a6),$4(a5)
	move.w	$10(a6),d0
	and.w	#$fff,d0
	move.w	d0,$6(a5)
	move.w	$14(a6),d0
	or.w	d0,mt_dmacon
	bra	mt_checkcom2

mt_setdma:
	move.w	#$12c,d0
mt_wait:dbf	d0,mt_wait
	move.w	mt_dmacon,d0
	or.w	#$8000,d0
	move.w	d0,$dff096
	move.w	#$12c,d0
mt_wai2:dbf	d0,mt_wai2
	lea	$dff000,a5
	lea	mt_voice4(pc),a6
	move.l	$a(a6),$d0(a5)
	move.w	$e(a6),$d4(a5)
	lea	mt_voice3(pc),a6
	move.l	$a(a6),$c0(a5)
	move.w	$e(a6),$c4(a5)
	lea	mt_voice2(pc),a6
	move.l	$a(a6),$b0(a5)
	move.w	$e(a6),$b4(a5)
	lea	mt_voice1(pc),a6
	move.l	$a(a6),$a0(a5)
	move.w	$e(a6),$a4(a5)

	add.w	#$10,mt_pattpos
	cmp.w	#$400,mt_pattpos
	bne.s	mt_endr
mt_nex:	clr.w	mt_pattpos
	clr.b	mt_break
	addq.b	#1,mt_songpos
	and.b	#$7f,mt_songpos
	move.b	mt_songpos,d1
	cmp.b	mt_data+$3b6,d1
	bne.s	mt_endr
	clr.b	mt_songpos
mt_endr:tst.b	mt_break
	bne.s	mt_nex
	movem.l	(a7)+,d0-d4/a0-a3/a5-a6
	rts

mt_setmyport:
	move.w	(a6),d2
	and.w	#$fff,d2
	move.w	d2,$18(a6)
	move.w	$10(a6),d0
	clr.b	$16(a6)
	cmp.w	d0,d2
	beq.s	mt_clrport
	bge.s	mt_rt
	move.b	#$1,$16(a6)
	rts
mt_clrport:
	clr.w	$18(a6)
mt_rt:	rts

mt_myport:
	move.b	$3(a6),d0
	beq.s	mt_myslide
	move.b	d0,$17(a6)
	clr.b	$3(a6)
mt_myslide:
	tst.w	$18(a6)
	beq.s	mt_rt
	moveq	#0,d0
	move.b	$17(a6),d0
	tst.b	$16(a6)
	bne.s	mt_mysub
	add.w	d0,$10(a6)
	move.w	$18(a6),d0
	cmp.w	$10(a6),d0
	bgt.s	mt_myok
	move.w	$18(a6),$10(a6)
	clr.w	$18(a6)
mt_myok:move.w	$10(a6),$6(a5)
	rts
mt_mysub:
	sub.w	d0,$10(a6)
	move.w	$18(a6),d0
	cmp.w	$10(a6),d0
	blt.s	mt_myok
	move.w	$18(a6),$10(a6)
	clr.w	$18(a6)
	move.w	$10(a6),$6(a5)
	rts

mt_vib:	move.b	$3(a6),d0
	beq.s	mt_vi
	move.b	d0,$1a(a6)

mt_vi:	move.b	$1b(a6),d0
	lea	mt_sin(pc),a4
	lsr.w	#$2,d0
	and.w	#$1f,d0
	moveq	#0,d2
	move.b	(a4,d0.w),d2
	move.b	$1a(a6),d0
	and.w	#$f,d0
	mulu	d0,d2
	lsr.w	#$6,d2
	move.w	$10(a6),d0
	tst.b	$1b(a6)
	bmi.s	mt_vibmin
	add.w	d2,d0
	bra.s	mt_vib2
mt_vibmin:
	sub.w	d2,d0
mt_vib2:move.w	d0,$6(a5)
	move.b	$1a(a6),d0
	lsr.w	#$2,d0
	and.w	#$3c,d0
	add.b	d0,$1b(a6)
	rts

mt_nop:	move.w	$10(a6),$6(a5)
	rts

mt_checkcom:
	move.w	$2(a6),d0
	and.w	#$fff,d0
	beq.s	mt_nop
	move.b	$2(a6),d0
	and.b	#$f,d0
	tst.b	d0
	beq	mt_arpeggio
	cmp.b	#$1,d0
	beq.s	mt_portup
	cmp.b	#$2,d0
	beq	mt_portdown
	cmp.b	#$3,d0
	beq	mt_myport
	cmp.b	#$4,d0
	beq	mt_vib
	move.w	$10(a6),$6(a5)
	cmp.b	#$a,d0
	beq.s	mt_volslide
	rts

mt_volslide:
	moveq	#0,d0
	move.b	$3(a6),d0
	lsr.b	#4,d0
	tst.b	d0
	beq.s	mt_voldown
	add.w	d0,$12(a6)
	cmp.w	#$40,$12(a6)
	bmi.s	mt_vol2
	move.w	#$40,$12(a6)
mt_vol2:move.w	$12(a6),$8(a5)
	rts

mt_voldown:
	moveq	#0,d0
	move.b	$3(a6),d0
	and.b	#$f,d0
	sub.w	d0,$12(a6)
	bpl.s	mt_vol3
	clr.w	$12(a6)
mt_vol3:move.w	$12(a6),$8(a5)
	rts

mt_portup:
	moveq	#0,d0
	move.b	$3(a6),d0
	sub.w	d0,$10(a6)
	move.w	$10(a6),d0
	and.w	#$fff,d0
	cmp.w	#$71,d0
	bpl.s	mt_por2
	and.w	#$f000,$10(a6)
	or.w	#$71,$10(a6)
mt_por2:move.w	$10(a6),d0
	and.w	#$fff,d0
	move.w	d0,$6(a5)
	rts

mt_portdown:
	clr.w	d0
	move.b	$3(a6),d0
	add.w	d0,$10(a6)
	move.w	$10(a6),d0
	and.w	#$fff,d0
	cmp.w	#$358,d0
	bmi.s	mt_por3
	and.w	#$f000,$10(a6)
	or.w	#$358,$10(a6)
mt_por3:move.w	$10(a6),d0
	and.w	#$fff,d0
	move.w	d0,$6(a5)
	rts

mt_checkcom2:
	move.b	$2(a6),d0
	and.b	#$f,d0
	cmp.b	#$e,d0
	beq.s	mt_setfilt
	cmp.b	#$d,d0
	beq.s	mt_pattbreak
	cmp.b	#$b,d0
	beq.s	mt_posjmp
	cmp.b	#$c,d0
	beq.s	mt_setvol
	cmp.b	#$f,d0
	beq.s	mt_setspeed
	rts

mt_setfilt:
	move.b	$3(a6),d0
	and.b	#$1,d0
	asl.b	#$1,d0
	and.b	#$fd,$bfe001
	or.b	d0,$bfe001
	rts
mt_pattbreak:
	not.b	mt_break
	rts
mt_posjmp:
	move.b	$3(a6),d0
	subq.b	#$1,d0
	move.b	d0,mt_songpos
	not.b	mt_break
	rts
mt_setvol:
	cmp.b	#$40,$3(a6)
	ble.s	mt_vol4
	move.b	#$40,$3(a6)
mt_vol4:move.b	$3(a6),$8(a5)
	rts
mt_setspeed:
	move.b	$3(a6),d0
	and.w	#$1f,d0
	beq.s	mt_rts2
	clr.b	mt_counter
	move.b	d0,mt_speed
mt_rts2:rts

mt_sin:
dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd
dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18

mt_periods:
dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a,$021a,$01fc,$01e0
dc.w $01c5,$01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d,$010d,$00fe
dc.w $00f0,$00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f,$0087
dc.w $007f,$0078,$0071,$0000,$0000

mt_speed:	dc.b	$6
mt_songpos:	dc.b	$0
mt_pattpos:	dc.w	$0
mt_counter:	dc.b	$0

mt_break:	dc.b	$0
mt_dmacon:	dc.w	$0
mt_samplestarts:blk.l	$1f,0
mt_voice1:	blk.w	10,0
		dc.w	$1
		blk.w	3,0
mt_voice2:	blk.w	10,0
		dc.w	$2
		blk.w	3,0
mt_voice3:	blk.w	10,0
		dc.w	$4
		blk.w	3,0
mt_voice4:	blk.w	10,0
		dc.w	$8
		blk.w	3,0

 dc.w $0004,$c76c,$0400,$0005,$0000

 son:  dc.l 0
 pil:  dc.l $6400a
 pon:  dc.l $64027
 sub:  dc.w $0001,$0000,$0100,$0100,$0000
 sil:  dc.w $0000
 pap:  dc.w $0000
 rap:  dc.w $0000

; set char in the right place

ctab:	DC.B    ' !"#$% @()*+,-./0123'
        DC.B    '456789:;<=>_ ABCDEFG'
        DC.B    'HIJKLMNOPQRSTUVWXYZ '
               
;   define Twizz chars

vague:  
	DC.W	$0000,$0002,$0004,$0006,$0008,$000A,$000C,$000E
	DC.W	$0010,$0012,$0014,$0016,$0018,$001a,$001c,$001e
	DC.W	$0020,$0022,$0024,$0026,$0280,$0282,$0284,$0286
	DC.W	$0288,$028a,$028c,$028e,$0290,$0292,$0294,$0296
	DC.W	$0298,$029a,$029c,$029e,$02a0,$02a2,$02a4,$02a6
        DC.W    $0500,$0502,$0504,$0506,$0508,$050a,$050c,$050e
	DC.W	$0510,$0512,$0514,$0516,$0518,$051a,$051c,$051e
        DC.W    $0520,$0522,$0524,$0526

;  the mainscroll text

text:   

DC.B 'WELCOME THIS IS PARALAX SYSTEMS WITH A NEW INTRO. '
DC.B ' FIRST OF ALL'         
DC.B ' SOME FAST CREDITS FOR THIS INTRO.    '
DC.B '       CODE AND MUSIC BY SHARP       '
DC.B '   GFX BY TWIZZ      '
DC.B ' I WANT YOU TO KNOW THAT IM NOT VERY PROUD OF THIS'
DC.B ' INTRO EVEN THOUGH ITS MY FIRST FOR '
DC.B ' PARALAX SYSTEMS '
DC.B '. WE HAD JUST JOINED US WITH ENATOR IN THE HORIZON' 
DC.B ' PARTY AND WE HAD A BIG'
DC.B ' DISCUSSION ABOUT THE NEW NAME OF THE GROUP. '
DC.B ' FINNALLY, AFTER MANY VOTINGS WE CAME TO THE '
DC.B 'CONCLUSION THAT "ABSTRACT" WAS GOOD ENOUGH FOR'
DC.B ' THE MOMENT.  BUT I THINK IT IS TOO'
DC.B ' ANONYMOUS TO GET ATTENTION BUT I HAVE NO'
DC.B 'BETTER SUGGESTIONS OF MY OWN.       THIS SCROLL'
DC.B ' WOULDNT BE SO MUSH LONGER. MY HEAD IS EMPTY AND '
DC.B 'I HAD NOTHING TO WRITE ABOUT. USEUFULLY I COULD WRITE '
DC.B 'GREETINGS AND MEMBERLIST AND SO ON...    BUT IF YOU LOOK '
DC.B 'IN THE MIDDLE OF THE DEMO COULD YOU FIND SOME CRAP' 
DC.B ' LIKE THAT AND I THINK IT IS UNNECESSARY TO WRITE THIS' 
DC.B ' TWICE.        THE SCROLL WILL BE STOP HERE.          '
DC.B '       @'

;  copperlist

copper:	
        DC.W    $0180,$0000,$0120
sp1:    DC.W    $0000
        DC.W    $0122
sp2:    DC.W    $0000
        DC.W    $0124
sp3:    DC.W    $0000
	DC.W	$0126
sp4:    DC.W    $0000
        DC.W    $0128
sp5:    DC.W    $0000
        DC.W    $012A
sp6:    DC.W    $0000
        DC.W    $012C
sp7:    DC.W    $0000
	DC.W	$012E
sp8:    DC.W    $0000
        DC.W    $008E,$2051,$0090,$25C1,$0092,$0038
	DC.W	$0094,$00D0,$0108,$0000,$010A,$0000,$2F01,$FFFE
	DC.W	$0100,$5000,$00E0
blt1h:  DC.W    $0000,$00E2
blt1l:  DC.W    $0000,$00E4
blt2h:  DC.W    $0000,$00E6	
blt2l:  DC.W    $0000,$00E8
blt3h:  DC.W    $0000,$00EA
blt3l:  DC.W    $0000,$00EC
blt4h:  DC.W    $0000,$00EE	
blt4l:  DC.W    $0000,$00F0
blt5h:  DC.W    $0000,$00F2
blt5l:  DC.W    $0000

	dc.w	$0180
col: 	dc.w	$0000 ,$0182,$0000 ,$0184,$0000 ,$0186,$0000
	dc.w	$0188,$0000 ,$018a,$0000 ,$018c,$0000 ,$018e,$0000
	dc.w	$0190,$0000 ,$0192,$0000 ,$0194,$0000 ,$0196,$0000
	dc.w	$0198,$0000 ,$019a,$0000 ,$019c,$0000 ,$019e,$0000
	dc.w	$01a0,$0000 ,$01a2,$0000 ,$01a4,$0000 ,$01a6,$0000
	dc.w	$01a8,$0000 ,$01aa,$0000 ,$01ac,$0000 ,$01ae,$0000
	dc.w	$01b0,$0000 ,$01b2,$0000 ,$01b4,$0000 ,$01b6,$0000
	dc.w	$01b8,$0000 ,$01ba,$0000 ,$01bc,$0000 ,$01be,$0000

	DC.W	$7b01,$FFFE,$0100,$0000,$0180,$0000

	dc.w $0180,$0100,$7c01,$fffe,$0180,$0200,$7d01,$fffe         
	dc.w $0180,$0300,$7e01,$fffe,$0180,$0400,$7f01,$fffe
	dc.w $0180,$0500,$8001,$fffe,$0180,$0400,$8201,$fffe
	dc.w $0180,$0300,$8301,$fffe,$0180,$0200,$8401,$fffe
	dc.w $0180,$0100,$8501,$fffe,$0180,$0000,$8601,$fffe 

	DC.W	$0092,$0028,$0094,$00D0
	DC.W	$008E,$1C51,$0090,$77D1
	DC.W	$0108
mod1:   DC.W    $0046
        DC.W    $010A
mod2:   DC.W    $0046
	DC.W	$0180,$0000,$0182,$0100
	DC.W	$0092,$0038,$0094,$00D0,$0102,$0000
	DC.W	$00E0
blk1:   DC.W    $0006
setone: DC.W    $00E2
blk2:   DC.W    $400a
        DC.W	$8b01,$FFFE,$0100,$1600

        DC.W    $0120,$0000,$0122,$0000,$0124,$0000
        DC.W    $0126,$0000,$0128,$0000,$012a,$0000
        DC.W    $012c,$0000,$012e,$0000,$0130,$0000
        DC.W    $0132,$0000,$0134,$0000,$0136,$0000
        DC.W    $0138,$0000,$013a,$0000,$013c,$0000
        DC.W    $013e,$0000

	DC.W	$8c01,$FFFE,$0108,$0000,$0182,$0020
        DC.W    $8d01,$fffe,$0108,$0000,$0182,$0030       
        DC.W    $8e01,$fffe,$0108,$0000,$0182,$0040
        DC.W    $8f01,$fffe,$0108,$0000,$0182,$0050
        DC.W    $9001,$fffe,$0108,$0000,$0182,$0060
        DC.W    $9101,$fffe,$0108,$0000,$0182,$0070
        DC.W    $9201,$fffe,$0108,$0000,$0182,$0080
        DC.W    $9301,$fffe,$0108,$0000,$0182,$0090
        DC.W    $9401,$fffe,$0108,$0000,$0182,$00a0
        DC.W    $9501,$fffe,$0108,$0000,$0182,$00b0
        DC.W    $9601,$fffe,$0108,$0000,$0182,$00c0
        DC.W    $9701,$fffe,$0108,$0000,$0182,$00d0
        DC.W    $9801,$fffe,$0108,$0000,$0182,$00e0
        DC.W    $9901,$fffe,$0108,$0000,$0182,$00f0
                
col2:   blk.b   3960

        DC.W    $d801,$fffe,$0108,$0000,$0180,$0000 

        DC.W    $df01,$fffe,$0108,$0000,$0182,$00e0
        DC.W    $e001,$fffe,$0108,$0000,$0182,$00d0
        DC.W    $e101,$fffe,$0108,$0000,$0182,$00c0
        DC.W    $e201,$fffe,$0108,$0000,$0182,$00b0
        DC.W    $e301,$fffe,$0108,$0000,$0182,$00a0
        DC.W    $e401,$fffe,$0108,$0000,$0182,$0090
        DC.W    $e501,$fffe,$0108,$0000,$0182,$0080
        DC.W    $e601,$fffe,$0108,$0000,$0182,$0070    
        DC.W    $e701,$fffe,$0108,$0000,$0182,$0060
        DC.W    $e801,$fffe,$0108,$0000,$0182,$0050
        DC.W    $e901,$fffe,$0108,$0000,$0182,$0040
        DC.W    $ea01,$fffe,$0108,$0000,$0182,$0030
        DC.W    $eb01,$fffe,$0108,$0000,$0182,$0020
        DC.W    $ec01,$fffe,$0108,$0000,$0182,$0010  

        DC.W    $ed01,$FFFE

        DC.W    $0100,$0000		

	dc.w $0180,$0100,$f401,$fffe,$0180,$0200,$f501,$fffe
	dc.w $0180,$0300,$f601,$fffe,$0180,$0400,$f701,$fffe
	dc.w $0180,$0500,$f801,$fffe,$0180,$0400,$fa01,$fffe
	dc.w $0180,$0300,$fb01,$fffe,$0180,$0200,$fc01,$fffe
	dc.w $0180,$0100,$fd01,$fffe,$0180,$0000,$fe01,$fffe

        DC.W    $FF01,$FFFE
	DC.W	$00E0,$0007,$00E2,$1000
	DC.W    $008E,$FF64,$0090,$38D1
	DC.W	$0092,$0028,$0094,$00D8,$0108,$0004,$010A,$0004
	DC.W	$0180,$0000,$0182,$0368,$0184,$0200	
	DC.W	$0102,$0033,$FFDD,$FFFE
        dc.w    $0501,$fffe,$0100,$1000

        dc.w    $0182,$0468,$0601,$fffe,$0182,$0579,$0701,$fffe
        dc.w    $0182,$068b,$0801,$fffe,$0182,$079c,$0901,$fffe
        dc.w    $0182,$08ae,$0a01,$fffe,$0182,$098f,$0b01,$fffe
        dc.w    $0182,$0acf,$0c01,$fffe,$0182,$0bdf,$0d01,$fffe
        dc.w    $0182,$0cef,$0e01,$fffe,$0182,$0dff,$0f01,$fffe

        dc.w    $1301,$FFFE,$0100,$0000
	DC.W	$1B01,$FFFE,$0180,$0100,$1D01,$FFFE,$0180,$0200
	DC.W	$1F01,$FFFE,$0180,$0300,$2101,$FFFE,$0180,$0400
	DC.W	$2301,$FFFE,$0180,$0500,$2501,$FFFE,$0180,$0600
	DC.W	$2701,$FFFE,$0180,$0700,$2901,$FFFE,$0180,$0800
	DC.W	$2B01,$FFFE,$0180,$0900,$2D01,$FFFE,$0180,$0A00
	DC.W	$2F01,$FFFE,$0180,$0B00,$FFFF,$FFFE,$0000,$0000
 
;   logo color
plane:	

dc.w	$0000 ,$0eca ,$0f26 ,$0e26 ,$0d15 ,$0d15 ,$0c05 ,$0b04
dc.w	$0fff ,$0ccc ,$0aaa ,$0666 ,$0555 ,$0333 ,$0444 ,$0777
dc.w	$0620 ,$0e52 ,$0a52 ,$0fca ,$0333 ,$0444 ,$0555 ,$0666
dc.w	$0777 ,$0888 ,$0999 ,$0aaa ,$0ccc ,$0ddd ,$0eee ,$0fff

;   adds plane for plane

tom:    dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
        dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
        dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
        dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
        dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000 
	
;   sorry!!!!

charpos:
	DC.W	$4142,$4344,$4546,$4748,$494A,$4B4C,$4D4E,$4F50
	DC.W	$5152,$5354,$5556,$5758,$595A,$3031,$3233,$3435
	DC.W	$3637,$3839,$2E21,$3F2C,$2829,$2D3B,$3A20,$0000
	DC.W	$0000,$0000
txt:	DC.L	Vtext

; text for hori.scroll (Vscroll)

Vtext:  
 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 '            GREETING GOES TO             ',$00
 dc.b '---------------------------------------- ',$00
 dc.b '                                         ',$00
 dc.b '                ADEPT                    ',$00 
 dc.b '                ARGON                    ',$00
 dc.b '                AURORA                   ',$00
 dc.b '                 BAT                     ',$00
 dc.b '                BRONX                    ',$00 
 dc.b '                CHASM                    ',$00
 dc.b '                CENSOR                   ',$00
 dc.b '               CRYSTAL                   ',$00
 dc.b '            DELICIUS DREAMS              ',$00
 dc.b '               HYPNOSIS                  ',$00
 dc.b '               HORIZON                   ',$00
 dc.b '             HELLION CREW                ',$00
 dc.b '                 KAAN                    ',$00
 dc.b '                 LINK                    ',$00
 dc.b '                MANIAC                   ',$00   
 dc.b '                  MAX                    ',$00 
 dc.b '                  MIC                    ',$00
 dc.b '                OMICROM                  ',$00 
 dc.b '                OXYGENE                  ',$00
 dc.b '               RED SECTOR                ',$00
 dc.b '                SANXION                  ',$00
 dc.b '               SCIENCE451                ',$00
 dc.b '                SKYRIDERS                ',$00
 dc.b '                SARUMAN                  ',$00
 dc.b '                TELLADON                 ',$00
 dc.b '                 TRACE                   ',$00
 dc.b '                TRISTAR                  ',$00
 dc.b '                 VOICE                   ',$00
 dc.b '                 ZHARK                   ',$00
 dc.b '                ZEN666                   ',$00
 dc.b '              WORLD VISION               ',$00   
 dc.b '                                         ',$00
 dc.b '        END OF THE GREETING LIST         ',$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 '                                         ',$ff

; set horizon scrollplane

emp:	DC.W	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	DC.W	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	DC.W	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	DC.W	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	DC.W	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	DC.W	$0118,$0118,$0118,$0118,$0118,$0118,$0118,$0118
	DC.W	$0118,$0118,$0118,$0118,$0118,$0118,$0118,$0118
	DC.W	$0118,$0118,$0118,$0118,$0118,$0118,$0118,$0118
	DC.W	$0118,$0118,$0118,$0118,$0118,$0118,$0118,$0118
	DC.W	$0118,$0118,$0118,$0118,$0118,$0118,$0118,$0118


;   for the first text to routine 'write' 

text2: 
 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b '     ABSTRACT       ' 
 dc.b '     PRESENTS       '
 dc.b '                    '
 dc.b '    A NEW INTRO     '
 dc.b '------------------  '

 dc.b '                    ' 
 dc.b '                    '
 dc.b '                    '
 dc.b '      CREDITS       '
 dc.b '                    '      
 dc.b '    CODE    SHARP   '
 dc.b '    GFX     TWIZZ   '
 dc.b '    MUSIC   SHARP   '  

 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b 'ABSTRACT MEMBER LIST' 
 dc.b '                    '
 dc.b ' DROID TWIZZ JAC64  '     
 dc.b 'ALE PACO BANEX SHARP' 
 dc.b ' CICERO TIX SPECTER '  
 
 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b 'MAXTER CROSSFOG MR.B'
 dc.b ' RAINMAN PUKE KRYPT '
 dc.b '   MAESTRO SPOLIX   '
 dc.b '   JMH JAC MERLIN   ' 
 dc.b '   CYGNUS XANNOR    '
 
 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b ' WELL I THINK IT IS '
 dc.b '                    '
 dc.b ' TIME FOR THE GREETS'
 dc.b '                    ',$ff

;  the second text 

text3: 
 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b 'FOR SWAPPING        '
 dc.b ' PACO/PARALAX       '
 dc.b ' KENNETH LJUNGGREN  '
 dc.b ' VAARUDSRINGEN 172  '
 dc.b ' 127 41 SKAERHOLMEN '

 dc.b '                    ' 
 dc.b '                    '
 dc.b '                    '
 dc.b 'OR                  '
 dc.b ' KRYPT/ENATOR       '
 dc.b ' MYRSTIGEN 5        '
 dc.b ' 151 60 SODERTAELJE '
 dc.b '                    '

 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b ' THAT WAS ALL.....  '
 dc.b '                    '
 dc.b ' GOODBYE FOLKS      '
 dc.b '                    ' 

 dc.b '                    '
 dc.b '                    '
 dc.b '                    ' 
 dc.b '                    '
 dc.b '                    '
 dc.b '                    '
 dc.b '                    ' 
 dc.b '                    ',$ff

text4: dc.l 0

;   the sinus bars

posi:	DC.W	$0140,$0140,$0140,$0140,$0140,$0140,$0140,$013F
	DC.W	$013F,$013F,$013F,$013F,$013E,$013E,$013E,$013D
	DC.W	$013D,$013D,$013C,$013C,$013B,$013B,$013A,$013A
	DC.W	$0139,$0139,$0138,$0137,$0137,$0136,$0135,$0135
	DC.W	$0134,$0133,$0132,$0131,$0131,$0130,$012F,$012E
	DC.W	$012D,$012C,$012B,$012A,$0129,$0128,$0127,$0126
	DC.W	$0125,$0124,$0123,$0122,$0121,$011F,$011E,$011D
	DC.W	$011C,$011A,$0119,$0118,$0117,$0115,$0114,$0113
	DC.W	$0111,$0110,$010E,$010D,$010B,$010A,$0109,$0107
	DC.W	$0106,$0104,$0102,$0101,$00FF,$00FE,$00FC,$00FB
	DC.W	$00F9,$00F7,$00F6,$00F4,$00F2,$00F1,$00EF,$00ED
	DC.W	$00EB,$00EA,$00E8,$00E6,$00E4,$00E3,$00E1,$00DF
	DC.W	$00DD,$00DB,$00DA,$00D8,$00D6,$00D4,$00D2,$00D0
	DC.W	$00CE,$00CD,$00CB,$00C9,$00C7,$00C5,$00C3,$00C1
	DC.W	$00BF,$00BD,$00BB,$00B9,$00B7,$00B6,$00B4,$00B2
	DC.W	$00B0,$00AE,$00AC,$00AA,$00A8,$00A6,$00A4,$00A2
	DC.W	$00A0,$009E,$009C,$009A,$0098,$0096,$0094,$0092
	DC.W	$0090,$008E,$008C,$008A,$0089,$0087,$0085,$0083
	DC.W	$0081,$007F,$007D,$007B,$0079,$0077,$0075,$0073
	DC.W	$0072,$0070,$006E,$006C,$006A,$0068,$0066,$0065
	DC.W	$0063,$0061,$005F,$005D,$005C,$005A,$0058,$0056
	DC.W	$0055,$0053,$0051,$004F,$004E,$004C,$004A,$0049
	DC.W	$0047,$0045,$0044,$0042,$0041,$003F,$003E,$003C
	DC.W	$003A,$0039,$0037,$0036,$0035,$0033,$0032,$0030
	DC.W	$002F,$002D,$002C,$002B,$0029,$0028,$0027,$0026
	DC.W	$0024,$0023,$0022,$0021,$001F,$001E,$001D,$001C
	DC.W	$001B,$001A,$0019,$0018,$0017,$0016,$0015,$0014
	DC.W	$0013,$0012,$0011,$0010,$000F,$000F,$000E,$000D
	DC.W	$000C,$000B,$000B,$000A,$0009,$0009,$0008,$0007
	DC.W	$0007,$0006,$0006,$0005,$0005,$0004,$0004,$0003
	DC.W	$0003,$0003,$0002,$0002,$0002,$0001,$0001,$0001
	DC.W	$0001,$0001,$0000,$0000,$0000,$0000,$0000,$0000

;   colorlist for bars

data:	DC.W	$0001,$0002,$0003,$0004,$0005,$0006,$0007,$0008
	DC.W	$0009,$000a,$000b,$000c,$000d,$000e,$000f,$000f
	DC.W	$000e,$000d,$000c,$000b,$000a,$0009,$0008,$0007
	DC.W	$0006,$0005,$0004,$0003,$0002,$0001,$0000,$0000
	DC.W	$0100,$0200,$0300,$0400,$0500,$0600,$0700,$0800
	DC.W	$0900,$0a00,$0b00,$0c00,$0d00,$0e00,$0f00,$0f00
	DC.W	$0f00,$0f00,$0f00,$0f00,$0e00,$0d00,$0c00,$0b00
	DC.W	$0a00,$0900,$0800,$0700,$0600,$0500,$0400,$0300
	DC.W	$0200,$0100,$0000,$0000,$0001,$0002,$0003,$0004
	DC.W	$0005,$0006,$0007,$0008,$0009,$000a,$000b,$000c
	DC.W	$000d,$000e,$000f,$000f,$000e,$000d,$000c,$000b
	DC.W	$000a,$0009,$0008,$0007,$0006,$0005,$0004,$0003
	DC.W	$0002,$0001,$0000,$0000,$0100,$0200,$0300,$0400
	DC.W	$0500,$0600,$0700,$0800,$0900,$0a00,$0b00,$0c00
	DC.W	$0d00,$0e00,$0f00,$0f00,$0f00,$0f00,$0f00,$0f00
	DC.W	$0e00,$0d00,$0c00,$0b00,$0a00,$0900,$0800,$0700
	DC.W	$0600,$0500,$0400,$0300,$0200,$0100,$0000,$0000
	DC.W	$0001,$0002,$0003,$0004,$0005,$0006,$0007,$0008
	DC.W	$0008,$0007,$0006,$0005,$0004,$0003,$0002,$0001
	DC.W	$0000,$0000,$0100,$0200,$0300,$0400,$0500,$0600
	DC.W	$0700,$0800,$0900,$0a00,$0b00,$0c00,$0d00,$0e00
	DC.W	$0f00,$0f00,$0f00,$0f00,$0f00,$0f00,$0e00,$0d00
	DC.W	$0c00,$0b00,$0a00,$0900,$0800,$0700,$0600,$0500
	DC.W	$0400,$0300,$0200,$0100,$0000,$0000,$0001,$0002
	DC.W	$0003,$0004,$0005,$0006,$0007,$0008,$0009,$000a
	DC.W	$000b,$000c,$000d,$000e,$000f,$000f,$000e,$000d
	DC.W	$000c,$000b,$000a,$0009,$0008,$0007,$0006,$0005
	DC.W	$0004,$0003,$0002,$0001,$0000,$0000,$0100,$0200
	DC.W	$0300,$0400,$0500,$0600,$0700,$0800,$0900,$0a00
	DC.W	$0b00,$0c00,$0d00,$0e00,$0f00,$0f00,$0f00,$0f00
	DC.W	$0f00,$0f00,$0e00,$0d00,$0c00,$0b00,$0a00,$0900
	DC.W	$0800,$0700,$0600,$0500,$0400,$0300,$0200,$0100
	DC.W	$0000,$0000,$0001,$0002,$0003,$0004,$0005,$0006
	DC.W	$0007,$0008,$0009,$000a,$000b,$000c,$000d,$000e
	DC.W	$000f,$000f,$000e,$000d,$000c,$000b,$000a,$0009
	DC.W	$0008,$0007,$0006,$0005,$0004,$0003,$0002,$0001


SPRITES:

	dc.l	$2ACF2B00,$80000000,$2C572D00,$00008000
	dc.l	$2E322F00,$80008000,$30513100,$80000000
	dc.l	$36533700,$80000000,$38363900,$00008000
	dc.l	$3A283B00,$80008000,$3C993D00,$80000000
	dc.l	$3EA53F00,$00008000,$40884100,$80008000
	dc.l	$42844300,$80000000,$444A4500,$00008000
	dc.l	$468D4700,$80008000,$48B34900,$80000000
	dc.l	$4A6C4B00,$00008000,$4C254D00,$80008000
	dc.l	$4EAE4F00,$80000000,$50065100,$00008000
	dc.l	$52EF5300,$80008000,$54A05500,$80000000
	dc.l	$565A5700,$00008000,$58195900,$80008000
	dc.l	$5A725B00,$80000000,$5CF45D00,$00008000
	dc.l	$5E615F00,$80008000,$60C96100,$80000000
	dc.l	$62D36300,$00008000,$64776500,$80008000
	dc.l	$66AA6700,$80000000,$68C76900,$00008000
	dc.l	$6A486B00,$80008000,$6CCD6D00,$80000000
	dc.l	$6EF06F00,$00008000,$70D77100,$80008000
	dc.l	$724E7300,$80000000,$74C47500,$00008000
	dc.l	$76E77700,$80008000,$78957900,$80000000
	dc.l	$7A0A7B00,$00008000,$7C457D00,$80008000
	dc.l	$7E4C7F00,$80000000,$80528100,$00008000
	dc.l	$820D8300,$80008000,$84468500,$80000000
	dc.l	$86CD8700,$00008000,$881D8900,$80008000
	dc.l	$8A908B00,$80000000,$8CB38D00,$00008000
	dc.l	$8E4C8F00,$80008000,$90BA9100,$80000000
	dc.l	$92639300,$00008000,$94449500,$80008000
	dc.l	$96B09700,$80000000,$98DA9900,$00008000
	dc.l	$9A199B00,$80008000,$9CAF9D00,$80000000
	dc.l	$9E1A9F00,$00008000,$A08CA100,$80008000
	dc.l	$A28BA300,$80000000,$A460A500,$00008000
	dc.l	$A632A700,$80008000,$A859A900,$80000000
	dc.l	$AA59AB00,$00008000,$AC90AD00,$80008000
	dc.l	$AEC5AF00,$80000000,$B0DCB100,$00008000
	dc.l	$B2DCB300,$80008000,$B4BDB500,$80000000
	dc.l	$B689B700,$00008000,$B883B900,$80008000
	dc.l	$BA4BBB00,$80000000,$BC35BD00,$00008000
	dc.l	$BE36BF00,$80008000,$C061C100,$80000000
	dc.l	$C29AC300,$00008000,$C49DC500,$80008000
	dc.l	$C6CFC700,$80000000,$C8F3C900,$00008000
	dc.l	$CACDCB00,$80008000,$CCC6CD00,$80000000
	dc.l	$CE84CF00,$00008000,$D07DD100,$80008000
	dc.l	$D247D300,$80000000,$D440D500,$00008000
	dc.l	$D657D700,$80008000,$D861D900,$80000000
	dc.l	$DA6CDB00,$00008000,$DC6FDD00,$80008000
	dc.l	$DE71DF00,$80000000,$E0A4E100,$00008000
	dc.l	$E2D8E300,$80008000,$E4DCE500,$80000000
	dc.l	$E6F0E700,$00008000,$E8F0E900,$80008000
	dc.l	$EAEEEB00,$80000000,$ECBFED00,$00008000
	dc.l	$EEBAEF00,$80008000,$F0A0F100,$80000000
	dc.l	$F281F300,$00008000,$F451F500,$80008000
	dc.l	$F647F700,$80000000,$F874F900,$00008000
	dc.l	$FA94FB00,$80008000,$FC93FD00,$80000000
	dc.l	$FE8FFF00,$00008000,$00670106,$80008000
	dc.l	$02650306,$80000000,$04780506,$00008000
	dc.l	$067D0706,$80008000,$08C70906,$80000000
	dc.l	$0AC80B06,$00008000,$0CCD0D06,$80008000
	dc.l	$0ECD0F06,$80000000,$10D11106,$00008000
	dc.l	$12CF1306,$80008000,$14BF1506,$80000000
	dc.l	$168C1706,$00008000,$18801906,$80008000
	dc.l	$1A591B06,$80000000,$1C4D1D06,$00008000
	dc.l	$1E431F06,$80008000,$20432106,$80000000
	dc.l	$22432306,$00008000,$24572506,$80008000
sp0:	dc.l	$00000000

font:   blk.b 1920,0   
logo:   blk.b 17600,0  

vfont:  blk.b 512,0
blk.b 200,0
  
qfont:  blk.b 592,0 
blk.b 200,0

mt_data: blk.b 26348,0

>extern "asmdisk2:logo/rawfitta",logo
>extern "asmdisk2:font/TWIZZ.font",font
>extern "asmdisk2:font/Vfont",vfont
>extern "asmdisk2:font/qfont",qfont
>extern "asmdisk2:module/mod.fireballs",mt_data

