DECODEBUFFER=	$70000
SYNC1=		$4489
SYNC2=		$4489
J:	MOVEM.L	D0-A6,-(A7)
	LEA	picture,A0
	MOVE.W	#$4000,$DFF09A
	MOVE.l	#147,D0	; HUSK AT DETTE ER * 2
	MOVEQ	#3,D1	; HUSK AT DETTE ER * 2
	BSR.S	READTRACKS
	MOVE.W	#$E02C,$DFF09A
	MOVEM.L	(A7)+,D0-A6
	RTS
READTRACKS:
	MOVEM.L	A0-A6/D0-D7,-(A7)
	BSR.L	DRIVE0
	BSR.S	READIT
	MOVEM.L (A7)+,A0-A6/D0-D7
	RTS
READIT:	LEA	$DFF000,A5
	SUBQ.W	#1,D1			;FOR DBF
MOVEHEAD:
	ST	$BFD100
	BSR.L	SHORTWAIT
	BCLR	#7,$BFD100
	BSR.L	SHORTWAIT
	BCLR	#3,$BFD100
	BSR.L	SHORTWAIT
	BSR.L	READYWAIT
	BSET	#1,$BFD100
LC0D586:BTST	#4,$BFE001
	BEQ.S	RIGHTPOS
	BCLR	#0,$BFD100
	BSR.L	SHORTWAIT
	BSET	#0,$BFD100
	BSR.L	LONGWAIT
	BRA.S	LC0D586
RIGHTPOS:
	BSET	#2,$BFD100
	MOVEQ	#0,D2
	MOVE.B	D0,D2
	LSR.W	#1,D2
	BCC.S	SIDE0
	BCLR	#2,$BFD100
SIDE0:	SUBQ.W	#1,D2
	BMI.S	HEADREADY
	BCLR	#1,$BFD100
LC0D5D6:BCLR	#0,$BFD100
	BSR.L	SHORTWAIT
	BSET	#0,$BFD100
	BSR.L	LONGWAIT
	DBRA	D2,LC0D5D6
HEADREADY:
READNEXTTRACK:
	BSR.L	SHORTWAIT
DMAINIT:MOVE.W	#$8500,$9E(A5)
	MOVE.W	#SYNC1,$7E(A5)
	BSR.L	READYWAIT
	MOVE.W	#$4000,$24(A5)
	MOVE.L	#DECODEBUFFER,$20(A5)
	MOVE.W	#$9F40,$24(A5)
	MOVE.W	#$9F40,$24(A5)
	MOVE.W	#2,$9C(A5)
	BSR.L	SHORTWAIT
DMAWAIT2:BTST	#1,$1F(A5)
	BEQ.S	DMAWAIT2
	BSR.L	SHORTWAIT
LC0D670:MOVE.W	#$4000,$24(A5)
	MOVE.W	#$400,$9E(A5)
	LEA	DECODEBUFFER,A2
	MOVEQ	#$A,D5
MAINLOOP:
	MOVE.L	#$55555555,D7
SEEKSYNC:
	CMPI.W	#SYNC1,(A2)+
	BNE.S	SEEKSYNC
	CMPI.W	#SYNC1,(A2)
	BNE.S	DONOT_ADD
	ADDQ.L	#2,A2
DONOT_ADD:
	MOVE.L	(A2),D3
	MOVE.W	6(A2),D4
	ANDI.W	D7,D3
	ANDI.W	D7,D4
	ADD.W	D3,D3
	OR.W	D4,D3
	ADD.W	D3,D3
	MOVE.L	A0,A3
	ANDI.W	#$FF00,D3	
	ADDA.W	D3,A3
	LEA	$38(A2),A2
	MOVEQ	#$7F,D6
KILLCLOCKLOOP:
	MOVE.L	$200(A2),D3
	MOVE.L	(A2)+,D4
	ANDI.L	D7,D4
	ANDI.L	D7,D3
	ADD.L	D4,D4
	OR.L	D3,D4
	MOVE.L	D4,(A3)+
	DBRA	D6,KILLCLOCKLOOP
	DBRA	D5,MAINLOOP
	LEA	$1600(A0),A0
	NOP
	NOP
	NOP
	NOP
CHANGESIDE:
	BCHG	#2,$BFD100
	BNE.S	SKIP
	AND.B	#$FC,$BFD100
	BSR.S	SHORTWAIT
	BSET	#0,$BFD100
	BSR.S	LONGWAIT
SKIP:	DBRA	D1,READNEXTTRACK
MOTOROFF:
	BSET	#3,$BFD100
	BSR.S	SHORTWAIT
	BSET	#7,$BFD100
	BSR.S	SHORTWAIT
	BCLR	#3,$BFD100
	BSR.S	SHORTWAIT
	BSET	#3,$BFD100
	BCLR	#1,$BFE001
FINNISH:RTS
DRIVE0:	MOVE.B  #$7D,$BFD100
	MOVE.B  #$77,$BFD100
	RTS
READYWAIT:
	BTST	#5,$BFE001
	BNE.S	READYWAIT
	RTS
SHORTWAIT:
	NOP
	NOP
	RTS
LONGWAIT:
	MOVE.W	#$1600,D7
LW_LOOP:DBRA	D7,LW_LOOP
	RTS
END:
picture:blk.b	14400,0
