*************************************************
* OverLord Music by Jeroen Tel (1990).		*
* Adapted by Mr.STYCKX / Nicolas Pomarede	*
*						*
* Original music was in $5c000.			*
*						*
* Ripped : 09/06/96				*
* Relocated : 23/06/96				*
* EaglePlayer / Delitracker port : 23/06/96	*
*	Volume					*
*	Balance					*
*	SubSong	(only 1)			*
*	EP_Voices				*
*	EP_StructInit (Analyzer)		*	
*************************************************

	opt	o+

	output	ram:CUST.OverLord



OL_TEST		=	0		; 0 => BUILD COMPLETE CUSTOM MODULE
					; 1 => BUILD SMALL CODE FOR TESTING

	section OverLordCode,code


	incdir	"Include:"
	include	"misc/DeliPlayer.i"
	include	"misc/EaglePlayer.i"


	IFEQ	OL_TEST-0			; COMPLETE VERSION


	PLAYERHEADER PlayerTagArray

	dc.b '$VER: OverLord Music (1990) custom player V1.0, '
	dc.b 'ripped and adapted by Mr.STYCKX (06/96)',0

	EVEN

PlayerTagArray
	dc.l	DTP_CustomPlayer,1		; CustomPlayer - Tag (important !!!)
	dc.l	DTP_Flags,PLYF_CUSTOM

	dc.l	DTP_PlayerVersion,1<<16+0	; v1.0
	dc.l	EP_PlayerVersion,1
	dc.l	DTP_PlayerName,PName
	dc.l	DTP_Creator,CName

	dc.l	DTP_InitPlayer,InitPlay		; alloc audio
	dc.l	DTP_EndPlayer,EndPlay		; free audio
	dc.l	DTP_InitSound,OL_init		; init custom data
	dc.l	DTP_EndSound,OL_end		; clear DMA

	dc.l	DTP_SubSongRange,OL_SubSongRange

	dc.l	DTP_Interrupt,OL_Play

	dc.l	DTP_Volume,OL_Volume
	dc.l	DTP_Balance,OL_Volume

	dc.l	EP_Voices,OL_SetVoices
	dc.l	EP_StructInit,OL_StructInit

	dc.l	EP_Flags,EPB_Voices!EPB_Analyzer!EPB_Volume!EPB_Balance

	dc.l	TAG_DONE


PName	dc.b	"Overlord Custom v1.0",0
CName	dc.b	"Music by Jeroen Tel / M.O.N. (1990).",$a
	dc.b	"Adapted by Mr.STYCKX (23/06/96)",0

	EVEN


OL_StructAnalyzer			; transmis à EaglePlayer pour gérer
	ds.l	UPS_SizeOF		; les analyzers



*-----------------------------------------------------------------------*
;
; Init Player

InitPlay
	move.l	dtg_AudioAlloc(a5),a0		; Function
	jmp	(a0)


*-----------------------------------------------------------------------*
;
; End Player

EndPlay
	move.l	dtg_AudioFree(a5),a0		; Function
	jmp	(a0)


*-----------------------------------------------------------------------*
;
; Init Custom Replay Routine

OL_init
	move.w	dtg_SndNum(a5),d0	; sub song nbr (1..1)
	bsr	OL_InitSong

	rts


*-----------------------------------------------------------------------*
;
; Clear Audio Reg.

OL_end
	move.w	#$f,$dff096
	clr.w	$dff0a8
	clr.w	$dff0b8
	clr.w	$dff0c8
	clr.w	$dff0d8

	rts


*-----------------------------------------------------------------------*
;
; Interrupt routine called every 1/50 s

OL_Play
	bsr.s	OL_InterVBL
	rts


*-----------------------------------------------------------------------*
;
; Returns min and max sub song (only one subsong)

OL_SubSongRange
	moveq	#1,d0			; min
	moveq	#1,d1			; max

	rts


*-----------------------------------------------------------------------*
;
; Set Volume

OL_Volume
	move.w	dtg_SndLBal(a5),d0	; Vol Left
	mulu	dtg_SndVol(a5),d0	; Vol Max
	lsr.w	#6,d0
	move.w	d0,OL_MasterVolA	; final Vol Left
	move.w	d0,OL_MasterVolD

	move.w	dtg_SndRBal(a5),d0
	mulu	dtg_SndVol(a5),d0
	lsr.w	#6,d0
	move.w	d0,OL_MasterVolB
	move.w	d0,OL_MasterVolC

	rts


*-----------------------------------------------------------------------*
;
; Set DMA Voices

OL_SetVoices
	move.w	d0,OL_DMA_EP	; bit=1 <=> voice is ON

	rts


*-----------------------------------------------------------------------*
;
; Returns address of the UPS structure to EaglePlayer

OL_StructInit
	lea	OL_StructAnalyzer(pc),a0

	rts



*-----------------------------------------------------------------------*


	ELSEIF				; TESTVERSION


;-------
; Small code to test the player under a debugger


	bsr.s	Run
	bra.s	Stop

Run
	moveq	#1,d0
	bsr	OL_InitSong

	lea	Jmp+2(PC),A0
	move.l	$6C.W,(A0)
	lea	Vbl(PC),A0
	move.l	A0,$6C.w
	move.w	#$C020,$DFF09A
	rts

Stop
	move.l	Jmp+2(PC),$6C.w
	move.w	#$f,$dff096
	rts

Vbl
	btst	#5,$dff01f
	beq.s	Jmp

.wa	cmp.b	#60,$dff006
	blt.s	.wa

	move.w	#$700,$dff180

	jsr	OL_InterVBL(PC)

	move.w	#$567,$dff180

Jmp	jmp	0.l


OL_StructAnalyzer			; transmis à EaglePlayer pour gérer
	ds.l	UPS_SizeOF		; les analyzers


	ENDC



;------------------------------------------------------------------------
; Données pour EaglePlayer / Delitracker

OL_DMA_EP	dc.w	%1111		; voix actives depuis EaglePlayer

OL_MasterVolA	dc.w	64		; 0 .. 64
OL_MasterVolB	dc.w	64
OL_MasterVolC	dc.w	64
OL_MasterVolD	dc.w	64

OL_StructA	dc.l	OL_StructAnalyzer
OL_StructB	dc.l	OL_StructAnalyzer+UPS_Modulo
OL_StructC	dc.l	OL_StructAnalyzer+UPS_Modulo*2
OL_StructD	dc.l	OL_StructAnalyzer+UPS_Modulo*3

OL_OldPer1	dc.w	-1
OL_OldPer2	dc.w	-1
OL_OldPer3	dc.w	-1
OL_OldPer4	dc.w	-1



;-----------------------------------------------------------------------
; OverLord Music
; Original music by Jeroen Tel from Maniacs Of Noise in 1990 (located in $5c000)
; Relocated on 23/5/96 by Mr.STYCKX
;
; OL_InitSong : D0 = 1..1, only one subsong
; OL_InterVBL : called every VBL
;


OriginalSamplesAdr	=	$5c000


;-----------------------------------------------------------------------
; Routine appelée à chaque VBL

OL_InterVBL				; $6800e
	movem.l	D0/A0,-(SP)

	lea	OL_StructAnalyzer(pc),a0
	move.w	#-1,UPS_Enabled(a0)
	move.w	#UPSB_Adr!UPSB_Len!UPSB_Per!UPSB_Vol!UPSB_DMACon,UPS_Flags(a0)

	move.w	OL_DMA_EP(pc),UPS_DMACon(a0)

	move.w	UPS_Voice1Per(a0),OL_OldPer1
	move.w	UPS_Voice2Per(a0),OL_OldPer2
	move.w	UPS_Voice3Per(a0),OL_OldPer3
	move.w	UPS_Voice4Per(a0),OL_OldPer4

	clr.w	UPS_Voice1Per(a0)
	clr.w	UPS_Voice2Per(a0)
	clr.w	UPS_Voice3Per(a0)
	clr.w	UPS_Voice4Per(a0)

	bsr.s	OL_VBL2

	; La replay d'OverLord remet la période à chaque VBL,ce qui perturbe
	; les analyzers. On ne transmet donc une période que si elle est
	; différente de la VBL précédente.

	lea	OL_StructAnalyzer(pc),a0
	move.w	UPS_Voice1Per(a0),d0
	cmp.w	OL_OldPer1(pc),d0	; nouvelle fréquence
	bne.s	.2			; oui
	clr.w	UPS_Voice1Per(a0)	; non, on remet a 0

.2	move.w	UPS_Voice2Per(a0),d0
	cmp.w	OL_OldPer2(pc),d0
	bne.s	.3
	clr.w	UPS_Voice2Per(a0)

.3	move.w	UPS_Voice3Per(a0),d0
	cmp.w	OL_OldPer3(pc),d0
	bne.s	.4
	clr.w	UPS_Voice3Per(a0)

.4	move.w	UPS_Voice4Per(a0),d0
	cmp.w	OL_OldPer4(pc),d0
	bne.s	.0
	clr.w	UPS_Voice4Per(a0)
.0

	clr.w	UPS_Enabled(a0)

	movem.l	(SP)+,D0/A0
	rts


;-----------------------------------------------------------------------
; Routine VBL principale

OL_VBL2
	movem.l	D0-D7/A0-A6,-(SP)

	lea	OL_StructAnalyzer(pc),a4
	move.w	OL_MasterVolA(pc),d7
	lea	lbL000F12(pc),A5
	move.l	#$DFF0A0,A6
	bsr.s	lbC000066

	lea	OL_StructAnalyzer+UPS_Modulo(pc),a4
	move.w	OL_MasterVolB(pc),d7
	lea	lbL000F92(pc),A5
	move.l	#$DFF0B0,A6
	bsr.s	lbC000066

	lea	OL_StructAnalyzer+UPS_Modulo*2(pc),a4
	move.w	OL_MasterVolC(pc),d7
	lea	lbL001012(pc),A5
	move.l	#$DFF0C0,A6
	bsr.s	lbC000066

	lea	OL_StructAnalyzer+UPS_Modulo*3(pc),a4
	move.w	OL_MasterVolD(pc),d7
	lea	lbL001092(pc),A5
	move.l	#$DFF0D0,A6
	bsr.s	lbC000066

	bsr	lbC00039A		; repeat samples
	movem.l	(SP)+,D0-D7/A0-A6
	rts


lbC000066	cmp.b	#$4D,lbB000EC8
	bne	lbC00038C
	move.l	#lbL000F12,D0
	move.l	A5,D1
	sub.l	D0,D1
	beq.s	lbC000082
	lsr.w	#5,D1
lbC000082	lea	lbL001188(pc),A0
	move.l	0(A0,D1.L),D0
	moveq	#0,D1
	move.w	lbW001236,D1
	and.w	D0,D1
	beq	lbC00038C
	move.l	$14(A5),A3
	add.l	lbL002800,A3
	tst.w	$70(A5)
	bne	lbC000362
	cmp.b	#1,$20(A5)
	beq	lbC0001C6
lbC0000B8	move.l	4(A5),A1
	cmp.l	#$FD,(A1)
	bne.s	lbC0000F0
	moveq	#0,D0
	move.l	4(A1),D0
	mulu	#$32,D0
	move.l	#$FA00,D1
	divu	D0,D1
	move.w	D1,$52(A5)
	move.b	#1,$5E(A5)
	move.l	#$FA00,$5A(A5)
	addq.l	#8,A1
lbC0000F0	cmp.l	#$FC,(A1)
	bne.s	lbC000120
	moveq	#0,D0
	move.l	4(A1),D0
	mulu	#$32,D0
	move.l	#$FA00,D1
	divu	D0,D1
	move.w	D1,$52(A5)
	move.b	#2,$5E(A5)
	clr.l	$5A(A5)
	addq.l	#8,A1
lbC000120	cmp.l	#$FF,(A1)
	bne.s	lbC000140
	move.l	(A5),4(A5)
	move.w	#1,lbW00127A
	clr.b	$1E(A5)
	bra.s	lbC0000B8

lbC000140	cmp.l	#$FE,(A1)
	beq	lbC00038C
	cmp.l	#$FB,(A1)
	bne.s	lbC000168
	move.l	4(A1),D0
	move.b	D0,$24(A5)
	move.b	#1,$1E(A5)
	addq.l	#8,A1
lbC000168	cmp.l	#$100,(A1)
	bhi.s	lbC0001AC
	cmp.l	#$7F,(A1)
	bcs.s	lbC000198
	move.l	(A1),D0
	sub.l	#$80,D0
	move.b	D0,$1D(A5)
	addq.l	#4,A1
	cmp.l	#$7F,(A1)
	bhi.s	lbC0001AC
lbC000198	moveq	#0,D0
	move.l	(A1),D0
	sub.l	#$60,D0
	move.b	D0,$4F(A5)
	addq.l	#4,A1
lbC0001AC	move.l	A1,4(A5)
	move.l	4(A5),A1
	move.l	(A1),$C(A5)
	move.b	#1,$20(A5)
	clr.b	$33(A5)
	clr.b	$30(A5)
lbC0001C6	move.l	$C(A5),A1
	cmp.b	#$FF,(A1)
	bne.s	lbC0001E4
	clr.b	$20(A5)
	addq.l	#4,4(A5)
	bra	lbC0000B8

lbC0001E4	move.l	$C(A5),A1
	cmp.b	#$C1,(A1)
	bcs	lbC000298
	cmp.b	#$F9,(A1)
	bhi	lbC000298
	moveq	#0,D0
	move.b	(A1),D0
	sub.b	#$C1,D0
	add.b	$4F(A5),D0
	mulu	#$A,D0
	move.l	D0,$14(A5)
	moveq	#0,D1
	moveq	#0,D2
	move.l	lbL002800,A2
	move.l	A2,A3
	add.l	D0,A3
	move.b	(A3),$21(A5)
	tst.b	8(A3)
	beq.s	lbC00026A
	move.b	8(A3),D1
	subq.b	#1,D1
	lsl.w	#3,D1
	move.l	lbL002804,A1
	move.l	0(A1,D1.L),$10(A5)
	move.w	6(A1,D1.L),D2
	and.w	#$FFFE,D2
	lsr.w	#1,D2
	move.w	D2,$50(A5)
	moveq	#0,D2
	move.b	7(A1,D1.L),D2
	and.b	#1,D2
	move.b	D2,$57(A5)
	move.b	D2,$2D(A5)
	clr.b	$54(A5)
	bra.s	lbC000290

lbC00026A	move.b	1(A2,D0.L),D2
	lsr.w	#2,D2
	lea	lbL0011B0(pc),A1
	clr.b	$57(A5)
	move.b	D2,$76(A5)
	move.l	0(A1,D2.L),$10(A5)
	move.w	#$10,$50(A5)
	move.b	#1,$54(A5)
lbC000290	addq.l	#1,$C(A5)
lbC000298	move.l	$C(A5),A1
	cmp.b	#$7F,(A1)
	bcs.s	lbC0002E8
	cmp.b	#$C0,(A1)
	bhi.s	lbC0002E8
	clr.w	$6E(A5)
lbC0002B0	moveq	#0,D0
	move.b	(A1),D0
	sub.l	#$80,D0
	mulu	lbW001234,D0
	add.w	D0,$6E(A5)
	addq.l	#1,$C(A5)
	addq.l	#1,A1
	cmp.b	#$7F,(A1)
	bcs.s	lbC0002E8
	cmp.b	#$C0,(A1)
	bhi.s	lbC0002E8
	bra.s	lbC0002B0

lbC0002E8	move.w	$6E(A5),$70(A5)
	bsr	lbC000650
	bsr	lbC000BE2
	bra	lbC0008DA

lbC000300	moveq	#0,D0
	tst.b	$38(A5)
	bne.s	lbC000340
	move.l	$C(A5),A1
	move.b	(A1),D0
	move.b	D0,$7A(A5)
	add.b	$1D(A5),D0
	add.w	lbW001278,D0
	move.b	D0,$1F(A5)
	tst.b	8(A3)
	beq.s	lbC000338
	clr.b	$54(A5)
	move.b	$2D(A5),$57(A5)
lbC000338	addq.l	#1,$C(A5)
lbC000340	bsr	lbC0008B8
	btst	#1,$4D(A5)
	bne.s	lbC000362
	bsr	lbC00091C
	subq.w	#1,$70(A5)
	bra.s	lbC00038C

lbC000362	subq.w	#1,$70(A5)
	bsr	lbC00072C
	bsr	lbC000C5A
	bsr	lbC000616
	bsr	lbC000AE0
	bsr	lbC000B4E
	bsr	lbC0009E8
lbC00038C	bsr.s	lbC000432
	bsr	lbC000D26
	rts


;
; Repeat Samples
;

lbC00039A	moveq	#0,D0
	move.b	$DFF006,D0
	addq.b	#4,D0
.wa	cmp.b	$dff006,d0
	bgt.s	.wa

;	move.w	D0,lbW0003AE
;lbC0003AC	cmp.b	#0,$DFF006
;lbW0003AE	equ	*-6
;	bne	lbC0003AC

	moveq	#3,D1
	lea	lbL001188(pc),A1
	lea	lbL000F12(pc),A5
	move.l	#$DFF0A0,A6
lbC0003D0
	move.l	(A1),D4
	and.w	OL_DMA_EP(pc),d4
	or.w	#$8000,D4
	move.w	D4,$DFF096

	tst.b	$54(A5)
	bne.s	lbC0003FE
	move.l	$10(A5),(A6)
	move.w	$50(A5),4(A6)
;;	move.l	(A1),D4
;;	and.w	OL_DMA_EP(pc),d4
;;	or.w	#$8000,D4
;;	move.w	D4,$DFF096
	move.b	#1,$54(A5)
	bra.s	lbC00041A

lbC0003FE	cmp.b	#1,$57(A5)
	bne.s	lbC00041A
	move.l	#EmptySample,(A6)	; lbL002000
	move.w	#8,4(A6)
	move.b	#2,$57(A5)
lbC00041A	add.l	#$10,A6
	add.l	#$80,A5
	addq.l	#4,A1
	dbra	D1,lbC0003D0
	rts



lbC000432	lea	lbL000F12(pc),A1
	move.l	A5,D0
	sub.l	A1,D0
	beq.s	lbC000442
	lsr.w	#5,D0
lbC000442	move.l	D0,lbL001230
	tst.b	$54(A5)
	bne.s	lbC000476
	lea	lbL001188(pc),A1
	move.l	0(A1,D0.L),D4
	move.w	OL_DMA_EP(pc),d1	; voix ON
	not.w	d1
	and.w	#$f,d1			; voix OFF
	or.w	d1,d4
	move.w	D4,$DFF096
	moveq	#0,D4
	moveq	#0,D1
	move.l	$10(A5),A0
	move.b	$37(A5),D1
	lsl.l	#1,D1
	bra	lbC0005EA

lbC000476	moveq	#0,D1
	move.b	$37(A5),D1
	lsl.l	#1,D1
	cmp.l	#l6A200,$10(A5)
	bne.s	lbC00049A
	move.l	$10(A5),A0
	move.w	#$80,$50(A5)
	bra	lbC0005D4

lbC00049A	tst.l	$7C(A5)
	beq.s	lbC0004C6
	moveq	#0,D2
	move.w	#$40,$50(A5)
	move.b	$77(A5),D2
	and.b	#$F0,D2
	lsl.w	#3,D2
	add.l	#lbL002800,D2
	move.l	D2,A0
	bra	lbC0005D4

lbC0004C6	moveq	#0,D4
	cmp.l	#$70,D1
	bcs.s	lbC000544
	sub.l	#$30,D1
	moveq	#0,D0
	move.b	$76(A5),D0
	lea	lbL0011F0(pc),A1
	move.l	0(A1,D0.L),A2
	cmp.l	#l6A180,A2
	bne.s	lbC000538
	moveq	#0,D4
	move.b	$21(A5),D4
	move.l	D4,D5
	lsr.w	#5,D4
	move.l	D4,D3
	move.l	D3,D2
	lsl.w	#5,D2
	lsl.w	#3,D4
	add.l	D4,A1
	move.l	lbL001230,D0
	lea	lbL0012A8(pc),A1
	move.l	0(A1,D0.L),A0
	move.l	(A2),(A0)
	move.l	4(A2),4(A0)
	sub.l	D2,D5
	lea	lbL001288(pc),A2
	move.b	0(A2,D5.L),0(A0,D3.L)
	move.w	#4,$50(A5)
	bra	lbC0005D4

lbC000538	move.w	#4,$50(A5)
	bra	lbC0005EA

lbC000544	cmp.l	#lbL0020F0,$10(A5)
	bne.s	lbC0005C0
	moveq	#0,D4
	move.b	$21(A5),D4
	move.l	D4,D5
	lsr.w	#3,D4
	move.l	D4,D3
	move.l	D3,D2
	lsl.w	#3,D2
	lea	l6A300,A1
	lsl.w	#5,D4
	add.l	D4,A1
	move.l	lbL001230,D0
	lea	lbL0012A8(pc),A2
	move.l	0(A2,D0.L),A0
	move.l	(A1),(A0)
	move.l	4(A1),4(A0)
	move.l	8(A1),8(A0)
	move.l	$C(A1),$C(A0)
	move.l	$10(A1),$10(A0)
	move.l	$14(A1),$14(A0)
	move.l	$18(A1),$18(A0)
	move.l	$1C(A1),$1C(A0)
	sub.l	D2,D5
	lea	lbL001280(pc),A2
	move.b	0(A2,D5.L),0(A0,D3.L)
	move.w	#$10,$50(A5)
	bra.s	lbC0005D4

lbC0005C0	move.l	$10(A5),A0
	tst.b	8(A3)
	bne.s	lbC0005D4
	move.w	#$10,$50(A5)
lbC0005D4	tst.b	$7A(A5)
	bne.s	lbC0005EA
	lea	lbL002000,A0
	move.w	#$10,$50(A5)
lbC0005EA	cmp.b	#2,$57(A5)
	beq.s	lbC000614
	moveq	#0,D4
	lea	lbL001112(pc),A1
	move.w	0(A1,D1.L),D4
	moveq	#0,D1
	move.w	$78(A5),D1
	sub.l	D1,D4
	move.w	D4,6(A6)
	move.w	D4,UPS_Voice1Per(a4)
	move.w	$50(A5),4(A6)
	move.w	$50(a5),UPS_Voice1Len(a4)
	move.l	A0,(A6)
	move.w	a0,UPS_Voice1Adr(a4)
lbC000614	rts

lbC000616	btst	#3,7(A3)
	beq.s	lbC00064A
	moveq	#0,d0
	move.b	lbB002A3D,D0
;;	cmp.b	#0,D0
	beq.s	lbC00064A

;	move.b	d0,lbB00063B
;	cmp.w	#0,$70(A5)
;lbB00063B	equ	*-3
;	bhi.s	lbC00064A

	cmp.w	$70(A5),d0
	bls.s	lbC00064A

	move.b	#1,$48(A5)
	rts


lbC00064A	clr.b	$48(A5)
	rts

lbC000650	btst	#1,$4D(A5)
	beq.s	lbC000668
	move.b	#3,$27(A5)
	move.w	$68(A5),$66(A5)
	rts

lbC000668	moveq	#0,D1
	clr.b	$27(A5)
	move.b	2(A3),D1
	and.b	#$F0,D1
;;	cmp.b	#0,D1
	bne.s	lbC00068A
	move.l	#$7D01,D0
	bra.s	lbC000698

lbC00068A	lsr.w	#3,D1
	lea	lbL001238(pc),A1
	moveq	#0,D0
	move.w	0(A1,D1.L),D0
lbC000698	and.l	#$FFFF,D0
	move.w	D0,$62(A5)
	clr.w	$60(A5)
	moveq	#0,D1
	move.b	2(A3),D1
	and.b	#$F,D1
;;	cmp.b	#0,D1
	bne.s	lbC0006C4
	move.l	#$7D01,D0
	bra.s	lbC0006D2

lbC0006C4	lsl.w	#1,D1
	lea	lbL001238(pc),A1
	moveq	#0,D0
	move.w	0(A1,D1.L),D0
lbC0006D2	moveq	#0,D3
	move.b	3(A3),D3
	and.b	#$F0,D3
	mulu	#$10A,D3
	move.w	D3,$68(A5)
	move.w	D0,$6A(A5)
	move.w	#$FA00,$6C(A5)
	moveq	#0,D1
	move.b	3(A3),D1
	and.b	#$F,D1
;;	cmp.b	#0,D1
	bne.s	lbC00070C
	move.l	#$7D01,D0
	bra.s	lbC000720

lbC00070C	lsl.w	#1,D1
	and.l	#$FF,D1
	lea	lbL001238(pc),A1
	moveq	#0,D0
	move.w	0(A1,D1.L),D0
lbC000720	move.w	D0,$64(A5)
	move.w	#$FA00,$66(A5)
	rts

lbC00072C	tst.b	$4D(A5)
	beq.s	lbC000750
	btst	#2,$4D(A5)
	beq.s	lbC00074A
	clr.b	$4D(A5)
	bra	lbC00084E

lbC00074A	or.b	#2,$4D(A5)
lbC000750	tst.b	$27(A5)
	bne.s	lbC0007AC
	moveq	#0,D0
	moveq	#0,D1
	move.w	$60(A5),D0
	move.w	$62(A5),D1
	add.l	D1,D0
	cmp.l	#$FA00,D0
	bhi.s	lbC00079A
	move.w	D0,$60(A5)
	cmp.w	#$3E8,D0
	bhi.s	lbC000784
	move.l	#$3E8,D0
lbC000784	and.l	#$FFFF,D0
	divu	#$3E8,D0
	and.l	#$FF,D0
	move.b	D0,$28(A5)
	rts

lbC00079A	move.b	#$40,$28(A5)
	move.b	#1,$27(A5)
	move.w	#$FA00,$60(A5)
lbC0007AC	cmp.b	#1,$27(A5)
	bne.s	lbC00082E
	moveq	#0,D0
	move.w	$6C(A5),D0
	add.l	#$186A0,D0
	moveq	#0,D1
	move.w	$6A(A5),D1
	sub.l	D1,D0
	moveq	#0,D2
	move.w	$68(A5),D2
	add.l	#$186A0,D2
	cmp.l	D2,D0
	bcs.s	lbC00080A
	sub.l	#$186A0,D0
	move.w	D0,$6C(A5)
	and.l	#$FFFF,D0
	cmp.w	#$3E8,D0
	bhi.s	lbC0007FA
	move.l	#$3E8,D0
lbC0007FA	divu	#$3E8,D0
	and.l	#$FF,D0
	move.b	D0,$28(A5)
	rts

lbC00080A	move.b	#3,$27(A5)
	moveq	#0,D0
	move.w	$68(A5),D0
	move.w	D0,$66(A5)
	divu	#$3E8,D0
	and.l	#$FF,D0
	move.b	D0,$28(A5)
;;	bra.s	lbC00082E

lbC00082E	cmp.b	#3,$27(A5)
	bne.s	lbC0008B6
	tst.b	$4D(A5)
	beq.s	lbC00084E
	moveq	#0,D0
	move.w	$66(A5),D0
	bra.s	lbC00088E

lbC00084E	cmp.b	#1,$4C(A5)
	beq.s	lbC000866
	moveq	#0,D0
	move.w	$72(A5),D0
	cmp.w	$70(A5),D0
	bcs.s	lbC0008B6
lbC000866	moveq	#0,D0
	move.w	$66(A5),D0
	add.l	#$2710,D0
	moveq	#0,D1
	move.w	$64(A5),D1
	sub.l	D1,D0
	cmp.l	#$2710,D0
	bcs.s	lbC0008B2
	sub.l	#$2710,D0
	move.w	D0,$66(A5)
lbC00088E	and.l	#$FFFF,D0
	cmp.w	#$3E8,D0
	bhi.s	lbC0008A2
	move.l	#$3E8,D0
lbC0008A2	divu	#$3E8,D0
	and.l	#$FF,D0
	move.b	D0,$28(A5)
	rts

lbC0008B2	clr.b	$28(A5)
lbC0008B6	rts

lbC0008B8	moveq	#0,D1
	move.b	4(A3),D1
	and.b	#$F0,D1
	lsr.w	#4,D1
	addq.b	#1,D1
	moveq	#0,D0
	move.w	$70(A5),D0
	lsl.l	#2,D0
	muls	D1,D0
	lsr.l	#6,D0
	move.w	D0,$72(A5)
	rts

lbC0008DA	move.l	$C(A5),A1
	cmp.b	#$FC,(A1)
	bne.s	lbC000900
	addq.l	#1,$C(A5)
	move.b	#1,$4D(A5)
	bra	lbC0001C6

lbC0008FA	bra	lbC000300

lbC000900	cmp.b	#$FE,(A1)
	bne.s	lbC0008FA
	or.b	#4,$4D(A5)
	addq.l	#1,$C(A5)
	bra	lbC0001C6

lbC00091C	tst.b	5(A3)
	beq.s	lbC000962
	clr.b	$56(A5)
	moveq	#0,D1
	move.b	5(A3),D1
	and.b	#$F0,D1
	lsr.w	#4,D1
	eor.b	#$F,D1
	move.b	D1,$2A(A5)
	move.b	5(A3),D1
	and.b	#$F,D1
	move.b	D1,$2B(A5)
	move.b	#$80,$2C(A5)
	clr.b	$2E(A5)
	bsr	lbC000ACE
	bsr	lbC000AFA
	rts

lbC000962	move.b	#$80,$2C(A5)
	move.b	#$F,$2A(A5)
	clr.b	$56(A5)
	rts

lbC000974	tst.b	$38(A5)
	beq.s	lbC00098A
	cmp.b	#1,$56(A5)
	beq.s	lbC00098A
	rts

lbC00098A	moveq	#0,D1
	cmp.b	#$F,$2A(A5)
	beq.s	lbC0009B8
	tst.b	$2E(A5)
	bne.s	lbC0009CC
	move.b	$2A(A5),D1
	add.b	#$80,D1
	cmp.b	$2C(A5),D1
	bcs.s	lbC0009BA
	move.b	$2B(A5),D0
	add.b	D0,$2C(A5)
lbC0009B8	rts

lbC0009BA	eor.b	#1,$2E(A5)
	bsr	lbC000A7A
	bra.s	lbC000974

lbC0009CC	move.b	$2A(A5),D1
	move.b	#$80,D2
	sub.b	D1,D2
	cmp.b	$2C(A5),D2
	bhi.s	lbC0009BA
	move.b	$2B(A5),D0
	sub.b	D0,$2C(A5)
	rts

lbC0009E8	moveq	#0,D0
	moveq	#0,D1
	moveq	#0,D2
	move.b	$37(A5),D0
	lsl.w	#1,D0
	cmp.l	#$70,D0
	bcs.s	lbC000A04
	sub.l	#$30,D0
lbC000A04	moveq	#0,D1
	lea	lbL001112(pc),A1
	move.w	0(A1,D0.L),D1
	move.w	6(A1,D0.L),D2
	sub.l	D2,D1
	moveq	#0,D2
	tst.b	$38(A5)
	beq.s	lbC000A36
	cmp.b	#1,$56(A5)
	beq.s	lbC000A36
	move.b	$7B(A5),D2
	bra.s	lbC000A3A

lbC000A36	move.b	$2C(A5),D2
lbC000A3A	sub.l	#$70,D2
	moveq	#0,D3
	btst	#0,7(A3)
	beq.s	lbC000A6E
	tst.b	$1E(A5)
	beq.s	lbC000A60
	move.b	$24(A5),D3
	bra.s	lbC000A6A

lbC000A60	move.b	lbB002A3F,D3
	beq.s	lbC000A6E
lbC000A6A	lsr.w	#4,D3
	add.l	D3,D2
lbC000A6E	mulu	D2,D1
	divu	#$30,D1
	move.w	D1,$78(A5)
	rts

lbC000A7A	moveq	#0,D0
	move.w	$74(A5),D0
	cmp.w	$70(A5),D0
	bcs.s	lbC000ACC
	cmp.b	#1,$29(A5)
	bne.s	lbC000AC6
	move.b	$25(A5),$29(A5)
	tst.b	$26(A5)
	beq.s	lbC000AB4
	tst.b	$2A(A5)
	beq.s	lbC000ACC
	subq.b	#1,$2A(A5)
	rts

lbC000AB4	cmp.b	#$E,$2A(A5)
	beq.s	lbC000ACC
	addq.b	#1,$2A(A5)
	rts

lbC000AC6	subq.b	#1,$29(A5)
lbC000ACC	rts

lbC000ACE	moveq	#0,D1
	move.b	6(A3),D1
	and.b	#$F0,D1
	lsr.w	#2,D1
	move.b	D1,$2F(A5)
	rts

lbC000AE0	tst.b	$2F(A5)
	beq.s	lbC000AF2
	subq.b	#1,$2F(A5)
	rts

lbC000AF2	bsr	lbC000974
	rts

lbC000AFA	moveq	#0,D1
	move.b	9(A3),D1
;;	cmp.b	#0,D1
	beq.s	lbC000B48
	and.b	#$F0,D1
	lsr.w	#4,D1
	addq.b	#1,D1
	moveq	#0,D2
	move.w	$70(A5),D2
	mulu	D1,D2
	ror.l	#4,D2
	move.w	D2,$74(A5)
	moveq	#0,D1
	move.b	9(A3),D1
	and.b	#$E,D1
	eor.b	#$E,D1
	addq.b	#1,D1
	move.b	D1,$25(A5)
	move.b	D1,$29(A5)
	move.b	1(A3),D1
	and.b	#4,D1
	move.b	D1,$26(A5)
	rts

lbC000B48	clr.b	$25(A5)
	rts

lbC000B4E	moveq	#0,D0
	moveq	#0,D1
	moveq	#0,D2
	move.b	7(A3),D1
	and.b	#4,D1
	move.b	$1F(A5),D0
	tst.l	$40(A5)
	beq.s	lbC000B8C
	move.b	$55(A5),D2
	and.b	#$80,D2
	beq.s	lbC000B88
	move.b	$55(A5),D2
	and.b	#$7F,D2
	add.b	D2,D0
	bra.s	lbC000B8C

lbC000B88	move.b	$55(A5),D0
lbC000B8C	add.l	#$1000,D0
	add.b	$32(A5),D0
;;	cmp.b	#0,D1
	beq.s	lbC000BA8
	add.b	$36(A5),D0
	bra.s	lbC000BAC

lbC000BA8	sub.b	$36(A5),D0
lbC000BAC	tst.b	$36(A5)
	beq.s	lbC000BBA
	addq.b	#1,D0
lbC000BBA	cmp.l	#$1000,D0
	bcs.s	lbC000BDA
	cmp.l	#$1054,D0
	bhi.s	lbC000BDA
	sub.l	#$1000,D0
	move.b	D0,$37(A5)
	rts

lbC000BDA	move.b	#2,$37(A5)
	rts

lbC000BE2	move.l	$C(A5),A1
	cmp.b	#$FD,(A1)
	bne.s	lbC000C4A
	moveq	#0,D1
	move.b	1(A1),D1
	and.b	#$F0,D1
	lsr.w	#3,D1
	move.b	D1,$3B(A5)
	move.b	1(A1),D1
	and.b	#$F,D1
	subq.b	#1,D1
	eor.b	#$F,D1
	move.b	D1,$38(A5)
	moveq	#0,D0
	move.b	2(A1),D0
	add.b	$1D(A5),D0
	add.w	lbW001278,D0
	move.b	D0,$7A(A5)
	move.b	D0,$39(A5)
	move.b	D0,$1F(A5)
	moveq	#0,D0
	move.b	3(A1),D0
	add.b	$1D(A5),D0
	add.w	lbW001278,D0
	move.b	D0,$3A(A5)
	move.b	#$80,$7B(A5)
	rts

lbC000C4A	clr.b	$38(A5)
	move.b	#$80,$7B(A5)
	clr.b	$56(A5)
	rts

lbC000C5A	tst.b	$38(A5)
	beq.s	lbC000CAE
	tst.b	$3B(A5)
	bne.s	lbC000CCE
	moveq	#0,D0
	tst.w	$70(A5)
	beq	lbC000D18
	cmp.b	#1,$56(A5)
	beq.s	lbC000CD6
	move.b	$39(A5),D0
	cmp.b	$3A(A5),D0
	bcs.s	lbC000CDE
	move.b	$1F(A5),D0
	cmp.b	$3A(A5),D0
	beq.s	lbC000CD6
	move.b	$38(A5),D0
	sub.b	D0,$7B(A5)
	cmp.b	#$70,$7B(A5)
	bcs.s	lbC000CB0
lbC000CAE	rts

lbC000CB0	subq.b	#1,$1F(A5)
	moveq	#$70,D0
	sub.b	$7B(A5),D0
	move.l	#$80,D1
	sub.b	D0,D1
	move.b	D1,$7B(A5)
	rts

lbC000CCE	subq.b	#1,$3B(A5)
	rts

lbC000CD6	move.b	#1,$56(A5)
	rts

lbC000CDE	move.b	$1F(A5),D0
	cmp.b	$3A(A5),D0
	beq.s	lbC000CD6
	move.b	$38(A5),D0
	add.b	D0,$7B(A5)
	cmp.b	#$90,$7B(A5)
	bhi.s	lbC000CFE
	rts

lbC000CFE	moveq	#0,D0
	move.b	$7B(A5),D0
	sub.b	#$90,D0
	add.b	#$80,D0
	move.b	D0,$7B(A5)
	addq.b	#1,$1F(A5)
	rts

lbC000D18	clr.b	$38(A5)
	addq.l	#4,$C(A5)
	rts

lbC000D26	tst.b	$5E(A5)
	beq	lbC000DB8
	cmp.b	#1,$5E(A5)
	beq.s	lbC000D54
	move.l	$5A(A5),D0
	add.w	$52(A5),D0
	cmp.l	#$FA00,D0
	bcs.s	lbC000D78
	move.w	#$40,UPS_Voice1Vol(a4)
	move.w	d7,8(A6)		; OL_MasterVol
	rts

lbC000D54	move.l	$5A(A5),D0
	add.l	#$3E8,D0
	sub.w	$52(A5),D0
	cmp.l	#$3E8,D0
	bhi.s	lbC000D72
	clr.w	8(A6)
	clr.w	UPS_Voice1Vol(a4)
	rts

lbC000D72	sub.l	#$3E8,D0
lbC000D78	move.l	D0,$5A(A5)
	cmp.l	#$3E8,D0
	bhi.s	lbC000D8C
	move.l	#$3E8,D0
lbC000D8C	moveq	#0,D1
	move.b	$28(A5),D1
	divu	#$3E8,D0
	and.l	#$FFFF,D0
	mulu	D0,D1
	lsr.w	#6,D1
	and.w	#$FF,D1
	move.w	d1,UPS_Voice1Vol(a4)
	mulu	d7,d1			; OL_MasterVol
	lsr.w	#6,D1
	move.w	D1,8(A6)
	rts


lbC000DB8	moveq	#0,D1
	move.b	$28(A5),D1
	move.w	d1,UPS_Voice1Vol(a4)
	mulu	d7,d1			; OL_MasterVol
	lsr.w	#6,D1
	move.w	D1,8(A6)
	rts



;-----------------------------------------------------------------------
; Reloge les subsongs et init la subsong D0 (1..1)

OL_InitSong				; 68DC4
	movem.l	D0-D7/A0-A6,-(SP)
;;	move.l	D7,D0
	subq.w	#1,d0			; D0 min = 0

	lea	lbL000F12(pc),A5
lbC000DD0	clr.l	(A5)+
	cmp.l	#lbL001112,A5
	bne.s	lbC000DD0
	lea	lbL000F12(pc),A5
	move.b	#1,$54(A5)
	move.b	#1,$D4(A5)
	move.b	#1,$154(A5)
	move.b	#1,$1D4(A5)
	mulu	#$18,D0
	move.l	lbL002808,A2
	move.l	0(A2,D0.L),lbL000F12
	move.l	lbL000F12,lbL000F16
	move.l	4(A2,D0.L),lbL000F92
	move.l	lbL000F92,lbL000F96
	move.l	8(A2,D0.L),lbL001012
	move.l	lbL001012,lbL001016
	move.l	$C(A2,D0.L),lbL001092
	move.l	lbL001092,lbL001096
	move.w	$12(A2,D0.L),lbW001236
	move.w	$10(A2,D0.L),lbW001234
	move.w	$14(A2,D0.L),lbW001278
	or.b	#2,$BFE001
	move.l	#$DFF0A0,A6
	move.w	#$F,$DFF096
	move.l	#EmptySample,(A6)
	move.l	#EmptySample,$10(A6)
	move.l	#EmptySample,$20(A6)
	move.l	#EmptySample,$30(A6)
	move.w	#$10,4(A6)
	move.w	#$10,$14(A6)
	move.w	#$10,$24(A6)
	move.w	#$10,$34(A6)
	move.w	#$8000,D1
	add.w	lbW001236,D1
	move.w	D1,$DFF096
	movem.l	(SP)+,D0-D7/A0-A6
	rts

lbB000EC8
Musiccodingby.MSG
	dc.b	'Music coding by Wim van Hees and Ralph Sens.'
	dc.b	'Music composing by Jeroen Tel.'

lbL000F12	dc.l	0
lbL000F16	dcb.l	$1F,0
lbL000F92	dc.l	0
lbL000F96	dcb.l	$1F,0
lbL001012	dc.l	0
lbL001016	dcb.l	$1F,0
lbL001092	dc.l	0
lbL001096	dcb.l	$1F,0

lbL001112				; 69112
	dc.w	$E20,$D60,$CA0,$BE8,$B40,$A98,$A00,$970,$8E8,$868
	dc.w	$7F0,$780,$710,$6B0,$650,$5F4,$5A0,$54C,$500,$4B8
	dc.w	$474,$434,$3F8,$3C0,$388,$358,$328,$2FA,$2D0,$2A6
	dc.w	$280,$25C,$23A,$21A,$1FC,$1E0,$1C4,$1AC,$194,$17D
	dc.w	$168,$153,$140,$12E,$11D,$10D,$0FE,$0F0,$0E2,$0D6
	dc.w	$0CA,$0BE,$0B4,$0AA,$0A0,$097,$08F,$087,$07F

lbL001188	dc.l	1,2,4,8,0,0,$10002,$40008,$100020,$400080

lbL0011B0				; $691b0, samples copro
	dc.l	l6A000,l6A020,l6A040,l6A060
	dc.l	l6A0F0,l6A080,l6A0C0,l6A000
	dc.l	l6A200,l6A0A0,l6A97C,l6A99C
	dc.l	l6A9BC,l6A9DC,l6A9FC,l6AA1C
lbL0011F0
	dc.l	l6A100,l6A108,l6A110,l6A118
	dc.l	l6A180,l6A128,l6A000,l6A000
	dc.l	l6A200,l6A180,l6A97C,l6A99C
	dc.l	l6A9BC,l6A9DC,l6A9FC,l6AA1C


lbL001230	dc.l	0
lbW001234	dc.w	0
lbW001236	dc.w	0
lbL001238
	dc.w	$1,$1F41,$1771,$FA1,$D07,$A6C,$881,$695,$587,$478
	dc.w	$414,$3AE,$321,$2D1,$281,$101,$001,$101,$281,$2D1
	dc.w	$321,$3AE,$414,$478,$587,$695,$881,$A6C,$D07,$FA1
	dc.w	$1771,$1F41

lbW001278	dc.w	0
lbW00127A	dc.w	0,$434F,$5059
lbL001280	dc.l	$81A7CBEF,$13375B7F
lbL001288
	dc.l	$818A929A,$A2AAB2BA,$C2CAD2DA,$E2EAF2FA,$2091119
	dc.l	$21293139,$41495159,$626D767F

lbL0012A8
	dc.l	l692B8,l692D8,l692F8,l69318
l692B8	dcb.l	8,0
l692D8	dcb.l	8,0
l692F8	dcb.l	8,0
l69318	dcb.l	8,0




lbL002800				; $6a800
	dc.l	l6ACEC
lbL002804				; $6a804
	dc.l	l6AD84
lbL002808				; $6a808
	dc.l	l6AA40

	dc.l	l6AD28
	dc.l	l6AD2D,l6AD32,l6AD37,l6AD3C
	dc.l	l6AD41,l6AD46,l6AD4B,l6AD4B
	dc.l	l6AD4B,l6AD4B,l6AD4B,l6AD4B
	dc.l	l6AD4B,l6AD4B,l6AD4B,l6AD4B
	dc.l	l6AD4B,l6AD4B,l6AD4B,l6AD4B
	dc.l	l6AD4B,l6AD4B,l6AD4B,l6AD4B
	dc.l	l6AD4B,l6AD4B,l6AD4B,l6AD4B
	dc.l	l6AD4B,l6AD4B,l6AD4B,l6AD4C
	dc.l	l6AD51,l6AD56,l6AD56,l6AD56
	dc.l	l6AD56,l6AD56,l6AD56,l6AD56
	dc.l	l6AD56,l6AD56,l6AD56,l6AD56
	dc.l	l6AD56,l6AD56,l6AD5A,l6AD66
	dc.l	l6AD7C,l6AD7C,l6AD7C,l6AD7C
	dc.l	l6AD7C,l6AD7C,l6AD7C,l6AD7C
	dc.l	l6AD7C,l6AD7C,l6AD7C,l6AD7C
	dc.l	l6AD7C,l6AD7C,l6AD83,l6AD83
	dc.l	l6AD83,l6AD83,l6AD83,l6AD83
	dc.l	l6AD83,l6AD83,l6AD83,l6AD83
	dc.l	l6AD83,l6AD83,l6AD83,l6AD83
	dc.l	l6AD56,l6AD61,l6AD7C,l6AD7C
	dc.l	l6AD7C,l6AD7C,l6AD7C,l6AD7C
	dc.l	l6AD7C,l6AD7C,l6AD7C,l6AD7C
	dc.l	l6AD7C,l6AD7C,l6AD7C



l6AA3C		dc.b	0
lbB002A3D	dc.b	1,0
lbB002A3F	dc.b	$10


l6AA40	dc.l	l6AA58,l6AA6C,l6AA84,l6AA98,$0004000F,$00020000
l6AA58	dc.l	$00000080,l6AC60,$00000080,l6AABC,$000000FF
l6AA6C	dc.l	$00000080,l6AC7C,$0000008A,l6AB75,l6AAF3,$000000FF
l6AA84	dc.l	$00000080,l6AC98,$00000080,l6AAF7,$000000FF
l6AA98	dc.l	$00000080,$00000060,l6ACC2,$0000008A,l6AAF3
	dc.l	$00000061,l6AB75,$000000FF


	dc.b	$C1,$81,0,$FF
l6AABC	dc.b	$C2,$A0
	dc.b	$24,$C3,$A0,$29,$C3,$A0,$2B,$C3,$A0,$24,$C3,$A0
	dc.b	$29,$C3,$A0,$24,$C3,$90,$2A,$C3,$90,$26,$C3,$A0
	dc.b	$2B,$C3,$A0,$29,$C3,$A0,$24,$C3,$A0,$29,$C3,$A0
	dc.b	$24,$C3,$A0,$29,$C3,$A0,$24,$C3,$90,$1F,$C3,$90
	dc.b	$23,$C3,$C0,$24,$FF
l6AAF3	dc.b	$C1,$86,0,$FF
l6AAF7	dc.b	$C4,$8C,$24,$84
	dc.b	$24,$90,$24,$C4,$8C,$24,$84,$24,$90,$24,$C4,$8C
	dc.b	$24,$84,$24,$90,$24,$C4,$8C,$24,$84,$24,$90,$24
	dc.b	$C4,$8C,$24,$84,$24,$90,$24,$C4,$8C,$24,$84,$24
	dc.b	$90,$24,$C4,$8C,$24,$84,$24,$90,$24,$C4,$8C,$24
	dc.b	$84,$24,$90,$24,$C4,$8C,$24,$84,$24,$90,$24,$C4
	dc.b	$8C,$24,$84,$24,$90,$24,$C4,$8C,$24,$84,$24,$90
	dc.b	$24,$C4,$8C,$24,$84,$24,$90,$24,$C4,$8C,$24,$84
	dc.b	$24,$90,$24,$C4,$8C,$24,$84,$24,$90,$24,$C4,$8C
	dc.b	$24,$84,$24,$90,$24,$C4,$8C,$24,$84,$24,$90,$24
	dc.b	$C4,$8C,$24,$82,$24,$82,$24,$86,$24,$86,$24,$84
	dc.b	$24,$FF
l6AB75	dc.b	$C5,$98,$18,$C5,$84,$1A,$C5,$84,$1B,$C5
	dc.b	$88,$FD,8,$1B,$1D,$C5,$88,$18,$C5,$84,$1D,$C5,$84
	dc.b	$1B,$C5,$84,$1A,$C5,$84,$18,$C5,$88,$17,$C5,$88
	dc.b	$13,$C5,$84,$1F,$C5,$84,$1D,$C5,$84,$1B,$C5,$84
	dc.b	$1A,$C5,$88,$18,$C5,$88,$1F,$C5,$88,$FD,8,$1D,$1F
	dc.b	$C5,$84,$1D,$C5,$84,$1F,$C5,$88,$20,$C5,$88,$18
	dc.b	$C5,$88,$1D,$C5,$88,$20,$C5,$88,$1F,$C5,$88,$18
	dc.b	$C5,$88,$1B,$C5,$88,$1F,$C5,$88,$1E,$C5,$88,$1B
	dc.b	$C5,$88,$1A,$C5,$88,$18,$C5,$98,$17,$C5,$88,$13
	dc.b	$C5,$88,$14,$C5,$88,$1D,$C5,$88,$1B,$C5,$88,$1A
	dc.b	$C5,$90,$FD,$C,$1A,$1B,$C5,$88,$18,$C5,$88,$13
	dc.b	$C5,$88,$14,$C5,$88,$20,$C5,$88,$1D,$C5,$88,$18
	dc.b	$C5,$98,$FD,$C,$1D,$1F,$C5,$84,$1D,$C5,$84,$1F
	dc.b	$C5,$84,$20,$C5,$84,$18,$C5,$84,$1D,$C5,$84,$20
	dc.b	$C5,$84,$24,$C5,$84,$22,$C5,$84,$20,$C5,$84,$22
	dc.b	$C5,$84,$1F,$C5,$84,$18,$C5,$84,$1B,$C5,$84,$1F
	dc.b	$C5,$84,$24,$C5,$84,$1F,$C5,$84,$1B,$C5,$84,$1F
	dc.b	$C5,$84,$1E,$C5,$84,$17,$C5,$84,$1D,$C5,$84,$13
	dc.b	$C5,$84,$1B,$C5,$84,$11,$C5,$84,$1A,$C5,$82,$F
	dc.b	$C5,$82,$13,$C5,$BA,$18,$FF
l6AC60	dc.b	$C2,$A0,$24,$C3,$A0
	dc.b	$24,$C2,$A0,$24,$C3,$A0,$24,$C4,$8E,$24,$C4,$88
	dc.b	$24,$C4,$8A,$24,$C4,$90,$24,$C4,$90,$29,$FF
l6AC7C	dc.b	$C2
	dc.b	$A0,$24,$C3,$A0,$24,$C2,$A0,$24,$C3,$A0,$24,$C4
	dc.b	$8E,$24,$C4,$88,$24,$C4,$8A,$24,$C4,$90,$24,$C4
	dc.b	$90,$2C,$FF
l6AC98	dc.b	$C4,$A0,$1F,$C4,$88,$24,$88,$21,$C4
	dc.b	$88,$24,$88,$21,$C4,$A0,$24,$C4,$88,$24,$88,$21
	dc.b	$C4,$88,$24,$94,$21,$C4,$84,$24,$C4,$8C,$24,$C4
	dc.b	$90,$24,$C4,$84,$24,$C4,$90,$24,$FF
l6ACC2	dc.b	$C4,$A0,$24
	dc.b	$C4,$88,$24,$88,$1F,$C4,$88,$24,$88,$1F,$C4,$A0
	dc.b	$24,$C4,$88,$24,$88,$1F,$C4,$88,$24,$94,$1F,$C4
	dc.b	$84,$24,$C4,$8C,$24,$C4,$90,$24,$C4,$84,$24,$C4
	dc.b	$90,$21,$FF

l6ACEC
	dc.b	$80,0,$F0,0,0,0,0,0,0,0,$80,1,0,$FF
	dc.b	$20,0,0,0,1,0,$80,1,0,$FF,$20,0,0,0,3,0,$80,1,0
	dc.b	$AF,$20,0,$80,0,2,0,$80,$C1,0,$ED,$40,$E1,$80,0,0
	dc.b	0,$80,$D1,0,$8B,$40,$E1,$80,1,0,0


l6AD28	dc.b	$10,0,3,7,$FF
l6AD2D	dc.b	$10,0,4,7,$FF
l6AD32	dc.b	$10,0,5,8,$FF
l6AD37	dc.b	$10,0,5,9,$FF
l6AD3C	dc.b	$10,0,3,8,$FF
l6AD41	dc.b	$10,0,4,9,$FF
l6AD46	dc.b	$10,0,6,9,$FF
l6AD4B	dc.b	0
l6AD4C	dc.b	$10,$80,1,1,$FF
l6AD51	dc.b	1,$F0,1,1,$FF
l6AD56	dc.b	0,$81,$40,$FE
l6AD5A	dc.b	0,$2F,$18,$14,$10,$C,$FE
l6AD61	dc.b	0,$81,$40,$80,$FE
l6AD66	dc.b	0,$2F,$1C,$2F,$2D,$2B,$29,$27,$25,$23,$21
	dc.b	$1F,$1D,$1B,$19,$17,$15,$13,$11,$F,$D,$FE
l6AD7C	dc.b	0,$10,$10,6,$10,$86,$FF
l6AD83	dc.b	0


l6AD84					; samples infos
	dc.l	$5C000-OriginalSamplesAdr+SamplesBuf,$63d7
	dc.l	$623e8-OriginalSamplesAdr+SamplesBuf,$5757
	dc.l	$61000-OriginalSamplesAdr+SamplesBuf,$13d8



;-----------------------------------------------------------------------
; Données en CHIP


	section Samples,data_c


lbL002000				; samples copro
l6A000
	dcb.l	8,0
l6A020	dc.l	$00193147,$5A6A757D,$7F7D756A,$5A473119
	dc.l	$00E7CFB9,$A6968B83,$81838B96,$A6B9CFE7
l6A040	dc.l	$00081018,$20283038,$40485058,$60687078
	dc.l	$80889098,$A0A8B0B8,$C0C8D0D8,$E0E8F0F8
l6A060	dc.l	$00102030,$40506070,$7F706050,$40302010
	dc.l	$00F0E0D0,$C0B0A090,$8090A0B0,$C0D0E0F0
l6A080	dc.l	$FFF7EFE7,$DFD7CFC7,$BFB7AFA7,$9F978F87
	dc.l	$7F776F67,$5F574F47,$3F372F27,$1F170F07
l6A0A0	dc.l	$7F816F91,$5FA14FB1,$3FC12FD1,$1FE10FF1
	dc.l	$FF01EF11,$DF21CF31,$BF41AF51,$9F618F71
l6A0C0	dc.l	$1020D0C0,$50609080,$706090A0,$3020D0E0
	dc.l	$F0E01020,$B0A05060,$90A07060,$D0E03020
	dc.l	$10203040,$B0A09080,$70605040,$D0E0F000

lbL0020F0
l6A0F0	dc.l	$F0E0D0C0,$5060707F,$90A0B0C0,$30201000
l6A100	dc.l	0,0
l6A108	dc.l	$30587F58,$D0A880A8
l6A110	dc.l	$2040607F,$A0C0E000
l6A118	dc.l	$00407F40,$00C080C0,$7F7F7F7F,$81818181
l6A128	dc.l	$FFDFBF9F,$7F5F3F1F
	dc.l	$7F813FC1,$FF01BF41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
	dcb.l	3,0

;;lbL002180
l6A180	dcb.l	2,$81818181
	dc.l	$7F818181,$81818181,$7F7F8181,$81818181,$7F7F7F81
	dc.l	$81818181,$7F7F7F7F,$81818181,$7F7F7F7F,$7F818181
	dc.l	$7F7F7F7F,$7F818181,$7F7F7F7F,$7F7F8181,$7F7F7F7F
	dc.l	$7F7F7F81,$7F7F7F7F,$7F7F7F7F,$38001400,$E001B00
	dc.l	$A004000,$588058C0,$3000,$C8000180,$14801040
	dc.l	$1A400840,$26000400,$1802780,$3D800580,$7800100

;;lbL002200
l6A200	dc.l	$1EA6DDBA,$CB127D73,$1BF2B387,$F751F3EE,$888FABB3
	dc.l	$BCAA7355,$27BB8A6C,$EC3828F,$BCA83B76,$207B0E5C
	dc.l	$91FC49A7,$EF60E3CB,$F152696C,$BA3738C2,$AEB6EE42
	dc.l	$8378237B,$9B2D533E,$91CE1F02,$122AB585,$ED9C8DB7
	dc.l	$6E1A57D4,$E87331D1,$92D81DFA,$949CB1D9,$613A1159
	dc.l	$47951A2C,$4483DF69,$1B8B5B7A,$A7EE5D35,$6FE5C749
	dc.l	$7C2AFCDC,$67B99772,$B6D85911,$695566A2,$CF0FB09B
	dc.l	$9EB7B3DB,$43D863D5,$771662F1,$13B27730,$25573C0E
	dc.l	$431017AC,$20976A2F,$5CD60F63,$A0A8FEA3,$EADF51FD
	dc.l	$278C6B92,$7B733D,$F5FC0875,$AFE93073,$92E49097
	dc.l	$93E0E208,$49E4A59A,$460D0FF5,$A7D148F4,$EA8AD94C
	dc.l	$132636E,$A36B8CAE,$EAC340A4,$1B3716D3,$C0F50F88
	dc.l	$FC678506,$216C63DF,$7AE892A5,$6E80B4C2

;;lbL002300
l6A300	dcb.l	8,$81818181
	dc.l	$7F818181,$81818181,$81818181,$81818181,$81818181
	dcb.l	3,$81818181
	dc.l	$7F7F8181,$81818181,$81818181,$81818181,$81818181
	dcb.l	3,$81818181
	dc.l	$7F7F7F81,$81818181,$81818181,$81818181,$81818181
	dcb.l	3,$81818181
	dc.l	$7F7F7F7F,$81818181,$81818181,$81818181,$81818181
	dcb.l	3,$81818181
	dc.l	$7F7F7F7F,$7F818181,$81818181,$81818181,$81818181
	dcb.l	3,$81818181
	dc.l	$7F7F7F7F,$7F7F8181,$81818181,$81818181,$81818181
	dcb.l	3,$81818181
	dc.l	$7F7F7F7F,$7F7F7F81,$81818181,$81818181,$81818181
	dcb.l	3,$81818181
	dcb.l	2,$7F7F7F7F
	dcb.l	6,$81818181
	dcb.l	2,$7F7F7F7F
	dc.l	$7F818181,$81818181,$81818181,$81818181,$81818181
	dc.l	$81818181,$7F7F7F7F,$7F7F7F7F,$7F7F8181,$81818181
	dcb.l	4,$81818181
	dcb.l	2,$7F7F7F7F
	dc.l	$7F7F7F81,$81818181,$81818181,$81818181,$81818181
	dc.l	$81818181,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F,$81818181
	dcb.l	4,$81818181
	dcb.l	3,$7F7F7F7F
	dc.l	$7F818181,$81818181,$81818181,$81818181,$81818181
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F8181,$81818181,$81818181,$81818181,$81818181
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F7F81,$81818181,$81818181,$81818181,$81818181
	dcb.l	4,$7F7F7F7F
	dcb.l	4,$81818181
	dcb.l	4,$7F7F7F7F
	dc.l	$7F818181,$81818181,$81818181,$81818181,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F8181,$81818181,$81818181,$81818181,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F7F81,$81818181,$81818181,$81818181,$7F7F7F7F
	dcb.l	4,$7F7F7F7F
	dcb.l	3,$81818181
	dcb.l	5,$7F7F7F7F
	dc.l	$7F818181,$81818181,$81818181,$7F7F7F7F,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F8181,$81818181,$81818181,$7F7F7F7F,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F7F81,$81818181,$81818181,$7F7F7F7F,$7F7F7F7F
	dcb.l	4,$7F7F7F7F
	dcb.l	2,$81818181
	dcb.l	6,$7F7F7F7F
	dc.l	$7F818181,$81818181,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F8181,$81818181,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F7F81,$81818181,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F
	dcb.l	4,$7F7F7F7F
	dc.l	$81818181,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F818181,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F8181,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F
	dcb.l	3,$7F7F7F7F
	dc.l	$7F7F7F81,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F,$7F7F7F7F
	dcb.l	4,$7F7F7F7F
	dc.l	$FFFFED,$F7C00000,$113FFFFF,$EFE00000,$2FFFFF
	dc.l	$FFC00000,$4FFFFF,$FBC00000,$1BFFFFF,$FFC00000
	dc.l	$1007FFFF,$FF400000,$4FFFFF,$FF400000,$C33FFFF
	dc.l	$FFC00000,$6DAFBFFF,$FFC00000,$5F71FFFF,$DD9E0000
	dc.l	$4F3FFFFB,$FFFF0000,$CFBBFEFB,$FFFFF800,$FF37FEFB
	dc.l	$FFFC8000,$FFB5FEDB,$7FFFC000,$1FFBFCFB,$7FFF8000
	dc.l	$7F3FCF7,$5BF80000,$FFF9FF7F,$E1F00000,$1FFFFDFB
	dc.l	$BF800000,$FFB,$FF000000,$60,0,$3C,$505,$FF0000,0
	dcb.l	$C,0


EmptySample				; lbL003000, $6b000
	dcb.w	$10,0


l6A97C	dc.l	$E987F1D0,$D7047C35,$212C88BA,$9E9FA975
	dc.l	$5488BF13,$F945277F,$27FC96CA,$186AD600
l6A99C	dc.l	$7F7F7F7F,$7F7F7F7F,$00000002,$81818181
	dc.l	$19476A7D,$7D6A4719,$E7B99683,$8396B9E7
l6A9BC	dc.l	$00080816,$1A160808,$00F8F0EA,$E6EAF0F8
	dc.l	$00101610,$00F0EAF0,$00101610,$00F0EAF0
l6A9DC	dc.l	$0004080C,$100C0804,$00FCF8F4,$F0F4F8FC
	dc.l	$00081008,$00F8F0F8,$00081008,$00F8F0F8
l6A9FC	dc.l	0,0,0,0,0
	dc.l	0,0,0,0,0
l6AA1C	dc.l	0,0,0,0,0
	dc.l	0,0,0,0,0


SamplesBuf				; $5c000, 49152 octets
	incbin	b:OverLord/OverLord.smp

;-----------------------------------------------------------------------
; END
	end


