scene.org File Archive

File download

<root>­/­mirrors­/­amigascne­/­Scrollers­/­S-Groupstext­/­Shining8/Shining8-8ChannelTracker.txt

File size:
40 432 bytes (39.48K)
File date:
2024-12-28 05:45:01
Download count:
all-time: 27

Preview

           shining 8 present     .... the 8 channel soundtracker 99 percent released by s8 on 4.11.1989  ....     contact our headquarter under    plk.057725 b   7630 lahr   west germany            our greets are shining in non order to:     ...... paranomia    deathstar    headwave     prime evil    music steve    the force     hellas    acme factories    isf    browbeat      contex     x factor     cult    complex    the fire starters    nato     tarkus team    beasty boys     ecg     ibb     d tect    beyond force     avenger    triangle    amiga industries    black monks    argus    bounty    silver hawks    phase 101    sharks     alpha flight    wintex    byterapers    supplex    don of indy    romano    stet    supreme     rebels    the silents    esa    kefrens     brainstorm    escape    storm    the web    dark force     the shiners are :          romrunner     ecr net.    fletch    trashcan    sledge    napalm    exorcist    devil                   this intro were done by romrunner              *



dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
sprite3:
dc.w	$80d8,$b500
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
sprite4:
dc.w	$80cc,$b500
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff

sprite5:

dc.w	$6010,$6100
dc.w	$0001,$0001
dc.w	$6460,$6500
dc.w	$0001,$0000
dc.w	$68c0,$6900
dc.w	$0000,$0001
dc.w	$6c50,$6d00
dc.w	$0001,$0001

dc.w	$70f0,$7100
dc.w	$0001,$0000
dc.w	$7440,$7500
dc.w	$0000,$0001
dc.w	$7890,$7900
dc.w	$0001,$0001
dc.w	$7c30,$7d00
dc.w	$0001,$0000

dc.w	$8020,$8100
dc.w	$0001,$0000
dc.w	$8460,$8500
dc.w	$0000,$0001
dc.w	$88a0,$8900
dc.w	$0001,$0001
dc.w	$8cc0,$8d00
dc.w	$0001,$0000

dc.w	$9060,$9100
dc.w	$0000,$0001
dc.w	$9410,$9500
dc.w	$0001,$0001
dc.w	$9830,$9900
dc.w	$0000,$0001
dc.w	$9cc0,$9d00
dc.w	$0001,$0000

dc.w	$a010,$a100
dc.w	$0001,$0001
dc.w	$a470,$a500
dc.w	$0000,$0001
dc.w	$a8e0,$a900
dc.w	$0001,$0000
dc.w	$ac20,$ad00
dc.w	$0000,$0001

dc.w	$b0a0,$b100
dc.w	$0001,$0000
dc.w	$b4f0,$b500
dc.w	$0001,$0001
dc.w	$b840,$b900
dc.w	$0001,$0000
dc.w	$bc70,$bd00
dc.w	$0000,$0001

dc.w	$c080,$c100
dc.w	$0001,$0000
dc.w	$c440,$c500
dc.w	$0000,$0001
dc.w	$c820,$c900
dc.w	$0001,$0001
dc.w	$cce0,$cd00
dc.w	$0001,$0000

dc.w	$d070,$d100
dc.w	$0000,$0001
dc.w	$d450,$d500
dc.w	$0001,$0000
dc.w	$d8b0,$d900
dc.w	$0001,$0001
dc.w	$dc30,$dd00
dc.w	$0000,$0001

dc.w	$e060,$e100
dc.w	$0001,$0000
dc.w	$e4b0,$e500
dc.w	$0001,$0000
dc.w	$e890,$e900
dc.w	$0000,$0001
dc.w	$ec10,$ed00
dc.w	$0001,$0000

sprite6:

dc.w	$6960,$7300
dc.w	%0000000000000000,0000000000000000
dc.w	%1110000000000000,0000000000000000
dc.w	%1111110000000000,0000000000000000
dc.w	%1111111110000000,0000000000000000
dc.w	%1111111111110000,0000000000000000
dc.w	%1111111111111110,0000000000000000
dc.w	%1111111111110000,0000000000000000
dc.w	%1111111110000000,0000000000000000
dc.w	%1111110000000000,0000000000000000
dc.w	%1110000000000000,0000000000000000
dc.w	%0000000000000000,0000000000000000


blk.b	10,0
even
chartab:
dc.w	$98c0,$f6c0,$0000,$0000,$0000,$0000,$0000,$f0e0,$0500,$0000
dc.w	$0000,$0000,$d960,$050a,$e520,$0000,$9ea0,$a480,$aa60,$b040
dc.w	$b620,$bc00,$c1e0,$c7c0,$cda0,$d380,$eb00,$df40,$0000,$0000
dc.w	$0000,$0522,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$05e0,$0bc0,$11a0,$1780
dc.w	$1d60,$2340,$2920,$2f00,$34e0,$3ac0,$40a0,$4680,$4c60,$5240
dc.w	$5820,$5e00,$63e0,$69c0,$6fa0,$7580,$7b60,$8140,$8720,$8d00
dc.w	$92e0,$98c0,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000
scrolltext:
dc.b	"      "
dc.b	"    shining'8 present proud the first sound erection "
dc.b	"disk *" 
even
charadr=$40000



chartab2:
dc.w	$0524,$050e,$0000,$0512,$0000,$0000,$0000,$0000,$0500,$0502
dc.w	$0504,$0506,$0508,$050a,$050c,$028e,$0290,$0292,$0294,$0296
dc.w	$0298,$029a,$029c,$029e,$02a0,$02a2,$02a4,$02a6,$0000,$0000
dc.w	$0000,$0522,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0002,$0004,$0006,$0008,$000a
dc.w	$000c,$000e,$0010,$0012,$0014,$0016,$0018,$001a,$001c,$001e
dc.w	$0020,$0022,$0024,$0026,$0280,$0282,$0284,$0286,$0288,$028a
dc.w	$028c,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000
scrolltext2:
dc.b	"            yep ..... this is sound erection #1 of "
dc.b	"shining 8 ...... all sounds were tracked by our "
dc.b	"soundwizard     .... trashcan ....       and now " 
dc.b	"we send our greets (no order) to : "
dc.b	"headwave (dave)    prime evil    music steve    "
dc.b	"the force (australia,israel (danny) on c64) "
dc.b	"    hellas    acme factories    isf    browbeat (64) "
dc.b	"    contex (64)    x-factory    cult    complex    "
dc.b	"the fire starters    nato (64)    tarkus team    "
dc.b	"beasty boys (sascha)    ecg (64)    ibb (enrico)    "
dc.b	"d-tect    beyond force (64+amiga)    avenger    "
dc.b	"triangle    amiga industries    black monks    "    
dc.b	"angus    bounty    silver hawks    phase 101    "
dc.b	"sharks (64)    alpha flight    wintex    "
dc.b	"byterapers    supplex    don of indy    romano    "
dc.b	"sted    supreme (tim)    rebels    the silent    "
dc.b	"esa    kefrens (pop)    brainstorm (shadow)    "
dc.b	"escape    storm    the web    dark force (ex-shining member)"
dc.b	"       and all other we forgot   !!!  "
dc.b	"  our  actual memberlist :    romrunner    trashcan    "
dc.b	"ecr net.    fletch    napalm    exorsist    devil    "
dc.b	"sledge           credits for this demo :    "
dc.b	"    coding  :   romrunner      big charset  :  sledge"
dc.b	"    sounds  :   trashcan    ....."
dc.b	"      credits for the sounddisk intro :       "
dc.b	"    coding  :   romrunner      logo  :  exorsist    "
dc.b	"    sound   :   trashcan       equlizer :  "
dc.b	"napalm and a bit romrunner        thats all for this time "
dc.b	" ............          *"
charadr2=$53000
even
spritespeed:
	dc.b	1,2,1,1,3,2,1,3,1,2,1
	dc.b	3,2,2,3,1,1,3,2,1,1,2
	dc.b	1,2,2,1,2,1,1,3,2,2,1
	dc.b	2,1,1,1,2,3,1,2,1,2,1
loader:
*********************
* Daten-file loader *
* written by        *
* romrunner / s8    *
*********************
; Thanx to Music-steve for the origonal.prg (as segment loader)
jsr	mt_end
move.w		#$4000,$dff09a
move.l		oldirq,$6c		;restore interruptvectors
move.w		#$c000,$dff09a
move.l		execbase,a6
move.l		gfxbase,a1
jsr		closelibrary(a6)	;close graphicslibrary
move.l		gfxbase,a0
add.l		#$32,a0
move.w		#$0080,$dff096
move.l		oldcopper,(a0)		;restore old copper
move.w		#$8080,$dff096
move.l		execbase,a6
jsr		permit(a6)		;multitasking is back
move.w		#$8020,$dff096
movem.l		(sp)+,d0-d7/a0-a6	;pull registers from stack
moveq	#$00,d0



******** Routine for DISK OPERATIONS **************

;execbase  =  4
OpenLib   = -408
CloseLib  = -414
Open      = -30
Close     = -36
mode_old  = 1005
mode_new  = 1006
write     = -48
read      = -42

start:
	movem.l	a0-a6/d0-d7,-(sp)
move.l execbase,a6    ;open dos.library
lea dosname,a1
moveq #0,d0
jsr OpenLib(a6)
move.l d0,dosbase
beq end               ;Fehler ?

bsr openfile
beq end


move.l #feld,d2
bsr readdata
move.l d0,d6


bsr closefile

end:

move.l execbase,a6
move.l dosbase,a1
jsr CloseLib(a6)
movem.l  (sp)+,a0- star	
dc.b	"headwave (dave) dc.b	"headwave (dave)    prime evidc.b	"headwave (dave)    prime dc.b	"paranomia    deathstar	   "
dc.b	"headwave     prime evil    music steve    "
dc.b	"the force "
dc.b	"    hellas    acme factories    isf    browbeat  "
dc.b	"    contex     x-factor     cult    complex    "
dc.b	"the fire starters    nato     tarkus team    "
dc.b	"beasty boys     ecg     ibb     "
dc.b	"d-tect    beyond force     avenger    "
dc.b	"triangle    amiga industries    black monks    "    
dc.b	"angus    bounty    silver hawks    phase 101    "
dc.b	"sharks     alpha flight    wintex    "
dc.b	"byterapers    supplex    don of indy    romano    "
dc.b	"sted    supreme     rebels    the silent    "
dc.b	"esa    kefrens     brainstorm    "
dc.b	"escape    storm    the web    dark force    "
dc.b	"       and all other we forgot   !!!  "
dc.b	"  our  actual memberlist :    romrunner    trashcan    "
dc.b	"ecr net.    fletch    napalm    exorsist    devil    "
dc.b	"sledge           credits for this demo :    "
dc.b	"    coding  :   romrunner      big charset  :  sledge"
dc.b	"    sounds  :   trashcan    ....."
dc.b	"      credits for the sounddisk intro :       "
dc.b	"    coding  :   romrunner      logo  :  exorsist    "
dc.b	"    sound   :   trashcan       equlizer :  "
dc.b	"napalm and a bit romrunner        thats all for this time "
dc.b	" ............          *"
charadr2=$53000
even
spritespeed:
	dc.b	1,2,1,1,3,2,1,3,1,2,1
	dc.b	3,2,2,3,1,1,3,2,1,1,2
	dc.b	1,2,2,1,2,1,1,3,2,2,1
	dc.b	2,1,1,1,2,3,1,2,1,2,1
loader:
*********************
* Daten-file loader *
* written by        *
* romrunner / s8    *
*********************
; Thanx to Music-steve for the origonal.prg (as segment loader)
jsr	mt_end
move.w		#$4000,$dff09a
move.l		oldirq,$6c		;restore interruptvectors
move.w		#$c000,$dff09a
move.l		execbase,a6
move.l		gfxbase,a1
jsr		closelibrary(a6)	;close graphicslibrary
move.l		gfxbase,a0
add.l		#$32,a0
move.w		#$0080,$dff096
move.l		oldcopper,(a0)		;restore old copper
move.w		#$8080,$dff096
move.l		execbase,a6
jsr		permit(a6)		;multitasking is back
move.w		#$8020,$dff096
movem.l		(sp)+,d0-d7/a0-a6	;pull registers from stack
moveq	#$00,d0



******** Routine for DISK OPERATIONS **************

;execbase  =  4
OpenLib   = -408
CloseLib  = -414
Open      = -30
Close     = -36
mode_old  = 1005
mode_new  = 1006
write     = -48
read      = -42

start:
	movem.l	a0-a6/d0-d7,-(sp)
move.l execbase,a6    ;open dos.library
lea dosname,a1
moveq #0,d0
jsr OpenLib(a6)
move.l d0,dosbase
beq end               ;Fehler ?

bsr openfile
beq end


move.l #feld,d2
bsr readdata
move.l d0,d6


bsr closefile

end:

move.l execbase,a6
move.l dosbase,a1
jsr CloseLib(a6)
movem.l  (sp)+,a0-a6/d0-d7
jmp anfang





dosname:
dc.b   'dos.library',0,0 
even

dosbase:
blk.l 1

filehd:
dc.l 0

filename1:
dc.b "modules/stylex1",0
filename2:
dc.b "modules/stylex2",0
filename3:
dc.b "modules/coll-as-saft",0
filename4:
dc.b "modules/melody2",0
filename5:
dc.b "modules/actionhouse",0
filename6:
dc.b "modules/ig",0
filename7:
dc.b "modules/invasion-of-sex",0
even

text:
dc.b "Dies ist ein Text fuer das Textfile",0
textende:
even

feld=$60000
even


*********** SUBROUTINES *********



openfile:

move.l #mode_old,d2
move.l $7fa00,d1
move.l dosbase,a6
jsr Open(a6)
move.l d0,filehd
rts


closefile:

move.l dosbase,a6
move.l filehd,d1
jsr close(a6)
rts


writedata:

move.l dosbase,a6
move.l filehd,d1
jsr write(a6)
rts

readdata:

move.l dosbase,a6
move.l filehd,d1
move.l #$ffffff,d3
jsr read(a6)
rts
,$dff096
move.l		oldcopper,(a0)		;restore old copper
move.w		#$8080,$dff096
move.l		execbase,a6
jsr		permit(a6)		;multitasking is back
move.w		#$8020,$dff096
movem.l		(sp)+,d0-d7/a0-a6	;pull registers from stack
moveq	#$00,d0
rts


newirq:
movem.l		d0-d7/a0-a6,-(sp)


lea	sprite5+1,a0
lea	spritespeed+2,a1
move.b	#35,d0
beweg:
	move.b	(a1)+,d1
beweg2:
	add.b	#1,(a0)
	sub.b	#1,d1
	bne	beweg2
	add.w	#8,a0
	dbra	d0,beweg


bsr	mt_music

lea	sprite1(pc),a0
cmp.b	#00,merke1
beq	weiter
move.b	#$70,(a0)
weiter:
add.b	#4,(a0)
cmp.b	#$b8,(a0)
bne	stand
move.b	#$b4,(a0)
stand:
lea	sprite2(pc),a0
cmp.b	#00,merke2
beq	weiter2
move.b	#$70,(a0)
weiter2:
add.b	#4,(a0)
cmp.b	#$b8,(a0)
bne	stand2
move.b	#$b4,(a0)
stand2:
lea	sprite3(pc),a0
cmp.b	#00,merke3
beq	weiter3
move.b	#$70,(a0)
weiter3:
add.b	#4,(a0)
cmp.b	#$b8,(a0)
bne	stand3
move.b	#$b4,(a0)
stand3:
lea	sprite4(pc),a0
cmp.b	#00,merke4
beq	weiter4
move.b	#$70,(a0)
weiter4:
add.b	#4,(a0)
cmp.b	#$b8,(a0)
bne	stand4
move.b	#$b4,(a0)
stand4:





	move.l	#$50000,a0
	move.l	a0,a1
	sub.w	#1,a1
	move.l	a0,$dff050
	move.l	a1,$dff054
	move.l	#$00000000,$dff064
	move.l	#$ffffffff,$dff044
	move.l	#$e9f00000,$dff040
	move.w	#$0700,$dff058
btest:
	btst	#14,$dff002
	bne	btest
	move.l	#$51000,a0
	move.l	a0,a1
	sub.w	#1,a1
	move.l	a0,$dff050
	move.l	a1,$dff054
;	move.l	#$00000000,$dff064
;	move.l	#$ffffffff,$dff044
;	move.l	#$f9f00000,$dff040
	move.w	#$0700,$dff058
btest2:
	btst	#14,$dff002
	bne	btest2
	move.l	#$52000,a0
	move.l	a0,a1
	sub.w	#1,a1
	move.l	a0,$dff050
	move.l	a1,$dff054
;	move.l	#$00000000,$dff064
;	move.l	#$ffffffff,$dff044
;	move.l	#$f9f00000,$dff040
	move.w	#$0700,$dff058
btest3:
	btst	#14,$dff002
	bne	btest3

	movem.l	$7e000,a0-a6/d0-d6
	add.w	#1,d0
	cmp.w	#26,d0
	bne	endscroll
	clr.w	d0
	cmp.b	#"*",(a0)
	bne text2
	lea	scrolltext,a0
	move.w	#$98c0,d3
	jmp text3
text2:
	move.b	(a0),d2
	sub.w	#$20,d2
	add.w	d2,d2
	lea	chartab,a1
	add.w	d2,a1
	move.w	(a1),d3
text3:
	move.l	#$40000,a1
	add.l	d3,a1
	move.l	#$5002c,a2
	move.w	#62,d1	
print:
	move.l	(a1)+,(a2)+
	move.w	(a1)+,(a2)+
	move.b	(a1),(a2)
	add.w	#2,a1
	add.w	#50,a2
	dbra	d1,print

	move.l	#$5102c,a2
	move.w	#62,d1	
print2:
	move.l	(a1)+,(a2)+
	move.w	(a1)+,(a2)+
	move.b	(a1),(a2)
	add.w	#2,a1
	add.w	#50,a2
	dbra	d1,print2
	move.l	#$5202c,a2
	move.w	#62,d1	
print3:
	move.l	(a1)+,(a2)+
	move.w	(a1)+,(a2)+
	move.b	(a1),(a2)
	add.w	#2,a1
	add.w	#50,a2
	dbra	d1,print3
	add.w	#1,a0
endscroll:
	movem.l	a0-a6/d0-d6,$7e000
	move.l	#$54000,a0
	move.l	a0,a1
	sub.w	#1,a1
	move.l	a0,$dff050
	move.l	a1,$dff054
;	move.l	#$00000000,$dff064
;	move.l	#$ffffffff,$dff044
	move.l	#$f9f00000,$dff040
	move.w	#$0200,$dff058
btst4:	btst	#14,$dff002
	bne	btst4
	
	movem.l	$7d000,a0-a6/d0-d6
	add.w	#1,d0
	cmp.w	#16,d0
	bne	endscroll2
	clr.w	d0
	cmp.b	#"*",(a0)
	bne text2a
	lea	scrolltext2,a0
	move.w	#$0524,d3
	jmp text3a
text2a:
	move.b	(a0),d2
	sub.w	#$20,d2
	add.w	d2,d2
	lea	chartab2,a1
	add.w	d2,a1
	move.w	(a1),d3
text3a:
	lea	charadr2,a1
	add.w	d3,a1
	move.l	#$5402c,a2
	move.w	#16,d1	
printa:
	move.w	(a1),(a2)
	add.w	#40,a1
	add.w	#56,a2
	dbra	d1,printa
	add.w	#1,a0
endscroll2:
	movem.l	a0-a6/d0-d6,$7d000
lea	farben+14,a0
move.l	a0,a1
add.w	#16,a1
move.w	(a0),d0
move.w	#70,d1
farbenscroll:
	move.w	(a1),(a0)
	add.w	#16,a1
	add.w	#16,a0
	dbra	d1,farbenscroll
	move.w	d0,(a0)	



movem.l		(sp)+,d0-d7/a0-a6
dc.w		$4ef9			;jump to old interrupt
oldirq:
dc.l	0
bitmap:
blk.w 	4,0
r_bitmap:
blk.l 	26,0
gfxbase:
dc.l 	0
rastport:
blk.l 	1,0
oldcopper:
dc.l 	0

copper:
	dc.w	$0100,$4400
	dc.w	$008e,$3071
	dc.w	$0090,$40d4
	dc.w	$0092,$0032
	dc.w	$0094,$00d4
	dc.w	$0108,$000c
	dc.w	$010a,$000c
	
	dc.w	$0104,$0001
	dc.w	$0001,$fffe
	dc.w	$00e0,$0005
	dc.w	$00e2,$4000
	dc.w	$00e4,$0005
	dc.w	$00e6,$50e7
	dc.w	$00e8,$0005
	dc.w	$00ea,$d700-$1f5
	dc.w	$00ec,$0005
	dc.w	$00ee,$9c27-$e0
	dc.w	$00f0,$0000
	dc.w	$00f2,$0000
	dc.w	$00f4,$0000
	dc.w	$00f6,$0000


spritepointer:
	dc.w	$0120,$0000
	dc.w	$0122,$0000
	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

bitplane2:
	dc.w	$3201,$fffe,$0182,$000f
	dc.w	$3301,$fffe,$0182,$000f
	dc.w	$3401,$fffe,$0182,$000e
	dc.w	$3501,$fffe,$0182,$000e
	dc.w	$3601,$fffe,$0182,$000d
	dc.w	$3701,$fffe,$0182,$000d
	dc.w	$3801,$fffe,$0182,$000c
	dc.w	$3901,$fffe,$0182,$000c
	dc.w	$3a01,$fffe,$0182,$000a
	dc.w	$3b01,$fffe,$0182,$000a
	dc.w	$3c01,$fffe,$0182,$0008
	dc.w	$3d01,$fffe,$0182,$0008
	dc.w	$4601,$fffe,$0182,$0000	

farben:	
	dc.w	$6101,$fffe,$01a6,$0000,$01ae,$0000,$0184,$0111
	dc.w	$6201,$fffe,$01a6,$0000,$01ae,$0000,$0184,$0111
	dc.w	$6301,$fffe,$01a6,$0000,$01ae,$0000,$0184,$0222
	dc.w	$6401,$fffe,$01a6,$0001,$01ae,$0111,$0184,$0222
	dc.w	$6501,$fffe,$01a6,$0002,$01ae,$0222,$0184,$0333
	dc.w	$6601,$fffe,$01a6,$0003,$01ae,$0333,$0184,$0333
	dc.w	$6701,$fffe,$01a6,$0004,$01ae,$0444,$0184,$0444
	dc.w	$6801,$fffe,$01a6,$0005,$01ae,$0555,$0184,$0444
	dc.w	$6901,$fffe,$01a6,$0006,$01ae,$0666,$0184,$0555
	dc.w	$6a01,$fffe,$01a6,$0007,$01ae,$0777,$0184,$0555
	dc.w	$6b01,$fffe,$01a6,$0008,$01ae,$0888,$0184,$0666
	dc.w	$6c01,$fffe,$01a6,$0009,$01ae,$0999,$0184,$0666
	dc.w	$6d01,$fffe,$01a6,$000a,$01ae,$0aaa,$0184,$0777
	dc.w	$6e01,$fffe,$01a6,$000b,$01ae,$0bbb,$0184,$0777
	dc.w	$6f01,$fffe,$01a6,$000c,$01ae,$0ccc,$0184,$0888
	dc.w	$7001,$fffe,$01a6,$000d,$01ae,$0ddd,$0184,$0888
	dc.w	$7101,$fffe,$01a6,$000e,$01ae,$0eee,$0184,$0999
	dc.w	$7201,$fffe,$01a6,$000f,$01ae,$0fff,$0184,$0999
	dc.w	$7301,$fffe,$01a6,$0000,$01ae,$0000,$0184,$0aaa
	dc.w	$7401,$fffe,$01a6,$0001,$01ae,$0111,$0184,$0aaa
	dc.w	$7501,$fffe,$01a6,$0002,$01ae,$0222,$0184,$0999
	dc.w	$7601,$fffe,$01a6,$0003,$01ae,$0333,$0184,$0999
	dc.w	$7701,$fffe,$01a6,$0004,$01ae,$0444,$0184,$0888
	dc.w	$7801,$fffe,$01a6,$0005,$01ae,$0555,$0184,$0888
	dc.w	$7901,$fffe,$01a6,$0006,$01ae,$0666,$0184,$0777
	dc.w	$7a01,$fffe,$01a6,$0007,$01ae,$0777,$0184,$0777
	dc.w	$7b01,$fffe,$01a6,$0008,$01ae,$0888,$0184,$0666
	dc.w	$7c01,$fffe,$01a6,$0009,$01ae,$0999,$0184,$0666
	dc.w	$7d01,$fffe,$01a6,$000a,$01ae,$0aaa,$0184,$0555
	dc.w	$7e01,$fffe,$01a6,$000b,$01ae,$0bbb,$0184,$0555
	dc.w	$7f01,$fffe,$01a6,$000c,$01ae,$0ccc,$0184,$0444
	dc.w	$8001,$fffe,$01a6,$000d,$01ae,$0ddd,$0184,$0444
	dc.w	$8101,$fffe,$01a6,$000e,$01ae,$0eee,$0184,$0333
	dc.w	$8201,$fffe,$01a6,$000f,$01ae,$0fff,$0184,$0333
	dc.w	$8301,$fffe,$01a6,$010f,$01ae,$0fef,$0184,$0222
	dc.w	$8401,$fffe,$01a6,$020f,$01ae,$0fdf,$0184,$0222
	dc.w	$8501,$fffe,$01a6,$030f,$01ae,$0fcf,$0184,$0111
	dc.w	$8601,$fffe,$01a6,$040f,$01ae,$0fbf,$0184,$0111
	dc.w	$8701,$fffe,$01a6,$050f,$01ae,$0faf,$0184,$0000
	dc.w	$8801,$fffe,$01a6,$060f,$01ae,$0f9f,$0184,$0000
	dc.w	$8901,$fffe,$01a6,$070f,$01ae,$0f8f,$0184,$0000
	dc.w	$8a01,$fffe,$01a6,$080f,$01ae,$0f7f,$0184,$0000
	dc.w	$8b01,$fffe,$01a6,$090f,$01ae,$0f6f,$0184,$0000
	dc.w	$8c01,$fffe,$01a6,$0a0f,$01ae,$0f5f,$0184,$0000
	dc.w	$8d01,$fffe,$01a6,$0b0f,$01ae,$0f4f,$0184,$0000
	dc.w	$8e01,$fffe,$01a6,$0c0f,$01ae,$0f3f,$0184,$0000
	dc.w	$8f01,$fffe,$01a6,$0d0f,$01ae,$0f2f,$0184,$0000
	dc.w	$9001,$fffe,$01a6,$0e0f,$01ae,$0f1f,$0184,$0000
	dc.w	$9101,$fffe,$01a6,$0f0f,$01ae,$0f0f,$0184,$0000
	dc.w	$9201,$fffe,$01a6,$0f0e,$01ae,$0e0f,$0184,$0000
	dc.w	$9301,$fffe,$01a6,$0f0d,$01ae,$0d0f,$0184,$0000
	dc.w	$9401,$fffe,$01a6,$0f0c,$01ae,$0c0f,$0184,$0000
	dc.w	$9501,$fffe,$01a6,$0f0b,$01ae,$0b0f,$0184,$0000
	dc.w	$9601,$fffe,$01a6,$0f0a,$01ae,$0a0f,$0184,$0000
	dc.w	$9701,$fffe,$01a6,$0f09,$01ae,$090f,$0184,$0000
	dc.w	$9801,$fffe,$01a6,$0f08,$01ae,$080f,$0184,$0000
	dc.w	$9901,$fffe,$01a6,$0f07,$01ae,$070f,$0184,$0000
	dc.w	$9a01,$fffe,$01a6,$0f06,$01ae,$060f,$0184,$0000
	dc.w	$9b01,$fffe,$01a6,$0f05,$01ae,$050f,$0184,$0000
	dc.w	$9c01,$fffe,$01a6,$0f04,$01ae,$040f,$0184,$0000
	dc.w	$9d01,$fffe,$01a6,$0f03,$01ae,$030f,$0184,$0000
	dc.w	$9e01,$fffe,$01a6,$0f02,$01ae,$020f,$0184,$0000
	dc.w	$9f01,$fffe,$01a6,$0f01,$01ae,$010f,$0184,$0000
	dc.w	$a001,$fffe,$01a6,$0f00,$01ae,$000f,$0184,$0000
	dc.w	$a101,$fffe,$01a6,$0f10,$01ae,$001e,$0184,$0000
	dc.w	$a201,$fffe,$01a6,$0f20,$01ae,$002d,$0184,$0000
	dc.w	$a301,$fffe,$01a6,$0f30,$01ae,$003c,$0184,$0000
	dc.w	$a401,$fffe,$01a6,$0f40,$01ae,$004b,$0184,$0000
	dc.w	$a501,$fffe,$01a6,$0f50,$01ae,$005a,$0184,$0000
	dc.w	$a601,$fffe,$01a6,$0f60,$01ae,$0069,$0184,$0000
	dc.w	$a701,$fffe,$01a6,$0f70,$01ae,$0078,$0184,$0000
	dc.w	$a801,$fffe,$01a6,$0f80,$01ae,$0087,$0184,$0000
	dc.w	$a901,$fffe,$01a6,$0f90,$01ae,$0096,$0184,$0000
	dc.w	$aa01,$fffe,$01a6,$0fa0,$01ae,$00a5,$0184,$0000
	dc.w	$ab01,$fffe,$01a6,$0fb0,$01ae,$00b4,$0184,$0000
	dc.w	$ac01,$fffe,$01a6,$0fc0,$01ae,$00c3,$0184,$0000
	dc.w	$ad01,$fffe,$01a6,$0fd0,$01ae,$00d2,$0184,$0000
	dc.w	$ae01,$fffe,$01a6,$0fe0,$01ae,$00e1,$0184,$0222
	dc.w	$af01,$fffe,$01a6,$0ff0,$01ae,$00f0,$0184,$0444
	dc.w	$b001,$fffe,$01a6,$0ef0,$01ae,$01f0,$0184,$0666
	dc.w	$b101,$fffe,$01a6,$0df0,$01ae,$02f0,$0184,$0888
	dc.w	$b201,$fffe,$01a6,$0cf0,$01ae,$03f0,$0184,$0aaa
	dc.w	$b301,$fffe,$0184,$0aaa
	dc.w	$b401,$fffe,$0184,$0aaa
	dc.w	$b501,$fffe,$0184,$0888
	dc.w	$b601,$fffe,$0184,$0777

	dc.w	$bf01,$fffe,$0184,$0005
	dc.w	$c001,$fffe,$0184,$0006	
	dc.w	$c101,$fffe,$0184,$0007	
	dc.w	$c201,$fffe,$0184,$0008	
	dc.w	$c301,$fffe,$0184,$0009	
	dc.w	$c401,$fffe,$0184,$000a	
	dc.w	$c501,$fffe,$0184,$000b	
	dc.w	$c601,$fffe,$0184,$000e


	dc.w	$ee01,$fffe
planepointer:
	dc.w	$0100,$5400
	dc.w	$00e0,$0005
	dc.w	$00e2,$0000
;	dc.w	$00e4,$0000
;	dc.w	$00e6,$0000
	dc.w	$00e8,$0005
	dc.w	$00ea,$1000
;	dc.w	$00ec,$0000
;	dc.w	$00ee,$0000
	dc.w	$00f0,$0005
	dc.w	$00f2,$2000
;	dc.w	$00f4,$0000
;	dc.w	$00f6,$0000

colors:
	dc.w	$0180,$0000
	dc.w	$0182,$0222
	dc.w	$0184,$0444
	dc.w	$0186,$0555
	dc.w	$0188,$0666
	dc.w	$018a,$0777
	dc.w	$018c,$0888
	dc.w	$018e,$0999

	dc.w	$0190,$0aaa
	dc.w	$0192,$0bbb
	dc.w	$0194,$0f00
	dc.w	$0196,$0000
	dc.w	$0198,$0000
	dc.w	$019a,$0000
	dc.w	$019c,$0000
	dc.w	$019e,$0000

	dc.w	$01a0,$0000
	dc.w	$01a2,$0000
	dc.w	$01a4,$000c
	dc.w	$01a6,$0fff
	dc.w	$01a8,$0000
	dc.w	$01aa,$000f
	dc.w	$01ac,$000c
	dc.w	$01ae,$0008

	dc.w	$01b0,$0000
	dc.w	$01b2,$0888
	dc.w	$01b4,$0aaa
	dc.w	$01b6,$0ccc

	dc.w	$ffff,$fffe
	

gfxname:
	dc.b	'graphics.library',0
; -----------------------------------------------------
; ------- D.O.C SoundTracker V2.0 - playroutine -------
; -----------------------------------------------------
; ---- Improved and omptimized by Unknown of D.O.C ----
; --------- Based on the playroutine from TJC ---------
; -----------------------------------------------------
even
mt_init:lea	mt_data,a0
	add.l	#$01d8,a0
	move.l	#$0080,d0
	moveq	#$00,d1
mt_init1:
	move.l	d1,d2
	subq.w	#1,d0
mt_init2:
	move.b	(a0)+,d1
	cmp.b	d2,d1
	bgt.s	mt_init1
	dbf	d0,mt_init2
	addq.b	#1,d2

mt_init3:
	lea	mt_data,a0
	lea	mt_sample1(pc),a1
	asl.l	#$08,d2
	asl.l	#$02,d2
	add.l	#$0258,d2
	add.l	a0,d2
	moveq	#$0e,d0
mt_init4:
	move.l	d2,(a1)+
	moveq	#$00,d1
	move.w	42(a0),d1
	asl.l	#1,d1
	add.l	d1,d2
	add.l	#$1e,a0
	dbf	d0,mt_init4

	lea	mt_sample1(pc),a0
	moveq	#$00,d0
mt_clear:
	move.l	(a0,d0),a1
	clr.l	(a1)
	addq.l	#4,d0
	cmp.l	#$3c,d0
	bne.s	mt_clear

	clr.w	$dff0a8
	clr.w	$dff0b8
	clr.w	$dff0c8
	clr.w	$dff0d8
	clr.l	mt_partnrplay
	clr.l	mt_partnote
	clr.l	mt_partpoint

	move.b	mt_data+$1d6,mt_maxpart+1
	rts

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

mt_music:
	addq.l	#1,mt_counter
mt_cool:cmp.l	#6,mt_counter
	bne.s	mt_notsix
	clr.l	mt_counter
	bra	mt_rout2

mt_notsix:
	lea	mt_aud1temp(pc),a6
	tst.b	3(a6)
	beq.s	mt_arp1
	lea	$dff0a0,a5		
	bsr.s	mt_arprout
mt_arp1:lea	mt_aud2temp(pc),a6
	tst.b	3(a6)
	beq.s	mt_arp2
	lea	$dff0b0,a5
	bsr.s	mt_arprout
mt_arp2:lea	mt_aud3temp(pc),a6
	tst.b	3(a6)
	beq.s	mt_arp3
	lea	$dff0c0,a5
	bsr.s	mt_arprout
mt_arp3:lea	mt_aud4temp(pc),a6
	tst.b	3(a6)
	beq.s	mt_arp4
	lea	$dff0d0,a5
	bra.s	mt_arprout
mt_arp4:rts

mt_arprout:
	move.b	2(a6),d0
	and.b	#$0f,d0
	tst.b	d0
	beq.s	mt_arpegrt
	cmp.b	#1,d0
	beq.s	mt_portup
	cmp.b	#2,d0
	beq.s	mt_portdwn
	rts

mt_portup:
	moveq	#$00,d0
	move.b	3(a6),d0
	sub.w	d0,22(a6)
	cmp.w	#$71,22(a6)
	bpl.s	mt_ok1
	move.w	#$71,22(a6)
mt_ok1:	move.w	22(a6),6(a5)
	rts

mt_portdwn:
	moveq	#$00,d0
	move.b	3(a6),d0
	add.w	d0,22(a6)
	cmp.w	#$358,22(a6)
	bmi.s	mt_ok2
	move.w	#$358,22(a6)
mt_ok2:	move.w	22(a6),6(a5)
	rts

mt_arpegrt:
	cmp.l	#1,mt_counter
	beq.s	mt_loop2
	cmp.l	#2,mt_counter
	beq.s	mt_loop3
	cmp.l	#3,mt_counter
	beq.s	mt_loop4
	cmp.l	#4,mt_counter
	beq.s	mt_loop2
	cmp.l	#5,mt_counter
	beq.s	mt_loop3
	rts

mt_loop2:
	moveq	#$00,d0
	move.b	3(a6),d0
	lsr.b	#4,d0
	bra.s	mt_cont
mt_loop3:
	moveq	#$00,d0
	move.b	3(a6),d0
	and.b	#$0f,d0
	bra.s	mt_cont
mt_loop4:
	move.w	16(a6),d2
	bra.s	mt_endpart
mt_cont:
	asl.w	#1,d0
	moveq	#$00,d1
	move.w	16(a6),d1
	lea	mt_arpeggio(pc),a0
mt_loop5:
	move.w	(a0,d0),d2
	cmp.w	(a0),d1
	beq.s	mt_endpart
	addq.l	#2,a0
	bra.s	mt_loop5
mt_endpart:
	move.w	d2,6(a5)
	rts

mt_rout2:
	lea	mt_data,a0
	move.l	a0,a3
	add.l	#$0c,a3
	move.l	a0,a2
	add.l	#$1d8,a2
	add.l	#$258,a0
	move.l	mt_partnrplay,d0
	moveq	#$00,d1
	move.b	(a2,d0),d1
	asl.l	#$08,d1
	asl.l	#$02,d1
	add.l	mt_partnote,d1
	move.l	d1,mt_partpoint
	clr.w	mt_dmacon

	lea	$dff0a0,a5
	lea	mt_aud1temp(pc),a6
	bsr	mt_playit
	move.b	d2,merke1
	lea	$dff0b0,a5
	lea	mt_aud2temp(pc),a6
	bsr	mt_playit
	move.b	d2,merke2
	lea	$dff0c0,a5
	lea	mt_aud3temp(pc),a6
	bsr	mt_playit
	move.b	d2,merke3
	lea	$dff0d0,a5
	lea	mt_aud4temp(pc),a6
	bsr	mt_playit
	move.b	d2,merke4
	move.w	#$01f4,d0
mt_rls:	dbf	d0,mt_rls

	move.w	#$8000,d0
	or.w	mt_dmacon,d0
	move.w	d0,$dff096

	lea	mt_aud4temp(pc),a6
	cmp.w	#1,14(a6)
	bne.s	mt_voice3
	move.l	10(a6),$dff0d0
	move.w	#1,$dff0d4
mt_voice3:
	lea	mt_aud3temp(pc),a6
	cmp.w	#1,14(a6)
	bne.s	mt_voice2
	move.l	10(a6),$dff0c0
	move.w	#1,$dff0c4
mt_voice2:
	lea	mt_aud2temp(pc),a6
	cmp.w	#1,14(a6)
	bne.s	mt_voice1
	move.l	10(a6),$dff0b0
	move.w	#1,$dff0b4
mt_voice1:
	lea	mt_aud1temp(pc),a6
	cmp.w	#1,14(a6)
	bne.s	mt_voice0
	move.l	10(a6),$dff0a0
	move.w	#1,$dff0a4
mt_voice0:
	move.l	mt_partnote,d0
	add.l	#$10,d0
	move.l	d0,mt_partnote
	cmp.l	#$400,d0
	bne.s	mt_stop
mt_higher:
	clr.l	mt_partnote
	addq.l	#1,mt_partnrplay
	moveq	#$00,d0
	move.w	mt_maxpart,d0
	move.l	mt_partnrplay,d1
	cmp.l	d0,d1
	bne.s	mt_stop
	clr.l	mt_partnrplay

mt_stop:tst.w	mt_status
	beq.s	mt_stop2
	clr.w	mt_status
	bra.s	mt_higher
mt_stop2:
	rts

mt_playit:
	move.l	(a0,d1),(a6)
	addq.l	#4,d1
	moveq	#$00,d2
	move.b	2(a6),d2
	and.b	#$f0,d2
	lsr.b	#4,d2
	tst.b	d2
	beq.s	mt_nosamplechange

	moveq	#$00,d3
	lea	mt_samples(pc),a1
	move.l	d2,d4
	asl.l	#2,d2
	mulu	#$1e,d4
	move.l	(a1,d2),4(a6)
	move.w	(a3,d4),8(a6)
	move.w	2(a3,d4),18(a6)
	move.w	4(a3,d4),d3
	tst.w	d3
	beq.s	mt_displace
	move.l	4(a6),d2
	add.l	d3,d2
	move.l	d2,4(a6)
	move.l	d2,10(a6)
	move.w	6(a3,d4),8(a6)
	move.w	6(a3,d4),14(a6)
	move.w	18(a6),8(a5)
	bra.s	mt_nosamplechange

mt_displace:
	move.l	4(a6),d2
	add.l	d3,d2
	move.l	d2,10(a6)
	move.w	6(a3,d4),14(a6)
	move.w	18(a6),8(a5)
mt_nosamplechange:
	tst.w	(a6)
	beq.s	mt_retrout
	move.w	(a6),16(a6)
	move.w	20(a6),$dff096
	move.l	4(a6),(a5)
	move.w	8(a6),4(a5)
	move.w	(a6),6(a5)
	move.w	20(a6),d0
	or.w	d0,mt_dmacon

mt_retrout:
	tst.w	(a6)
	beq.s	mt_nonewper
	move.w	(a6),22(a6)

mt_nonewper:
	move.b	2(a6),d0
	and.b	#$0f,d0
	cmp.b	#11,d0
	beq.s	mt_posjmp
	cmp.b	#12,d0
	beq.s	mt_setvol
	cmp.b	#13,d0
	beq.s	mt_break
	cmp.b	#14,d0
	beq.s	mt_setfil
	cmp.b	#15,d0
	beq.s	mt_setspeed
	rts

mt_posjmp:
	not.w	mt_status
	moveq	#$00,d0
	move.b	3(a6),d0
	subq.b	#$01,d0
	move.l	d0,mt_partnrplay
	rts

mt_setvol:
	move.b	3(a6),8(a5)
	rts

mt_break:
	not.w	mt_status
	rts

mt_setfil:
	moveq	#$00,d0
	move.b	3(a6),d0
	and.b	#$01,d0
	rol.b	#$01,d0
	and.b	#$fd,$bfe001
	or.b	d0,$bfe001
	rts

mt_setspeed:
	move.b	3(a6),d0
	and.b	#$0f,d0
	beq.s	mt_back
	clr.l	mt_counter
	move.b	d0,mt_cool+5
mt_back:rts

mt_aud1temp:
	blk.w	10,0
	dc.w	$0001
	blk.w	2,0
mt_aud2temp:
	blk.w	10,0
	dc.w	$0002
	blk.w	2,0
mt_aud3temp:
	blk.w	10,0
	dc.w	$0004
	blk.w	2,0
mt_aud4temp:
	blk.w	10,0
	dc.w	$0008
	blk.w	2,0
mt_partnote:	dc.l	0
mt_partnrplay:	dc.l	0
mt_counter:	dc.l	0
mt_partpoint:	dc.l	0
mt_samples:dc.l	0
mt_sample1:blk.l 15,0
mt_maxpart:dc.w	$0000
mt_dmacon:dc.w	$0000
mt_status:dc.w	$0000

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


mt_data=$60000

sprite1:
dc.w	$803c,$b500
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
sprite2:
dc.w	$8048,$b500
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
sprite3:
dc.w	$80d8,$b500
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
sprite4:
dc.w	$80cc,$b500
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff
dc.w	$ffff,$ffff

sprite5:

dc.w	$6010,$6100
dc.w	$0001,$0001
dc.w	$6460,$6500
dc.w	$0001,$0000
dc.w	$68c0,$6900
dc.w	$0000,$0001
dc.w	$6c50,$6d00
dc.w	$0001,$0001

dc.w	$70f0,$7100
dc.w	$0001,$0000
dc.w	$7440,$7500
dc.w	$0000,$0001
dc.w	$7890,$7900
dc.w	$0001,$0001
dc.w	$7c30,$7d00
dc.w	$0001,$0000

dc.w	$8020,$8100
dc.w	$0001,$0000
dc.w	$8460,$8500
dc.w	$0000,$0001
dc.w	$88a0,$8900
dc.w	$0001,$0001
dc.w	$8cc0,$8d00
dc.w	$0001,$0000

dc.w	$9060,$9100
dc.w	$0000,$0001
dc.w	$9410,$9500
dc.w	$0001,$0001
dc.w	$9830,$9900
dc.w	$0000,$0001
dc.w	$9cc0,$9d00
dc.w	$0001,$0000

dc.w	$a010,$a100
dc.w	$0001,$0001
dc.w	$a470,$a500
dc.w	$0000,$0001
dc.w	$a8e0,$a900
dc.w	$0001,$0000
dc.w	$ac20,$ad00
dc.w	$0000,$0001

dc.w	$b0a0,$b100
dc.w	$0001,$0000
dc.w	$b4f0,$b500
dc.w	$0001,$0001
dc.w	$b840,$b900
dc.w	$0001,$0000
dc.w	$bc70,$bd00
dc.w	$0000,$0001

dc.w	$c080,$c100
dc.w	$0001,$0000
dc.w	$c440,$c500
dc.w	$0000,$0001
dc.w	$c820,$c900
dc.w	$0001,$0001
dc.w	$cce0,$cd00
dc.w	$0001,$0000

dc.w	$d070,$d100
dc.w	$0000,$0001
dc.w	$d450,$d500
dc.w	$0001,$0000
dc.w	$d8b0,$d900
dc.w	$0001,$0001
dc.w	$dc30,$dd00
dc.w	$0000,$0001

dc.w	$e060,$e100
dc.w	$0001,$0000
dc.w	$e4b0,$e500
dc.w	$0001,$0000
dc.w	$e890,$e900
dc.w	$0000,$0001
dc.w	$ec10,$ed00
dc.w	$0001,$0000

sprite6:

dc.w	$6960,$7300
dc.w	%0000000000000000,0000000000000000
dc.w	%1110000000000000,0000000000000000
dc.w	%1111110000000000,0000000000000000
dc.w	%1111111110000000,0000000000000000
dc.w	%1111111111110000,0000000000000000
dc.w	%1111111111111110,0000000000000000
dc.w	%1111111111110000,0000000000000000
dc.w	%1111111110000000,0000000000000000
dc.w	%1111110000000000,0000000000000000
dc.w	%1110000000000000,0000000000000000
dc.w	%0000000000000000,0000000000000000


blk.b	10,0
even
chartab:
dc.w	$98c0,$f6c0,$0000,$0000,$0000,$0000,$0000,$f0e0,$0500,$0000
dc.w	$0000,$0000,$d960,$050a,$e520,$0000,$9ea0,$a480,$aa60,$b040
dc.w	$b620,$bc00,$c1e0,$c7c0,$cda0,$d380,$eb00,$df40,$0000,$0000
dc.w	$0000,$0522,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$05e0,$0bc0,$11a0,$1780
dc.w	$1d60,$2340,$2920,$2f00,$34e0,$3ac0,$40a0,$4680,$4c60,$5240
dc.w	$5820,$5e00,$63e0,$69c0,$6fa0,$7580,$7b60,$8140,$8720,$8d00
dc.w	$92e0,$98c0,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
dc.w	$0000,$0000,$0000,$0000,$0000