;
;	my p40b mods still don't sound right; the code
;	appears ok though...
;
;	if someone fixes the code, please send new source to:
;	sikorsky@bode.ee.ualberta.ca
;	and
;	kunath@informatik.tu-muenchen.de
;
;	thanks...
;	Kev.

	incdir	"Include:"
	include	"misc/DeliPlayer.i"
	objfile	"ram:p40b"
	exeobj
	normobj
	verbose
	odderror
;
;
	SECTION Player,Code
;
;

	PLAYERHEADER PlayerTagArray

	dc.b '$VER: P40B player module V0.1 (17 Mar 93)',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	TAG_DONE

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

PName	dc.b 'P40B',0
CName	dc.b '???,',10
	dc.b 'Testversion by KevinD & Delirium',0
	even
Module		dc.l 0

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

Int
	movem.l	d2-d7/a2-a6,-(sp)
	jsr	rp_music			; DudelDiDum
	movem.l	(sp)+,d2-d7/a2-a6
	rts

*-----------------------------------------------------------------------*
;
; Testet auf 'P40B'-Modul

Chk
	move.l	dtg_ChkData(a5),a0
	move.l	(a0),d0
	subi.l	#'P40B',d0
	rts

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

; Init Player

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

	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
	move.l	Module(pc),a0
	bsr	rp_init
	rts

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

RemSnd
	bsr	rp_end
	rts

*-----------------------------------------------------------------------*
;
; P40B - Replay

rp_init
	cmp.l	#'P40B',(a0)+
	beq.s	lbC00000C
	moveq	#-$01,d0
	rts

lbC00000C
	lea	lbW001216(pc),a3
	move.l	a0,$0020(a3)
	move.l	a0,d0
	add.l	d0,$0004(a0)
	add.l	d0,$0008(a0)
	add.l	d0,$000C(a0)
	move.l	a1,d0
	beq.s	lbC00002A
	move.l	a1,$000C(a0)
lbC00002A
	move.l	$000C(a0),d0
	moveq	#$00,d1
	move.b	$0002(a0),d1
	subq.w	#$01,d1
	lea	$0010(a0),a1
lbC00003A
	add.l	d0,(a1)
	add.l	d0,$0006(a1)
	lea	$0010(a1),a1
	dbra	d1,lbC00003A
	lea	lbL001166(pc),a1
	moveq	#$14,d0
lbC00004E
	clr.w	(a1)+
	dbra	d0,lbC00004E
	lea	lbL001192(pc),a1
	moveq	#$14,d0
lbC00005A
	clr.w	(a1)+
	dbra	d0,lbC00005A
	lea	lbL0011BE(pc),a1
	moveq	#$14,d0
lbC000066
	clr.w	(a1)+
	dbra	d0,lbC000066
	lea	lbL0011EA(pc),a1
	moveq	#$14,d0
lbC000072
	clr.w	(a1)+
	dbra	d0,lbC000072
	move.l	$0008(a0),a1
	move.l	a1,$0014(a3)
	moveq	#$00,d1
	move.w	(a1)+,d1
	add.l	$0004(a0),d1
	move.l	d1,-$0090(a3)
	moveq	#$00,d1
	move.w	(a1)+,d1
	add.l	$0004(a0),d1
	move.l	d1,-$0064(a3)
	moveq	#$00,d1
	move.w	(a1)+,d1
	add.l	$0004(a0),d1
	move.l	d1,-$0038(a3)
	moveq	#$00,d1
	move.w	(a1)+,d1
	add.l	$0004(a0),d1
	move.l	d1,-$000C(a3)
	move.l	a1,$000C(a3)
	move.l	$0004(a0),$0018(a3)
	lea	lbC001100(pc),a0
	move.l	a0,$001C(a3)
	move.w	#$003F,$0004(a3)
	move.w	#$0006,$0006(a3)
	move.w	#$0005,$0008(a3)
	clr.w	$000A(a3)
	clr.l	$0010(a3)
	clr.w	(a3)
;	move.b	#$3F,$00BFDD00
;	move.b	#$81,$00BFDD00
;	move.b	#$97,$00BFD400
;	move.b	#$01,$00BFD500
;	move.b	#$90,$00BFDE00
;	move.w	#$6000,$00DFF09C
;	move.w	#$A000,$00DFF09A
;	move.l	$78,$0024(a3)
;	or.b	#$02,$00BFE001
	move.w	#$000F,$00DFF096
	moveq	#$00,d0
;	lea	lbC0010F6(pc),a0
;	move.l	a0,$78
	clr.w	$00DFF0A8
	clr.w	$00DFF0B8
	clr.w	$00DFF0C8
	clr.w	$00DFF0D8
	rts

;lbC000150
;	move.b	#$3F,$00BFDD00
;	move.b	#$81,$00BFDD00
;	move.b	#$97,$00BFD400
;	move.b	#$01,$00BFD500
;	move.b	#$90,$00BFDE00
;	rts

rp_end
	clr.w	$00DFF0A8
	clr.w	$00DFF0B8
	clr.w	$00DFF0C8
	clr.w	$00DFF0D8
;	move.l	lbL00123A(pc),$78
	rts

rp_music
	lea	lbW001216(pc),a3
	moveq	#$2C,d6
	moveq	#$10,d7
	move.w	(a3),d4
	addq.w	#$01,d4
	cmp.w	lbW00121C(pc),d4
	beq	lbC00095C
	lea	lbL001166(pc),a5
	lea	$00DFF0A0,a4
	move.w	d4,(a3)
	moveq	#$03,d5
lbC0001BC
	tst.w	$001E(a5)
	beq	lbC00082E
	moveq	#$0F,d0
	and.w	(a5),d0
	add.w	d0,d0
	move.w	jumptable1(pc,d0.w),d0
	jmp	jumptable1(pc,d0.w)

jumptable1
	dc.w	lbC00082E-jumptable1
	dc.w	lbC00083E-jumptable1
	dc.w	lbC000862-jumptable1
	dc.w	lbC0007EE-jumptable1
	dc.w	lbC000C3A-jumptable1
	dc.w	lbC0007C8-jumptable1
	dc.w	lbC000C14-jumptable1
	dc.w	lbC000C78-jumptable1
	dc.w	lbC0002C6-jumptable1
	dc.w	lbC00082E-jumptable1
	dc.w	lbC000798-jumptable1
	dc.w	lbC00082E-jumptable1
	dc.w	lbC00082E-jumptable1
	dc.w	lbC00082E-jumptable1
	dc.w	lbC0001F2-jumptable1
	dc.w	lbC00082E-jumptable1

lbC0001F2
	move.b	$0002(a5),d0
	and.b	#$F0,d0
	cmp.w	#$0090,d0
	beq.s	lbC000260
	cmp.w	#$00C0,d0
	beq.s	lbC000248
	cmp.w	#$00D0,d0
	bne	lbC00082E
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	cmp.w	(a3),d0
	bne	lbC00082E
	move.w	$002A(a5),d0
	or.w	#$8000,d0
	or.w	d0,$0002(a3)
	move.l	$0004(a5),a1
	move.l	(a1)+,(a4)
	move.w	(a1),$0004(a4)
;	bsr	lbC000150
;	move.b	#$91,$00BFDE00
;	lea	lbC0010E2(pc),a1
;	move.l	a1,$78
	bra	lbC00082E

lbC000248
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	cmp.w	(a3),d0
	bne	lbC00082E
	clr.w	$0008(a4)
	clr.w	$000E(a5)
	bra	lbC00082E

lbC000260
	subq.w	#$01,$001A(a5)
	bne	lbC00082E
	move.w	$002A(a5),d0
	move.w	d0,$00DFF096
	or.w	#$8000,d0
	or.w	d0,$0002(a3)
	move.l	$0004(a5),a1
	move.l	(a1)+,(a4)
	move.w	(a1),$0004(a4)
;	bsr	lbC000150
;	move.b	#$91,$00BFDE00
;	lea	lbC0010E2(pc),a1
;	move.l	a1,$78
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	move.w	d0,$001A(a5)
	bra	lbC00082E

lbW0002A6
	dc.w	$0001
	dc.w	$0200
	dc.w	$0102
	dc.w	$0001
	dc.w	$0200
	dc.w	$0102
	dc.w	$0001
	dc.w	$0200
	dc.w	$0102
	dc.w	$0001
	dc.w	$0200
	dc.w	$0102
	dc.w	$0001
	dc.w	$0200
	dc.w	$0102
	dc.w	$0001

lbC0002C6
	move.w	(a3),d0
	move.b	lbW0002A6(pc,d0.w),d0
	beq.s	lbC0002DC
	btst	#$00,d0
	bne.s	lbC0002E0
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	bra.s	lbC0002E8

lbC0002DC
	moveq	#$00,d0
	bra.s	lbC0002E8

lbC0002E0
	moveq	#$00,d0
	move.b	$0002(a5),d0
	lsr.b	#$04,d0
lbC0002E8
	add.w	d0,d0
	add.w	$001C(a5),d0
	move.w	lbW0002F8(pc,d0.w),$0006(a4)
	bra	lbC00082E

lbW0002F8
	dc.w	$0358
	dc.w	$0358
	dc.w	$0328
	dc.w	$02FA
	dc.w	$02D0
	dc.w	$02A6
	dc.w	$0280
	dc.w	$025C
	dc.w	$023A
	dc.w	$021A
	dc.w	$01FC
	dc.w	$01E0
	dc.w	$01C5
	dc.w	$01AC
	dc.w	$0194
	dc.w	$017D
	dc.w	$0168
	dc.w	$0153
	dc.w	$0140
	dc.w	$012E
	dc.w	$011D
	dc.w	$010D
	dc.w	$00FE
	dc.w	$00F0
	dc.w	$00E2
	dc.w	$00D6
	dc.w	$00CA
	dc.w	$00BE
	dc.w	$00B4
	dc.w	$00AA
	dc.w	$00A0
	dc.w	$0097
	dc.w	$008F
	dc.w	$0087
	dc.w	$007F
	dc.w	$0078
	dc.w	$0071
	dc.w	$0352
	dc.w	$0352
	dc.w	$0322
	dc.w	$02F5
	dc.w	$02CB
	dc.w	$02A2
	dc.w	$027D
	dc.w	$0259
	dc.w	$0237
	dc.w	$0217
	dc.w	$01F9
	dc.w	$01DD
	dc.w	$01C2
	dc.w	$01A9
	dc.w	$0191
	dc.w	$017B
	dc.w	$0165
	dc.w	$0151
	dc.w	$013E
	dc.w	$012C
	dc.w	$011C
	dc.w	$010C
	dc.w	$00FD
	dc.w	$00EF
	dc.w	$00E1
	dc.w	$00D5
	dc.w	$00C9
	dc.w	$00BD
	dc.w	$00B3
	dc.w	$00A9
	dc.w	$009F
	dc.w	$0096
	dc.w	$008E
	dc.w	$0086
	dc.w	$007E
	dc.w	$0077
	dc.w	$0071
	dc.w	$034C
	dc.w	$034C
	dc.w	$031C
	dc.w	$02F0
	dc.w	$02C5
	dc.w	$029E
	dc.w	$0278
	dc.w	$0255
	dc.w	$0233
	dc.w	$0214
	dc.w	$01F6
	dc.w	$01DA
	dc.w	$01BF
	dc.w	$01A6
	dc.w	$018E
	dc.w	$0178
	dc.w	$0163
	dc.w	$014F
	dc.w	$013C
	dc.w	$012A
	dc.w	$011A
	dc.w	$010A
	dc.w	$00FB
	dc.w	$00ED
	dc.w	$00E0
	dc.w	$00D3
	dc.w	$00C7
	dc.w	$00BC
	dc.w	$00B1
	dc.w	$00A7
	dc.w	$009E
	dc.w	$0095
	dc.w	$008D
	dc.w	$0085
	dc.w	$007D
	dc.w	$0076
	dc.w	$0070
	dc.w	$0346
	dc.w	$0346
	dc.w	$0317
	dc.w	$02EA
	dc.w	$02C0
	dc.w	$0299
	dc.w	$0274
	dc.w	$0250
	dc.w	$022F
	dc.w	$0210
	dc.w	$01F2
	dc.w	$01D6
	dc.w	$01BC
	dc.w	$01A3
	dc.w	$018B
	dc.w	$0175
	dc.w	$0160
	dc.w	$014C
	dc.w	$013A
	dc.w	$0128
	dc.w	$0118
	dc.w	$0108
	dc.w	$00F9
	dc.w	$00EB
	dc.w	$00DE
	dc.w	$00D1
	dc.w	$00C6
	dc.w	$00BB
	dc.w	$00B0
	dc.w	$00A6
	dc.w	$009D
	dc.w	$0094
	dc.w	$008C
	dc.w	$0084
	dc.w	$007D
	dc.w	$0076
	dc.w	$006F
	dc.w	$0340
	dc.w	$0340
	dc.w	$0311
	dc.w	$02E5
	dc.w	$02BB
	dc.w	$0294
	dc.w	$026F
	dc.w	$024C
	dc.w	$022B
	dc.w	$020C
	dc.w	$01EF
	dc.w	$01D3
	dc.w	$01B9
	dc.w	$01A0
	dc.w	$0188
	dc.w	$0172
	dc.w	$015E
	dc.w	$014A
	dc.w	$0138
	dc.w	$0126
	dc.w	$0116
	dc.w	$0106
	dc.w	$00F7
	dc.w	$00E9
	dc.w	$00DC
	dc.w	$00D0
	dc.w	$00C4
	dc.w	$00B9
	dc.w	$00AF
	dc.w	$00A5
	dc.w	$009C
	dc.w	$0093
	dc.w	$008B
	dc.w	$0083
	dc.w	$007C
	dc.w	$0075
	dc.w	$006E
	dc.w	$033A
	dc.w	$033A
	dc.w	$030B
	dc.w	$02E0
	dc.w	$02B6
	dc.w	$028F
	dc.w	$026B
	dc.w	$0248
	dc.w	$0227
	dc.w	$0208
	dc.w	$01EB
	dc.w	$01CF
	dc.w	$01B5
	dc.w	$019D
	dc.w	$0186
	dc.w	$0170
	dc.w	$015B
	dc.w	$0148
	dc.w	$0135
	dc.w	$0124
	dc.w	$0114
	dc.w	$0104
	dc.w	$00F5
	dc.w	$00E8
	dc.w	$00DB
	dc.w	$00CE
	dc.w	$00C3
	dc.w	$00B8
	dc.w	$00AE
	dc.w	$00A4
	dc.w	$009B
	dc.w	$0092
	dc.w	$008A
	dc.w	$0082
	dc.w	$007B
	dc.w	$0074
	dc.w	$006D
	dc.w	$0334
	dc.w	$0334
	dc.w	$0306
	dc.w	$02DA
	dc.w	$02B1
	dc.w	$028B
	dc.w	$0266
	dc.w	$0244
	dc.w	$0223
	dc.w	$0204
	dc.w	$01E7
	dc.w	$01CC
	dc.w	$01B2
	dc.w	$019A
	dc.w	$0183
	dc.w	$016D
	dc.w	$0159
	dc.w	$0145
	dc.w	$0133
	dc.w	$0122
	dc.w	$0112
	dc.w	$0102
	dc.w	$00F4
	dc.w	$00E6
	dc.w	$00D9
	dc.w	$00CD
	dc.w	$00C1
	dc.w	$00B7
	dc.w	$00AC
	dc.w	$00A3
	dc.w	$009A
	dc.w	$0091
	dc.w	$0089
	dc.w	$0081
	dc.w	$007A
	dc.w	$0073
	dc.w	$006D
	dc.w	$032E
	dc.w	$032E
	dc.w	$0300
	dc.w	$02D5
	dc.w	$02AC
	dc.w	$0286
	dc.w	$0262
	dc.w	$023F
	dc.w	$021F
	dc.w	$0201
	dc.w	$01E4
	dc.w	$01C9
	dc.w	$01AF
	dc.w	$0197
	dc.w	$0180
	dc.w	$016B
	dc.w	$0156
	dc.w	$0143
	dc.w	$0131
	dc.w	$0120
	dc.w	$0110
	dc.w	$0100
	dc.w	$00F2
	dc.w	$00E4
	dc.w	$00D8
	dc.w	$00CC
	dc.w	$00C0
	dc.w	$00B5
	dc.w	$00AB
	dc.w	$00A1
	dc.w	$0098
	dc.w	$0090
	dc.w	$0088
	dc.w	$0080
	dc.w	$0079
	dc.w	$0072
	dc.w	$006C
	dc.w	$038B
	dc.w	$038B
	dc.w	$0358
	dc.w	$0328
	dc.w	$02FA
	dc.w	$02D0
	dc.w	$02A6
	dc.w	$0280
	dc.w	$025C
	dc.w	$023A
	dc.w	$021A
	dc.w	$01FC
	dc.w	$01E0
	dc.w	$01C5
	dc.w	$01AC
	dc.w	$0194
	dc.w	$017D
	dc.w	$0168
	dc.w	$0153
	dc.w	$0140
	dc.w	$012E
	dc.w	$011D
	dc.w	$010D
	dc.w	$00FE
	dc.w	$00F0
	dc.w	$00E2
	dc.w	$00D6
	dc.w	$00CA
	dc.w	$00BE
	dc.w	$00B4
	dc.w	$00AA
	dc.w	$00A0
	dc.w	$0097
	dc.w	$008F
	dc.w	$0087
	dc.w	$007F
	dc.w	$0078
	dc.w	$0384
	dc.w	$0384
	dc.w	$0352
	dc.w	$0322
	dc.w	$02F5
	dc.w	$02CB
	dc.w	$02A3
	dc.w	$027C
	dc.w	$0259
	dc.w	$0237
	dc.w	$0217
	dc.w	$01F9
	dc.w	$01DD
	dc.w	$01C2
	dc.w	$01A9
	dc.w	$0191
	dc.w	$017B
	dc.w	$0165
	dc.w	$0151
	dc.w	$013E
	dc.w	$012C
	dc.w	$011C
	dc.w	$010C
	dc.w	$00FD
	dc.w	$00EE
	dc.w	$00E1
	dc.w	$00D4
	dc.w	$00C8
	dc.w	$00BD
	dc.w	$00B3
	dc.w	$00A9
	dc.w	$009F
	dc.w	$0096
	dc.w	$008E
	dc.w	$0086
	dc.w	$007E
	dc.w	$0077
	dc.w	$037E
	dc.w	$037E
	dc.w	$034C
	dc.w	$031C
	dc.w	$02F0
	dc.w	$02C5
	dc.w	$029E
	dc.w	$0278
	dc.w	$0255
	dc.w	$0233
	dc.w	$0214
	dc.w	$01F6
	dc.w	$01DA
	dc.w	$01BF
	dc.w	$01A6
	dc.w	$018E
	dc.w	$0178
	dc.w	$0163
	dc.w	$014F
	dc.w	$013C
	dc.w	$012A
	dc.w	$011A
	dc.w	$010A
	dc.w	$00FB
	dc.w	$00ED
	dc.w	$00DF
	dc.w	$00D3
	dc.w	$00C7
	dc.w	$00BC
	dc.w	$00B1
	dc.w	$00A7
	dc.w	$009E
	dc.w	$0095
	dc.w	$008D
	dc.w	$0085
	dc.w	$007D
	dc.w	$0076
	dc.w	$0377
	dc.w	$0377
	dc.w	$0346
	dc.w	$0317
	dc.w	$02EA
	dc.w	$02C0
	dc.w	$0299
	dc.w	$0274
	dc.w	$0250
	dc.w	$022F
	dc.w	$0210
	dc.w	$01F2
	dc.w	$01D6
	dc.w	$01BC
	dc.w	$01A3
	dc.w	$018B
	dc.w	$0175
	dc.w	$0160
	dc.w	$014C
	dc.w	$013A
	dc.w	$0128
	dc.w	$0118
	dc.w	$0108
	dc.w	$00F9
	dc.w	$00EB
	dc.w	$00DE
	dc.w	$00D1
	dc.w	$00C6
	dc.w	$00BB
	dc.w	$00B0
	dc.w	$00A6
	dc.w	$009D
	dc.w	$0094
	dc.w	$008C
	dc.w	$0084
	dc.w	$007D
	dc.w	$0076
	dc.w	$0371
	dc.w	$0371
	dc.w	$0340
	dc.w	$0311
	dc.w	$02E5
	dc.w	$02BB
	dc.w	$0294
	dc.w	$026F
	dc.w	$024C
	dc.w	$022B
	dc.w	$020C
	dc.w	$01EE
	dc.w	$01D3
	dc.w	$01B9
	dc.w	$01A0
	dc.w	$0188
	dc.w	$0172
	dc.w	$015E
	dc.w	$014A
	dc.w	$0138
	dc.w	$0126
	dc.w	$0116
	dc.w	$0106
	dc.w	$00F7
	dc.w	$00E9
	dc.w	$00DC
	dc.w	$00D0
	dc.w	$00C4
	dc.w	$00B9
	dc.w	$00AF
	dc.w	$00A5
	dc.w	$009C
	dc.w	$0093
	dc.w	$008B
	dc.w	$0083
	dc.w	$007B
	dc.w	$0075
	dc.w	$036B
	dc.w	$036B
	dc.w	$033A
	dc.w	$030B
	dc.w	$02E0
	dc.w	$02B6
	dc.w	$028F
	dc.w	$026B
	dc.w	$0248
	dc.w	$0227
	dc.w	$0208
	dc.w	$01EB
	dc.w	$01CF
	dc.w	$01B5
	dc.w	$019D
	dc.w	$0186
	dc.w	$0170
	dc.w	$015B
	dc.w	$0148
	dc.w	$0135
	dc.w	$0124
	dc.w	$0114
	dc.w	$0104
	dc.w	$00F5
	dc.w	$00E8
	dc.w	$00DB
	dc.w	$00CE
	dc.w	$00C3
	dc.w	$00B8
	dc.w	$00AE
	dc.w	$00A4
	dc.w	$009B
	dc.w	$0092
	dc.w	$008A
	dc.w	$0082
	dc.w	$007B
	dc.w	$0074
	dc.w	$0364
	dc.w	$0364
	dc.w	$0334
	dc.w	$0306
	dc.w	$02DA
	dc.w	$02B1
	dc.w	$028B
	dc.w	$0266
	dc.w	$0244
	dc.w	$0223
	dc.w	$0204
	dc.w	$01E7
	dc.w	$01CC
	dc.w	$01B2
	dc.w	$019A
	dc.w	$0183
	dc.w	$016D
	dc.w	$0159
	dc.w	$0145
	dc.w	$0133
	dc.w	$0122
	dc.w	$0112
	dc.w	$0102
	dc.w	$00F4
	dc.w	$00E6
	dc.w	$00D9
	dc.w	$00CD
	dc.w	$00C1
	dc.w	$00B7
	dc.w	$00AC
	dc.w	$00A3
	dc.w	$009A
	dc.w	$0091
	dc.w	$0089
	dc.w	$0081
	dc.w	$007A
	dc.w	$0073
	dc.w	$035E
	dc.w	$035E
	dc.w	$032E
	dc.w	$0300
	dc.w	$02D5
	dc.w	$02AC
	dc.w	$0286
	dc.w	$0262
	dc.w	$023F
	dc.w	$021F
	dc.w	$0201
	dc.w	$01E4
	dc.w	$01C9
	dc.w	$01AF
	dc.w	$0197
	dc.w	$0180
	dc.w	$016B
	dc.w	$0156
	dc.w	$0143
	dc.w	$0131
	dc.w	$0120
	dc.w	$0110
	dc.w	$0100
	dc.w	$00F2
	dc.w	$00E4
	dc.w	$00D8
	dc.w	$00CB
	dc.w	$00C0
	dc.w	$00B5
	dc.w	$00AB
	dc.w	$00A1
	dc.w	$0098
	dc.w	$0090
	dc.w	$0088
	dc.w	$0080
	dc.w	$0079
	dc.w	$0072

lbC000798
	move.b	$0002(a5),d0
	sub.b	d0,$000F(a5)
	bpl.s	lbC0007AE
	clr.w	$000E(a5)
	clr.w	$0008(a4)
	bra	lbC00082E

lbC0007AE
	moveq	#$40,d0
	cmp.w	$000E(a5),d0
	bge.s	lbC0007C0
	move.w	d0,$000E(a5)
	move.w	d0,$0008(a4)
	bra.s	lbC00082E

lbC0007C0
	move.w	$000E(a5),$0008(a4)
	bra.s	lbC00082E

lbC0007C8
	move.b	$0002(a5),d0
	sub.b	d0,$000F(a5)
	bpl.s	lbC0007DC
	clr.w	$000E(a5)
	clr.w	$0008(a4)
	bra.s	lbC0007EE

lbC0007DC
	moveq	#$40,d0
	cmp.w	$000E(a5),d0
	bge.s	lbC0007E8
	move.w	d0,$000E(a5)
lbC0007E8
	move.w	$000E(a5),$0008(a4)
lbC0007EE
	move.w	$0012(a5),d0
	beq.s	lbC00082E
	move.w	$0014(a5),d1
	cmp.w	$0010(a5),d0
	blt.s	lbC000816
	add.w	d1,$0010(a5)
	cmp.w	$0010(a5),d0
	bgt.s	lbC000828
	move.w	d0,$0010(a5)
	clr.w	$0012(a5)
	move.w	d0,$0006(a4)
	bra.s	lbC00082E

lbC000816
	sub.w	d1,$0010(a5)
	cmp.w	$0010(a5),d0
	blt.s	lbC000828
	move.w	d0,$0010(a5)
	clr.w	$0012(a5)
lbC000828
	move.w	$0010(a5),$0006(a4)
lbC00082E
	add.w	d6,a5
	add.w	d7,a4
	dbra	d5,lbC0001BC
	cmp.w	lbW00121E(pc),d4
	beq.s	lbC00088A
;	rts
	bra	lbC0010E2

lbC00083E
	moveq	#$00,d0
	move.b	$0002(a5),d0
	sub.w	d0,$0010(a5)
	moveq	#$71,d0
	cmp.w	$0010(a5),d0
	ble.s	lbC00085A
	move.w	d0,$0010(a5)
	move.w	d0,$0006(a4)
	bra.s	lbC00082E

lbC00085A
	move.w	$0010(a5),$0006(a4)
	bra.s	lbC00082E

lbC000862
	moveq	#$00,d0
	move.b	$0002(a5),d0
	add.w	d0,$0010(a5)
	cmp.w	#$0358,$0010(a5)
	ble.s	lbC000882
	move.w	#$0358,d0
	move.w	d0,$0010(a5)
	move.w	d0,$0006(a4)
	bra.s	lbC00082E

lbC000882
	move.w	$0010(a5),$0006(a4)
	bra.s	lbC00082E

lbC00088A
	tst.w	$0010(a3)
	beq.s	lbC000896
	subq.w	#$01,$0010(a3)
;	rts
	bra	lbC0010E2

lbC000896
	lea	lbL001166(pc),a5
	move.l	lbL001236(pc),a0
	move.l	lbL00122E(pc),a4
	moveq	#$03,d5
lbC0008A4
	tst.b	$0003(a5)
	beq.s	lbC0008C2
	bmi.s	lbC0008BC
	subq.b	#$01,$0003(a5)
	clr.w	$001E(a5)
	add.w	d6,a5
	dbra	d5,lbC0008A4
	bra.s	lbC000918

lbC0008BC
	addq.b	#$01,$0003(a5)
	bra.s	lbC0008F8

lbC0008C2
	tst.b	$0029(a5)
	beq.s	lbC0008D8
	subq.b	#$01,$0029(a5)
	addq.l	#$04,$0024(a5)
	move.l	$0024(a5),a2
	move.l	(a2),(a5)
	bra.s	lbC0008F8

lbC0008D8
	move.l	$0020(a5),a2
	tst.b	(a2)
	bmi.s	lbC0008E4
	move.l	(a2),(a5)
	bra.s	lbC0008F4

lbC0008E4
	move.w	(a2)+,$0028(a5)
	move.w	(a2),d0
	lea	$00(a4,d0.w),a2
	move.l	(a2),(a5)
	move.l	a2,$0024(a5)
lbC0008F4
	addq.l	#$04,$0020(a5)
lbC0008F8
	move.w	(a5),d0
	st	$001E(a5)
	and.w	#$01F0,d0
	beq.s	lbC000912
	lea	$00(a0,d0.w),a1
	move.l	a1,$0004(a5)
	move.l	$000C(a1),$000C(a5)
lbC000912
	add.w	d6,a5
	dbra	d5,lbC0008A4
lbC000918
	subq.w	#$01,$0004(a3)
	bpl.s	lbC00095A
	move.w	#$003F,$0004(a3)
	move.l	$000C(a3),a1
	move.w	(a1)+,d0
	bpl.s	lbC000932
	move.l	lbL00122A(pc),a1
	move.w	(a1)+,d0
lbC000932
	lea	$00(a4,d0.w),a2
	move.l	a2,-$0090(a3)
	move.w	(a1)+,d0
	lea	$00(a4,d0.w),a2
	move.l	a2,-$0064(a3)
	move.w	(a1)+,d0
	lea	$00(a4,d0.w),a2
	move.l	a2,-$0038(a3)
	move.w	(a1)+,d0
	add.w	d0,a4
	move.l	a4,-$000C(a3)
	move.l	a1,$000C(a3)
lbC00095A
;	rts
	bra	lbC0010E2

lbC00095C
	clr.w	(a3)
	tst.w	$0012(a3)
	beq.s	lbC00096A
	subq.w	#$01,$0012(a3)
	rts

lbC00096A
	lea	lbL001166(pc),a5
	lea	$00DFF0A0,a4
	lea	lbW0002F8(pc),a2
;	bsr	lbC000150
;	move.b	#$91,$00BFDE00
;	lea	lbC0010E2(pc),a1
;	move.l	a1,$78
	move.w	#$8000,d4
	moveq	#$03,d5
lbC000992
	tst.w	$001E(a5)
	beq.s	lbC000A04
	moveq	#$0F,d1
	and.w	(a5),d1
	subq.w	#$03,d1
	beq.s	lbC0009E6
	subq.w	#$02,d1
	beq.s	lbC0009F0
	moveq	#$7E,d0
	and.b	(a5),d0
	beq.s	lbC0009D6
	clr.b	$0017(a5)
	add.w	$000C(a5),d0
	move.w	d0,$001C(a5)
	move.w	$00(a2,d0.w),$0010(a5)
	move.w	$002A(a5),d0
	move.w	d0,$00DFF096
	eor.w	d0,d4
	subq.w	#$04,d1
	beq.s	lbC000A1E
	move.l	$0004(a5),a1
	move.l	(a1)+,(a4)
	move.w	(a1),$0004(a4)
lbC0009D6
	moveq	#$0F,d0
	and.w	(a5),d0
	lea	jumptable3(pc),a1
	add.w	d0,d0
	add.w	$00(a1,d0.w),a1
	jmp	(a1)

lbC0009E6
	move.b	$0002(a5),d0
	beq.s	lbC0009F0
	move.b	d0,$0015(a5)
lbC0009F0
	moveq	#$7E,d0
	and.b	(a5),d0
	beq.s	lbC000A04
	add.w	$000C(a5),d0
	move.w	d0,$001C(a5)
	move.w	$00(a2,d0.w),$0012(a5)
lbC000A04
	move.w	$0010(a5),$0006(a4)
	move.w	$000E(a5),$0008(a4)
	add.w	d6,a5
	add.w	d7,a4
	dbra	d5,lbC000992
	move.w	d4,$0002(a3)
;	rts
	bra	lbC0010E2

lbC000A1E
	moveq	#$00,d1
	move.b	$0002(a5),d1
	lsl.w	#$08,d1
	move.l	$0004(a5),a1
	move.l	(a1)+,d0
	add.l	d1,d0
	move.l	d0,(a4)
	asr.w	#$01,d1
	move.w	(a1),d0
	sub.w	d1,d0
	bpl.s	lbC000A3E
	move.l	-$0004(a1),(a4)
	moveq	#$01,d0
lbC000A3E
	move.w	d0,$0004(a4)
	bra.s	lbC000A04

lbC000A44
	move.b	$0002(a5),$000F(a5)
	bra.s	lbC000A04

lbC000A4C
	moveq	#$00,d0
	move.b	$0002(a5),d0
	asl.w	#$02,d0
	add.l	lbL00122A(pc),d0
	move.l	d0,$000C(a3)
lbC000A5C
	move.w	#$003F,$0004(a3)
	move.l	$000C(a3),a1
	move.l	lbL00122E(pc),a2
	move.w	(a1)+,d0
	bpl.s	lbC000A74
	move.l	lbL00122A(pc),a1
	move.w	(a1)+,d0
lbC000A74
	movem.w	(a1)+,d1-d3
	move.l	a1,$000C(a3)
	lea	$00(a2,d0.w),a1
	move.l	a1,-$0090(a3)
	lea	$00(a2,d1.w),a1
	move.l	a1,-$0064(a3)
	lea	$00(a2,d2.w),a1
	move.l	a1,-$0038(a3)
	add.w	d3,a2
	move.l	a2,-$000C(a3)
	bra	lbC000A04

lbC000A9E
	move.b	$0002(a5),d0
	beq	lbC000A04
	move.b	d0,d1
	move.b	$0016(a5),d2
	and.b	#$0F,d0
	beq.s	lbC000AB8
	and.b	#$F0,d2
	or.b	d0,d2
lbC000AB8
	and.b	#$F0,d1
	beq.s	lbC000AC4
	and.b	#$0F,d2
	or.b	d1,d2
lbC000AC4
	move.b	d2,$0016(a5)
	bra	lbC000A04

lbC000ACC
	move.b	$0002(a5),d0
	beq	lbC000A04
	move.b	d0,d1
	move.b	$0018(a5),d2
	moveq	#$0F,d3
	and.b	d3,d0
	beq.s	lbC000AE6
	and.b	#$F0,d2
	or.b	d0,d2
lbC000AE6
	and.b	#$F0,d1
	beq.s	lbC000AF0
	and.b	d3,d2
	or.b	d1,d2
lbC000AF0
	move.b	d2,$0018(a5)
	bra	lbC000A04

lbC000AF8
	move.b	$0002(a5),d0
	and.b	#$F0,d0
	lsr.w	#$03,d0
	move.w	jumptable2(pc,d0.w),d0
	jmp	jumptable2(pc,d0.w)

jumptable2
	dc.w	lbC000B2A-jumptable2
lbW000B0C
	dc.w	lbC000B40-jumptable2
	dc.w	lbC000B5C-jumptable2
	dc.w	lbC000A04-jumptable2
	dc.w	lbC000A04-jumptable2
	dc.w	lbC000B96-jumptable2
	dc.w	lbC000A04-jumptable2
	dc.w	lbC000A04-jumptable2
	dc.w	lbC000A04-jumptable2
	dc.w	lbC000BA8-jumptable2
	dc.w	lbC000B7A-jumptable2
	dc.w	lbC000BB6-jumptable2
	dc.w	lbC000A04-jumptable2
	dc.w	lbC000BCC-jumptable2
	dc.w	lbC000BD6-jumptable2
	dc.w	lbC000A04-jumptable2

lbC000B2A
	move.b	$0002(a5),d0
	and.b	#$FD,$00BFE001
	or.b	d0,$00BFE001
	bra	lbC000A04

lbC000B40
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	sub.w	d0,$0010(a5)
	moveq	#$71,d0
	cmp.w	$0010(a5),d0
	ble	lbC000A04
	move.w	d0,$0010(a5)
	bra	lbC000A04

lbC000B5C
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	add.w	d0,$0010(a5)
	cmp.w	#$0358,$0010(a5)
	ble	lbC000A04
	move.w	#$0358,$0010(a5)
	bra	lbC000A04

lbC000B7A
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	add.w	d0,$000E(a5)
	moveq	#$40,d0
	cmp.w	$000E(a5),d0
	bge	lbC000A04
	move.w	d0,$000E(a5)
	bra	lbC000A04

lbC000B96
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	mulu	#$004A,d0
	move.w	d0,$000C(a5)
	bra	lbC000A04

lbC000BA8
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	move.w	d0,$001A(a5)
	bra	lbC000A04

lbC000BB6
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	sub.w	d0,$000E(a5)
	bpl	lbC000A04
	clr.w	$000E(a5)
	bra	lbC000A04

lbC000BCC
	move.w	$002A(a5),d0
	eor.w	d0,d4
	bra	lbC000A04

lbC000BD6
	moveq	#$0F,d0
	and.b	$0002(a5),d0
	move.w	d0,$0010(a3)
	move.w	d0,$0012(a3)
	bra	lbC000A04

lbC000BE8
	move.b	$0002(a5),d0
	cmp.b	#$01,d0
	bne.s	lbC000C02
	move.b	d0,$0007(a3)
	move.b	d0,$0009(a3)
	st	$000A(a3)
	bra	lbC000A04

lbC000C02
	move.b	d0,$0007(a3)
	subq.b	#$01,d0
	move.b	d0,$0009(a3)
	clr.w	$000A(a3)
	bra	lbC000A04

lbC000C14
	move.b	$0002(a5),d0
	sub.b	d0,$000F(a5)
	bpl.s	lbC000C28
	clr.w	$000E(a5)
	clr.w	$0008(a4)
	bra.s	lbC000C3A

lbC000C28
	moveq	#$40,d0
	cmp.w	$000E(a5),d0
	bge.s	lbC000C34
	move.w	d0,$000E(a5)
lbC000C34
	move.w	$000E(a5),$0008(a4)
lbC000C3A
	moveq	#$0F,d0
	and.b	$0016(a5),d0
	lsl.w	#$06,d0
	move.b	$0017(a5),d1
	lsr.w	#$01,d1
	and.w	#$003E,d1
	add.w	d1,d0
	move.w	musicdata(pc,d0.w),d2
	move.w	$0010(a5),d0
	tst.b	$0017(a5)
	bmi.s	lbC000C60
	add.w	d2,d0
	bra.s	lbC000C62

lbC000C60
	sub.w	d2,d0
lbC000C62
	move.w	d0,$0006(a4)
	move.b	$0016(a5),d0
	lsr.b	#$02,d0
	and.w	#$003C,d0
	add.b	d0,$0017(a5)
	bra	lbC00082E

lbC000C78
	moveq	#$0F,d0
	and.b	$0018(a5),d0
	lsl.w	#$06,d0
	move.b	$0019(a5),d1
	lsr.w	#$01,d1
	and.w	#$003E,d1
	add.w	d1,d0
	move.w	musicdata(pc,d0.w),d2
	move.w	$000E(a5),d0
	tst.b	$0019(a5)
	bmi.s	lbC000CA6
	add.w	d2,d0
	cmp.w	#$0040,d0
	ble.s	lbC000CAC
	moveq	#$40,d0
	bra.s	lbC000CAC

lbC000CA6
	sub.w	d2,d0
	bpl.s	lbC000CAC
	moveq	#$00,d0
lbC000CAC
	move.w	d0,$0008(a4)
	move.b	$0018(a5),d0
	lsr.b	#$02,d0
	and.w	#$003C,d0
	add.b	d0,$0019(a5)
	bra	lbC00082E

musicdata
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0002
	dc.w	$0002
	dc.w	$0002
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0003
	dc.w	$0002
	dc.w	$0002
	dc.w	$0002
	dc.w	$0001
	dc.w	$0001
	dc.w	$0001
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0001
	dc.w	$0001
	dc.w	$0002
	dc.w	$0002
	dc.w	$0003
	dc.w	$0003
	dc.w	$0004
	dc.w	$0004
	dc.w	$0004
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0005
	dc.w	$0004
	dc.w	$0004
	dc.w	$0004
	dc.w	$0003
	dc.w	$0003
	dc.w	$0002
	dc.w	$0002
	dc.w	$0001
	dc.w	$0001
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0001
	dc.w	$0002
	dc.w	$0003
	dc.w	$0003
	dc.w	$0004
	dc.w	$0005
	dc.w	$0005
	dc.w	$0006
	dc.w	$0006
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0007
	dc.w	$0006
	dc.w	$0006
	dc.w	$0005
	dc.w	$0005
	dc.w	$0004
	dc.w	$0003
	dc.w	$0003
	dc.w	$0002
	dc.w	$0001
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0001
	dc.w	$0002
	dc.w	$0003
	dc.w	$0004
	dc.w	$0005
	dc.w	$0006
	dc.w	$0007
	dc.w	$0007
	dc.w	$0008
	dc.w	$0008
	dc.w	$0009
	dc.w	$0009
	dc.w	$0009
	dc.w	$0009
	dc.w	$0009
	dc.w	$0009
	dc.w	$0009
	dc.w	$0009
	dc.w	$0009
	dc.w	$0008
	dc.w	$0008
	dc.w	$0007
	dc.w	$0007
	dc.w	$0006
	dc.w	$0005
	dc.w	$0004
	dc.w	$0003
	dc.w	$0002
	dc.w	$0001
	dc.w	$0000
	dc.w	$0000
	dc.w	$0001
	dc.w	$0002
	dc.w	$0003
	dc.w	$0004
	dc.w	$0005
	dc.w	$0006
	dc.w	$0007
	dc.w	$0008
	dc.w	$0009
	dc.w	$0009
	dc.w	$000A
	dc.w	$000B
	dc.w	$000B
	dc.w	$000B
	dc.w	$000B
	dc.w	$000B
	dc.w	$000B
	dc.w	$000B
	dc.w	$000B
	dc.w	$000B
	dc.w	$000A
	dc.w	$0009
	dc.w	$0009
	dc.w	$0008
	dc.w	$0007
	dc.w	$0006
	dc.w	$0005
	dc.w	$0004
	dc.w	$0003
	dc.w	$0002
	dc.w	$0001
	dc.w	$0000
	dc.w	$0001
	dc.w	$0002
	dc.w	$0004
	dc.w	$0005
	dc.w	$0006
	dc.w	$0007
	dc.w	$0008
	dc.w	$0009
	dc.w	$000A
	dc.w	$000B
	dc.w	$000C
	dc.w	$000C
	dc.w	$000D
	dc.w	$000D
	dc.w	$000D
	dc.w	$000D
	dc.w	$000D
	dc.w	$000D
	dc.w	$000D
	dc.w	$000C
	dc.w	$000C
	dc.w	$000B
	dc.w	$000A
	dc.w	$0009
	dc.w	$0008
	dc.w	$0007
	dc.w	$0006
	dc.w	$0005
	dc.w	$0004
	dc.w	$0002
	dc.w	$0001
	dc.w	$0000
	dc.w	$0001
	dc.w	$0003
	dc.w	$0004
	dc.w	$0006
	dc.w	$0007
	dc.w	$0008
	dc.w	$000A
	dc.w	$000B
	dc.w	$000C
	dc.w	$000D
	dc.w	$000E
	dc.w	$000E
	dc.w	$000F
	dc.w	$000F
	dc.w	$000F
	dc.w	$000F
	dc.w	$000F
	dc.w	$000F
	dc.w	$000F
	dc.w	$000E
	dc.w	$000E
	dc.w	$000D
	dc.w	$000C
	dc.w	$000B
	dc.w	$000A
	dc.w	$0008
	dc.w	$0007
	dc.w	$0006
	dc.w	$0004
	dc.w	$0003
	dc.w	$0001
	dc.w	$0000
	dc.w	$0001
	dc.w	$0003
	dc.w	$0005
	dc.w	$0006
	dc.w	$0008
	dc.w	$0009
	dc.w	$000B
	dc.w	$000C
	dc.w	$000D
	dc.w	$000E
	dc.w	$000F
	dc.w	$0010
	dc.w	$0011
	dc.w	$0011
	dc.w	$0011
	dc.w	$0011
	dc.w	$0011
	dc.w	$0011
	dc.w	$0011
	dc.w	$0010
	dc.w	$000F
	dc.w	$000E
	dc.w	$000D
	dc.w	$000C
	dc.w	$000B
	dc.w	$0009
	dc.w	$0008
	dc.w	$0006
	dc.w	$0005
	dc.w	$0003
	dc.w	$0001
	dc.w	$0000
	dc.w	$0001
	dc.w	$0003
	dc.w	$0005
	dc.w	$0007
	dc.w	$0009
	dc.w	$000B
	dc.w	$000C
	dc.w	$000E
	dc.w	$000F
	dc.w	$0010
	dc.w	$0011
	dc.w	$0012
	dc.w	$0013
	dc.w	$0013
	dc.w	$0013
	dc.w	$0013
	dc.w	$0013
	dc.w	$0013
	dc.w	$0013
	dc.w	$0012
	dc.w	$0011
	dc.w	$0010
	dc.w	$000F
	dc.w	$000E
	dc.w	$000C
	dc.w	$000B
	dc.w	$0009
	dc.w	$0007
	dc.w	$0005
	dc.w	$0003
	dc.w	$0001
	dc.w	$0000
	dc.w	$0002
	dc.w	$0004
	dc.w	$0006
	dc.w	$0008
	dc.w	$000A
	dc.w	$000C
	dc.w	$000D
	dc.w	$000F
	dc.w	$0010
	dc.w	$0012
	dc.w	$0013
	dc.w	$0014
	dc.w	$0014
	dc.w	$0015
	dc.w	$0015
	dc.w	$0015
	dc.w	$0015
	dc.w	$0015
	dc.w	$0014
	dc.w	$0014
	dc.w	$0013
	dc.w	$0012
	dc.w	$0010
	dc.w	$000F
	dc.w	$000D
	dc.w	$000C
	dc.w	$000A
	dc.w	$0008
	dc.w	$0006
	dc.w	$0004
	dc.w	$0002
	dc.w	$0000
	dc.w	$0002
	dc.w	$0004
	dc.w	$0006
	dc.w	$0009
	dc.w	$000B
	dc.w	$000D
	dc.w	$000F
	dc.w	$0010
	dc.w	$0012
	dc.w	$0013
	dc.w	$0015
	dc.w	$0016
	dc.w	$0016
	dc.w	$0017
	dc.w	$0017
	dc.w	$0017
	dc.w	$0017
	dc.w	$0017
	dc.w	$0016
	dc.w	$0016
	dc.w	$0015
	dc.w	$0013
	dc.w	$0012
	dc.w	$0010
	dc.w	$000F
	dc.w	$000D
	dc.w	$000B
	dc.w	$0009
	dc.w	$0006
	dc.w	$0004
	dc.w	$0002
	dc.w	$0000
	dc.w	$0002
	dc.w	$0004
	dc.w	$0007
	dc.w	$0009
	dc.w	$000C
	dc.w	$000E
	dc.w	$0010
	dc.w	$0012
	dc.w	$0014
	dc.w	$0015
	dc.w	$0016
	dc.w	$0017
	dc.w	$0018
	dc.w	$0019
	dc.w	$0019
	dc.w	$0019
	dc.w	$0019
	dc.w	$0019
	dc.w	$0018
	dc.w	$0017
	dc.w	$0016
	dc.w	$0015
	dc.w	$0014
	dc.w	$0012
	dc.w	$0010
	dc.w	$000E
	dc.w	$000C
	dc.w	$0009
	dc.w	$0007
	dc.w	$0004
	dc.w	$0002
	dc.w	$0000
	dc.w	$0002
	dc.w	$0005
	dc.w	$0008
	dc.w	$000A
	dc.w	$000D
	dc.w	$000F
	dc.w	$0011
	dc.w	$0013
	dc.w	$0015
	dc.w	$0017
	dc.w	$0018
	dc.w	$0019
	dc.w	$001A
	dc.w	$001B
	dc.w	$001B
	dc.w	$001B
	dc.w	$001B
	dc.w	$001B
	dc.w	$001A
	dc.w	$0019
	dc.w	$0018
	dc.w	$0017
	dc.w	$0015
	dc.w	$0013
	dc.w	$0011
	dc.w	$000F
	dc.w	$000D
	dc.w	$000A
	dc.w	$0008
	dc.w	$0005
	dc.w	$0002
	dc.w	$0000
	dc.w	$0002
	dc.w	$0005
	dc.w	$0008
	dc.w	$000B
	dc.w	$000E
	dc.w	$0010
	dc.w	$0012
	dc.w	$0015
	dc.w	$0017
	dc.w	$0018
	dc.w	$001A
	dc.w	$001B
	dc.w	$001C
	dc.w	$001D
	dc.w	$001D
	dc.w	$001D
	dc.w	$001D
	dc.w	$001D
	dc.w	$001C
	dc.w	$001B
	dc.w	$001A
	dc.w	$0018
	dc.w	$0017
	dc.w	$0015
	dc.w	$0012
	dc.w	$0010
	dc.w	$000E
	dc.w	$000B
	dc.w	$0008
	dc.w	$0005
	dc.w	$0002
jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000A9E-jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000ACC-jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000A04-jumptable3
	dc.w	lbC000A4C-jumptable3
	dc.w	lbC000A44-jumptable3
	dc.w	lbC000A5C-jumptable3
	dc.w	lbC000AF8-jumptable3
	dc.w	lbC000BE8-jumptable3

lbC0010E2
	bsr	waitdma
	move.w	lbW001218(pc),$00DFF096
;	move.l	lbL001232(pc),$78
;	tst.b	$00BFDD00
lbC0010F6
;	move.w	#$2000,$00DFF09C
;	rte
	bsr	waitdma
lbC001100
;	movem.l	d0/a0/a1,-(sp)
	lea	$00DFF0A0,a1
	move.w	lbW001218(pc),d0
	move.l	lbL00116A(pc),a0
	move.l	$0006(a0),(a1)
	move.w	$000A(a0),$0004(a1)
	move.l	lbL001196(pc),a0
	move.l	$0006(a0),$0010(a1)
	move.w	$000A(a0),$0014(a1)
	move.l	lbL0011C2(pc),a0
	move.l	$0006(a0),$0020(a1)
	move.w	$000A(a0),$0024(a1)
	move.l	lbL0011EE(pc),a0
	move.l	$0006(a0),$0030(a1)
	move.w	$000A(a0),$0034(a1)
;	tst.b	$00BFDD00
;	move.b	#$80,$00BFDE00
;	move.w	#$2000,-$0004(a1)
;	movem.l	(sp)+,d0/a0/a1
;	rte
	rts

waitdma	movem.l	d0-d1,-(sp)
	moveq	#7-1,d0
wait_2	move.b	$dff006,d1
wait_3	cmp.b	$dff006,d1
	beq.s	wait_3
	dbf	d0,wait_2
	movem.l	(sp)+,d0-d1
	rts

lbL001166
	dc.l	$00000000
lbL00116A
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000001
lbL001192
	dc.l	$00000000
lbL001196
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000002
lbL0011BE
	dc.l	$00000000
lbL0011C2
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000004
lbL0011EA
	dc.l	$00000000
lbL0011EE
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000000
	dc.l	$00000008
lbW001216
	dc.w	$0000
lbW001218
	dc.w	$8000
	dc.w	$003F
lbW00121C
	dc.w	$0006
lbW00121E
	dc.w	$0005
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
	dc.w	$0000
lbL00122A
	dc.l	$00000000
lbL00122E
	dc.l	$00000000
lbL001232
	dc.l	$00000000
lbL001236
	dc.l	$00000000
lbL00123A
	dc.l	$00000000
	dc.l	$FFFFFFFF
	dc.b	$00
	dc.b	$00
	end
