; -------------------------------
; --      FONTMASTER 1.0       --
; -- CODE BY JPN OF LEVEL FOUR --
; -- ADVANCED SOFTWARE DESIGN  --
; --      DATE 30/03/1989      --
; -- call (0631)/$$1an8 (KRIS) --
; -------------------------------

org	$50000
load	$50000
planes=$4c000	
fontmem=$65000
exec=4
a:
		movem.l	d0-d7/a0-a6,-(a7)
		; --- open dos.library ---
		move.l	exec,a6
		lea	dosname,a1
		jsr	-408(a6)	; open
		move.l	d0,dosbase
	
		; ---- old copper retten ----
		move.l	$4,a6
		move.l	#gfxname,a1
		jsr	-408(a6)
		move.l	d0,gfxbase
		move.l	d0,a0
		; -------------------------------
move.w	#%100000001010000,$dff096	; copper/spr DMA aus

		move.l	50(a0),oldcopper
		move.l	#copper,50(a0)		; new copperlist

		; -------------------------------
		move.l	#planes,d4
		move.w	#$00e0,d1
		lea	planedata,a0
setloop:	move.w	d1,(a0)+
		swap	d4
		move.w	d4,(a0)+		; highword
		add.w	#02,d1
		move.w	d1,(a0)+
		swap	d4
		move.w	d4,(a0)+		; lowword

		; --- sprite data ---
		move.l	#sprite1,d0
		move.w	d0,sprdat+2
		swap	d0
		move.w	d0,sprdat+6
		move.l	#sprite2,d0
		move.w	d0,sprdat+10
		swap	d0
		move.w	d0,sprdat+14
		; -----------------------
		move.l	#clrspr,d0
		move.w	d0,sprdat+18
		move.w	d0,sprdat+26
		move.w	d0,sprdat+34
		move.w	d0,sprdat+42
		move.w	d0,sprdat+50
		move.w	d0,sprdat+58
		swap	d0
		move.w	d0,sprdat+22
		move.w	d0,sprdat+30
		move.w	d0,sprdat+38
		move.w	d0,sprdat+46
		move.w	d0,sprdat+54
		move.w	d0,sprdat+62

move.w	#%1000000111110000,$dff096	; copper DMA an

		; -------------------------------
		lea	planes,a5		; clear bitmap !!
		move.w	#10519,d2		; number bytes to del
loesch:		move.b	#00,(a5)+
		dbra	d2,loesch		; loop it !!
		; -------------------------------

; -----------------------------------------------
; - Now the main program starts here and now !! -
; -----------------------------------------------

		bsr	asd
		bsr	outfit
; -- set variables --
		move.b	#00,modus
		move.w	#7,x2
		move.w	#0,y2
		move.w	#0,xposition
		move.w	#0,yposition
		bsr	tolpatsch
		; --- main ---
		bsr	setscreen
		bsr	zoom

move.l	#%00001111001111101111100000000000,planes+3572
move.l	#%00001000101000001000000000000000,planes+3572+40
move.l	#%00001000101111001000000000000000,planes+3572+80
move.l	#%00001000101000001000000000000000,planes+3572+120
move.l	#%00001111001111101111100000000000,planes+3572+160

move.l	#%00000000000010001011111100010000,planes+3572+12
move.l	#%00000000000010001010000010100000,planes+3572+40+12
move.l	#%00000000000011111011110001000000,planes+3572+80+12
move.l	#%00000000000010001010000010100000,planes+3572+120+12
move.l	#%00000000000010001011111100010000,planes+3572+160+12


		move.b	#" ",ende
		move.b	#01,help
; -----------------------------------------
; -- Select the character to be modified --
; -----------------------------------------
select:
		; --- set copper ---
		move.b	#$5d,change
		move.b	#$5f,change+12
		move.b	#$7a,change+20
		move.b	#$7c,change+28
 

		; --
axel:		btst	#0,$bfec01
		bne	axel

		; ----------------
main:
;		btst	#6,$bfe001
;		beq.L	quit
		clr.l	d5
		clr.l	d2

		; ---
;		moveq	#10,d0
;		moveq	#10,d1
;		move.b	$bfec01,d2
;		bsr	decout
		; ---- nun aber ! ----
		move.b	$bfec01,d5
		bsr	keys
		cmp.b	#"q",ende
		beq.l	quit
		cmp.b	#117,d5
		beq	edit
		cmp.b	#1,d3
		beq	nono4 	
		; -------------------------------		
		; -- key requests for movement --
		; ------------------------------- 
ookk:		cmp.b	#101,d5			; down ???
		bne	nono1
		cmp.w	#2,yposition
		beq	nono1
		add.w	#01,yposition
		add.b	#08,sprite1
		add.b	#08,sprite1+2
nono1:		cmp.b	#103,d5
		bne	nono2
		cmp.w	#00,yposition
		beq 	nono2
		sub.w	#01,yposition
		sub.b	#08,sprite1
		sub.b	#08,sprite1+2
nono2:		cmp.b	#97,d5			; left ???
		bne	nono3
		cmp.w	#0,xposition
		beq	nono3
		sub.w	#01,xposition
		sub.b	#04,sprite1+1
nono3:		cmp.b	#99,d5
		bne	nono4
		cmp.w	#31,xposition
		beq 	nono4
		add.w	#01,xposition
		add.b	#04,sprite1+1
nono4:
		bsr	zoom
		bsr	info		

jmp	main

; -------------------
; - edit character --
; -------------------
edit:		
		; --- set copper ---
		move.b	#$7e,change
		move.b	#$80,change+12
		move.b	#$ca,change+20
		move.b	#$cc,change+28
	
		btst	#0,$bfec01
		bne	edit
edloop:
		clr.l	d5
		move.b	$bfec01,d5
		bsr	keys
		cmp.b	#"q",ende
		beq.l	quit
		cmp.b	#117,d5
		beq	select
		cmp.b	#01,modus
		beq	anono6
		; -- key requests 
		cmp.b	#101,d5		; down ???
		bne	anono1
		cmp.w	#7,y2
		beq	anono1
		add.w	#01,y2
		add.b	#08,sprite2
		add.b	#08,sprite2+2
		jmp	wartemo
anono1:		cmp.b	#103,d5
		bne	anono2
		cmp.w	#00,y2
		beq 	anono2
		sub.w	#01,y2
		sub.b	#08,sprite2
		sub.b	#08,sprite2+2
anono2:		cmp.b	#97,d5		; down ???
		bne	anono3
		cmp.w	#7,x2
		beq	anono3
		add.w	#01,x2
		sub.b	#04,sprite2+1
		jmp	wartemo
anono3:		cmp.b	#99,d5
		bne	anono4
		cmp.w	#0,x2
		beq 	anono4
		sub.w	#01,x2
		add.b	#04,sprite2+1
		jmp	wartemo
anono4:		; ---
		cmp.b	#127,d5		;SPACE=set/reset
		bne	anono5 
		; --- reset/reset point
		; -> calc address
    
	       	clr.l	d0
	  	lea	puffer,a0 
 		move.w 	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		add .w	y2,a0
		; -- -		
		move. b	(a0),d2
		move.w 	x2,d1
		btst	d1,d2
		bne	krissi1
		bset	d1,d2
		jmp	krissg
krissi1:	bclr	d1,d2
krissg:	
		move.b	d2,(a0)
anono5:		; ---
		cmp.b	#123,d5		; TAB = ROTATE !!
		bne	anono6
		; ---
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		add.w	y2,a0
		; ---		
		move.b	(a0),d2
		rol.b	#1,d2
		move.b	d2,(a0)
anono6:		bsr	zoom
		bsr	setscreen		

		; ---
wartemo:	cmp.b	$bfec01,d5
		beq	wartemo
		jmp	edloop
           

; ---- general key requests used in both modes ----
keys:
		moveq	#00,d4
		moveq	#00,d3
		cmp.b	#01,modus
		bne	machtnur
		; ----- scrollit !!! ----
		bsr	key2	
		moveq	#01,d4
		moveq	#01,d3
;		jmp	ninid
machtnur:	; ---------------
		cmp.b	#209,d5		; I=invert
		bne	nini1
		bsr	invert
		move.b	#01,d4
nini1:		cmp.b	#57,d5		; CTRL=drehen
		bne	nini2
		bsr	turn
		move.b	#01,d4
nini2:		cmp.b	#155,d5		;X = mirror x
		bne	nini3
		bsr	mirrx
		bsr	zoom
		move.b	#01,d4
nini3:		cmp.b	#213,d5		; Y = mirror y
		bne	nini4
		bsr	mirry
		move.b	#01,d4	
nini4:		cmp.b	#115,d5		; DEL = loeschen
		bne	nini5
		bsr	delete
		move.b	#01,d4	
nini5:		cmp.b	#89,d5		; CHAR -> Buffer
		bne	nini6
		bsr	copier
		move.b	#01,d4
nini6:		cmp.b	#87,d5		; Buffer -> Char
		bne	nini7
		bsr	paste
		move.b	#01,d4
nini7:		cmp.b	#91,d5		; normal font
		bne	nini8
		bsr	clear
		lea	sure1,a0
		move.b	#175,d1
		move.b	#0,d0
		bsr	textout
		bsr	yesno
		cmp.b	#"n",answer
		beq	babe1
		bsr	tolpatsch
babe1:		move.b	#01,d4
nini8:		cmp.b	#59,d5
		bne	nini9
		move.b	#01,modus
nini9:		cmp.b	#58,d5
		bne	ninia
		move.b	#00,modus
ninia:		cmp.b	#93,d5
		bne	ninib
		bsr	saven
ninib:		cmp.b	#95,d5
		bne	ninic
		bsr	loaden		
ninic:		cmp.b	#65,d5
		bne	ninid
		; --- andere page ---
		bchg	#0,help
		lea	planes,a0
		add.l	#[185*40],a0
		add.l	#02,a0
		lea	gfx,a1		
		add.l	#4600,a1
		; -
		btst	#0,help
		beq	noee1		
		lea	gfx,a1
		add.l	#[40*40],a1
noee1:		move.w	#[70*40],d0
noee2:		move.b	(a1)+,(a0)+
		dbra	d0,noee2
		moveq	#1,d3
		moveq	#1,d4
		; -----
ninid:		cmp.b	#223,d5
		bne	ninie
		; -----
		bsr	clear
		move.b	#0,d0	
		move.b	#175,d1
		lea	quittext,a0
		bsr	textout
		bsr	yesno
		cmp.b	#"y",answer
		bne	ninie
		move.b	#"q",ende
ninie:		; ----
		bsr	zoom
		bsr	setscreen


endomat:	cmp.b	#00,d4
 		beq	jajaja
		; ---
neineinein:	cmp.b	$bfec01,d5
		beq	neineinein

jajaja:		rts



; ------ scrollabfragen -------
key2:
		movem.l	d0-d7/a0-a6,-(a7)
		cmp.b	#101,d5		; down ???
		bne	nene1
		bsr	movedown	
nene1:		cmp.b	#103,d5
		bne	nene2
		bsr	moveup
nene2:		cmp.b	#97,d5
		bne	nene3
		bsr	moveleft
nene3:		cmp.b	#99,d5
		bne	nene4
		bsr	moveright
nene4:		movem.l	(a7)+,d0-d7/a0-a6
		rts


; ---- ja nein ----------------
; ---- answer ="y" bzw "n" ----
yesno:		movem.l	d0-d7/a0-a6,-(a7)
nixwoos:	move.b	$bfec01,d0
		cmp.b	#213,d0
		beq	yesyes
		cmp.b	#147,d0
		beq	nonono
		jmp	nixwoos				
yesyes:		move.b	#"y",answer
		jmp	kacka
nonono:		move.b	#"n",answer
kacka:		bsr	clear
		bsr	asd
nixgibts:	cmp.b	$bfec01,d0
		beq	nixgibts				
		movem.l	(a7)+,d0-d7/a0-a6
		rts

; ---- savebuffer loeschen ---
clrpuff:	movem.l	d0-d7/a0-a6,-(a7)
		lea	fontmem,a0
		clr.l	d0
		move.w	#$4000,d0
clrlupo:	move.b	#00,(a0)+
		dbra	d0,clrlupo
		movem.l	(a7)+,d0-d7/a0-a6
		rts



; ------ save font -------
; --- save menu ---
saven:		movem.l	d0-d7/a0-a6,-(a7)
		bsr	clrpuff
		; ----
		bsr	clear
		; ----
		moveq	#0,d0
		move.b	#175,d1
		lea	choose,a0
		bsr	textout	
		; ---- warten bis losgelassen
loslass:	cmp.b	$bfec01,d5
		beq	loslass
		and.l	#$fe,d5		; loslassflanke in d5
		; ----
garnix:		move.b	$bfec01,d0	
		cmp.b	d5,d0
		beq	garnix
		; ---
		cmp.b	#187,d0
		bne	hehe1
		bsr	savedata
		jmp	endomat2
hehe1:		cmp.b	#181,d0
		bne 	hehe2
		bsr	savehex
		jmp	endomat2
hehe2:		cmp.b	#149,d0
		bne	endomat2
		bsr	savebin		
		; ---
endomat2:	bsr 	asd
		movem.l	(a7)+,d0-d7/a0-a6
		rts
; --- save as hex data ---
savehex:
		movem.l	d0-d7/a0-a6,-(a7)
		move.b	d0,d6
		; --- data in fontmem ---
		lea	fontmem,a5
		lea	puffer,a1
		moveq	#95,d5
		moveq	#32,d3
schlarp:	; ---------------
		move.b	#"d",(a5)+	; d		
		move.b	#"c",(a5)+	; c
		move.b	#".",(a5)+	; .
		move.b	#"b",(a5)+	; b
		; ---
		move.b	#9,(a5)+	; tab
		; -- nun datas --
		moveq	#7,d4		; counter
zeile:		; ---------------
		move.b	#"$",(a5)+	; $
		move.b	(a1)+,d2	; actual val to d2
		andi.l	#$ff,d2
		bsr	hex
		move.b	#",",(a5)+
		dbra	d4,zeile
		; ---------------
		sub.l	#01,a5
		move.b	#" ",(a5)+	
		move.b	#";",(a5)+
		move.b	#" ",(a5)+
		move.b	#"'",(a5)+
		; ---
		move.b	d3,(a5)+	; character
		addq.b	#01,d3
		move.b	#"'",(a5)+
		move.b	#00,(a5)+
		dbra	d5,schlarp
		; ---------------
		move.b	#$1a,(a5)+
		move.b	#$1a,(a5)+
		; -------------------
		; ---- nun saven ----
		; -------------------
		bsr	clear
		moveq	#1,d0
		move.b	#175,d1
		lea	savetext,a0
		bsr	textout
		; --- erstmal loslassen ---
deppus:		cmp.b	$bfec01,d6
		beq	deppus
		; ---- filename einlesen ----
		moveq	#8,d0
		move.b	#175,d1
		move.b	#20,d2
		bsr	input
		cmp.b	#00,length
		beq	alle5
		; ---- check die disk ----
		move.b	#$ff,$bfd100
		bclr	#3,$bfd100
		bclr	#7,$bfd100
		btst	#3,$bfe001
		beq	alle5
		; --- checken ob disk in drive ---
		bclr	#3,$bfd100	;driveselect DF0:
		nop
		nop
		bclr	#7,$bfd100	;motor an
		nop
		nop
		bset	#7,$bfd100	;motor aus
		nop
		nop
		btst	#2,$bfe001	; test ob disk drin !
		beq.L	alle5

		btst	#5,$bfe001
		beq	alle5
		; ---- warten  ----
		bsr	clear
		move.b	#1,d0
		move.b	#175,d1
		lea	waittext,a0
		bsr	textout
		move.w	#$ffff,d0
kris4:		move.w	#20,d1
sirk4:		dbra	d1,sirk4
		dbra	d0,kris4
		bsr	clear
		; ---
		btst	#2,$bfe001	; test ob disk drin !
		beq.L	alle5


		; ---- oeffnen ----
		move.l	#1006,d2
		move.l	dosbase,a6
		move.l	#filename,d1
		jsr	-30(a6)
		beq	nicht5
		move.l	d0,handle				
		; ---- write text---
		bsr	clear
		move.b	#0,d0
		move.b	#175,d1
		lea	safertext,a0
		bsr	textout
		; --- schreiben ---
		move.l	dosbase,a6
		move.l	handle,d1
		move.l	#fontmem,d2
		move.l	#4130,d3
		jsr	-48(a6)
		; --- schliessen ---
nicht5:		move.l	dosbase,a6
		move.l	handle,d1
		jsr	-36(a6)
		; ---		
alle5:		movem.l	(a7)+,d0-d7/a0-a6
		rts



; --- save as bin data ---
savebin:
		movem.l	d0-d7/a0-a6,-(a7)
		move.b	d0,d6
		; --- write data to memory ---
		lea	fontmem,a5		
		lea	puffer,a1
		moveq	#32,d3
		moveq	#95,d4
outloop:	; ----
		move.b	#";",(a5)+
		move.b	#" ",(a5)+
		move.b	#"'",(a5)+
		move.b	d3,(a5)+
		move.b	#"'",(a5)+
		move.b	#00,(a5)+
		; ---
		moveq	#7,d5
einebin:	move.b	#"d",(a5)+
		move.b	#"c",(a5)+
		move.b	#".",(a5)+
		move.b	#"b",(a5)+
		move.b	#9,(a5)+
		move.b	#"%",(a5)+
		move.b	(a1)+,d2
		bsr	bin
		move.b	#00,(a5)+
		dbra	d5,einebin
		; -----
		addq.b	#01,d3
		dbra	d4,outloop
		; -----
		move.b	#$1a,(a5)+
		move.b	#$1a,(a5)+
		; ----- nun saven -----
		bsr	clear
		moveq	#1,d0
		move.b	#175,d1
		lea	savetext,a0
		bsr	textout
		; --- erstmal loslassen ---
deppus2:	cmp.b	$bfec01,d6
		beq	deppus2		
		; ---- filename einlesen ----
		moveq	#8,d0
		move.b	#175,d1
		move.b	#20,d2
		bsr	input
		cmp.b	#00,length
		beq	alle0
		; ---- check die disk ----
		move.b	#$ff,$bfd100
		bclr	#3,$bfd100
		bclr	#7,$bfd100
		btst	#3,$bfe001
		beq	alle0
		; --- checken ob disk in drive ---
		bclr	#3,$bfd100	;driveselect DF0:
		nop
		nop
		bclr	#7,$bfd100	;motor an
		nop
		nop
		bset	#7,$bfd100	;motor aus
		nop
		nop
		btst	#2,$bfe001	; test ob disk drin !
		beq.L	alle0

		btst	#5,$bfe001
		beq	alle0
		; ---- warten  ----
		bsr	clear
		move.b	#1,d0
		move.b	#175,d1
		lea	waittext,a0
		bsr	textout
		move.w	#$ffff,d0
kris3:		move.w	#20,d1
sirk3:		dbra	d1,sirk3
		dbra	d0,kris3
		bsr	clear
		; ---
		btst	#2,$bfe001	; test ob disk drin !
		beq.L	alle0


		; ---- oeffnen ----
		move.l	#1006,d2
		move.l	dosbase,a6
		move.l	#filename,d1
		jsr	-30(a6)
		beq	nicht0
		move.l	d0,handle				
		; ---- write text---
		bsr	clear
		move.b	#0,d0
		move.b	#175,d1
		lea	safertext,a0
		bsr	textout

		; --- schreiben ---
		move.l	dosbase,a6
		move.l	handle,d1
		move.l	#fontmem,d2
		move.l	#12098,d3
		jsr	-48(a6)
		; --- schliessen ---
nicht0:		move.l	dosbase,a6
		move.l	handle,d1
		jsr	-36(a6)
		; ---		
alle0:		movem.l	(a7)+,d0-d7/a0-a6
		rts






; --- save as pure data file
savedata:
		movem.l	d0-d7/a0-a6,-(a7)
		move.l	d0,d4
		bsr	clear
		moveq	#1,d0
		move.b	#175,d1
		lea	savetext,a0
		bsr	textout
		; --- erstmal loslassen ---
hoho:		cmp.b	$bfec01,d4
		beq	hoho
		; ---- filename einlesen ----
		moveq	#8,d0
		move.b	#175,d1
		move.b	#20,d2
		bsr	input
		cmp.b	#00,length
		beq	alle
		; ---- check die disk ----
		move.b	#$ff,$bfd100
		bclr	#3,$bfd100
		bclr	#7,$bfd100
		btst	#3,$bfe001
		beq	alle
		; --- checken ob disk in drive ---
		bclr	#3,$bfd100	;driveselect DF0:
		nop
		nop
		bclr	#7,$bfd100	;motor an
		nop
		nop
		bset	#7,$bfd100	;motor aus
		nop
		nop
		btst	#2,$bfe001	; test ob disk drin !
		beq.L	alle

kaka1:		btst	#5,$bfe001
		beq	kaka1
		; ---- warten  ----
		bsr	clear
		move.b	#1,d0
		move.b	#175,d1
		lea	waittext,a0
		bsr	textout
		move.w	#$ffff,d0
kris5:		move.w	#20,d1
sirk5:		dbra	d1,sirk5
		dbra	d0,kris5
		bsr	clear
		; ---
		btst	#2,$bfe001	; test ob disk drin !
		beq.L	alle


		; ---- oeffnen ----
		move.l	#1006,d2
		move.l	dosbase,a6
		move.l	#filename,d1
		jsr	-30(a6)
		beq	nicht
		move.l	d0,handle				
		; ---- write text---
		bsr	clear
		move.b	#0,d0
		move.b	#175,d1
		lea	safertext,a0
		bsr	textout

		; --- schreiben ---
		move.l	dosbase,a6
		move.l	handle,d1
		move.l	#puffer,d2
		move.l	#768,d3
		jsr	-48(a6)
		; --- schliessen ---
nicht:		move.l	dosbase,a6
		move.l	handle,d1
		jsr	-36(a6)
		; ---		
alle:		bsr	asd
		movem.l	(a7)+,d0-d7/a0-a6
		rts

;	---- laden -----
loaden:		
		movem.l	d0-d7/a0-a6,-(a7)
		bsr	clear
		moveq	#1,d0
		move.b	#175,d1
		lea	loadtext,a0
		bsr	textout
		; ---- filename einlesen ----
		moveq	#8,d0
		move.b	#175,d1
		move.b	#20,d2
		bsr	input
		cmp.b	#00,length
		beq	alle2
		; --- checken ob disk in drive ---
		bclr	#3,$bfd100	;driveselect DF0:
		nop
		nop
		bclr	#7,$bfd100	;motor an
		nop
		nop
		bset	#7,$bfd100	;motor aus
		nop
		nop
		btst	#2,$bfe001	; test ob disk drin !
		beq.L	alle2
		btst	#5,$bfe001
		beq	alle
		; ---- warten  ----
		bsr	clear
		move.b	#1,d0
		move.b	#175,d1
		lea	waittext,a0
		bsr	textout
		move.w	#$ffff,d0
kris2:		move.w	#20,d1
sirk2:		dbra	d1,sirk2
		dbra	d0,kris2
		bsr	clear
		; ---
		btst	#2,$bfe001	; test ob disk drin !
		beq.L	alle2

		; ---- oeffnen ----
		move.l	#1005,d2
		move.l	dosbase,a6
		move.l	#filename,d1
		jsr	-30(a6)
		move.l	d0,handle				
		beq	nicht2
		; ---
		move.b	#175,d1
		move.b	#0,d0
		lea	loadertext,a0
		bsr	textout
		; --- lesen ---
		move.l	dosbase,a6
		move.l	handle,d1
		move.l	#puffer,d2
		move.l	#768,d3
		jsr	-42(a6)
		; --- schliessen ---
nicht2:		move.l	dosbase,a6
		move.l	handle,d1
		jsr	-36(a6)
		; ---		
alle2:		bsr	asd
		movem.l	(a7)+,d0-d7/a0-a6
		rts



; ------ copy TOPAZ to RAM-------
tolpatsch:
		movem.l	d0-d7/a0-a6,-(a7)
		move.w	#255,d0
		lea	puffer,a0
		lea	puffer+1024,a1
tollwas:	move.l	(a1)+,(a0)+
		dbra	d0,tollwas
		movem.l	(a7)+,d0-d7/a0-a6
		rts




; ------ copy -------
copier:
		movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		moveq	#7,d0
		lea	buffer,a1
copyloop:	move.b	(a0)+,(a1)+
		dbra	d0,copyloop
		movem.l	(a7)+,d0-d7/a0-a6
		rts



; ------ data out-------
showval:
		movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		moveq	#7,d3
		moveq	#12,d0
		moveq	#96,d1
klopapier:	move.b	(a0)+,d2
		bsr	decout
		add.b	#14,d0
		bsr	hexout
		sub.b	#01,d0
		move.b	#"0",d2
		bsr	setletter2
		sub.b	#13,d0
		add.b	#8,d1
		dbra	d3,klopapier
		movem.l	(a7)+,d0-d7/a0-a6
		rts



; ------ paste -------
paste:
		movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		moveq	#7,d0
		lea	buffer,a1
copyloop2:	move.b	(a1)+,(a0)+
		dbra	d0,copyloop2
;		bsr	setscreen
		movem.l	(a7)+,d0-d7/a0-a6
		rts


; ------------------
; --- data input ---
; --- a0=address ---
; --- d0=x  d1=y ---
; --- d2= length ---
; ------------------
input:
		movem.l	d0-d7/a0-a6,-(a7)
		; ----
		lea	string,a0
		moveq	#40,d6			
loescher:	move.b	#00,0(a0,d6.b)
		dbra	d6,loescher
		; ----
		lea	clr2,a0
		add.l	d2,a0
		move.b	#00,(a0)
		; ----
		moveq	#0,d6			; length counter
		lea	string,a0
inloop:		move.b	$bfec01,d4		; act. keys
		; ---- taste gedrueckt ----
		bsr	checkkey
		cmp.b	#13,ascii		; return ??
		beq	exitit
		; -
		cmp.b	#08,ascii		; backspace ??
		bne	ohnehalt
		; ---- backspace ----
		cmp.b	#00,d6			; minimal ??
		beq	ausgabe
		sub.b	#01,d6
		move.b	#00,0(a0,d6.b)
		jmp	ausgabe
ohnehalt:	; ----
		cmp.b	d2,d6			; max length ??
		beq	inloop	
; ------ standard keyboard requests ------
		btst	#0,d4
		beq	nixdo
		cmp.b	#00,ascii
		beq	nixdo
		; ----
		move.b	ascii,0(a0,d6.b)
;		move.b	#00,1(a0,d6.b)
		add.b	#01,d6
ausgabe:
		movem.l	d0-d7/a0-a6,-(a7)
		lea	clr2,a0
		bsr	textout				
		movem.l	(a7)+,d0-d7/a0-a6
		lea	string,a0
		bsr	textout
		; ----
waitit:		cmp.b	$bfec01,d4
		beq	waitit
nixdo:		jmp	inloop

exitit:		move.b	#32,0(a0,d2.b)
		move.b	d6,length
		movem.l	(a7)+,d0-d7/a0-a6
		rts		



; ------------
; - checkkey -
; - d4=key   -
; - out :    -
; - ASCII=VAL-
; ------------
checkkey:	movem.l	d0-d7/a0-a6,-(a7)
		move.b	#00,ascii
		; -- check for shift --
		cmp.b	#63,d4			; left shift ??
		bne	kalau1
		move.b	#01,shift
kalau1:		cmp.b	#61,d4			; right shift ??
		bne	kalau2
		move.b	#01,shift
kalau2:		cmp.b	#62,d4			; left loslass
		bne	kalau3
		move.b	#00,shift
kalau3:		cmp.b	#60,d4			; right los 
		bne	kalau4
		move.b	#00,shift
kalau4:		; ----------------
		moveq	#00,d6
		lea	keyboard,a0		; base !!
beatit:		; --- machmal ----
		cmp.b	#$ff,0(a0,d6.b)		; tab ende
		beq	raushier
		; --
		clr.l	d0
		move.b	shift,d0
		cmp.b	0(a0,d6.b),d0
		bne	papa1			; kommt nicht gut!
		cmp.b	1(a0,d6.b),d4		; taste ???
		bne	papa1			; kommt auch nicht !
		; --- kommt gut die taste ---
		move.b	2(a0,d6.b),ascii	; ASCII in ascii
		jmp	raushier	
papa1:		addq.l	#3,a0			; test next
		jmp	beatit
raushier:	movem.l	(a7)+,d0-d7/a0-a6
		rts

; --- outfit ---
outfit:
		; --- title ---
		lea	planes,a0
		lea	gfx,a1
		move.w	#[30*40],d0
schlup:		move.b	(a1)+,(a0)+
		dbra	d0,schlup
		; --- menu ---
		lea	planes,a0
		lea	gfx,a1
		add.l	#[185*40],a0
		add.l	#02,a0
		add.l	#[40*40],a1	; 115
		move.w	#[80*40],d0
schlup2:	move.b	(a1)+,(a0)+
		dbra	d0,schlup2
		rts


; --- delete ---
delete:
		movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		moveq	#7,d0
loescher2:	move.b	#00,(a0)+
		dbra	d0,loescher2
		movem.l	(a7)+,d0-d7/a0-a6
		rts


; -----------------
; -- mirror to y --
; -----------------
mirry:		movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		clr.l	d3
		moveq	#7,d1
spiegel:	move.b	0(a0,d1.b),d3
		move.b	(a0),0(a0,d1.b)
		move.b	d3,(a0)
		add.l	#01,a0
		sub.b	#02,d1
		cmp.b	#-1,d1
		bne	spiegel
		bsr	setscreen
		movem.l	(a7)+,d0-d7/a0-a6
		rts



; --------------------
; -- scroll char up --
; --------------------
movedown:	movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		clr.l	d2
		moveq	#7,d1
schieb1:	move.b	0(a0,d1.b),d3
		move.b	(a0),0(a0,d1.b)
		move.b	d3,(a0)
		add.l	#01,a0
		dbra	d1,schieb1
		movem.l	(a7)+,d0-d7/a0-a6
		rts



; ----------------------
; -- scroll char down --
; ----------------------
moveup:	movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		clr.l	d2
		moveq	#0,d1
		move.b	(a0),d3
schieb2:	move.b	1(a0,d1.b),0(a0,d1.b)
		add.b	#01,d1
		cmp.b	#07,d1
		bne	schieb2
		move.b	d3,7(a0)
		movem.l	(a7)+,d0-d7/a0-a6
		rts

; ----------------------
; -- scroll char left --
; ----------------------
moveleft:	movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		moveq	#7,d1
leftloop:
		move.b	(a0),d2
		rol.b	#1,d2
		move.b	d2,(a0)
		add.l	#01,a0
		dbra	d1,leftloop
		movem.l	(a7)+,d0-d7/a0-a6
		rts


; ----------------------
; -- scroll char right--
; ----------------------
moveright:	movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		moveq	#7,d1
rgtloop:
		move.b	(a0),d2
		ror.b	#1,d2
		move.b	d2,(a0)
		add.l	#01,a0
		dbra	d1,rgtloop
		movem.l	(a7)+,d0-d7/a0-a6
		rts



; -----------------
; -- mirror to x --
; -----------------
mirrx:		movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		moveq	#7,d3
renne:		moveq	#7,d0
		moveq	#0,d1
		clr.l	d2
koko1:		btst	d0,(a0)		; ???
		beq	koko2
		bset	d1,d2		; vorne setzen
		jmp	blabla
koko2:		bclr	d1,d2
blabla:		add.b	#01,d1
		dbra	d0,koko1
		move.b	d2,(a0)+
		dbra	d3,renne		
		bsr	setscreen
		movem.l	(a7)+,d0-d7/a0-a6
		rts




; ------------------
; - spin character -
; ------------------
turn:
		movem.l	d0-d7/a0-a6,-(a7)
		; get address
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ------------
		move.l	a0,a1		; retten
		lea	store,a3
		moveq	#7,d0
tt1:		moveq	#0,d1
		move.l	a1,a0		; wieder alte addresse
		add.l	#01,a3		
tt2:		btst	d0,(a0)		; bit testen
		bne	knk		; ja, dann knk
		bclr	d1,(a3)		; clear bit
		jmp	nixis
knk:		bset	d1,(a3)
nixis:		add.l	#01,a0		; next byte
		add.b	#01,d1
		cmp.b	#08,d1
		bne	tt2
		dbra	d0,tt1
		; ---
		sub.l	#07,a3
		moveq	#7,d0
ioi23:		move.b	(a3)+,(a1)+	; nun rein damit
		dbra	d0,ioi23
		bsr	setscreen
		movem.l	(a7)+,d0-d7/a0-a6
		rts	


; ---------------------
; - invert character --
; ---------------------
invert:
		movem.l	d0-d7/a0-a6,-(a7)
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; -- nun mach schon --
		moveq	#7,d2
inv:		not.b	(a0)+		
		dbra	d2,inv
		bsr	setscreen
		movem.l	(a7)+,d0-d7/a0-a6
		rts

; ---------------------
; -- show infoleiste --
; ---------------------
info:		movem.l	d0-d7/a0-a6,-(a7)
		; get address
		move.w	yposition,d4
		asl.w	#5,d4
		add.w	xposition,d4
		add.w	#32,d4
		move.w	d4,d2
		; ---
		move.b	#20,d0
		move.b	#40,d1
		bsr	hexout		; hex
		move.b	#29,d0
		bsr	binout		; binaer		
		move.b	#5,d0
		bsr	setletter2
		move.b	#10,d0
		move.b	#40,d1
		bsr	decout		; dezimal

		; --- ASCII ---
		move.b	#4,d0
		move.b	#40,d1
		move.b	#"'",d2
		bsr	setletter2
		move.b	#6,d0
		move.b	#"'",d2
		bsr	setletter2
		move.b	#8,d0
		move.b	#":",d2
		bsr	setletter2
		move.b	#19,d0
		move.b	#"$",d2
		bsr	setletter2
		move.b	#28,d0
		move.b	#"%",d2
		bsr	setletter2
		
		movem.l	(a7)+,d0-d7/a0-a6
		rts		

; --- advanced text out ---
asd:		movem.l	d0-d7/a0-a6,-(a7)
		lea	asdtext,a0
		moveq	#0,d0
		move.b	#175,d1
		bsr	textout
		movem.l	(a7)+,d0-d7/a0-a6
		rts

; --- advanced text out ---
clear:		movem.l	d0-d7/a0-a6,-(a7)
		lea	clrtext,a0
		moveq	#0,d0
		move.b	#175,d1
		bsr	textout
		movem.l	(a7)+,d0-d7/a0-a6
		rts



; ---------------------
; -- bin out !!!!!   --
; -- d0=x d1=y d2=num--
; ---------------------
binout:
		movem.l	d0-d7/a0-a6,-(a7)
		move.w	#06,d5
laufmal:	btst	d5,d2
		beq	jaja
		; -- 1 --
		movem.l	d0-d7/a0-a6,-(a7)
		move.b	#"1",d2
		bsr	setletter2
		movem.l	(a7)+,d0-d7/a0-a6
		jmp	neinnein
jaja:
		; -- 0 --
		movem.l	d0-d7/a0-a6,-(a7)
		move.b	#"0",d2
		bsr	setletter2
		movem.l	(a7)+,d0-d7/a0-a6
neinnein:	
		add.b	#01,d0
		dbra	d5,laufmal
		movem.l	(a7)+,d0-d7/a0-a6
		rts		


; ---------------------
; -- bin out !!!!!   --
; -- d0=x d1=y d2=num--
; ---------------------
bin:
		movem.l	d0-d7/a0-a4,-(a7)
		move.w	#07,d5
laufmal2:	btst	d5,d2
		beq	jaja2
		; -- 1 --
		movem.l	d0-d7/a0-a4,-(a7)
		move.b	#"1",d2
		move.b	d2,(a5)+
		movem.l	(a7)+,d0-d7/a0-a4
		jmp	neinnein2
jaja2:
		; -- 0 --
		movem.l	d0-d7/a0-a4,-(a7)
		move.b	#"0",d2
		move.b	d2,(a5)+
		movem.l	(a7)+,d0-d7/a0-a4
neinnein2:	
		add.b	#01,d0
		dbra	d5,laufmal2
		movem.l	(a7)+,d0-d7/a0-a4
		rts		

		

; ---- number out !!! ----
; -- d0=x d1=y d2= num  --
; ------------------------
; d3=potenz d4=zahl
decout:
	movem.l	d0-d7/a0-a6,-(a7)
	and.l	#$ff,d0
	and.l	#$ff,d1
	and.l	#$ffff,d2
	move.b	d0,xx
	move.b	d1,yy
	move.w	d2,d4			; zahl retten
	move.w	#100,d3		; hoechste potenz
kl1:	
	move.w	d4,d0
	divu	d3,d0			; wie potenz in zahl
	and.l	#$ff,d0			; ergebnis in d0
	move.l	d0,d1
	mulu	d3,d1			; 
	sub.w	d1,d4			; zahl=zahl-int(zahl/potenz)
	; --- Stelle ausgeben ---
	movem.l	d0-d7/a0-a6,-(a7)
	move.b	d0,d2
	add.b	#48,d2
	move.b	xx,d0
	move.b	yy,d1
	bsr	setletter2
	add.b	#01,xx
	movem.l	(a7)+,d0-d7/a0-a6
	; -----------------------
	divu	#10,d3			; naechstniedrigere potenz
	and.w	#$ffff,d3		; ausmaskieren
	cmp.w	#00,d3
	bne	kl1
	movem.l	(a7)+,d0-d7/a0-a6	; reg. back
rts




; ---------------------
; -- hex out !!!!!   --
; -- d0=x d1=y d2=num--
; ---------------------
hexout:
		movem.l	d0-d7/a0-a6,-(a7)
		move.b	d2,d5		; rette zahl in d5
		ror.b	#4,d2
		and.b	#$0f,d2		; hole low nibble
		bsr	nibble
		add.b	#01,d0		; x+1
		move.b	d5,d2
		and.b	#$0f,d2		; hole hi nibble
		bsr	nibble
		movem.l	(a7)+,d0-d7/a0-a6
		rts

		; -- SUB- nibble out d2=nibble --
nibble:		movem.l	d0-d7/a0-a6,-(a7)
		sub.b	#10,d2		; check of num or char
		bpl.s	nn1		; >=0 character A-F
		; --- number ---
		add.b	#58,d2
		jmp	toto
nn1:		; --- letter ---
		add.b	#65,d2
toto:		bsr	setletter2	
		movem.l	(a7)+,d0-d7/a0-a6		
		rts


; ---------------------
; -- hex out !!!!!   --
; -- d0=x d1=y d2=num--
; ---------------------
hex:
		movem.l	d0-d7/a0-a4,-(a7)
		move.b	d2,d5		; rette zahl in d5
		ror.b	#4,d2
		and.b	#$0f,d2		; hole low nibble
		bsr	nibble2
		add.b	#01,d0		; x+1
		move.b	d5,d2
		and.b	#$0f,d2		; hole hi nibble
		bsr	nibble2
		movem.l	(a7)+,d0-d7/a0-a4
		rts

		; -- SUB- nibble out d2=nibble --
nibble2:	movem.l	d0-d7/a0-a4,-(a7)
		sub.b	#10,d2		; check of num or char
		bpl.s	ann1		; >=0 character A-F
		; --- number ---
		add.b	#58,d2
		jmp	atoto
ann1:		; --- letter ---
		add.b	#65,d2
atoto:		move.b	d2,(a5)+
		movem.l	(a7)+,d0-d7/a0-a4		
		rts



	




; -------------------------------
; -- ZOOM CHARACTER TO SIZE 8*8 -
; -- address is made from x/y   -
; -------------------------------

zoom:		movem.l	d0-d7/a0-a6,-(a7)
		clr.l	d0
		lea	puffer,a0
		move.w	yposition,d0
		asl.w	#5,d0
		add.w	xposition,d0
		asl.w	#3,d0
		add.l	d0,a0
		; ---
		moveq	#0,d6		; byte counter
igel2:		moveq	#7,d5		; startbit
igel:		moveq	#7,d0		; x on screen
		sub.b	d5,d0
		add.b	#16,d0
		; - y -
		moveq	#12,d1
		add.b	d6,d1
		; ---
		btst	d5,(a0)		; SET ???
		beq	nein1	
		bsr.s	set
		jmp	spring1
nein1:		bsr.s	reset
spring1:	; ---
		dbra	d5,igel
		add.l	#01,a0
		add.b	#01,d6
		cmp.b	#08,d6
		bne	igel2
		bsr	showval
movem.l		(a7)+,d0-d7/a0-a6
rts

; -------------------
; --- set a point ---
; --- at d0/d1 x/y---
; -------------------

set:
		movem.l	d0-d7/a0-a6,-(a7)
		lea	planes,a1
		asl.w	#3,d1
		mulu	#40,d1
		add.w	d1,d0
		add.l	d0,a1
		; ---
		move.b	#%11111111,(a1)
		add.w	#40,a1
		move.b	#%11111111,(a1)
		add.w	#40,a1
		move.b	#%11111111,(a1)
		add.w	#40,a1
		move.b	#%11111111,(a1)
		add.w	#40,a1
		move.b	#%11111111,(a1)
		add.w	#40,a1
		move.b	#%11111111,(a1)
		add.w	#40,a1
		move.b	#%11111111,(a1)
		add.w	#40,a1
		move.b	#%11111111,(a1)	
		movem.l	(a7)+,d0-d7/a0-a6	
		rts

; -------------------
; --- set a blank ---
; --- at d0/d1 x/y---
; -------------------

reset:
		movem.l	d0-d7/a0-a6,-(a7)
		lea	planes,a1
		asl.w	#3,d1
		mulu	#40,d1
		add.w	d1,d0
		add.l	d0,a1
		; ---
		move.b	#%11111111,(a1)
		add.w	#40,a1
		move.b	#%10000001,(a1)
		add.w	#40,a1
		move.b	#%10000001,(a1)
		add.w	#40,a1
		move.b	#%10000001,(a1)
		add.w	#40,a1
		move.b	#%10000001,(a1)
		add.w	#40,a1
		move.b	#%10000001,(a1)
		add.w	#40,a1
		move.b	#%10000001,(a1)
		add.w	#40,a1
		move.b	#%11111111,(a1)	
		movem.l	(a7)+,d0-d7/a0-a6	
		rts
		
		


; -------------------------------
; ---- SUB -> text-out       ----
; ---- d0=x d1=y   a0=textad ----
; -------------------------------
textout:	movem.l	d0-d7/a0-a6,-(a7)
		clr.l	d2
textloop:	move.b	(a0)+,d2
		cmp.b	#00,d2
		beq	raushier2
		bsr	setletter2
		addq.b	#01,d0
		jmp	textloop
raushier2:	movem.l	(a7)+,d0-d7/a0-a6
		rts
		



; -------------------------------
; ---- SUB -> set the screen ----
; -------------------------------
setscreen:

; --> display all characters

		movem.l	d0-d7/a0-a6,-(a7)
		moveq	#32,d2
		moveq	#4,d0
		moveq	#7,d1
sasa2:		bsr	setletter
		addq.b	#01,d2
		addq.b	#01,d0
		cmp.b	#36,d0
		bne	sasa2
		moveq	#04,d0
		addq.b	#01,d1
		cmp.b	#10,d1
		bne	sasa2
		movem.l	(a7)+,d0-d7/a0-a6
		rts






; -------------------------------------
; ---- SUB -> set letter on screen ----
; ---- d0=x (0-39)  d1=y (0-24)    ----
; ---- d2= chr$(letter)            ----
; -------------------------------------

setletter:
		movem.l	d0-d7/a0-a6,-(a7)
		and.l	#$ff,d0
		and.l	#$ff,d1
		and.l	#$ff,d2
		lea	puffer,a0
		lea	planes,a1
		asl.w	#3,d1
		mulu	#40,d1
		add.w	d1,d0
		add.l	d0,a1
		sub.b	#32,d2
                asl.w	#3,d2
		add.l	d2,a0
		move.w	#7,d5
sasa1:		move.b	(a0)+,(a1)
		add.l	#40,a1
		dbra	d5,sasa1
		movem.l	(a7)+,d0-d7/a0-a6
rts


; -------------------------------------
; ---- SUB -> set letter2 on screen----
; ---- d0=x (0-39)  d1=y (0-200)   ----
; ---- d2= chr$(letter)            ----
; -------------------------------------

setletter2:
		movem.l	d0-d7/a0-a6,-(a7)
		and.l	#$ff,d0
		and.l	#$ff,d1
		and.l	#$ff,d2
		lea	[puffer+1024],a0
		lea	planes,a1
		mulu	#40,d1
		add.w	d1,d0
		add.l	d0,a1
		sub.b	#32,d2
                asl.w	#3,d2
		add.l	d2,a0
		move.w	#7,d5
sasa7:		move.b	(a0)+,(a1)
		add.l	#40,a1
		dbra	d5,sasa7
		movem.l	(a7)+,d0-d7/a0-a6
rts



; ---- copy font to ram ----
copy:
		lea	$fc90f4,a0
		lea	puffer,a1
		move.w	#224,d0
kk2:		move.l	a0,a2
		move.w	#07,d1
kris:		move.b	(a2),(a1)+
		add.l	#$c0,a2
		dbra	d1,kris
		add.l	#01,a0
		dbra	d0,kk2
		rts		


		; -------------------------------
blitt:	btst	#14,$dff002		; blitter ready ???
	bne	blitt
	move.w	#$0000,$dff042		; blittercontrol 1
	move.w	#$ffff,$dff044		; mask A : left side
	move.w	#$0000,$dff046		; mask A : rgt  side
	move.l	#object,$dff050		; address A (source)	
	; - y-pos errechnen -
	clr.l	d1
	move.w	ypos,d1
	mulu	#40,d1
	add.l	#planes,d1	
	; --- x-pos errechnen ---
	move.w	xpos,d2
	ror.w	#4,d2			; 15-12 -> Rest=shift !
	asl.b	#1,d2			; wortformat (*2)
	add.b	d2,d1	
	andi.w	#$f000,d2
	ori.w	#$0dfc,d2
	move.w	d2,$dff040		; blittercontrol 0
					; $0 -> no shifting
					; $9 -> use A,B,D
					; $fc-> log. operand
					;       OR
	; ---
	move.l	d1,$dff054		; address D (destin.)
	move.l	d1,$dff04c		; address B (source)
	move.w	#0,$dff064		; modulo  A (source)
	move.w	#34,$dff066		; modulo  D (destin.)
	move.w	#34,$dff062		; modulo  B (source)
	move.w	#323,$dff058		; height*64 + wide
					; from source (A)
					; also initialize
					; blitter (starts!)
lupo:		btst	#14,$dff002
		bne	lupo
		rts	
			
  		






		; -------------------------------
quit:		move.w	#$01e0,$dff096		; stop DMA's
		move.l	gfxbase,a0
		move.l	oldcopper,50(a0)	; fetch back oldcopper
		move.w	#$81e0,$dff096		; restart new copper
		; ------------------------------
		move.l	$4,a6
		move.l	gfxbase,a1
		jsr	-414(a6)		; gfx lib close
		; ------------------------------
		movem.l	(a7)+,d0-d7/a0-a6
		rts
		

even
copper:
planedata:	blk.w	4,0
		dc.w	$0180,$0000,$0182,$000f	; colours
		dc.w	$008e,$2981,$0090,$30c1 ; plane size
		dc.w	$0092,$0038,$0094,$00d0 ; lft,rgt wide
		dc.w	$0100,%0001001000000000 ; plane ctrl-reg 0
		dc.w	$0108,$0000,$010a,$0000 ; modulo's
		; ------ sprite data ------------
sprdat:		dc.w	$0122,$0000,$0120,$0000	; data spr 0
		dc.w	$0126,$0000,$0124,$0000 ; data spr 1
		dc.w	$012a,$0000,$0128,$0000 ; data spr 1
		dc.w	$012e,$0000,$012c,$0000 ; data spr 1
		dc.w	$0132,$0000,$0130,$0000 ; data spr 1
		dc.w	$0136,$0000,$0134,$0000 ; data spr 1
		dc.w	$013a,$0000,$0138,$0000 ; data spr 1
		dc.w	$013e,$0000,$013c,$0000 ; data spr 1


		; ------ sprite colours ---------
sprcol:		dc.w	$01a2,$0fff,$01a4,$0fff
		dc.w	$01a6,$0fff
		; ------ copper colours ---------

		; --- font master colours ---
		dc.w	$2e09,$fffe,$0182,$022f
		dc.w	$3009,$fffe,$0182,$044f
		dc.w	$3209,$fffe,$0182,$066f
		dc.w	$3409,$fffe,$0182,$088f
		dc.w	$3609,$fffe,$0182,$0a6f
		dc.w	$3809,$fffe,$0182,$0c4f
		dc.w	$3a09,$fffe,$0182,$0e2f
		; --asd -----------------------
		dc.w	$4009,$fffe,$0182,$022f
		dc.w	$4109,$fffe,$0182,$044f
		dc.w	$4209,$fffe,$0182,$066f
		dc.w	$4309,$fffe,$0182,$088f
		dc.w	$4409,$fffe,$0182,$0aaf
		dc.w	$4509,$fffe,$0182,$088f
		dc.w	$4609,$fffe,$0182,$044f
		dc.w	$4709,$fffe,$0182,$022f

		; -----------------------------
		dc.w	$4d09,$fffe,$0180,$0ddd
		dc.w	$0182,$0ddd
		dc.w	$4f09,$fffe,$0180,$0888
		dc.w	$5a09,$fffe,$0180,$0444
		dc.w	$5c09,$fffe,$0180,$0345
		dc.w	$0182,$0000
		; ---
change:		dc.w	$5d09,$fffe,$0180,$0ddd
    	     	dc.w	$0182,$0000
		dc.w	$5f09,$fffe,$0180,$0888
		dc.w	$7a09,$fffe,$0180,$0444
		dc.w	$7c09,$fffe,$0180,$0345
 		dc.w	$0182,$0000
 		; --- eingabebalken ---
		dc.w	$d409,$fffe,$0180,$0ddd
	 	dc.w	$d609,$fffe,$0180,$0888
		; - die Schriftfarbe dazwischen -
		dc.w	$d809,$fffe,$0182,$0003
		dc.w	$d909,$fffe,$0182,$0005
		dc.w	$da09,$fffe,$0182,$0007
		dc.w	$db09,$fffe,$0182,$000a
		dc.w	$dc09,$fffe,$0182,$000a
		dc.w	$dd09,$fffe,$0182,$0007
		dc.w	$de09,$fffe,$0182,$0005
		dc.w	$df09,$fffe,$0182,$0003

		; -------------------------------
		dc.w	$e209,$fffe,$0180,$0444
		dc.w	$e409,$fffe,$0180,$0000
		dc.w	$0182,$0fff
		; ---- menufarbe ----
		dc.w	$e609,$fffe,$0182,$0050
		dc.w	$ea09,$fffe,$0182,$0070
		dc.w	$ee09,$fffe,$0182,$0090
		dc.w	$f209,$fffe,$0182,$00b0
		dc.w	$f609,$fffe,$0182,$00d0
		dc.w	$fa09,$fffe,$0182,$00f0
		dc.w	$fe09,$fffe,$0182,$02f0
		dc.w	$ffe1,$fffe,$0182,$04f0
		dc.w	$00e1,$fffe,$0182,$06f0
		dc.w	$04e1,$fffe,$0182,$04f0
		dc.w	$0809,$fffe,$0182,$02f0
		dc.w	$0c09,$fffe,$0182,$00f0
		dc.w	$1009,$fffe,$0182,$00d0
		dc.w	$1409,$fffe,$0182,$00b0
		dc.w	$1809,$fffe,$0182,$0090
		dc.w	$1c09,$fffe,$0182,$0070
		dc.w	$2009,$fffe,$0182,$0050




		dc.l	$fffffffe
	even
	gfxname:
	dc.b	"graphics.library",0
	even
	gfxbase:
	dc.l	0
	oldcopper: 
	dc.l	0
	xpos:
	dc.w	0
	even
	ypos:
	dc.w	0
	even

object:
dc.l	%11111011110010001000100001000000 
dc.w	0
dc.l	%00001010001011001000100001001000
dc.w	0
dc.l	%00001010001010101000100001111100
dc.w	0
dc.l	%10001011110010011000100000001000
dc.w	0
dc.l	%01110010000010001000111110001000
dc.w	0
even
; --
xposition:
dc.w	0
even
yposition:
dc.w	0
even
x2:
dc.w	0
even
y2:
dc.w	0
even
; ---- sprite data ----
sprite1:
dc.w	$604f,$6b00		; $20=y start  $2d=y end
				; 
dc.w	%0111111111100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0111111111100000,%0000000000000000
dc.w	0, 0 
sprite2:   
dc.w	$887f,$9300 
dc.w	%0111111111100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0100000000100000,%0000000000000000
dc.w	%0111111111100000,%0000000000000000
dc.w	0,0
even
clrspr:
dc.w	$887e,$9300 
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	%0000000000000000,%0000000000000000
dc.w	0,0
even
xx:
dc.b	0
even
yy:
dc.b	0
even
blk.b	100,0
store:
blk.w	8,0
even
buffer:
blk.b	8,0
even
asdtext:
dc.b	"CODE BY JPN OF ADVANCED SOFTWARE DESIGN",0
even
clrtext:
dc.b	"                                         ",0
even
sure1:
dc.b	"Are you sure to get TOPAZ back (Y/N) ???",0
even
answer:
dc.b	0
even
modus:
dc.b	0
even
; ---------------- Keyboard Tab ----
keyboard:
dc.b	0,119,13,1,119,13		; return
dc.b	0,125,8,1,125,8			; backspace
dc.b	0,127," ",1,127," "
dc.b	1,253,"!",1,249,"#"
dc.b	1,247,"$",1,245,"%"
dc.b	1,241,"&",1,237,"("
dc.b	1,235,")",1,239,"*"
dc.b	1,231,"+",0,143,","
dc.b	0,233,"-",0,141,"."
dc.b	0,139,"/",1,243,"^"
dc.b	1,173,":",0,173,";"
dc.b	0,159,"<",1,143,"<"
dc.b	0,231,"=",1,141,">"
dc.b	1,159,">",1,139,"?"
dc.b	1,251,"@",0,255,"`"
dc.b	0,235,"0",0,253,"1"
dc.b	0,251,"2",0,249,"3"
dc.b	0,247,"4",0,245,"5"
dc.b	0,243,"6",0,241,"7"
dc.b	0,239,"8",0,237,"9"
dc.b	1,191,"A",0,191,"a"
dc.b	1,149,"B",0,149,"b"
dc.b	1,153,"C",0,153,"c"
dc.b	1,187,"D",0,187,"d"
dc.b	1,219,"E",0,219,"e"
dc.b	1,185,"F",0,185,"f"
dc.b	1,183,"G",0,183,"g"
dc.b	1,181,"H",0,181,"h"
dc.b	1,209,"I",0,209,"i"
dc.b	1,179,"J",0,179,"j"
dc.b	1,177,"K",0,177,"k"
dc.b	1,175,"L",0,175,"l"
dc.b	1,145,"M",0,145,"m"
dc.b	1,147,"N",0,147,"n"
dc.b	1,207,"O",0,207,"o"
dc.b	1,205,"P",0,205,"p"
dc.b	1,223,"Q",0,223,"q"
dc.b	1,217,"R",0,217,"r"
dc.b	1,189,"S",0,189,"s"
dc.b	1,215,"T",0,215,"t"
dc.b	1,211,"U",0,211,"u"
dc.b	1,151,"V",0,151,"v"
dc.b	1,221,"W",0,221,"w"
dc.b	1,155,"X",0,155,"x"
dc.b	1,213,"Y",0,213,"y"
dc.b	1,157,"Z",0,157,"z"
dc.b	0,171,"'"
dc.b	$ff
even
shift:
dc.b	0
even
ascii:
dc.b	0
even
filename:
dc.b	"df0:"
string:
blk.b	80,0
even
clr2:
dc.b	"                                       ",0
even
savetext:
dc.b	"SAVE :",0
even
loadtext:
dc.b	"LOAD :",0
even
dosbase:
dc.l	0
even
handle:
dc.l	0
even
dosname:	dc.b	"dos.library",0
even
length:
dc.b	0
even
help:
dc.b	0
even
choose:
dc.b	"'D' Data-file 'H' SEKA-hex 'B' SEKA-bin ",0
even		
; ' '
dc.b	%00000000
even
textus:
dc.b	"level Four 1989",0
even
waittext:
dc.b	"Checking disk ...",0
even
loadertext:
dc.b	" Loading ...",0
even
safertext:
dc.b	" Saving ...",0
even
quittext:
dc.b	"  Do you really want to quit (Y/N) ???",0
even
ende:
dc.b	0
even
puffer:
	DC.L	$00000000,$00000000,$183C3C18,$18001800,$6C6C0000
	DC.L	$00000000,$6C6CFE6C,$FE6C6C00,$183E603C,$067C1800
	DC.L	$00C6CC18,$3066C600,$386C6876,$DCCC7600,$18183000
	DC.L	$00000000,$0C183030,$30180C00,$30180C0C,$0C183000
	DC.L	$00663CFF,$3C660000,$0018187E,$18180000,$00000000
	DC.L	$00181830,$0000007E,$00000000,$00000000,$00181800
	DC.L	$03060C18,$3060C000,$3C666E7E,$76663C00,$18381818
	DC.L	$18187E00,$3C66061C,$30667E00,$3C66061C,$06663C00
	DC.L	$1C3C6CCC,$FE0C1E00,$7E607C06,$06663C00,$1C30607C
	DC.L	$66663C00,$7E66060C,$18181800,$3C66663C,$66663C00
	DC.L	$3C66663E,$060C3800,$00181800,$00181800,$00181800
	DC.L	$00181830,$0C183060,$30180C00,$00007E00,$007E0000
	DC.L	$30180C06,$0C183000,$3C66060C,$18001800,$7CC6DEDE
	DC.L	$DEC07800,$183C3C66,$7EC3C300,$FC66667C,$6666FC00
	DC.L	$3C66C0C0,$C0663C00,$F86C6666,$666CF800,$FE666078
	DC.L	$6066FE00,$FE666078,$6060F000,$3C66C0CE,$C6663E00
	DC.L	$6666667E,$66666600,$7E181818,$18187E00,$0E060606
	DC.L	$66663C00,$E6666C78,$6C66E600,$F0606060,$6266FE00
	DC.L	$82C6EEFE,$D6C6C600,$C6E6F6DE,$CEC6C600,$386CC6C6
	DC.L	$C66C3800,$FC66667C,$6060F000,$386CC6C6,$C66C3C06
	DC.L	$FC66667C,$6C66E300,$3C667038,$0E663C00,$7E5A1818
	DC.L	$18183C00,$66666666,$66663E00,$C3C36666,$3C3C1800
	DC.L	$C6C6C6D6,$FEEEC600,$C3663C18,$3C66C300,$C3C3663C
	DC.L	$18183C00,$FEC68C18,$3266FE00,$3C303030,$30303C00
	DC.L	$C0603018,$0C060300,$3C0C0C0C,$0C0C3C00,$10386CC6
	DC.L	$00000000,$00000000,$000000FE,$18180C00,$00000000
	DC.L	$00003C06,$1E663B00,$E0606C76,$66663C00,$00003C66
	DC.L	$60663C00,$0E06366E,$66663B00,$00003C66,$7E603C00
	DC.L	$1C363078,$30307800,$00003B66,$663CC67C,$E0606C76
	DC.L	$6666E600,$18003818,$18183C00,$06000606,$0606663C
	DC.L	$E060666C,$786CE600,$38181818,$18183C00,$00006677
	DC.L	$6B636300,$00007C66,$66666600,$00003C66,$66663C00
	DC.L	$0000DC66,$667C60F0,$00003D66,$663E0607,$0000EC76
	DC.L	$6660F000,$00003E60,$3C067C00,$08183E18,$181A0C00
	DC.L	$00006666,$66663B00,$00006666,$663C1800,$0000636B
	DC.L	$6B363600,$00006336,$1C366300,$00006666,$663C1870
	DC.L	$00007E4C,$18327E00,$0E181870,$18180E00,$18181818
	DC.L	$18181800,$7018180E,$18187000,$729C0000,$00000000
	DC.L	$CC33CC33,$CC33CC33,$7E666666,$66667E00,$18001818
	DC.L	$3C3C1800,$0C3E6C6C,$3E0C0000,$1C363078,$30307E00
	DC.L	$423C663C,$42000000,$C3663C18,$3C183C00,$18181800
	DC.L	$18181800,$3C403C66,$3C023C00,$66000000,$00000000
	DC.L	$7E819DB1,$B19D817E,$304888F8,$00FC0000,$003366CC
	DC.L	$66330000,$3E060000,$00000000,$00007E7E,$00000000
	DC.L	$7E81B9B9,$B1A9817E,$7E000000,$00000000,$3C663C00
	DC.L	$00000000,$18187E18,$18007E00,$F0183060,$F8000000
	DC.L	$F0183018,$F0000000,$18300000,$00000000,$0000C6C6
	DC.L	$C6EEFAC0,$7EF4F474,$14141400,$00001818,$00000000
	DC.L	$00000000,$00001830,$30703030,$30000000,$70888870
	DC.L	$00F80000,$00CC6633,$66CC0000,$2063262C,$19336701
	DC.L	$2063262C,$1B316207,$C023662C,$D9336701,$18001830
	DC.L	$60663C00,$00000000,$00000000,$183C3C18,$18001800
	DC.L	$6C6C0000,$00000000,$6C6CFE6C,$FE6C6C00,$183E603C
	DC.L	$067C1800,$00C6CC18,$3066C600,$386C6876,$DCCC7600
	DC.L	$18183000,$00000000,$0C183030,$30180C00,$30180C0C
	DC.L	$0C183000,$00663CFF,$3C660000,$0018187E,$18180000
	DC.L	$00000000,$00181830,$0000007E,$00000000,$00000000
	DC.L	$00181800,$03060C18,$3060C000,$3C666E7E,$76663C00
	DC.L	$18381818,$18187E00,$3C66061C,$30667E00,$3C66061C
	DC.L	$06663C00,$1C3C6CCC,$FE0C1E00,$7E607C06,$06663C00
	DC.L	$1C30607C,$66663C00,$7E66060C,$18181800,$3C66663C
	DC.L	$66663C00,$3C66663E,$060C3800,$00181800,$00181800
	DC.L	$00181800,$00181830,$0C183060,$30180C00,$00007E00
	DC.L	$007E0000,$30180C06,$0C183000,$3C66060C,$18001800
	DC.L	$7CC6DEDE,$DEC07800,$183C3C66,$7EC3C300,$FC66667C
	DC.L	$6666FC00,$3C66C0C0,$C0663C00,$F86C6666,$666CF800
	DC.L	$FE666078,$6066FE00,$FE666078,$6060F000,$3C66C0CE
	DC.L	$C6663E00,$6666667E,$66666600,$7E181818,$18187E00
	DC.L	$0E060606,$66663C00,$E6666C78,$6C66E600,$F0606060
	DC.L	$6266FE00,$82C6EEFE,$D6C6C600,$C6E6F6DE,$CEC6C600
	DC.L	$386CC6C6,$C66C3800,$FC66667C,$6060F000,$386CC6C6
	DC.L	$C66C3C06,$FC66667C,$6C66E300,$3C667038,$0E663C00
	DC.L	$7E5A1818,$18183C00,$66666666,$66663E00,$C3C36666
	DC.L	$3C3C1800,$C6C6C6D6,$FEEEC600,$C3663C18,$3C66C300
	DC.L	$C3C3663C,$18183C00,$FEC68C18,$3266FE00,$3C303030
	DC.L	$30303C00,$C0603018,$0C060300,$3C0C0C0C,$0C0C3C00
	DC.L	$10386CC6,$00000000,$00000000,$000000FE,$18180C00
	DC.L	$00000000,$00003C06,$1E663B00,$E0606C76,$66663C00
	DC.L	$00003C66,$60663C00,$0E06366E,$66663B00,$00003C66
	DC.L	$7E603C00,$1C363078,$30307800,$00003B66,$663CC67C
	DC.L	$E0606C76,$6666E600,$18003818,$18183C00,$06000606
	DC.L	$0606663C,$E060666C,$786CE600,$38181818,$18183C00
	DC.L	$00006677,$6B636300,$00007C66,$66666600,$00003C66
	DC.L	$66663C00,$0000DC66,$667C60F0,$00003D66,$663E0607
	DC.L	$0000EC76,$6660F000,$00003E60,$3C067C00,$08183E18
	DC.L	$181A0C00,$00006666,$66663B00,$00006666,$663C1800
	DC.L	$0000636B,$6B363600,$00006336,$1C366300,$00006666
	DC.L	$663C1870,$00007E4C,$18327E00,$0E181870,$18180E00
	DC.L	$18181818,$18181800,$7018180E,$18187000,$729C0000
	DC.L	$00000000,$CC33CC33,$CC33CC33,$7E666666,$66667E00
	DC.L	$18001818,$3C3C1800,$0C3E6C6C,$3E0C0000,$1C363078
	DC.L	$30307E00,$423C663C,$42000000,$C3663C18,$3C183C00
	DC.L	$18181800,$18181800,$3C403C66,$3C023C00,$66000000
	DC.L	$00000000,$7E819DB1,$B19D817E,$304888F8,$00FC0000
	DC.L	$003366CC,$66330000,$3E060000,$00000000,$00007E7E
	DC.L	$00000000,$7E81B9B9,$B1A9817E,$7E000000,$00000000
	DC.L	$3C663C00,$00000000,$18187E18,$18007E00,$F0183060
	DC.L	$F8000000,$F0183018,$F0000000,$18300000,$00000000
	DC.L	$0000C6C6,$C6EEFAC0,$7EF4F474,$14141400,$00001818
	DC.L	$00000000,$00000000,$00001830,$30703030,$30000000
	DC.L	$70888870,$00F80000,$00CC6633,$66CC0000,$2063262C
	DC.L	$19336701,$2063262C,$1B316207,$C023662C,$D9336701
	DC.L	$18001830,$60663C00,$00000000,$00000000,$00000000
; ---- gfx
gfx:
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000003,$FFF1FFE3,$FFE3FFE0,$00003C0F
	DC.L	$0FFF0FFF,$0FFF87FF,$E3FFE000,$00000000,$00000000
	DC.L	$00000000,$00000003,$FFF3FFF3,$FFF3FFF0,$00003E1F
	DC.L	$1FFF9FFF,$8FFFC7FF,$E3FFF000,$00000000,$00000000
	DC.L	$00000000,$00000000,$000000F0,$00F00000,$0000003F
	DC.L	$00078007,$80000000,$0000F000,$00000000,$00000000
	DC.L	$00000000,$00000000,$000000F0,$00F00000,$3FF0007F
	DC.L	$00078000,$00000000,$0000F000,$00000000,$00000000
	DC.L	$00000000,$00000003,$FF03C0F3,$C0F000F0,$3FF03FFF
	DC.L	$1FFF9FFF,$0003C7FE,$03FFF000,$00000000,$00000000
	DC.L	$00000000,$00000003,$FF03C0F3,$C0F000F0,$3FF03FFF
	DC.L	$1FFF8FFF,$8003C7FE,$03FFE000,$00000000,$00000000
	DC.L	$00000000,$00000003,$C003C0F3,$C0F000F0,$00003DEF
	DC.L	$1E078007,$8003C780,$03C0F000,$00000000,$00000000
	DC.L	$00000000,$00000003,$C003C0F3,$C0F000F0,$00003CCF
	DC.L	$1E079E07,$8003C780,$03C0F000,$00000000,$00000000
	DC.L	$00000000,$00000003,$C003FFF3,$C0F000F0,$00003C0F
	DC.L	$1E079FFF,$8003C7FF,$E3C0F000,$00000000,$00000000
	DC.L	$00000000,$00000003,$C001FFE3,$C0F000F0,$00003C0F
	DC.L	$1E078FFF,$0003C7FF,$E3C0F000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$003C21F8,$FF00601B,$91145EFB,$83DEFFF1
	DC.L	$7BDF3E7B,$FFF883DE,$F725FEEF,$44000000,$00000000
	DC.L	$00000000,$00242108,$A100A02A,$52365082,$42128211
	DC.L	$4A500942,$090C8252,$94A50849,$64000000,$00000000
	DC.L	$00000000,$003C21C4,$B901207A,$545550E2,$43D2E215
	DC.L	$7BDC0973,$C96A83DE,$94A50849,$54000000,$00000000
	DC.L	$00000000,$00242102,$A101F08A,$58F4D082,$4052821B
	DC.L	$4A900940,$49298214,$94A50849,$4C000000,$00000000
	DC.L	$00000000,$00243FE1,$BDF0210B,$91145EFB,$805E8211
	DC.L	$4E9E0E7F,$DDE88214,$F73DC8EF,$44000000,$00000000
	DC.L	$00000000,$00000000,$00000208,$00000000,$00400000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00003FFF,$FFFFFC0F,$FFFFFFFF,$FFC00000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF000,$00000000,$00000000,$00000000,$000FFFFC
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20001000,$00000000,$00000000,$00000000,$00080004
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$2F7BD07D,$F7C17DF7,$DFFC07DF,$745F0000,$000BDEF4
	DC.L	$1F7DF7D0,$7C07DF7D,$17DF4400,$00000000,$00000000
	DC.L	$284A1041,$01024504,$10100451,$26440000,$000A1084
	DC.L	$04450410,$40045011,$54106400,$00000000,$00000000
	DC.L	$2F7A107D,$F1847DF7,$DF1807D9,$25460000,$000BDE84
	DC.L	$046575D0,$7C07DF11,$57DF5400,$00000000,$00000000
	DC.L	$2142100D,$81886980,$D8180619,$26C60000,$000A0284
	DC.L	$06659658,$60049819,$76186C00,$00000000,$00000000
	DC.L	$2F43D07D,$F19069FF,$DF18061F,$76460000,$000BDEF4
	DC.L	$067DF7DF,$7C079F19,$F7DF6400,$00000000,$00000000
	DC.L	$20001000,$00000000,$00000000,$00000000,$00080004
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF000,$00000000,$00000000,$00000000,$000FFFFC
	DC.L	$1F7D07DF,$7DF7C07D,$17807DE7,$7DF7C000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$10410410,$11144045,$94404112,$11144000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$1F7D87D8,$1997C07D,$56407D92,$1997C000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$03618618,$19968045,$B6406192,$19968000,$00000000
	DC.L	$3FFFF000,$00000000,$00000000,$00000000,$00000000
	DC.L	$1F7DF7DF,$19F68045,$97807DE7,$19F68000,$00000000
	DC.L	$20001000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$2030106D,$F45F0117,$C0000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20781055,$16500114,$40000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20FC1055,$96DF0117,$C0000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20301065,$96980116,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20301065,$F39F01F6,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20001000,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF000,$00000000,$00000000,$00000000,$000B7742
	DC.L	$0FBEFBEF,$BE03CEFB,$E83E8BEF,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A2542
	DC.L	$08A22222,$20022483,$28228A08,$80000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A2742
	DC.L	$0FB233E3,$3E0324FB,$EC3EFBEC,$80000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A2642
	DC.L	$0D323323,$3003241A,$0C26330C,$80000000,$00000000
	DC.L	$3FFFF000,$00000000,$00000000,$00000000,$000BA572
	DC.L	$0D3E3323,$3E03CEFA,$0FA633EF,$00000000,$00000000
	DC.L	$20001000,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$2030106D,$F45F01E7,$D1440000,$00000000,$000FFFFE
	DC.L	$0FA2FBEF,$BEFBEF80,$00000000,$00000000,$00000000
	DC.L	$20301055,$16500114,$55640000,$00000000,$00000000
	DC.L	$08228A28,$A0220880,$00000000,$00000000,$00000000
	DC.L	$20FC1055,$96DF0196,$55540000,$00000000,$00000000
	DC.L	$0C3EFBEF,$B033EF80,$00000000,$00000000,$00000000
	DC.L	$20781065,$96980196,$576C0000,$00000000,$00000000
	DC.L	$0C329A49,$B0330D00,$00000000,$00000000,$00000000
	DC.L	$20301065,$F39F01E7,$DF640000,$00000000,$000FFFFE
	DC.L	$0FB29A49,$BE33ED00,$00000000,$00000000,$00000000
	DC.L	$20001000,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF000,$00000000,$00000000,$00000000,$000B9E82
	DC.L	$0F3E83EF,$BE03CEFB,$E83E8BEF,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A5082
	DC.L	$08A08202,$20022483,$28228A08,$80000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A5C82
	DC.L	$0CBEC3C3,$3E0324FB,$EC3EFBEC,$80000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A5082
	DC.L	$0CB0C303,$3003241A,$0C26330C,$80000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000B9EF2
	DC.L	$0F3EFBE3,$3E03CEFA,$0FA633EF,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$2020086D,$F45F0107,$DF7C0000,$00000000,$000FFFFE
	DC.L	$0FA2FBEF,$BEFBEF80,$00000000,$00000000,$00000000
	DC.L	$20600855,$16500104,$10100000,$00000000,$00000000
	DC.L	$08228A28,$A0220880,$00000000,$00000000,$00000000
	DC.L	$20FC0855,$96DF0187,$DF180000,$00000000,$00000000
	DC.L	$0C3EFBEF,$B033EF80,$00000000,$00000000,$00000000
	DC.L	$20600865,$96980186,$18180000,$00000000,$00000000
	DC.L	$0C329A49,$B0330D00,$00000000,$00000000,$00000000
	DC.L	$20200865,$F39F01F7,$D8180000,$00000000,$00000000
	DC.L	$0FB29A49,$BE33ED00,$00000000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$2010086D,$F45F01F7,$7D17C000,$00000000,$000BBBBA
	DC.L	$0FA2001F,$7DF7D040,$0FA2FBEF,$BEFBEF80,$00000000
	DC.L	$20180855,$16500112,$41110000,$00000000,$000A2AA2
	DC.L	$08B20190,$41145040,$08228A28,$A0220880,$00000000
	DC.L	$20FC0855,$96DF01F2,$5DF18000,$00000000,$000A3BBA
	DC.L	$0CAA001F,$61F65860,$0C3EFBEF,$B033EF80,$00000000
	DC.L	$20180865,$969801A2,$45118000,$00000000,$000A2A0A
	DC.L	$0CB60183,$61A65860,$0C329A49,$B0330D00,$00000000
	DC.L	$20100865,$F39F01A7,$7D118000,$00000000,$000BAA7A
	DC.L	$0FB2001F,$7DA7DF7C,$0FB29A49,$BE33ED00,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000A3BAA
	DC.L	$0FBEF81F,$7D07DF7C,$0FA2FBEF,$BEFBEF80,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A2A2A
	DC.L	$08A08190,$41041010,$08228A28,$A0220880,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A2A32
	DC.L	$0CBEF81F,$7D87D818,$0C3EFBEF,$B033EF80,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000A2A2A
	DC.L	$0CB0C183,$61861818,$0C329A49,$B0330D00,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000BBBAA
	DC.L	$0FB0C01F,$7DF7DF18,$0FB29A49,$BE33ED00,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$27E18820,$FBEF00FB,$E8BE0000,$00000000,$00081E02
	DC.L	$1D145F7D,$F01F45F7,$DF7DF7DF,$00000000,$00000000
	DC.L	$26038820,$8A288082,$2C880000,$00000000,$00080C02
	DC.L	$09965044,$40104514,$51404411,$00000000,$00000000
	DC.L	$27E18830,$CBEC80FB,$2A8C0000,$00000000,$00080C02
	DC.L	$0956DF7C,$60187DF7,$DF6067DF,$00000000,$00000000
	DC.L	$27018830,$CA6C80C3,$2D8C0000,$00000000,$00080C02
	DC.L	$09B69858,$60186534,$9360661A,$00000000,$00000000
	DC.L	$2703C83E,$FA6F00C3,$EC8C0000,$00000000,$00081E02
	DC.L	$1D939F58,$601F6534,$937C67DA,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$0030C000,$00000000,$00000000
	DC.L	$27EF883E,$FA2F80FB,$E8BE0000,$00000000,$00083302
	DC.L	$1B77DF7D,$F01DB7DF,$7C198000,$00000000,$00000000
	DC.L	$26018820,$8B280082,$2C880000,$00000000,$00081E02
	DC.L	$15245145,$10095450,$400F0000,$00000000,$00000000
	DC.L	$27EF883E,$FB6F80FB,$2A8C0000,$00000000,$00080C02
	DC.L	$1127DF65,$F00917D7,$7C060000,$00000000,$00000000
	DC.L	$270C0806,$9B4C00C3,$2D8C0000,$00000000,$00081E02
	DC.L	$19259665,$A00994D1,$600F0000,$00000000,$00000000
	DC.L	$270FE83E,$99CF80C3,$EC8C0000,$00000000,$00083302
	DC.L	$1975967D,$A01D94DF,$7C198000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$0030C000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$0030C000,$00000000,$00000000
	DC.L	$27EFC83E,$FBFFBEFB,$E03EFBBE,$E8BE8000,$00083102
	DC.L	$1B77DF7D,$F01DB7DF,$7C30C000,$00000000,$00000000
	DC.L	$24004822,$8202228A,$00228920,$4CA28000,$00083102
	DC.L	$15245145,$10095450,$40198000,$00000000,$00000000
	DC.L	$27E7C83E,$FBE332FB,$E032F92E,$4ABEC000,$00083F02
	DC.L	$1127DF65,$F00917D7,$7C0F0000,$00000000,$00000000
	DC.L	$2600C834,$C06332D3,$0032D122,$4DA6C000,$00080C02
	DC.L	$19259665,$A00994D1,$60060000,$00000000,$00000000
	DC.L	$260FC834,$FBE33ED3,$E03ED3BE,$ECA6F800,$00080C02
	DC.L	$1975967D,$A01D94DF,$7C060000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00060000,$00000000,$00000000
	DC.L	$3FFFF83E,$FB6DBEF3,$EFBE03EF,$A2F80000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000020,$8AAAA28A,$28A00208,$B2200000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000030,$CA28B2CB,$2FBE03EC,$AA300000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000030,$CB2CB2CB,$2D30030C,$B6300000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF83E,$FB2CBEF3,$ED3E030F,$B2300000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$27ECC83E,$FBE88005,$F45F7C04,$3EFB6800,$000A4002
	DC.L	$1F7DF7DF,$7C07DFFC,$5F40079F,$7DF7D17E,$F8000000
	DC.L	$240CC820,$8A288009,$0451447E,$228AA400,$000AFC02
	DC.L	$11444444,$40045044,$51400451,$11145110,$80000000
	DC.L	$27EFE830,$CBEF8009,$87DF7C7F,$3EFA2400,$000A404A
	DC.L	$1F6467C6,$7C07D866,$5F60065F,$19F7DF18,$F8000000
	DC.L	$2600C830,$CB030009,$8653587E,$2C9B2400,$000807EA
	DC.L	$1A646646,$6004D866,$53600653,$19364618,$C0000000
	DC.L	$2600C83E,$FB030005,$F6535804,$2C9B2800,$0008004A
	DC.L	$1A7C6646,$7C04DE67,$D37C0793,$1937C618,$F8000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080002
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$27EFE83F,$7DFFDF05,$F7DB0004,$3E8BEFA0,$00083E02
	DC.L	$1F22EF81,$F7D17C06,$DF7FFFFC,$00000000,$00000000
	DC.L	$240C0821,$45011009,$1455007E,$208A2890,$00082202
	DC.L	$11224201,$04591005,$51409044,$00000000,$00000000
	DC.L	$27EFE83F,$7DF19F09,$F7D1007F,$30FBEF90,$00082202
	DC.L	$19324301,$F65518E4,$5F7C9F7C,$00000000,$00000000
	DC.L	$26006830,$4C319809,$64D9007E,$30CA6B10,$00082602
	DC.L	$1B324301,$865B1806,$530C9868,$00000000,$00000000
	DC.L	$260FE830,$4DF19F05,$64D90004,$3ECA6B20,$00083E02
	DC.L	$1F3EE301,$87D91806,$53FC9F68,$00000000,$00000000
	DC.L	$20000800,$00000000,$00000000,$00000000,$00080102
	DC.L	$00800000,$00000000,$00000000,$00000000,$00000000
	DC.L	$3FFFF800,$00000000,$00000000,$00000000,$000FFFFE
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000
	DC.L	$00000000,$00000000,$00000000,$00000000,$00000000

