 	
 	section ax,code_c
	opt c-,d+,w-,o+	
	
	include 'df1:insert/custom registers'
	
badd=(320*256)/8
cadd=56*256
akey=$bfec01

	jsr mt_init
	move.l #table,a3
	move.l a3,baz
	move.l #colourtab+24,a4
	move.l a4,dig
	move.l #colourtab+18,a4
	move.l a4,dig1
	move.l #colourtab+12,a4
	move.l a4,dig2
	move.l #colourtab+6,a4
	move.l a4,dig3
	move.l #colourtab+0,a4
	move.l a4,dig4
	jsr cop_init
 	move.l $6c,oldirq
 	move.l #newirq,$6c
mse:
 	cmp.b #$f0,$dff006
 	bne mse
 	
zog:
 	btst #6,$bfe001
	bne mse
	jsr mt_end
 	move.l oldirq,$6c
 	move.l copaddr,a0
 	move.l oldcop,(a0)
nolib:	
	 rts	
newirq:  
	movem.l d0-d7/a0-a6,$75000
	
	cmpi.b #1,grumpy
	bne gobtw
	move.b #0,grumpy
	jsr sorter
	jsr sorter1
	jsr sorter2
	jsr sorter3
	jsr sorter4
	jsr mover
	jmp endc
	
gobtw:  move.b #1,grumpy

endc:	
	cmpi.b #1,stop
	beq greb
	cmpi.w #$0011,boh
	bne whodo
	jmp geh
greb:	addi.b #1,stopcock
	cmpi.b #200,stopcock
	bne who
	move.b #0,stop
	move.b #0,stopcock
	jmp whodo
geh:
	move.w #$00ff,boh
	jsr bobsetup
	jsr printy
	jmp who
whodo:	subi.w #$0022,boh
who:	
	cmpi.b #1,start
	bne git
	jsr mt_music
git:
	movem.l $75000,d0-d7/a0-a6
	dc.w $4ef9
	
oldirq: dc.l 0

	even

cop_init:
 	lea screen,a0
 	move.l a0,d0
 	move.w d0,lo1
 	swap d0
 	move.w d0,hi1
 	lea screen+cadd,a0
 	move.l a0,d0
 	move.w d0,lo2
 	swap d0
 	move.w d0,hi2
 	lea screen+cadd*2,a0
 	move.l a0,d0
 	move.w d0,lo3
 	swap d0
 	move.w d0,hi3
 	lea screen+cadd*3,a0
 	move.l a0,d0
 	move.w d0,lo4
 	swap d0
 	move.w d0,hi4
 	lea screen+cadd*4,a0
 	move.l a0,d0
 	move.w d0,lo5
 	swap d0
 	move.w d0,hi5
 	
 	lea logo+25*40-4,a3
 	move.l a3,d0
 	move.w d0,alo1
 	swap d0
 	move.w d0,ahi1
 	lea logo+badd+25*40-2,a4
 	move.l a4,d1
 	move.w d1,alo2
 	swap d1
 	move.w d1,ahi2
 	lea logo+badd*2+25*40-2,a4
 	move.l a4,d1
 	move.w d1,alo3
 	swap d1
 	move.w d1,ahi3
 	lea logo+badd*3+25*40-2,a4
 	move.l a4,d1
 	move.w d1,alo4
 	swap d1
 	move.w d1,ahi4
 	lea logo+badd*4+25*40-2,a4
 	move.l a4,d1
 	move.w d1,alo5
 	swap d1
 	move.w d1,ahi5
 	
 	lea screen+190*56,a0
 	move.l a0,d0
 	move.w d0,blo1
 	swap d0
 	move.w d0,bhi1
 	lea screen+cadd+190*56,a0
 	move.l a0,d0
 	move.w d0,blo2
 	swap d0
 	move.w d0,bhi2
 	lea screen+cadd*2+190*56,a0
 	move.l a0,d0
 	move.w d0,blo3
 	swap d0
 	move.w d0,bhi3
 	lea screen+cadd*3+190*56,a0
 	move.l a0,d0
 	move.w d0,blo4
 	swap d0
 	move.w d0,bhi4
 	lea screen+cadd*4+190*56,a0
 	move.l a0,d0
 	move.w d0,blo5
 	swap d0
 	move.w d0,bhi5
 	
 	moveq #$00,d0
 	lea grafname,a1
 	move.l $4,a6
 	jsr -132(A6)
 	move.l $4,A6
 	jsr -408(a6)
 	tst d0
 	beq nolib
 	move.l d0,grafbase
 	move.l d0,a6
 	add.l #$32,d0
 	move.l d0,a0
 	move.l a0,copaddr
 	move.l (a0),oldcop
 	move.l #newcop,(a0)
 	rts
 
	even
	  
grafname: dc.b "graphics.library",0
grafbase: dc.l 0
oldcop:   dc.l 0
copaddr:  dc.l 0
dig:	  dc.l 0
dig1:	  dc.l 0
dig2:	  dc.l 0
dig3:	  dc.l 0
dig4:	  dc.l 0
grumpy:	  dc.l 0
counter:  dc.b 0
counter1: dc.b 0
counter2: dc.b 0
counter3: dc.b 0
counter4: dc.b 0
stop:	  dc.b 0
stopcock: dc.b 0
start:	  dc.b 0
tune:	  dc.b 0

	even
 
newcop:	 dc.w $0100,$5200
 	 dc.w $0102
 	 dc.w $00ff
	 dc.w $0120
sp1l:	 dc.w $0000,$0122
sp1h: 	 dc.w $0000 
	 dc.w $0124
sp2l:	 dc.w $0000,$0126
sp2h: 	 dc.w $0000 
	 dc.w $0128
sp3l:	 dc.w $0000,$012a
sp3h: 	 dc.w $0000 
	 dc.w $012c
sp4l:	 dc.w $0000,$012e
sp4h: 	 dc.w $0000
	 dc.w $0130
sp5l:	 dc.w $0000,$132
sp5h: 	 dc.w $0000
 scr:  	 dc.w $2001,$fffe
 	 dc.w $00e0
 hi1:	 dc.w $0000
	 dc.w $00e2
 lo1:	 dc.w $0000 	
	 dc.w $00e4
 hi2:	 dc.w $0000
	 dc.w $00e6
 lo2:	 dc.w $0000 
	 dc.w $00e8
 hi3:	 dc.w $0000
	 dc.w $00ea
 lo3:	 dc.w $0000 
	 dc.w $00ec
 hi4:	 dc.w $0000
	 dc.w $00ee
 lo4:	 dc.w $0000 
	 dc.w $00f0
 hi5:	 dc.w $0000
	 dc.w $00f2
 lo5:	 dc.w $0000
	 dc.w $008e,$3021 
	 dc.w $0090,$30f1
	 dc.w $0092,$0020
	 dc.w $0094,$00d8
	 dc.w $0108,$0008
	 
	 dc.w $2001,$fffe
	 dc.w $0180
b1:	 dc.w $0000
	 dc.w $2101,$fffe
	 dc.w $0180
b2:	 dc.w $0000
	 dc.w $2201,$fffe
	 dc.w $0180
b3:	 dc.w $0000
	 dc.w $2301,$fffe
	 dc.w $0180
b4:	 dc.w $0000
	 dc.w $2401,$fffe
	 dc.w $0180
b5:	 dc.w $0000
	 dc.w $2501,$fffe
	 dc.w $0180
b6:	 dc.w $0000
	 dc.w $2601,$fffe
	 dc.w $0180
b7:	 dc.w $0000
	 dc.w $2701,$fffe
	 dc.w $0180
b8:	 dc.w $0000
	 dc.w $2801,$fffe
	 dc.w $0180
c1:	 dc.w $0000
	 dc.w $2901,$fffe
	 dc.w $0180
c2:	 dc.w $0000
	 dc.w $2a01,$fffe
	 dc.w $0180
c3:	 dc.w $0000
	 dc.w $2b01,$fffe
	 dc.w $0180
c4:	 dc.w $0000
	 dc.w $2c01,$fffe
	 dc.w $0180
c5:	 dc.w $0000
	 dc.w $2d01,$fffe
	 dc.w $0180
c6:	 dc.w $0000
	 dc.w $2e01,$fffe
	 dc.w $0180
c7:	 dc.w $0000
	 dc.w $2f01,$fffe
	 dc.w $0180
c8:	 dc.w $0000
	 dc.w $3001,$fffe
	 dc.w $0180
e1:	 dc.w $0000
	 dc.w $3101,$fffe
	 dc.w $0180
e2:	 dc.w $0000
	 dc.w $3201,$fffe
	 dc.w $0180
e3:	 dc.w $0000
	 dc.w $3301,$fffe
	 dc.w $0180
e4:	 dc.w $0000
	 dc.w $3401,$fffe
	 dc.w $0180
e5:	 dc.w $0000
	 dc.w $3501,$fffe
	 dc.w $0180
e6:	 dc.w $0000
	 dc.w $3601,$fffe
	 dc.w $0180
e7:	 dc.w $0000
	 dc.w $3701,$fffe
	 dc.w $0180
e8:	 dc.w $0000
	 dc.w $3801,$fffe
	 dc.w $0180
f1:	 dc.w $0000
	 dc.w $3901,$fffe
	 dc.w $0180
f2:	 dc.w $0000
	 dc.w $3a01,$fffe
	 dc.w $0180
f3:	 dc.w $0000
	 dc.w $3b01,$fffe
	 dc.w $0180
f4:	 dc.w $0000
	 dc.w $3c01,$fffe
	 dc.w $0180
f5:	 dc.w $0000
	 dc.w $3d01,$fffe
	 dc.w $0180
f6:	 dc.w $0000
	 dc.w $3e01,$fffe
	 dc.w $0180
f7:	 dc.w $0000
	 dc.w $3f01,$fffe
	 dc.w $0180
f8:	 dc.w $0000
	 dc.w $4001,$fffe
	 dc.w $0180
g1:	 dc.w $0000
	 dc.w $4101,$fffe
	 dc.w $0180
g2:	 dc.w $0000
	 dc.w $4201,$fffe
	 dc.w $0180
g3:	 dc.w $0000
	 dc.w $4301,$fffe
	 dc.w $0180
g4:	 dc.w $0000
	 dc.w $4401,$fffe
	 dc.w $0180
g5:	 dc.w $0000
	 dc.w $4501,$fffe
	 dc.w $0180
g6:	 dc.w $0000
	 dc.w $4601,$fffe
	 dc.w $0180
g7:	 dc.w $0000
	 dc.w $4701,$fffe
	 dc.w $0180
g8:	 dc.w $0000
	 dc.w $4801,$fffe
	 dc.w $0180,$0000
	 dc.w $0092,$0030
	 dc.w $0094,$00c8
	 dc.w $0108,$0000
	 dc.w $0102,$0000
	 dc.w $180,$000,$182,$306,$184,$407,$186,$417
	 dc.w $188,$528,$18a,$629,$18c,$639,$18e,$74a,$190,$85a
	 dc.w $192,$96b,$194,$a8c,$196,$b9c,$198,$cad,$19a,$dce
	 dc.w $19c,$ede,$19e,$fff,$1a0,$000,$1a2,$111,$1a4,$222
	 dc.w $1a6,$333,$1a8,$444,$1aa,$555,$1ac,$666,$1ae,$777
	 dc.w $1b0,$888,$1b2,$999,$1b4,$aaa,$1b6,$bbb,$1b8,$ccc
	 dc.w $1ba,$ddd,$1bc,$eee,$1be,$fff
	 dc.w $0180,$0000
	 dc.w $0180,$0000
 	 dc.w $00e0
ahi1:	 dc.w $0000
	 dc.w $00e2
alo1:	 dc.w $0000 	
	 dc.w $00e4
ahi2:	 dc.w $0000
	 dc.w $00e6
alo2:	 dc.w $0000 
	 dc.w $00e8
ahi3:	 dc.w $0000
	 dc.w $00ea
alo3:	 dc.w $0000 
	 dc.w $00ec
ahi4:	 dc.w $0000
	 dc.w $00ee
alo4:	 dc.w $0000 
	 dc.w $00f0
ahi5:	 dc.w $0000
	 dc.w $00f2
alo5:	 dc.w $0000
	 dc.w $cb01,$fffe
	 dc.w $0182,$0fff
	 dc.w $0180
h1:	 dc.w $0000
	 dc.w $cc01,$fffe
	 dc.w $0180
h2:	 dc.w $0000
	 dc.w $cd01,$fffe
	 dc.w $0180
h3:	 dc.w $0000
	 dc.w $ce01,$fffe
	 dc.w $0180
h4:	 dc.w $0000
	 dc.w $cf01,$fffe
	 dc.w $0180
h5:	 dc.w $0000
	 dc.w $d001,$fffe
	 dc.w $0180
h6:	 dc.w $0000
	 dc.w $d101,$fffe
	 dc.w $0180
h7:	 dc.w $0000
	 dc.w $d201,$fffe
	 dc.w $0180
h8:	 dc.w $0000
	 dc.w $d301,$fffe
	 dc.w $0180
i1:	 dc.w $0000
	 dc.w $d401,$fffe
	 dc.w $0180
i2:	 dc.w $0000
	 dc.w $d501,$fffe
	 dc.w $0180
i3:	 dc.w $0000
	 dc.w $d601,$fffe
	 dc.w $0180
i4:	 dc.w $0000
	 dc.w $d701,$fffe
	 dc.w $0180
i5:	 dc.w $0000
	 dc.w $d801,$fffe
	 dc.w $0180
i6:	 dc.w $0000
	 dc.w $d901,$fffe
	 dc.w $0180
i7:	 dc.w $0000
	 dc.w $da01,$fffe
	 dc.w $0180
i8:	 dc.w $0000
	 dc.w $db01,$fffe
	 dc.w $0180
j1:	 dc.w $0000
	 dc.w $dc01,$fffe
	 dc.w $0180
j2:	 dc.w $0000
	 dc.w $dd01,$fffe
	 dc.w $0180
j3:	 dc.w $0000
	 dc.w $de01,$fffe
	 dc.w $0180
j4:	 dc.w $0000
	 dc.w $df01,$fffe
	 dc.w $0180
j5:	 dc.w $0000
	 dc.w $e001,$fffe
	 dc.w $0180
j6:	 dc.w $0000
	 dc.w $e101,$fffe
	 dc.w $0180
j7:	 dc.w $0000
	 dc.w $e201,$fffe
	 dc.w $0180
j8:	 dc.w $0000
	 dc.w $e301,$fffe
	 dc.w $0180
k1:	 dc.w $0000
	 dc.w $e401,$fffe
	 dc.w $0180
k2:	 dc.w $0000
	 dc.w $e501,$fffe
	 dc.w $0180
k3:	 dc.w $0000
	 dc.w $e601,$fffe
	 dc.w $0180
k4:	 dc.w $0000
	 dc.w $e701,$fffe
	 dc.w $0180
k5:	 dc.w $0000
	 dc.w $e801,$fffe
	 dc.w $0180
k6:	 dc.w $0000
	 dc.w $e901,$fffe
	 dc.w $0180
k7:	 dc.w $0000
	 dc.w $ea01,$fffe
	 dc.w $0180
k8:	 dc.w $0000
	 dc.w $eb01,$fffe
	 dc.w $0180
l1:	 dc.w $0000
	 dc.w $ec01,$fffe
	 dc.w $0180
l2:	 dc.w $0000
	 dc.w $ed01,$fffe
	 dc.w $0180
l3:	 dc.w $0000
	 dc.w $ee01,$fffe
	 dc.w $0180
l4:	 dc.w $0000
	 dc.w $ef01,$fffe
	 dc.w $0180
l5:	 dc.w $0000
	 dc.w $f001,$fffe
	 dc.w $0180
l6:	 dc.w $0000
	 dc.w $f101,$fffe
	 dc.w $0180
l7:	 dc.w $0000
	 dc.w $f201,$fffe
	 dc.w $0180
l8:	 dc.w $0000
	 dc.w $f301,$fffe
	 dc.w $0180,$0000
	 dc.w $0092,$0020
	 dc.w $0094,$00d8
	 dc.w $0108,$0008
	 dc.w $0102
boh:	 dc.w $00ff
 	 dc.w $00e0
bhi1:	 dc.w $0000
	 dc.w $00e2
blo1:	 dc.w $0000 	
	 dc.w $00e4
bhi2:	 dc.w $0000
	 dc.w $00e6
blo2:	 dc.w $0000 
	 dc.w $00e8
bhi3:	 dc.w $0000
	 dc.w $00ea
blo3:	 dc.w $0000 
	 dc.w $00ec
bhi4:	 dc.w $0000
	 dc.w $00ee
blo4:	 dc.w $0000 
	 dc.w $00f0
bhi5:	 dc.w $0000
	 dc.w $00f2
blo5:	 dc.w $0000
	 dc.w $ffff,$fffe
	 
	 even


screen:
	 ds.b 5*cadd
	 
colourtab:
	
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0100,$0300,$0500,$0700
	dc.w $0900,$0b00,$0d00,$0f00,$0d00,$0b00,$0900,$0700
	dc.w $0500,$0300,$0100,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0010,$0030,$0050,$0070
	dc.w $0090,$00b0,$00d0,$00f0,$00d0,$00b0,$0090,$0070
	dc.w $0050,$0030,$0010,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0101,$0303,$0505,$0707
	dc.w $0909,$0b0b,$0d0d,$0f0f,$0d0d,$0b0b,$0909,$0707
	dc.w $0505,$0303,$0101,$0000,$0000,$0000,$0000,$0000 
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0011,$0033,$0055,$0077
	dc.w $0099,$00bb,$00dd,$00ff,$00dd,$00bb,$0099,$0077
	dc.w $0055,$0033,$0011,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0110,$0330,$0550,$0770
	dc.w $0990,$0bb0,$0dd0,$0ff0,$0dd0,$0bb0,$0990,$0770
	dc.w $0550,$0330,$0110,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	dc.w $0000,$0000,$0000,$0000,$0000,$0000,$0000,$0000
	
	 
	 


sorter:
	move.l dig,a4
	move.w (a4),b1
	adda.l #2,a4
	move.w (a4),b2
	adda.l #2,a4
	move.w (a4),b3
	adda.l #2,a4
	move.w (a4),b4
	adda.l #2,a4
	move.w (a4),b5
	adda.l #2,a4
	move.w (a4),b6
	adda.l #2,a4
	move.w (a4),b7
	adda.l #2,a4
	move.w (a4),b8
	suba.l #12,a4
	move.l a4,dig
	cmpi.b #8*30,counter
	bne hug
	move.l #colourtab+24,a4
	move.l a4,dig
	move.b #0,counter
hug:
	addi.b #1,counter
	rts
	
sorter1:
	move.l dig1,a4
	move.w (a4),c1
	adda.l #2,a4
	move.w (a4),c2
	adda.l #2,a4
	move.w (a4),c3
	adda.l #2,a4
	move.w (a4),c4
	adda.l #2,a4
	move.w (a4),c5
	adda.l #2,a4
	move.w (a4),c6
	adda.l #2,a4
	move.w (a4),c7
	adda.l #2,a4
	move.w (a4),c8
	suba.l #12,a4
	move.l a4,dig1
	cmpi.b #8*30,counter1
	bne hug1
	move.l #colourtab+18,a4
	move.l a4,dig1
	move.b #0,counter1
hug1:
	addi.b #1,counter1
	rts
	
	
sorter2:
	move.l dig2,a4
	move.w (a4),e1
	adda.l #2,a4
	move.w (a4),e2
	adda.l #2,a4
	move.w (a4),e3
	adda.l #2,a4
	move.w (a4),e4
	adda.l #2,a4
	move.w (a4),e5
	adda.l #2,a4
	move.w (a4),e6
	adda.l #2,a4
	move.w (a4),e7
	adda.l #2,a4
	move.w (a4),e8
	suba.l #12,a4
	move.l a4,dig2
	cmpi.b #8*30,counter2
	bne hug2
	move.l #colourtab+12,a4
	move.l a4,dig2
	move.b #0,counter2
hug2:
	addi.b #1,counter2
	rts
	
	
sorter3:
	move.l dig3,a4
	move.w (a4),f1
	adda.l #2,a4
	move.w (a4),f2
	adda.l #2,a4
	move.w (a4),f3
	adda.l #2,a4
	move.w (a4),f4
	adda.l #2,a4
	move.w (a4),f5
	adda.l #2,a4
	move.w (a4),f6
	adda.l #2,a4
	move.w (a4),f7
	adda.l #2,a4
	move.w (a4),f8
	suba.l #12,a4
	move.l a4,dig3
	cmpi.b #8*30,counter3
	bne hug3
	move.l #colourtab+6,a4
	move.l a4,dig3
	move.b #0,counter3
hug3:
	addi.b #1,counter3
	rts

	
sorter4:
	move.l dig4,a4
	move.w (a4),g1
	adda.l #2,a4
	move.w (a4),g2
	adda.l #2,a4
	move.w (a4),g3
	adda.l #2,a4
	move.w (a4),g4
	adda.l #2,a4
	move.w (a4),g5
	adda.l #2,a4
	move.w (a4),g6
	adda.l #2,a4
	move.w (a4),g7
	adda.l #2,a4
	move.w (a4),g8
	suba.l #12,a4
	move.l a4,dig4
	cmpi.b #8*30,counter4
	bne hug4
	move.l #colourtab,a4
	move.l a4,dig4
	move.b #0,counter4
hug4:
	addi.b #1,counter4
	rts


mover:	
	move.w b1,h1
	move.w b2,h2
	move.w b3,h3
	move.w b4,h4
	move.w b5,h5
	move.w b6,h6
	move.w b7,h7
	move.w b8,h8
	move.w c1,i1
	move.w c2,i2
	move.w c3,i3
	move.w c4,i4
	move.w c5,i5
	move.w c6,i6
	move.w c7,i7
	move.w c8,i8
	move.w e1,j1
	move.w e2,j2
	move.w e3,j3
	move.w e4,j4
	move.w e5,j5
	move.w e6,j6
	move.w e7,j7
	move.w e8,j8
	move.w f1,k1
	move.w f2,k2
	move.w f3,k3
	move.w f4,k4
	move.w f5,k5
	move.w f6,k6
	move.w f7,k7
	move.w f8,k8
	move.w g1,l1
	move.w g2,l2
	move.w g3,l3
	move.w g4,l4
	move.w g5,l5
	move.w g6,l6
	move.w g7,l7
	move.w g8,l8
	rts

	even
countx: dc.b 0
baz:	dc.l 0
yaz:	dc.b 0
gook:	dc.b 0
ook:	dc.b 0
	even

picdata:
	 incbin "df1:graphics/para.chrset.raw"
	 
bobsetup:
 	lea $dff000,a6
 	move.w #$09f0,bltcon0(a6)
 	clr.w bltcon1(a6)
 	clr.w bltamod(a6)
 	move.w #56-50,bltdmod(a6)             ;Destination Modulo
 	move.w #56-50,bltamod(a6)             ;Source Modulo (Scr Width - bob width)
 	move.l #screen-2+(56*220),bltdpt(a6)   ;Destination Start
 	move.l #screen+(56*220),bltapt(a6)     ;Source Start
 	move.w #%0000001000011001,bltsize(a6) ;Size (Lo 6 Bits Horiz)	
 	rts

printy:
	 move.l baz,a2
	 move.b (a2),yaz
	 move.b (a2)+,ook
	 move.l a2,baz
	 cmpi.b #0,yaz
	 bne frek
	 move.l #table,a2
	 move.l a2,baz
	 jmp ik
frek:
	 cmpi.b #65,yaz  ;A
	 bne char2
char1:	 
	 move.b picdata+320,screen+48+(56*220)
	 move.b picdata+360,screen+48+(56*221)
	 move.b picdata+400,screen+48+(56*222)
	 move.b picdata+440,screen+48+(56*223)
	 move.b picdata+480,screen+48+(56*224)
	 move.b picdata+520,screen+48+(56*225)
	 move.b picdata+560,screen+48+(56*226)
	 move.b picdata+600,screen+48+(56*227)
	 jmp ik
char2:   
	 cmpi.b #66,yaz  ;B
	 bne char3
 	 move.b picdata+320+1,screen+48+(56*220)
	 move.b picdata+360+1,screen+48+(56*221)
	 move.b picdata+400+1,screen+48+(56*222)
	 move.b picdata+440+1,screen+48+(56*223)
	 move.b picdata+480+1,screen+48+(56*224)
	 move.b picdata+520+1,screen+48+(56*225)
	 move.b picdata+560+1,screen+48+(56*226)
	 move.b picdata+600+1,screen+48+(56*227)
	 jmp ik
char3:
 	 cmpi.b #67,yaz  ;C
	 bne char4
 	 move.b picdata+320+2,screen+48+(56*220)
	 move.b picdata+360+2,screen+48+(56*221)
	 move.b picdata+400+2,screen+48+(56*222)
	 move.b picdata+440+2,screen+48+(56*223)
	 move.b picdata+480+2,screen+48+(56*224)
	 move.b picdata+520+2,screen+48+(56*225)
	 move.b picdata+560+2,screen+48+(56*226)
	 move.b picdata+600+2,screen+48+(56*227)
	 jmp ik
char4:
 	 cmpi.b #68,yaz  ;D
	 bne char5
 	 move.b picdata+320+3,screen+48+(56*220)
	 move.b picdata+360+3,screen+48+(56*221)
	 move.b picdata+400+3,screen+48+(56*222)
	 move.b picdata+440+3,screen+48+(56*223)
	 move.b picdata+480+3,screen+48+(56*224)
	 move.b picdata+520+3,screen+48+(56*225)
	 move.b picdata+560+3,screen+48+(56*226)
	 move.b picdata+600+3,screen+48+(56*227)
	 jmp ik
char5:
	 cmpi.b #69,yaz  ;E
	 bne char6
 	 move.b picdata+320+4,screen+48+(56*220)
	 move.b picdata+360+4,screen+48+(56*221)
	 move.b picdata+400+4,screen+48+(56*222)
	 move.b picdata+440+4,screen+48+(56*223)
	 move.b picdata+480+4,screen+48+(56*224)
	 move.b picdata+520+4,screen+48+(56*225)
	 move.b picdata+560+4,screen+48+(56*226)
	 move.b picdata+600+4,screen+48+(56*227)
	 jmp ik
char6:
 	 cmpi.b #70,yaz  ;F
	 bne char7
 	 move.b picdata+320+5,screen+48+(56*220)
	 move.b picdata+360+5,screen+48+(56*221)
	 move.b picdata+400+5,screen+48+(56*222)
	 move.b picdata+440+5,screen+48+(56*223)
	 move.b picdata+480+5,screen+48+(56*224)
	 move.b picdata+520+5,screen+48+(56*225)
	 move.b picdata+560+5,screen+48+(56*226)
	 move.b picdata+600+5,screen+48+(56*227)
	 jmp ik
char7:	
	 cmpi.b #71,yaz  ;G
	 bne char8
 	 move.b picdata+320+6,screen+48+(56*220)
	 move.b picdata+360+6,screen+48+(56*221)
	 move.b picdata+400+6,screen+48+(56*222)
	 move.b picdata+440+6,screen+48+(56*223)
	 move.b picdata+480+6,screen+48+(56*224)
	 move.b picdata+520+6,screen+48+(56*225)
	 move.b picdata+560+6,screen+48+(56*226)
	 move.b picdata+600+6,screen+48+(56*227)
	 jmp ik 
char8:
	 cmpi.b #72,yaz  ;H
	 bne char9
 	 move.b picdata+320+7,screen+48+(56*220)
	 move.b picdata+360+7,screen+48+(56*221)
	 move.b picdata+400+7,screen+48+(56*222)
	 move.b picdata+440+7,screen+48+(56*223)
	 move.b picdata+480+7,screen+48+(56*224)
	 move.b picdata+520+7,screen+48+(56*225)
	 move.b picdata+560+7,screen+48+(56*226)
	 move.b picdata+600+7,screen+48+(56*227)
	 jmp ik 
char9:
	 cmpi.b #73,yaz  ;I
	 bne char10
 	 move.b picdata+320+8,screen+48+(56*220)
	 move.b picdata+360+8,screen+48+(56*221)
	 move.b picdata+400+8,screen+48+(56*222)
	 move.b picdata+440+8,screen+48+(56*223)
	 move.b picdata+480+8,screen+48+(56*224)
	 move.b picdata+520+8,screen+48+(56*225)
	 move.b picdata+560+8,screen+48+(56*226)
	 move.b picdata+600+8,screen+48+(56*227)
	 jmp ik
char10:
	 cmpi.b #74,yaz  ;J
	 bne char11
 	 move.b picdata+320+9,screen+48+(56*220)
	 move.b picdata+360+9,screen+48+(56*221)
	 move.b picdata+400+9,screen+48+(56*222)
	 move.b picdata+440+9,screen+48+(56*223)
	 move.b picdata+480+9,screen+48+(56*224)
	 move.b picdata+520+9,screen+48+(56*225)
	 move.b picdata+560+9,screen+48+(56*226)
	 move.b picdata+600+9,screen+48+(56*227)
	 jmp ik
char11:
	 cmpi.b #75,yaz  ;K
	 bne char12
 	 move.b picdata+320+10,screen+48+(56*220)
	 move.b picdata+360+10,screen+48+(56*221)
	 move.b picdata+400+10,screen+48+(56*222)
	 move.b picdata+440+10,screen+48+(56*223)
	 move.b picdata+480+10,screen+48+(56*224)
	 move.b picdata+520+10,screen+48+(56*225)
	 move.b picdata+560+10,screen+48+(56*226)
	 move.b picdata+600+10,screen+48+(56*227)
	 jmp ik
char12:
	 cmpi.b #76,yaz  ;L
	 bne char13
 	 move.b picdata+320+11,screen+48+(56*220)
	 move.b picdata+360+11,screen+48+(56*221)
	 move.b picdata+400+11,screen+48+(56*222)
	 move.b picdata+440+11,screen+48+(56*223)
	 move.b picdata+480+11,screen+48+(56*224)
	 move.b picdata+520+11,screen+48+(56*225)
	 move.b picdata+560+11,screen+48+(56*226)
	 move.b picdata+600+11,screen+48+(56*227)
	 jmp ik
char13:
	 cmpi.b #77,yaz  ;M
	 bne char14
 	 move.b picdata+320+12,screen+48+(56*220)
	 move.b picdata+360+12,screen+48+(56*221)
	 move.b picdata+400+12,screen+48+(56*222)
	 move.b picdata+440+12,screen+48+(56*223)
	 move.b picdata+480+12,screen+48+(56*224)
	 move.b picdata+520+12,screen+48+(56*225)
	 move.b picdata+560+12,screen+48+(56*226)
	 move.b picdata+600+12,screen+48+(56*227)
	 jmp ik
char14:  
	 cmpi.b #78,yaz  ;N
	 bne char15
 	 move.b picdata+320+13,screen+48+(56*220)
	 move.b picdata+360+13,screen+48+(56*221)
	 move.b picdata+400+13,screen+48+(56*222)
	 move.b picdata+440+13,screen+48+(56*223)
	 move.b picdata+480+13,screen+48+(56*224)
	 move.b picdata+520+13,screen+48+(56*225)
	 move.b picdata+560+13,screen+48+(56*226)
	 move.b picdata+600+13,screen+48+(56*227)
	 jmp ik
char15:
 	 cmpi.b #79,yaz  ;O
	 bne char16
 	 move.b picdata+320+14,screen+48+(56*220)
	 move.b picdata+360+14,screen+48+(56*221)
	 move.b picdata+400+14,screen+48+(56*222)
	 move.b picdata+440+14,screen+48+(56*223)
	 move.b picdata+480+14,screen+48+(56*224)
	 move.b picdata+520+14,screen+48+(56*225)
	 move.b picdata+560+14,screen+48+(56*226)
	 move.b picdata+600+14,screen+48+(56*227)
	 jmp ik
char16:
	 cmpi.b #80,yaz  ;P
	 bne char17
 	 move.b picdata+320+15,screen+48+(56*220)
	 move.b picdata+360+15,screen+48+(56*221)
	 move.b picdata+400+15,screen+48+(56*222)
	 move.b picdata+440+15,screen+48+(56*223)
	 move.b picdata+480+15,screen+48+(56*224)
	 move.b picdata+520+15,screen+48+(56*225)
	 move.b picdata+560+15,screen+48+(56*226)
	 move.b picdata+600+15,screen+48+(56*227)
	 jmp ik
char17:
	 cmpi.b #81,yaz  ;Q
	 bne char18
 	 move.b picdata+320+16,screen+48+(56*220)
	 move.b picdata+360+16,screen+48+(56*221)
	 move.b picdata+400+16,screen+48+(56*222)
	 move.b picdata+440+16,screen+48+(56*223)
	 move.b picdata+480+16,screen+48+(56*224)
	 move.b picdata+520+16,screen+48+(56*225)
	 move.b picdata+560+16,screen+48+(56*226)
	 move.b picdata+600+16,screen+48+(56*227)
	 jmp ik
char18:
 	 cmpi.b #82,yaz  ;R
	 bne char19
 	 move.b picdata+320+17,screen+48+(56*220)
	 move.b picdata+360+17,screen+48+(56*221)
	 move.b picdata+400+17,screen+48+(56*222)
	 move.b picdata+440+17,screen+48+(56*223)
	 move.b picdata+480+17,screen+48+(56*224)
	 move.b picdata+520+17,screen+48+(56*225)
	 move.b picdata+560+17,screen+48+(56*226)
	 move.b picdata+600+17,screen+48+(56*227)
	 jmp ik
char19:
	 cmpi.b #83,yaz  ;S
	 bne char20
 	 move.b picdata+320+18,screen+48+(56*220)
	 move.b picdata+360+18,screen+48+(56*221)
	 move.b picdata+400+18,screen+48+(56*222)
	 move.b picdata+440+18,screen+48+(56*223)
	 move.b picdata+480+18,screen+48+(56*224)
	 move.b picdata+520+18,screen+48+(56*225)
	 move.b picdata+560+18,screen+48+(56*226)
	 move.b picdata+600+18,screen+48+(56*227)
	 jmp ik
char20:
	 cmpi.b #84,yaz  ;T
	 bne char21
 	 move.b picdata+320+19,screen+48+(56*220)
	 move.b picdata+360+19,screen+48+(56*221)
	 move.b picdata+400+19,screen+48+(56*222)
	 move.b picdata+440+19,screen+48+(56*223)
	 move.b picdata+480+19,screen+48+(56*224)
	 move.b picdata+520+19,screen+48+(56*225)
	 move.b picdata+560+19,screen+48+(56*226)
	 move.b picdata+600+19,screen+48+(56*227)
	 jmp ik
char21:
	 cmpi.b #85,yaz  ;U
	 bne char22
 	 move.b picdata+320+20,screen+48+(56*220)
	 move.b picdata+360+20,screen+48+(56*221)
	 move.b picdata+400+20,screen+48+(56*222)
	 move.b picdata+440+20,screen+48+(56*223)
	 move.b picdata+480+20,screen+48+(56*224)
	 move.b picdata+520+20,screen+48+(56*225)
	 move.b picdata+560+20,screen+48+(56*226)
	 move.b picdata+600+20,screen+48+(56*227)
	 jmp ik
char22:
	 cmpi.b #86,yaz  ;V
	 bne char23
 	 move.b picdata+320+21,screen+48+(56*220)
	 move.b picdata+360+21,screen+48+(56*221)
	 move.b picdata+400+21,screen+48+(56*222)
	 move.b picdata+440+21,screen+48+(56*223)
	 move.b picdata+480+21,screen+48+(56*224)
	 move.b picdata+520+21,screen+48+(56*225)
	 move.b picdata+560+21,screen+48+(56*226)
	 move.b picdata+600+21,screen+48+(56*227)
	 jmp ik
char23:
	 cmpi.b #87,yaz  ;W
	 bne char24
 	 move.b picdata+320+22,screen+48+(56*220)
	 move.b picdata+360+22,screen+48+(56*221)
	 move.b picdata+400+22,screen+48+(56*222)
	 move.b picdata+440+22,screen+48+(56*223)
	 move.b picdata+480+22,screen+48+(56*224)
	 move.b picdata+520+22,screen+48+(56*225)
	 move.b picdata+560+22,screen+48+(56*226)
	 move.b picdata+600+22,screen+48+(56*227)
	 jmp ik
char24:
	 cmpi.b #88,yaz  ;X
	 bne char25
 	 move.b picdata+320+23,screen+48+(56*220)
	 move.b picdata+360+23,screen+48+(56*221)
	 move.b picdata+400+23,screen+48+(56*222)
	 move.b picdata+440+23,screen+48+(56*223)
	 move.b picdata+480+23,screen+48+(56*224)
	 move.b picdata+520+23,screen+48+(56*225)
	 move.b picdata+560+23,screen+48+(56*226)
	 move.b picdata+600+23,screen+48+(56*227)
	 jmp ik
char25:
	 cmpi.b #89,yaz  ;Y
	 bne char26
 	 move.b picdata+320+24,screen+48+(56*220)
	 move.b picdata+360+24,screen+48+(56*221)
	 move.b picdata+400+24,screen+48+(56*222)
	 move.b picdata+440+24,screen+48+(56*223)
	 move.b picdata+480+24,screen+48+(56*224)
	 move.b picdata+520+24,screen+48+(56*225)
	 move.b picdata+560+24,screen+48+(56*226)
	 move.b picdata+600+24,screen+48+(56*227)
	 jmp ik	
char26:
	 cmpi.b #90,yaz  ;Z
	 bne char27
 	 move.b picdata+320+25,screen+48+(56*220)
	 move.b picdata+360+25,screen+48+(56*221)
	 move.b picdata+400+25,screen+48+(56*222)
	 move.b picdata+440+25,screen+48+(56*223)
	 move.b picdata+480+25,screen+48+(56*224)
	 move.b picdata+520+25,screen+48+(56*225)
	 move.b picdata+560+25,screen+48+(56*226)
	 move.b picdata+600+25,screen+48+(56*227)
	 jmp ik	
char27:
	 cmpi.b #32,yaz  ;SPACE
	 bne char32
 	 move.b picdata,screen+48+(56*220)
	 move.b picdata+40,screen+48+(56*221)
	 move.b picdata+80,screen+48+(56*222)
	 move.b picdata+120,screen+48+(56*223)
	 move.b picdata+160,screen+48+(56*224)
	 move.b picdata+200,screen+48+(56*225)
	 move.b picdata+240,screen+48+(56*226)
	 move.b picdata+280,screen+48+(56*227)
	 jmp ik	

char32:
 	 cmpi.b #46,yaz  ;. 
	 bne char33
 	 move.b picdata+11,screen+48+(56*220)
	 move.b picdata+40+11,screen+48+(56*221)
	 move.b picdata+80+11,screen+48+(56*222)
	 move.b picdata+120+11,screen+48+(56*223)
	 move.b picdata+160+11,screen+48+(56*224)
	 move.b picdata+200+11,screen+48+(56*225)
	 move.b picdata+240+11,screen+48+(56*226)
	 move.b picdata+280+11,screen+48+(56*227)
	 jmp ik
char33:
	 cmpi.b #48,yaz  ;0 
	 bne char34
 	 move.b picdata+10,screen+48+(56*220)
	 move.b picdata+40+10,screen+48+(56*221)
	 move.b picdata+80+10,screen+48+(56*222)
	 move.b picdata+120+10,screen+48+(56*223)
	 move.b picdata+160+10,screen+48+(56*224)
	 move.b picdata+200+10,screen+48+(56*225)
	 move.b picdata+240+10,screen+48+(56*226)
	 move.b picdata+280+10,screen+48+(56*227)
	 jmp ik
char34:
	 cmpi.b #49,yaz  ;1 
	 bne char35
 	 move.b picdata+1,screen+48+(56*220)
	 move.b picdata+40+1,screen+48+(56*221)
	 move.b picdata+80+1,screen+48+(56*222)
	 move.b picdata+120+1,screen+48+(56*223)
	 move.b picdata+160+1,screen+48+(56*224)
	 move.b picdata+200+1,screen+48+(56*225)
	 move.b picdata+240+1,screen+48+(56*226)
	 move.b picdata+280+1,screen+48+(56*227)
	 jmp ik	
char35:
	 cmpi.b #50,yaz  ;2 
	 bne char36
 	 move.b picdata+2,screen+48+(56*220)
	 move.b picdata+40+2,screen+48+(56*221)
	 move.b picdata+80+2,screen+48+(56*222)
	 move.b picdata+120+2,screen+48+(56*223)
	 move.b picdata+160+2,screen+48+(56*224)
	 move.b picdata+200+2,screen+48+(56*225)
	 move.b picdata+240+2,screen+48+(56*226)
	 move.b picdata+280+2,screen+48+(56*227)
	 jmp ik		
	 
char36:
	 cmpi.b #51,yaz  ;3 
	 bne char37
 	 move.b picdata+3,screen+48+(56*220)
	 move.b picdata+40+3,screen+48+(56*221)
	 move.b picdata+80+3,screen+48+(56*222)
	 move.b picdata+120+3,screen+48+(56*223)
	 move.b picdata+160+3,screen+48+(56*224)
	 move.b picdata+200+3,screen+48+(56*225)
	 move.b picdata+240+3,screen+48+(56*226)
	 move.b picdata+280+3,screen+48+(56*227)
	 jmp ik		
char37:
	 cmpi.b #52,yaz  ;4
	 bne char38
 	 move.b picdata+4,screen+48+(56*220)
	 move.b picdata+40+4,screen+48+(56*221)
	 move.b picdata+80+4,screen+48+(56*222)
	 move.b picdata+120+4,screen+48+(56*223)
	 move.b picdata+160+4,screen+48+(56*224)
	 move.b picdata+200+4,screen+48+(56*225)
	 move.b picdata+240+4,screen+48+(56*226)
	 move.b picdata+280+4,screen+48+(56*227)
	 jmp ik
char38:
	 cmpi.b #53,yaz  ;5
	 bne char39
 	 move.b picdata+5,screen+48+(56*220)
	 move.b picdata+40+5,screen+48+(56*221)
	 move.b picdata+80+5,screen+48+(56*222)
	 move.b picdata+120+5,screen+48+(56*223)
	 move.b picdata+160+5,screen+48+(56*224)
	 move.b picdata+200+5,screen+48+(56*225)
	 move.b picdata+240+5,screen+48+(56*226)
	 move.b picdata+280+5,screen+48+(56*227)
	 jmp ik
char39:
	 cmpi.b #54,yaz  ;6
	 bne char40
 	 move.b picdata+6,screen+48+(56*220)
	 move.b picdata+40+6,screen+48+(56*221)
	 move.b picdata+80+6,screen+48+(56*222)
	 move.b picdata+120+6,screen+48+(56*223)
	 move.b picdata+160+6,screen+48+(56*224)
	 move.b picdata+200+6,screen+48+(56*225)
	 move.b picdata+240+6,screen+48+(56*226)
	 move.b picdata+280+6,screen+48+(56*227)
	 jmp ik	 
char40:
	 cmpi.b #55,yaz  ;7
	 bne char41
 	 move.b picdata+7,screen+48+(56*220)
	 move.b picdata+40+7,screen+48+(56*221)
	 move.b picdata+80+7,screen+48+(56*222)
	 move.b picdata+120+7,screen+48+(56*223)
	 move.b picdata+160+7,screen+48+(56*224)
	 move.b picdata+200+7,screen+48+(56*225)
	 move.b picdata+240+7,screen+48+(56*226)
	 move.b picdata+280+7,screen+48+(56*227)
	 jmp ik		 
char41:
	 cmpi.b #56,yaz  ;8
	 bne char42
 	 move.b picdata+8,screen+48+(56*220)
	 move.b picdata+40+8,screen+48+(56*221)
	 move.b picdata+80+8,screen+48+(56*222)
	 move.b picdata+120+8,screen+48+(56*223)
	 move.b picdata+160+8,screen+48+(56*224)
	 move.b picdata+200+8,screen+48+(56*225)
	 move.b picdata+240+8,screen+48+(56*226)
	 move.b picdata+280+8,screen+48+(56*227)
	 jmp ik	 
char42:
	 cmpi.b #57,yaz  ;9
	 bne char43
	 move.b picdata+9,screen+48+(56*220)
	 move.b picdata+40+9,screen+48+(56*221)
	 move.b picdata+80+9,screen+48+(56*222)
	 move.b picdata+120+9,screen+48+(56*223)
	 move.b picdata+160+9,screen+48+(56*224)
	 move.b picdata+200+9,screen+48+(56*225)
	 move.b picdata+240+9,screen+48+(56*226)
	 move.b picdata+280+9,screen+48+(56*227)
	 jmp ik	
	 
char43:
	 cmpi.b #91,yaz  ;` = [
	 bne char44
	 move.b picdata+13,screen+48+(56*220)
	 move.b picdata+40+13,screen+48+(56*221)
	 move.b picdata+80+13,screen+48+(56*222)
	 move.b picdata+120+13,screen+48+(56*223)
	 move.b picdata+160+13,screen+48+(56*224)
	 move.b picdata+200+13,screen+48+(56*225)
	 move.b picdata+240+13,screen+48+(56*226)
	 move.b picdata+280+13,screen+48+(56*227)
	 jmp ik	 

char44:
	 cmpi.b #93,yaz  ;' = ]
	 bne gobstop
	 move.b picdata+14,screen+48+(56*220)
	 move.b picdata+40+14,screen+48+(56*221)
	 move.b picdata+80+14,screen+48+(56*222)
	 move.b picdata+120+14,screen+48+(56*223)
	 move.b picdata+160+14,screen+48+(56*224)
	 move.b picdata+200+14,screen+48+(56*225)
	 move.b picdata+240+14,screen+48+(56*226)
	 move.b picdata+280+14,screen+48+(56*227)
	 jmp ik	
	 
gobstop:
	 cmpi.b #45,yaz ; -
	 bne cobstop
	 move.b picdata+12,screen+48+(56*220)
	 move.b picdata+40+12,screen+48+(56*221)
	 move.b picdata+80+12,screen+48+(56*222)
	 move.b picdata+120+12,screen+48+(56*223)
	 move.b picdata+160+12,screen+48+(56*224)
	 move.b picdata+200+12,screen+48+(56*225)
	 move.b picdata+240+12,screen+48+(56*226)
	 move.b picdata+280+12,screen+48+(56*227)
	 jmp ik
	 
cobstop:
	 cmpi.b #63,yaz ; ?
	 bne charstop1
	 move.b picdata+320+27,screen+48+(56*220)
	 move.b picdata+360+27,screen+48+(56*221)
	 move.b picdata+400+27,screen+48+(56*222)
	 move.b picdata+440+27,screen+48+(56*223)
	 move.b picdata+480+27,screen+48+(56*224)
	 move.b picdata+520+27,screen+48+(56*225)
	 move.b picdata+560+27,screen+48+(56*226)
	 move.b picdata+600+27,screen+48+(56*227)
	 jmp ik
	 
charstop1:
	 cmpi.b #33,yaz ; !
	 bne charstop
	 move.b picdata+320+26,screen+48+(56*220)
	 move.b picdata+360+26,screen+48+(56*221)
	 move.b picdata+400+26,screen+48+(56*222)
	 move.b picdata+440+26,screen+48+(56*223)
	 move.b picdata+480+26,screen+48+(56*224)
	 move.b picdata+520+26,screen+48+(56*225)
	 move.b picdata+560+26,screen+48+(56*226)
	 move.b picdata+600+26,screen+48+(56*227)
	 jmp ik
	 
charstop:
	 cmpi.b #38,yaz  ;STOP = &
	 bne char47
	 move.b #1,stop
	 move.b #1,start
	 jmp ik

char47:
ik:	 cmpi.b #1,gook
	 beq baj
	 move.b screen+48+(56*220),screen+47+(56*220)
	 move.b screen+48+(56*221),screen+47+(56*221)
	 move.b screen+48+(56*222),screen+47+(56*222)
	 move.b screen+48+(56*223),screen+47+(56*223)
	 move.b screen+48+(56*224),screen+47+(56*224)
	 move.b screen+48+(56*225),screen+47+(56*225)
	 move.b screen+48+(56*226),screen+47+(56*226)
	 move.b screen+48+(56*227),screen+47+(56*227)
	 move.b #1,gook
	 jmp printy
baj:	 move.b #0,gook
	 rts

	 
table:
	 dc.b 'YOU]RE A REAL MAN NOW !!           &                '
	 dc.b 'THIS IS THE FIRST PRODUCTION BROUGHT TO YOU BY      '
	 dc.b '            BLACK BOX!                  &         '
	 dc.b '       MARTIN GALWAY TUNES 1             &          '
	 dc.b '      FEATURING 3 CLASSIC 64 TUNES CONVERTED BY      '
	 dc.b '              CHRONOS!                   &         '
	 dc.b '      ALL CODING BY                        AX!!          '
	 dc.b '            &          '
	 dc.b '      LOGO DRAWN BY                     GIZ!!          '
	 dc.b '           &            '
	 dc.b '      SELECTION OF THE DIFFERENT TUNES IS CONTROLLED BY '
	 dc.b 'PRESSING THE APPROPRIATE FUNCTION KEYS. F1 - PARALLAX HI'
	 dc.b 'GH SCORE TUNE. F2 - RAMBO LOADING TUNE. F3 - RAMBO TITLE'
	 dc.b ' TUNE.                  '
	 dc.b 'MORE 64 TUNES COMING SOON !!!         &                   '
	 dc.b '                        BLACK BOX IN 1990!              '
	 dc.b '&                               '
	 dc.b 0
	 
	 even	
	  

	
mt_init:
	
	lea	mt_data,a0
	move.l	a0,a1
	add.l	#$3b8,a1
	moveq	#$7f,d0
	moveq	#0,d1
mt_loop:move.l	d1,d2
	subq.w	#1,d0
mt_lop2:move.b	(a1)+,d1
	cmp.b	d2,d1
	bgt.s	mt_loop
	dbf	d0,mt_lop2
	addq.b	#1,d2

	lea	mt_samplestarts(pc),a1
	asl.l	#8,d2
	asl.l	#2,d2
	add.l	#$43c,d2
	add.l	a0,d2
	move.l	d2,a2
	moveq	#$1e,d0
mt_lop3:clr.l	(a2)
	move.l	a2,(a1)+
	moveq	#0,d1
	move.w	42(a0),d1
	asl.l	#1,d1
	add.l	d1,a2
	add.l	#$1e,a0
	dbf	d0,mt_lop3

	or.b	#$2,$bfe001
	move.b	#$6,mt_speed
	clr.w	$dff0a8
	clr.w	$dff0b8
	clr.w	$dff0c8
	clr.w	$dff0d8
	clr.b	mt_songpos
	clr.b	mt_counter
	clr.w	mt_pattpos
	rts

mt_end:	clr.w	$dff0a8
	clr.w	$dff0b8
	clr.w	$dff0c8
	clr.w	$dff0d8
	move.w	#$f,$dff096
	rts

mt_music:
	movem.l	d0-d4/a0-a3/a5-a6,-(a7)
	lea	mt_data,a0
	addq.b	#$1,mt_counter
	move.b	mt_counter,D0
	cmp.b	mt_speed,D0
	blt.s	mt_nonew
	clr.b	mt_counter
	bra	mt_getnew

mt_nonew:
	lea	mt_voice1(pc),a6
	lea	$dff0a0,a5
	bsr	mt_checkcom
	lea	mt_voice2(pc),a6
	lea	$dff0b0,a5
	bsr	mt_checkcom
	lea	mt_voice3(pc),a6
	lea	$dff0c0,a5
	bsr	mt_checkcom
	lea	mt_voice4(pc),a6
	lea	$dff0d0,a5
	bsr	mt_checkcom
	bra	mt_endr

mt_arpeggio:
	moveq	#0,d0
	move.b	mt_counter,d0
	divs	#$3,d0
	swap	d0
	cmp.w	#$0,d0
	beq.s	mt_arp2
	cmp.w	#$2,d0
	beq.s	mt_arp1

	moveq	#0,d0
	move.b	$3(a6),d0
	lsr.b	#4,d0
	bra.s	mt_arp3
mt_arp1:moveq	#0,d0
	move.b	$3(a6),d0
	and.b	#$f,d0
	bra.s	mt_arp3
mt_arp2:move.w	$10(a6),d2
	bra.s	mt_arp4
mt_arp3:asl.w	#1,d0
	moveq	#0,d1
	move.w	$10(a6),d1
	lea	mt_periods(pc),a0
	moveq	#$24,d7
mt_arploop:
	move.w	(a0,d0.w),d2
	cmp.w	(a0),d1
	bge.s	mt_arp4
	addq.l	#2,a0
	dbf	d7,mt_arploop
	rts
mt_arp4:move.w	d2,$6(a5)
	rts

mt_getnew:
	
	lea	mt_data,a0
	move.l	a0,a3
	move.l	a0,a2
	add.l	#$c,a3
	add.l	#$3b8,a2
	add.l	#$43c,a0

	moveq	#0,d0
	move.l	d0,d1
	move.b	mt_songpos,d0
	move.b	(a2,d0.w),d1
	asl.l	#8,d1
	asl.l	#2,d1
	add.w	mt_pattpos,d1
	clr.w	mt_dmacon

	lea	$dff0a0,a5
	lea	mt_voice1(pc),a6
	bsr.s	mt_playvoice
	lea	$dff0b0,a5
	lea	mt_voice2(pc),a6
	bsr.s	mt_playvoice
	lea	$dff0c0,a5
	lea	mt_voice3(pc),a6
	bsr.s	mt_playvoice
	lea	$dff0d0,a5
	lea	mt_voice4(pc),a6
	bsr.s	mt_playvoice
	bra	mt_setdma

mt_playvoice:
	move.l	(a0,d1.l),(a6)
	addq.l	#4,d1
	moveq	#0,d2
	move.b	$2(a6),d2
	and.b	#$f0,d2
	lsr.b	#4,d2
	move.b	(a6),d0
	and.b	#$f0,d0
	or.b	d0,d2
	tst.b	d2
	beq.s	mt_setregs
	moveq	#0,d3
	lea	mt_samplestarts(pc),a1
	move.l	d2,d4
	subq.l	#$1,d2
	asl.l	#2,d2
	mulu	#$1e,d4
	move.l	(a1,d2.l),$4(a6)
	move.w	(a3,d4.l),$8(a6)
	move.w	$2(a3,d4.l),$12(a6)
	move.w	$4(a3,d4.l),d3
	tst.w	d3
	beq.s	mt_noloop
	move.l	$4(a6),d2
	asl.w	#1,d3
	add.l	d3,d2
	move.l	d2,$a(a6)
	move.w	$4(a3,d4.l),d0
	add.w	$6(a3,d4.l),d0
	move.w	d0,8(a6)
	move.w	$6(a3,d4.l),$e(a6)
	move.w	$12(a6),$8(a5)
	bra.s	mt_setregs
mt_noloop:
	move.l	$4(a6),d2
	add.l	d3,d2
	move.l	d2,$a(a6)
	move.w	$6(a3,d4.l),$e(a6)
	move.w	$12(a6),$8(a5)
mt_setregs:
	move.w	(a6),d0
	and.w	#$fff,d0
	beq	mt_checkcom2
	move.b	$2(a6),d0
	and.b	#$F,d0
	cmp.b	#$3,d0
	bne.s	mt_setperiod
	bsr	mt_setmyport
	bra	mt_checkcom2
mt_setperiod:
	move.w	(a6),$10(a6)
	and.w	#$fff,$10(a6)
	move.w	$14(a6),d0
	move.w	d0,$dff096
	clr.b	$1b(a6)

	move.l	$4(a6),(a5)
	move.w	$8(a6),$4(a5)
	move.w	$10(a6),d0
	and.w	#$fff,d0
	move.w	d0,$6(a5)
	move.w	$14(a6),d0
	or.w	d0,mt_dmacon
	bra	mt_checkcom2

mt_setdma:
	move.w	#$12c,d0
mt_wait:dbf	d0,mt_wait
	move.w	mt_dmacon,d0
	or.w	#$8000,d0
	move.w	d0,$dff096
	move.w	#$12c,d0
mt_wai2:dbf	d0,mt_wai2
	lea	$dff000,a5
	lea	mt_voice4(pc),a6
	move.l	$a(a6),$d0(a5)
	move.w	$e(a6),$d4(a5)
	lea	mt_voice3(pc),a6
	move.l	$a(a6),$c0(a5)
	move.w	$e(a6),$c4(a5)
	lea	mt_voice2(pc),a6
	move.l	$a(a6),$b0(a5)
	move.w	$e(a6),$b4(a5)
	lea	mt_voice1(pc),a6
	move.l	$a(a6),$a0(a5)
	move.w	$e(a6),$a4(a5)

	add.w	#$10,mt_pattpos
	cmp.w	#$400,mt_pattpos
	bne.s	mt_endr
mt_nex:	clr.w	mt_pattpos
	clr.b	mt_break
	addq.b	#1,mt_songpos
	and.b	#$7f,mt_songpos
	move.b	mt_songpos,d1
	cmp.b	mt_data+$3b6,d1
	bne.s	mt_endr
	clr.b	mt_songpos
mt_endr:tst.b	mt_break
	bne.s	mt_nex
	movem.l	(a7)+,d0-d4/a0-a3/a5-a6
	rts

mt_setmyport:
	move.w	(a6),d2
	and.w	#$fff,d2
	move.w	d2,$18(a6)
	move.w	$10(a6),d0
	clr.b	$16(a6)
	cmp.w	d0,d2
	beq.s	mt_clrport
	bge.s	mt_rt
	move.b	#$1,$16(a6)
	rts
mt_clrport:
	clr.w	$18(a6)
mt_rt:	rts

mt_myport:
	move.b	$3(a6),d0
	beq.s	mt_myslide
	move.b	d0,$17(a6)
	clr.b	$3(a6)
mt_myslide:
	tst.w	$18(a6)
	beq.s	mt_rt
	moveq	#0,d0
	move.b	$17(a6),d0
	tst.b	$16(a6)
	bne.s	mt_mysub
	add.w	d0,$10(a6)
	move.w	$18(a6),d0
	cmp.w	$10(a6),d0
	bgt.s	mt_myok
	move.w	$18(a6),$10(a6)
	clr.w	$18(a6)
mt_myok:move.w	$10(a6),$6(a5)
	rts
mt_mysub:
	sub.w	d0,$10(a6)
	move.w	$18(a6),d0
	cmp.w	$10(a6),d0
	blt.s	mt_myok
	move.w	$18(a6),$10(a6)
	clr.w	$18(a6)
	move.w	$10(a6),$6(a5)
	rts

mt_vib:	move.b	$3(a6),d0
	beq.s	mt_vi
	move.b	d0,$1a(a6)

mt_vi:	move.b	$1b(a6),d0
	lea	mt_sin(pc),a4
	lsr.w	#$2,d0
	and.w	#$1f,d0
	moveq	#0,d2
	move.b	(a4,d0.w),d2
	move.b	$1a(a6),d0
	and.w	#$f,d0
	mulu	d0,d2
	lsr.w	#$6,d2
	move.w	$10(a6),d0
	tst.b	$1b(a6)
	bmi.s	mt_vibmin
	add.w	d2,d0
	bra.s	mt_vib2
mt_vibmin:
	sub.w	d2,d0
mt_vib2:move.w	d0,$6(a5)
	move.b	$1a(a6),d0
	lsr.w	#$2,d0
	and.w	#$3c,d0
	add.b	d0,$1b(a6)
	rts

mt_nop:	move.w	$10(a6),$6(a5)
	rts

mt_checkcom:
	move.w	$2(a6),d0
	and.w	#$fff,d0
	beq.s	mt_nop
	move.b	$2(a6),d0
	and.b	#$f,d0
	tst.b	d0
	beq	mt_arpeggio
	cmp.b	#$1,d0
	beq.s	mt_portup
	cmp.b	#$2,d0
	beq	mt_portdown
	cmp.b	#$3,d0
	beq	mt_myport
	cmp.b	#$4,d0
	beq	mt_vib
	move.w	$10(a6),$6(a5)
	cmp.b	#$a,d0
	beq.s	mt_volslide
	rts

mt_volslide:
	moveq	#0,d0
	move.b	$3(a6),d0
	lsr.b	#4,d0
	tst.b	d0
	beq.s	mt_voldown
	add.w	d0,$12(a6)
	cmp.w	#$40,$12(a6)
	bmi.s	mt_vol2
	move.w	#$40,$12(a6)
mt_vol2:move.w	$12(a6),$8(a5)
	rts

mt_voldown:
	moveq	#0,d0
	move.b	$3(a6),d0
	and.b	#$f,d0
	sub.w	d0,$12(a6)
	bpl.s	mt_vol3
	clr.w	$12(a6)
mt_vol3:move.w	$12(a6),$8(a5)
	rts

mt_portup:
	moveq	#0,d0
	move.b	$3(a6),d0
	sub.w	d0,$10(a6)
	move.w	$10(a6),d0
	and.w	#$fff,d0
	cmp.w	#$71,d0
	bpl.s	mt_por2
	and.w	#$f000,$10(a6)
	or.w	#$71,$10(a6)
mt_por2:move.w	$10(a6),d0
	and.w	#$fff,d0
	move.w	d0,$6(a5)
	rts

mt_portdown:
	clr.w	d0
	move.b	$3(a6),d0
	add.w	d0,$10(a6)
	move.w	$10(a6),d0
	and.w	#$fff,d0
	cmp.w	#$358,d0
	bmi.s	mt_por3
	and.w	#$f000,$10(a6)
	or.w	#$358,$10(a6)
mt_por3:move.w	$10(a6),d0
	and.w	#$fff,d0
	move.w	d0,$6(a5)
	rts

mt_checkcom2:
	move.b	$2(a6),d0
	and.b	#$f,d0
	cmp.b	#$e,d0
	beq.s	mt_setfilt
	cmp.b	#$d,d0
	beq.s	mt_pattbreak
	cmp.b	#$b,d0
	beq.s	mt_posjmp
	cmp.b	#$c,d0
	beq.s	mt_setvol
	cmp.b	#$f,d0
	beq.s	mt_setspeed
	rts

mt_setfilt:
	rts
mt_pattbreak:
	not.b	mt_break
	rts
mt_posjmp:
	move.b	$3(a6),d0
	subq.b	#$1,d0
	move.b	d0,mt_songpos
	not.b	mt_break
	rts
mt_setvol:
	cmp.b	#$40,$3(a6)
	ble.s	mt_vol4
	move.b	#$40,$3(a6)
mt_vol4:move.b	$3(a6),$8(a5)
	rts
mt_setspeed:
	move.b	$3(a6),d0
	and.w	#$1f,d0
	beq.s	mt_rts2
	clr.b	mt_counter
	move.b	d0,mt_speed
mt_rts2:rts




mt_sin:
 dc.b $00,$18,$31,$4a,$61,$78,$8d,$a1,$b4,$c5,$d4,$e0,$eb,$f4,$fa,$fd
 dc.b $ff,$fd,$fa,$f4,$eb,$e0,$d4,$c5,$b4,$a1,$8d,$78,$61,$4a,$31,$18

mt_periods:
 dc.w $0358,$0328,$02fa,$02d0,$02a6,$0280,$025c,$023a,$021a,$01fc,$01e0
 dc.w $01c5,$01ac,$0194,$017d,$0168,$0153,$0140,$012e,$011d,$010d,$00fe
 dc.w $00f0,$00e2,$00d6,$00ca,$00be,$00b4,$00aa,$00a0,$0097,$008f,$0087
 dc.w $007f,$0078,$0071,$0000,$0000

mt_speed:	dc.b	$6
mt_songpos:	dc.b	$0
mt_pattpos:	dc.w	$0
mt_counter:	dc.b	$0

mt_break:	dc.b	$0
mt_dmacon:	dc.w	$0
mt_samplestarts:dcb.l	$1f,0
mt_voice1:	dcb.w	10,0
		dc.w	$1
		dcb.w	3,0
mt_voice2:	dcb.w	10,0
		dc.w	$2
		dcb.w	3,0
mt_voice3:	dcb.w	10,0
		dc.w	$4
		dcb.w	3,0
mt_voice4:	dcb.w	10,0
		dc.w	$8
		dcb.w	3,0

mt_data incbin "df1:Modules/Mod.parallax"

	 
logo:
	 incbin 'df1:graphics/sky.logo.raw'
	 
