ORG	$70000
LOAD	$70000



SCRN=	$54000
SS=	$40000
WW=	$40000+[1*$1F00]
EE=	$40000+[2*$1F00]
DD=	$40000+[3*$1F00]
II=	$40000+[4*$1F00]
CC=	$40000+[5*$1F00]
DIRR=	$40000+[6*$1F00]
MICR=	$40000+[7*$1F00]


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

	JSR	A_INIT
	JSR	B_INIT
	JSR	C_INIT

	MOVE.L	#SCRN,D0
	MOVE.W	D0,COP+6
	SWAP	D0
	MOVE.W	D0,COP+2
	MOVE.L	#SCRN+[10*80],D0
	MOVE.W	D0,COOP+10
	SWAP	D0
	MOVE.W	D0,COOP+6
	MOVE.L	#MICR-2+[80*80],D0
	MOVE.L	D0,LACY
	MOVE.W	D0,KOP+6
	SWAP	D0
	MOVE.W	D0,KOP+2

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

	MOVE.L	#COP,$DFF080


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

MAIN:	MOVE.B	#$E0,D3
	JSR	SYNC
	MOVE.W	#$FFF,$DFF180
	MOVE.B	#$E1,D3
	JSR	SYNC
	MOVE.W	#$FFF,$DFF180

	MOVE.L	#SCRN+00,D0
	MOVE.W	D0,COP+6
	SWAP	D0
	MOVE.W	D0,COP+2
	MOVE.L	LACY,D0
	MOVE.W	D0,KOP+6
	SWAP	D0
	MOVE.W	D0,KOP+2
	EOR.B	#$FF,LACE
	BPL	MUUU
	MOVE.L	#SCRN+80,D0
	MOVE.W	D0,COP+6
	SWAP	D0
	MOVE.W	D0,COP+2
	MOVE.L	LACY,D0
	ADD.L	#80,D0
	MOVE.W	D0,KOP+6
	SWAP	D0
	MOVE.W	D0,KOP+2

MUUU:

	JSR	A_CELR
	JSR	A_STAR
	JSR	B_RUTT
	JSR	C_SCRL
	JSR	C_RUTTEN

	MOVE.B	$DFF006,D0
	ADDQ.B	#1,D0
SYCC:	CMP.B	$DFF006,D0
	BNE	SYCC
MOVE.W	#$FFF,$DFF180
	ADDQ.B	#1,D0
SYC2:	CMP.B	$DFF006,D0
	BNE	SYC2
MOVE.W	#$FFF,$DFF180

	BTST	#6,$BFE001
	BNE	MAIN
	JMP END

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

A_INIT:
	RTS

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

B_INIT:
	RTS

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

C_INIT:
	RTS

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

GOFFEL:
	BTST	#14,$DFF002
	BNE	GOFFEL
	RTS

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

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

;İİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİ
;	  S    W    E    D    I    S    C    |    |    |
A_SAV0:
DC.L	$010,$042,$088,$0B8,$0E6,$0F0,$122,$170,$1A0,$1D0 ; X
DC.L	$200,$230
A_SAV1:
DC.L	$106,$106,$106,$106,$106,$106,$106,$106,$106,$106 ; Y
DC.L	$106,$106
A_SAV2:
DC.L	$000,$001,$002,$003,$004,$000,$005,$006,$006,$006 ; OBJECT
DC.L	$006,$006
A_SAV3:
DC.L	$008,$008,$008,$008,$004,$008,$008,$000,$000,$000 ; FRAME
DC.L	$000,$000


A_STAR:	MOVEQ	#0,D4

A_LOOP:	MOVEQ	#0	,D1	; ANIMATION NR

	ASL.L	#2,D4
	MOVE.L	#A_SAV0,A0
	MOVE.L	#A_SAV1,A1
	MOVE.L	#A_SAV2,A2
	MOVE.L	#A_SAV3,A3
	MOVE.L	(A2,D4.L),D0	; GET OBJECT
	MOVE.L	(A3,D4.L),D1	; GET FRAME
	MOVE.L	(A0,D4.L),D2	; GET X
	MOVE.L	(A1,D4.L),D3	; GET Y
	LSR.L	#2,D4

	MULU	#$1F00,D0
	ADD.L	#SS,D0
	MULU	#10,D1
	ADD.L	D1,D0		; D0=SOURCE
	MOVE.L	D2,D1
	AND.L	#$F,D1
	ASL.L	#8,D1
	ASL.L	#4,D1
	OR.W	#$0DFC,D1
	SWAP	D1		; D1=BLTCON0
	LSR.W	#3,D2
	ADD.L	#SCRN,D2
	MULU	#80,D3
	ADD.L	D3,D2		; D2=DESTINATION


	JSR	A_BLIT
	ADDQ.L	#1,D4
	CMP.L	#12,D4
	BNE	A_LOOP

	RTS






A_BLIT:	JSR	GOFFEL
	MOVE.L	D0,$DFF050		;( SS )
	MOVE.L	D2,$DFF054	;(SCRN)
	MOVE.L	D2,$DFF04C
	MOVE.L	D1,$DFF040
	MOVE.L	#$00500046,$DFF064
	MOVE.W	#$0046,$DFF062
	MOVE.L	#$FFFFFFFF,$DFF044
	MOVE.W	#[88*$40]+5,$DFF058
	JSR	GOFFEL
	RTS




	RTS






A_CELR:

	JSR	GOFFEL
	MOVE.W	#$0000,$DFF074
	MOVE.L	#SCRN+[154*80],$DFF054	;(SCRN)
	MOVE.W	#$0000,$DFF066
	MOVE.L	#$01F00000,$DFF040
	MOVE.L	#$FFFFFFFF,$DFF044
	MOVE.W	#[108*$40]+40,$DFF058
	JSR	GOFFEL
	RTS



;İİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİ
B_TABB:	DC.L	B_TABL

B_RUTT:	MOVE.L	B_TABB,A0
	MOVE.W	(A0)+,D0
	CMP.W	#$FFFF,(A0)
	BNE	B_OKEY
	MOVE.L	#PECK,A0
B_OKEY:	MOVE.L	A0,B_TABB
	CMP.B	#$B0,D0
	BEQ	B_ANIM
	CMP.B	#$B1,D0
	BEQ	B_PAUS
	CMP.B	#$B2,D0
	BEQ	B_OBOJ
	CMP.B	#$B3,D0
	BEQ	B_DOWN
	RTS

B_PAUS:	LSR.W	#8,D0
	MOVE.W	D0,D1
	AND.L	#$00F0,D1
	LSR.W	#2,D1
	MOVE.L	D1,A0
	ADD.L	#A_SAV1,A0
	AND.L	#$0000000F,D0
	SUB.L	D0,(A0)
	RTS


B_DOWN:	MOVE.W	#1,C_ZAFF
	RTS


B_ANIM:	LSR.W	#8,D0
	MOVE.W	D0,D1
	AND.L	#$00F0,D1
	LSR.W	#2,D1
	MOVE.L	D1,A0
	ADD.L	#A_SAV3,A0
	AND.L	#$0000000F,D0
	MOVE.L	D0,(A0)
	RTS

B_OBOJ:	LSR.W	#8,D0
	MOVE.W	D0,D1
	AND.L	#$00F0,D1
	LSR.W	#2,D1
	MOVE.L	D1,A0
	ADD.L	#A_SAV2,A0
	AND.L	#$0000000F,D0
	MOVE.L	D0,(A0)
	JMP	B_RUTT

;-------------------------------------------------------

C_RUTTEN:
	TST.W	C_ZAFF
	BEQ	C_END

	CLR.W	C_ZAFF
	MOVE.W	KOP+2,D0
	SWAP	D0
	MOVE.W	KOP+6,D0
	SUB.L	#160,D0
	MOVE.W	D0,KOP+6
	SWAP	D0
	MOVE.W	D0,KOP+2
	SWAP	D0
	MOVE.L	D0,LACY

C_END:	RTS
LACY:	DC.L	0
		
C_ZAFF:	DC.0
B_TABL:

;      $0-BOB 0-SUB/ANIM B0-COMMAND



BLK.W	[40*2],$08B0

BLK.W	50,$02B1
DC.W	$07B0,$07B0,$06B0,$06B0,$05B0,$05B0,$04B0,$04B0,$03B0; S
DC.W	$03B0,$02B0,$02B0,$01B0,$01B0,$00B0,$00B0,$00B0,$00B0

BLK.W	50,$12B1
DC.W	$17B0,$17B0,$16B0,$16B0,$15B0,$15B0,$14B0,$14B0,$13B0; W
DC.W	$13B0,$12B0,$12B0,$11B0,$11B0,$10B0,$10B0,$10B0,$10B0

BLK.W	50,$22B1
DC.W	$27B0,$27B0,$26B0,$26B0,$25B0,$25B0,$24B0,$24B0,$23B0; E
DC.W	$23B0,$22B0,$22B0,$21B0,$21B0,$20B0,$20B0,$20B0,$20B0

BLK.W	50,$32B1
DC.W	$37B0,$37B0,$36B0,$36B0,$35B0,$35B0,$34B0,$34B0,$33B0; D
DC.W	$33B0,$32B0,$32B0,$31B0,$31B0,$30B0,$30B0,$30B0,$30B0

BLK.W	50,$42B1;	I
DC.W	$44B0,$44B0,$43B0,$43B0,$42B0,$42B0,$41B0,$41B0,$40B0,$40B0

BLK.W	50,$52B1
DC.W	$57B0,$57B0,$56B0,$56B0,$55B0,$55B0,$54B0,$54B0,$53B0; S
DC.W	$53B0,$52B0,$52B0,$51B0,$51B0,$50B0,$50B0,$50B0,$50B0

BLK.W	50,$62B1
DC.W	$67B0,$67B0,$66B0,$66B0,$65B0,$65B0,$64B0,$64B0,$63B0 ;C
DC.W	$63B0,$62B0,$62B0,$61B0,$61B0,$60B0,$60B0,$60B0,$60B0

DC.L	$70B278B0	; B2- OBJECT #0 TO BOB #7 ($70B2)
BLK.W	50,$72B1

DC.L	$80B288B0
BLK.W	50,$82B1

DC.L	$90B298B0
BLK.W	50,$92B1

DC.L	$A0B2A8B0
BLK.W	50,$A2B1

DC.L	$B0B2B8B0
BLK.W	50,$B2B1


BLK.W	49,$00B3; MICRO


DC.L	$96B290B0
DC.W	$90B0,$91B0,$92B0,$93B0,$94B0
DC.L	$A6B2A0B0
DC.W	$A0B0,$A1B0,$A2B0,$A3B0,$A4B0,$A5B0,$A6B0
DC.L	$B6B2B0B0
DC.W	$B0B0,$B1B0,$B2B0,$B3B0,$B4B0,$B5B0,$B6B0,$B7B0,$B8B0 ;

PECK:	DC.W	$40B0 ; LOOP (4)EVER
DC.W	$FFFF


;İİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİİ
C_SCRL:
	MOVE.L	#SCRN+[80*10],A0
;	MOVE.B	#$FF,(A0)
	MOVE.B	#$FF,80(A0)
	MOVE.B	#$FF,160(A0)
	MOVE.B	#$FF,240(A0)
	MOVE.B	#$FF,320(A0)
	MOVE.B	#$FF,400(A0)
	MOVE.B	#$FF,480(A0)
	MOVE.B	#$FF,560(A0)
	MOVE.B	#$FF,640(A0)
	MOVE.B	#$FF,720(A0)
	MOVE.B	#$FF,800(A0)
	MOVE.B	#$FF,880(A0)
	MOVE.B	#$FF,960(A0)
	MOVE.B	#$FF,1040(A0)
	MOVE.B	#$FF,1120(A0)
	MOVE.B	#$FF,1200(A0)
	MOVE.B	#$FF,1280(A0)



	JSR	GOFFEL
	MOVE.L	#SCRN+[10*80],$DFF050
	MOVE.L	#SCRN+[10*80],$DFF054
	MOVE.L	#$89F00000,$DFF040
	MOVE.L	#$00000000,$DFF064
	MOVE.L	#$FFFFFF00,$DFF044
	MOVE.W	#[18*$40]+40,$DFF058
	RTS

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

COP:		DC.W	$00E0,$0000,$00E2,$0000
		DC.W	$0182,$0FFF
		DC.W	$008E,$2081,$0090,$30D1
		DC.W	$0092,$0038,$0094,$00D0
		DC.W	$0100,$9000
		DC.W	$0108,$0050,$010A,$0000
DC.L	$6A11FFFE,$01800FFF,$01820000
DC.L	$6B11FFFE,$01800FFF



COOP:
DC.L	$A211FFFE,$00E00000,$00E20000,$01009000
DC.L	$01800FFF
DC.L	$A311FFFE,$01800FFF


DC.L	$AB11FFFE,$01800FFF

DC.L	$AC11FFFE,$01800FFF
KOP:	DC.L	$0E00000,$00E20000


DC.L	$D411FFFE,$01800FFF,$01000000,$01820000
DC.L	$D511FFFE,$01800FFF






	DC.L	$FFFFFFFE



LACE:	DC.W	0
