ORG	$40000
LOAD	$40000

SCRN=$50000
VSIN=$4c000


S:
	MOVE.B	#$FF,D3
	JSR	SYNC
	MOVE.B	#$38,D3
	JSR	SYNC
	MOVE.L	#COP,$DFF080
	MOVE.W	#$0020,$DFF096
	MOVE.W	#$8200,$DFF096
	MOVE.W	#$4000,$DFF09A


	MOVE.L	#SCRN,D0
	MOVE.W	D0,COP+6
	SWAP	D0
	MOVE.W	D0,COP+2

	MOVE.L	#$C00,D1
	MOVE.L	#SCRN,A0
GOOF:	MOVE.L	#$00000000,(A0)+
	DBF	D1,GOOF

;İİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİ

MAIN:	MOVE.B	#$FF,D3
	JSR	SYNC
	MOVE.B	#$00,D3
	JSR	SYNC

MOVE.W	#$C4F,$DFF180
	JSR	A_CLER
	JSR	A_STAR
MOVE.W	#$000,$DFF180

	BTST	#6,$BFE001
	BNE	MAIN
	JMP END

;İİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİ

SYNC:	MOVE.B	$DFF006,D0
	CMP.B	D3,D0
	BNE 	SYNC
	RTS

;İİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİ
			
END:	MOVE.L	$00000004,A6
	MOVE.L	#LIBNAMET,A1
	JSR	-408(A6)
	MOVE.L	D0,A0
	MOVE.L	38(A0),$DFF080
	MOVE.W	#$8020,$DFF096
	MOVE.W	#$C200,$DFF09A
	CLR.L	D0
	RTS
LIBNAMET:
	DC.B	'graphics.library',0
EVEN

;İİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİ
OBJECT:

DC.W	-100,-120,0
DC.W	-100,-90,0
DC.W	-100,-60,0
DC.W	-100,-30,0
DC.W	-100,0,0
DC.W	-100,30,0
DC.W	-100,60,0
DC.W	-100,90,0
DC.W	-100,120,0

DC.W	-100,0,-120
DC.W	-100,0,-90
DC.W	-100,0,-60
DC.W	-100,0,-30
DC.W	-100,0,0
DC.W	-100,0,30
DC.W	-100,0,60
DC.W	-100,0,90
DC.W	-100,0,120






	DC.W	$FFFF


OBOJCT:	BLK.W	100,0

ANGLEY:	DC.W	$000
ANGLEZ:	DC.W	$000


A_STAR:
	ADD.W	#42,ANGLEZ
	ADD.W	#22,ANGLEY
	AND.W	#$FFF,ANGLEY
	AND.W	#$FFF,ANGLEZ


	MOVE.L	#OBJECT,A0
	MOVE.L	#OBOJCT,A1
	MOVE.L	#VSIN,A2
	MOVE.L	#VSIN+$2000,A3	;COS

	MOVEQ	#0,D7

A_LOOP:	MOVE.W	$00(A0),D0
	MOVE.W	$02(A0),D1
	CMP.W	#$FFFF,D0
	BEQ	A_OUT

				MOVE.L	D0,A4

; Z-SNURR
	MOVE.W	ANGLEZ,D6
	ASL.W	#1,D6
	JSR	A_FNURR
	MOVE.W	D3,D0
	MOVE.W	D5,D1
	MOVE.W	$04(A0),D4
	MOVE.W	D5,-(A7)

; Y-SNURR
	MOVE.W	D3,D0
	MOVE.W	$04(A0),D1
	MOVE.W	ANGLEY,D6
	ASL.W	#1,D6
	JSR	A_FNURR
	MOVE.W	D3,D0
	MOVE.W	D5,D4
	MOVE.W	(A7)+,D1

				MOVE.L	D0,A5



	TST.W	D4
	BEQ	A_NOZOM
	ADD.W	#$90,D4

	MULS	D4,D0	; ZOOM
	MULS	D4,D1
	DIVS	#150,D0
	DIVS	#150,D1

A_NOZOM:MOVE.W	#640,D2
	ADD.W	D0,D2		; D2=X
	MOVE.W	#460,D3
	ADD.W	D1,D3		; D3=Y
	AND.L	#$0FFF,D2
	AND.L	#$0FFF,D3
	ASL.W	#2,D7
	MOVE.L	D2,$00(A1,D7.W)
	MOVE.L	D3,$04(A1,D7.W)
	LSR.W	#2,D7
	ADDQ.W	#2,D7
	ADD.L	#6,A0
	BRA	A_LOOP


; Plot...

A_OUT:	ASL.W	#2,D7
	MOVE.L	#$FFFFFFFF,(A1,D7.W)
	MOVE.L	#OBOJCT,A0
A_LOP2:	MOVE.L	(A0)+,D0	;LAES X1Y1-PEKARE
	MOVE.L	(A0)+,D1	;LAES X2Y2-PEKARE
	CMP.W	#$FFFF,D0
	BEQ	A_OUT2

LSR.L	#2,D0
LSR.L	#2,D1

	MOVE.L	D0,D2
	MULU	#44,D1		; Y-COORD
	AND.L	#$000F,D0
	ROR.W	#4,D0
	OR.W	#$0DFC,D0
	SWAP	D0
	LSR.L	#3,D2
	ADD.L	#SCRN,D2	; X-COORD
	ADD.L	D1,D2

BUS:	BTST	#14,$DFF002
	BNE	BUS

	MOVE.L	#BOB,$DFF050	;A
	MOVE.L	D2,$DFF04C	;B
	MOVE.L	D2,$DFF054	;D
	MOVE.L	D0,$DFF040
	MOVE.L	#$00000028,$DFF064
	MOVE.W	#$0028,$DFF062
	MOVE.L	#$FFFFFFFF,$DFF044
	MOVE.W	#[18*$40]+2,$DFF058
	
	BRA	A_LOP2
A_OUT2:	RTS

BOB:	DC.L	$00000000
	DC.L	$03C00000
	DC.L	$0FF00000
	DC.L	$1FF80000
	DC.L	$3FFC0000
	DC.L	$7FFE0000
	DC.L	$7FFE0000
	DC.L	$FFFF0000
	DC.L	$FFFF0000
	DC.L	$FFFF0000
	DC.L	$FFFF0000
	DC.L	$7FFE0000
	DC.L	$7FFE0000
	DC.L	$3FFC0000
	DC.L	$1FF80000
	DC.L	$0FF00000
	DC.L	$03C00000
	DC.L	$00000000




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

A_FNURR:
	MOVE.W	(A2,D6.W),D3
	MOVE.W	(A3,D6.W),D2
	MOVE.W	D2,D4
	MOVE.W	D3,D5
; 1ST
	MULS	D0,D2
	MULS	D1,D3
	DIVS	#32767,D2
	DIVS	#32767,D3
	SUB.W	D2,D3
; 2ND
	MULS	D1,D4
	MULS	D0,D5
	DIVS	#32767,D4
	DIVS	#32767,D5
	ADD.W	D4,D5

	RTS











;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

A_CLER:	BTST	#14,$DFF002
	BNE	A_CLER

	MOVE.W	#$0000,$DFF074
	MOVE.L	#SCRN+[30*44],$DFF054
	MOVE.L	#$01F00000,$DFF040
	MOVE.L	#$00000000,$DFF064
	MOVE.L	#$00000000,$DFF044
	MOVE.W	#[100*$40]+44,$DFF058
	RTS

;İİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİ

COP:		DC.W	$00E0,$0005,$00E2,$0000
		DC.W	$0182,$00F8
		DC.W	$008E,$2071,$0090,$30D1
		DC.W	$0092,$0030,$0094,$00F0
		DC.W	$0100,$1000
		DC.W	$0108,$0000,$010A,$0000

	DC.L	$FFFFFFFE
