
	incdir	"Includes:"
	include	"misc/DeliPlayer.i"

;
;
	SECTION Player,Code
;
;

	PLAYERHEADER PlayerTagArray

	dc.b '$VER: Delta Music 2.0 player module V1.1 (01 Sep 92)',0
	even

PlayerTagArray
	dc.l	DTP_PlayerVersion,0
	dc.l	DTP_PlayerName,PName
	dc.l	DTP_Creator,CName
	dc.l	DTP_Check2,Chk
	dc.l	DTP_Interrupt,Int
	dc.l	DTP_InitPlayer,InitPlay
	dc.l	DTP_EndPlayer,EndPlay
	dc.l	DTP_InitSound,InitSnd
	dc.l	DTP_EndSound,RemSnd
	dc.l	DTP_Volume,Volume
	dc.l	TAG_DONE

*-----------------------------------------------------------------------*
;
; Player/Creatorname und lokale Daten

PName	dc.b 'DeltaMusic_2.0',0
CName	dc.b 'Bent Nielsen,',10
	dc.b 'adapted by Delirium',0
	even
dt_data		dc.l 0

*-----------------------------------------------------------------------*
;
;Interrupt für Delta Replay

Int
	movem.l	d0-d7/a0-a6,-(sp)
	move.l	dt_data(pc),a0
	moveq	#0,d0
	jsr	(a0)				; DudelDiDum
	movem.l	(sp)+,d0-d7/a0-a6
	rts

*-----------------------------------------------------------------------*
;
; Testet auf DeltaMusic2.0-Modul

Chk
	move.l	dtg_ChkData(a5),a0
	move.l	$bc6(a0),d0
	subi.l	#".FNL",d0
	rts

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

InitPlay
	moveq	#0,d0
	move.l	dtg_GetListData(a5),a0		; Function
	jsr	(a0)
	move.l	a0,dt_data

	move.l	dtg_AudioAlloc(a5),a0		; Function
	jsr	(a0)				; returncode is already set !
	rts

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

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

*-----------------------------------------------------------------------*
;
; Init Sound

InitSnd
	moveq	#1,d0
	move.l	dt_data(pc),a0
	jsr	(a0)				; Init Sound
	rts

*-----------------------------------------------------------------------*
;
; Remove Sound

RemSnd
	lea	$dff000,a0
	moveq	#0,d0
	move.w	d0,$a8(a0)
	move.w	d0,$b8(a0)
	move.w	d0,$c8(a0)
	move.w	d0,$d8(a0)
	move.w	#$000F,$96(a0)			; End Sound
	rts

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

Volume
	moveq	#2,d0				; set music volume
	move.w	dtg_SndVol(a5),d1
	cmpi.w	#64,d1
	blt.s	SetVolOk
	moveq	#63,d1				; DM wants volume only from 0 to 63
SetVolOk
	move.l	dt_data(pc),a0
	jsr	(a0)				; call the player
	rts

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

