;Resolution was written by AX using graphics
;by GIZ and questions by POD
;RELEAST BY INNER CITY 1990

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

	lea $dff000,a6
	move.w #%1111111111111111,bltafwm (a6)
	move.w #%1111111111111111,bltalwm (a6)
	move.w #$87e0,dmacon(a6)
	;move.w #$0020,dmacon(a6)
	lea $dff144,a0
	moveq #7,d0
lolk:	clr.l (a0)
	addq.l #8,a0
	dbf d0,lolk
	move.w #160,question
	move.b #1,moggy
	move.b #1,tune
	move.b #0,bung
	move.b #1,numpla
	move.b #1,curpla
	move.l #howz,a3
	move.l a3,bddr
	move.b $dff006,rav
	subi.b #51,rav
	bpl spex1
	move.l #table+(267*30),a2
	move.l a2,addr
	jmp kolp
spex1:	subi.b #102,rav
	bpl spex2
	move.l #table+(267*60),a2
	move.l a2,addr
	jmp kolp
spex2:	subi.b #153,rav
	bpl spex3
	move.l #table+(267*90),a2
	move.l a2,addr
	jmp kolp
spex3:	subi.b #204,rav
	bpl spex4
	move.l #table+(267*120),a2
	move.l a2,addr
	jmp kolp
spex4:	move.l #table,a2
	move.l a2,addr
kolp:
	move.l #0,dir
	jsr cop_init
 	move.l $6c,oldirq
 	move.l #newirq,$6c 

two:	subi.w #1,question
	cmpi.w #0,question
	bne zog
	move.w #152,question
zog:
 	btst #6,$bfe001
	bne two
 	cmp.b #1,music
 	bne hug
 	jsr mt_end
hug:
 	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,grouse
	beq vugy
	cmpi.b #1,flat
	beq hugy
	cmpi.b #1,players
	bne lugy
	cmpi.b #1,bung
	bne lugy
	cmpi.b #1,before
	beq lugy
sugy:	jsr scrollmessblit
	jmp hugy
lugy:	move.w #$000b,hello
	jmp bugy
hugy:	move.w #$0eee,hello
	jmp bugy
vugy:   
	cmpi.b #1,moggy
	bne dce1
	jsr interblit1
	jmp bugy
dce1:	cmpi.b #2,moggy
	bne dce2
	jsr interblit2
	jmp bugy
dce2:	cmpi.b #3,moggy
	bne bugy
	jsr interblit3
bugy:	move.b akey,d0
	not d0
	ror.b d0
frz:	
	cmp.b #$59,d0
	bne frz1
	cmp.b #1,music
	bne bang
	move.b #0,music
	jsr mt_end
	move.w #$0000,eq1
	move.w #$0000,eq2
	move.w #$0000,eq3
	move.w #$0000,eq4
frz1:	
	cmp.b #$50,d0
	bne bang
	move.b #1,tune
	move.w #$0f,$dff096
	jsr mt_init
	move.b #1,music
	jmp bang
bang:
	cmpi.b #1,music
	bne grew
	jsr mt_music
	jsr equals
grew:
	cmpi.b #1,players
	beq raz
	jsr printb
	jsr printb
	jsr printb
	jsr printb
	jsr printb
	jmp tr
raz:
	cmpi.b #1,moving
	bne hjk
	addi.b #1,leng
	cmpi.b #10,leng
	bne hjk
	move.b #0,moving
	move.b #0,leng
hjk:
	cmpi.b #1,play
	bne hao
	addi.b #1,len
	cmpi.b #8,len
	bne hao
	cmpi.b #1,music
	beq fregx
	move.w #$0001,$dff096
fregx:
	move.b #0,play
	move.b #0,len
hao:	
	cmpi.w #0,time
	beq rew
	addi.w #1,time
rew:
	cmpi.b #0,stop
	bne nog
	jsr printa
	jsr printa
	cmpi.b #1,curpla
	bne ging1
	jsr player1blit
	jmp ging3
ging1:	cmpi.b #2,curpla
	bne ging2
	jsr player2blit
	jmp ging3
ging2:	cmpi.b #3,curpla
	bne ging3
	jsr player3blit
ging3:
	jmp cow
nog:    
	cmpi.b #1,done
	beq row
	addi.w #$0111,tex1
	addi.w #$0111,tex4
	cmpi.w #$0fff,tex1
	bne cow
	move.b #1,done
	move.w #$0500,bar
row:	
	cmp.w #0,time
	bne xow
	jmp rfk
xow:	cmp.w #80,time
	bne cow
	move.w #0,time
rfk:	jsr joyu
	jmp cow	
cow:
	cmp.w #79,time
	bne tr
	cmpi.b #1,music
	beq tr
	move.w #$0001,$dff096
	move.b #0,wongo
tr:
	cmp.b #0,dir
	bne boow
	subi.w #$0111,l1
	subi.w #$0111,l2
	move.w #$0080,cursor
	cmpi.b #1,done
	bne goo1
	move.w l2,tex3
goo1:	cmpi.w #$0111,l1
	bne who
	move.b #1,dir
	jmp who
boow:   addi.w #$0111,l1
	addi.w #$0111,l2
	move.w #$0000,cursor
	cmpi.b #1,done
	bne goo2
	move.w l2,tex3
goo2:	cmpi.w #$0fff,l1
	bne who
	move.b #0,dir
who:	movem.l $75000,d0-d7/a0-a6
	dc.w $4ef9
oldirq: dc.l 0
	even
joyu:
	cmpi.b #0,before
	bne bj
	move.w $dff00c,d0
	move.w d0,d1
	lsr.w #1,d1
	eor.w d0,d1
	btst #0,d1
	bne down
	btst #8,d1
	bne up
no:	
	btst #7,$bfe001
	bne hj
	cmpi.b #0,before
	bne bj
fruh:
	move.w #$0fff,tex2
	move.b #1,before
	move.w #1,time
grs:
	cmpi.b #0,pos
	bne grs1
	cmpi.b #0,bung	
	bne moog1
	move.b #1,numpla
	move.b #1,bung
	jmp hj
moog1:
	cmpi.b #65,ans
	bne wrong
	jmp right
grs1:
	cmpi.b #1,pos
	bne grs2
	cmpi.b #0,bung	
	bne moog2
	move.b #2,numpla
	move.b #1,bung
	jmp hj
moog2:
	cmpi.b #66,ans
	bne wrong
	jmp right
grs2:
	cmpi.b #0,bung	
	bne moog3
	move.b #3,numpla
	move.b #1,bung
	jmp hj
moog3:
	cmpi.b #67,ans
	bne wrong
	jmp right
museini:
	cmpi.b #1,music
	beq nope
	move.w #$0f,$dff096
	move.b #1,music
	jmp kiop
nope:	move.w #$0f,$dff096
	move.b #0,music
kiop:	rts
right:
	cmp.b #1,curpla
	bne right1
	jsr yeahplay
	jsr rightblit
	move.b #0,chit
	move.b #1,wongo
	addi.b #1,score
crug:	move.l logo+5840,picdata+10000+2
crug1:  move.l logo+5840+badd,picdata+10000+2+badd
crug2:	move.l logo+5840+badd*2,picdata+10000+2+badd*2
crug3:	move.l logo+5840+badd*3,picdata+10000+2+badd*3
crug4:	move.l logo+5840+badd*4,picdata+10000+2+badd*4
	move.l crug+6,a1
	move.l crug+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crug+6
	move.l a2,crug+2	
	move.l crug1+6,a1
	move.l crug1+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crug1+6
	move.l a2,crug1+2	
	move.l crug2+6,a1
	move.l crug2+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crug2+6
	move.l a2,crug2+2	
	move.l crug3+6,a1
	move.l crug3+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crug3+6
	move.l a2,crug3+2	
	move.l crug4+6,a1
	move.l crug4+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crug4+6
	move.l a2,crug4+2	
	addi.b #1,chit
	cmp.b #3,chit
	bne crug
	cmpi.b #3,numpla
	bne frig
	move.b #2,curpla
	jmp hj
frig:	cmpi.b #2,numpla
	bne frig1
	move.b #2,curpla
	jmp hj
frig1:	jmp hj
	even
right1:
	cmp.b #2,curpla
	bne right2
	jsr yeahplay
	jsr rightblit
	move.b #1,wongo
	addi.b #1,score1
	move.b #0,chit
crag:	move.l logo+5840,picdata+10000+8
crag1:  move.l logo+5840+badd,picdata+10000+8+badd
crag2:	move.l logo+5840+badd*2,picdata+10000+8+badd*2
crag3:	move.l logo+5840+badd*3,picdata+10000+8+badd*3
crag4:	move.l logo+5840+badd*4,picdata+10000+8+badd*4
	move.l crag+6,a1
	move.l crag+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crag+6
	move.l a2,crag+2	
	move.l crag1+6,a1
	move.l crag1+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crag1+6
	move.l a2,crag1+2	
	move.l crag2+6,a1
	move.l crag2+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crag2+6
	move.l a2,crag2+2	
	move.l crag3+6,a1
	move.l crag3+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crag3+6
	move.l a2,crag3+2	
	move.l crag4+6,a1
	move.l crag4+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,crag4+6
	move.l a2,crag4+2	
	addi.b #1,chit
	cmp.b #3,chit
	bne crag
	cmpi.b #3,numpla
	bne trig
	move.b #3,curpla
	jmp hj
trig:	move.b #1,curpla
	jmp hj
right2: 
	cmp.b #3,curpla
	bne wrong
	jsr yeahplay
	jsr rightblit
	move.b #1,wongo
	addi.b #1,score2
	move.b #0,chit
brug:	move.l logo+5840,picdata+10000+14
brug1:	move.l logo+5840+badd,picdata+10000+14+badd
brug2:	move.l logo+5840+badd*2,picdata+10000+14+badd*2
brug3:	move.l logo+5840+badd*3,picdata+10000+14+badd*3
brug4:	move.l logo+5840+badd*4,picdata+10000+14+badd*4
	move.l brug+6,a1
	move.l brug+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,brug+6
	move.l a2,brug+2	
	move.l brug1+6,a1
	move.l brug1+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,brug1+6
	move.l a2,brug1+2	
	move.l brug2+6,a1
	move.l brug2+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,brug2+6
	move.l a2,brug2+2	
	move.l brug3+6,a1
	move.l brug3+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,brug3+6
	move.l a2,brug3+2	
	move.l brug4+6,a1
	move.l brug4+2,a2
	suba.l #40,a1
	suba.l #40,a2
	move.l a1,brug4+6
	move.l a2,brug4+2	
	addi.b #1,chit
	cmp.b #3,chit
	bne brug
	move.b #1,curpla
	jmp hj
wrong:
	move.b #1,wongo
	jsr huhuplay
	jsr wrongblit
	cmpi.b #1,numpla
	bne gax1
	jmp hj
gax1:	cmpi.b #2,numpla
	bne gax2
	cmpi.b #1,curpla
	bne fc1
	move.b #2,curpla
	jmp hj
fc1:	move.b #1,curpla
	jmp hj
gax2:	cmpi.b #1,curpla
	bne fc2
	move.b #2,curpla
	jmp hj
fc2:	cmpi.b #2,curpla
	bne fc3
	move.b #3,curpla
	jmp hj
fc3:	move.b #1,curpla
	jmp hj
bj:	
	cmpi.b #25,score
	bne greb1
	jsr blitwin1
	jmp ghu
greb1:	cmpi.b #25,score1
	bne greb2
	jsr blitwin2
	jmp ghu
greb2:	cmpi.b #25,score2
	bne ghu
	jsr blitwin3
ghu:	
	btst #7,$bfe001
	bne hj
	move.b #0,flat
	cmpi.b #25,score
	bne jug1
	jsr blitclr
	move.b #1,grouse
	move.l #howz,a1
	move.l a1,bddr
	move.b #0,score
	move.b #0,score1
	move.b #0,score2
	jsr clearcompblit
	jsr setposj
	jmp jug3
jug1:
	cmpi.b #25,score1
	bne jug2
	jsr blitclr
	move.b #1,grouse
	move.l #howz,a1
	move.l a1,bddr
	move.b #0,score
	move.b #0,score1
	move.b #0,score2
	jsr clearcompblit
	jsr setposj
	jmp jug3
jug2:
	cmpi.b #25,score2
	bne jug3
	jsr blitclr
	move.b #1,grouse
	move.l #howz,a1
	move.l a1,bddr
	move.b #0,score
	move.b #0,score1
	move.b #0,score2
	jsr clearcompblit
	jsr setposj
jug3:	
	move.l #picdata+3000+2,sel1+6
	move.w #$0000,tex1
	move.w #$0000,tex2
	move.w #$0000,tex3
	move.w #$0000,tex4
	move.b #0,before
	move.b #0,stop
	move.b #0,done
	move.b #0,quest
	move.w #0,bar
	
	cmpi.b #1,music
	beq dreg
	move.w #$0001,$dff096
dreg:
	move.w #$9301,slh1
	move.w #$9a01,slh2
	move.b #0,pos
hj:
	rts
down:
	cmp.b #1,moving
	bne dfg
	rts
dfg:
	cmp.b #0,pos
	bne down1
	move.w #$9b01,slh1
	move.w #$a201,slh2
	move.b #1,pos
	jsr click
	rts
down1:	
	cmp.b #1,pos
	bne down2
	move.w #$a301,slh1
	move.w #$aa01,slh2
	move.b #2,pos
	jsr click
	rts
down2:	
	rts
up:	
	cmp.b #1,moving
	bne asd
	rts
asd:
	cmp.b #1,pos
	bne up1
	move.w #$9301,slh1
	move.w #$9a01,slh2
	move.b #0,pos
	jsr click
	rts
up1:	
	cmp.b #2,pos
	bne up2
	move.w #$9b01,slh1
	move.w #$a201,slh2
	move.b #1,pos
	jsr click
	rts
up2:
	rts
cop_init:
 	lea logo-1,a0
 	move.l a0,d0
 	move.w d0,alo1
 	swap d0
 	move.w d0,ahi1
 	lea logo+badd-1,a0
 	move.l a0,d0
 	move.w d0,alo2
 	swap d0
 	move.w d0,ahi2
 	lea logo+badd*2-1,a0
 	move.l a0,d0
 	move.w d0,alo3
 	swap d0
 	move.w d0,ahi3
 	lea logo+badd*3-1,a0
 	move.l a0,d0
 	move.w d0,alo4
 	swap d0
 	move.w d0,ahi4
 	lea logo+badd*4-1,a0
 	move.l a0,d0
 	move.w d0,alo5
 	swap d0
 	move.w d0,ahi5
 	lea picdata+2600,a0
 	move.l a0,d0
 	move.w d0,lo1
 	swap d0
 	move.w d0,hi1
 	lea picdata+badd+2600,a0
 	move.l a0,d0
 	move.w d0,lo2
 	swap d0
 	move.w d0,hi2
 	lea picdata+badd*2+2600,a0
 	move.l a0,d0
 	move.w d0,lo3
 	swap d0
 	move.w d0,hi3
 	lea picdata+badd*3+2600,a0
 	move.l a0,d0
 	move.w d0,lo4
 	swap d0
 	move.w d0,hi4
 	lea picdata+badd*4+2600,a0
 	move.l a0,d0
 	move.w d0,lo5
 	swap d0
 	move.w d0,hi5
 	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
dir:	  dc.b 0
conta:	  dc.b 0
yaz:	  dc.b 0
addr:	  dc.l 0
stop:	  dc.b 0
quest:	  dc.b 0
done:	  dc.b 0
before:	  dc.b 0
time:	  dc.w 0
pos:	  dc.b 0
ans:	  dc.b 0
score:    dc.b 0
len:	  dc.b 0
play:	  dc.b 0
moving:	  dc.b 0
leng:	  dc.b 0
players:  dc.b 0
bddr:     dc.l 0
numpla:	  dc.b 0
curpla:	  dc.b 0
score1:	  dc.b 0
score2:   dc.b 0
bung:	  dc.b 0
music:	  dc.b 0
wongo:	  dc.b 0
tune:	  dc.b 0
chit:	  dc.b 0
gddr:	  dc.l 0
numod:	  dc.b 0
scrollo:  dc.b 0
countre:  dc.b 0
thistime: dc.b 0
flat:	  dc.b 0
grouse:   dc.b 0
moggy:    dc.b 0
rav:	  dc.b 0
question: dc.w 0
subber:	  dc.w 0

	even
newcop:	 dc.w $0100,$5200
 	 dc.w $0102
boh: 	 dc.w $0000
	 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
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 $008e,$3081 
	 dc.w $0090,$30b1
	 dc.w $0092,$0030
	 dc.w $0094,$00c8 
	 dc.w $180,$000,$182,$000,$184,$e00,$186,$a00
	 dc.w $188,$d80,$18a,$ff0,$18c,$0f0,$18e,$080,$190,$0b6
	 dc.w $192,$0dd,$194,$019,$196,$016,$198,$fed,$19a,$fdb
	 dc.w $19c,$fb9,$19e,$b87,$1a0,$854,$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 $7001,$fffe
	 dc.w $0180
l1:	 dc.w $0fff
	 dc.w $7101,$fffe
	 dc.w $0180,$0000
	 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 $0182
tex1:	 dc.w $0000
slh1:	 dc.w $9301,$fffe
	 dc.w $0180
bar:	 dc.w $0000
	 dc.w $0182
tex3:	 dc.w $0000
slh2:	 dc.w $9a01,$fffe
	 dc.w $0180,$0000
	 dc.w $0182
tex4:	 dc.w $0000
	 dc.w $ab01,$fffe
	 dc.w $0182
tex2:	 dc.w $0000
	 dc.w $0180,$0000
	 dc.w $c401,$fffe
	 dc.w $0180
l2:	 dc.w $0fff
	 dc.w $0182
	 dc.w $0fff
	 dc.w $c501,$fffe
	 dc.w $0180,$0000
	 dc.w $0184,$0222
	 dc.w $0190
eq1:	 dc.w $0000
	 dc.w $0192
eq2:	 dc.w $0000
	 dc.w $0194
eq3:	 dc.w $0000
	 dc.w $0196
eq4:	 dc.w $0000
	 dc.w $018e
cursor:	 dc.w $0080
	 dc.w $0184
drives:	 dc.w $0f00
	 dc.w $c801,$fffe
	 dc.w $0102
scrol1:	 dc.w $0000
	 dc.w $0182,$0222
	 dc.w $c901,$fffe
	 dc.w $01ba
hello:	 dc.w $0eee
	 dc.w $0182,$0444
	 dc.w $ca01,$fffe
	 dc.w $0182,$0666
	 dc.w $cb01,$fffe
	 dc.w $0182,$0888
	 dc.w $cc01,$fffe
	 dc.w $0182,$0aaa
	 dc.w $cd01,$fffe
	 dc.w $0182,$0ccc
	 dc.w $ce01,$fffe
	 dc.w $0182,$0eee
	 dc.w $d001,$fffe
	 dc.w $0182,$0ccc
	 dc.w $d101,$fffe
	 dc.w $0182,$0aaa
	 dc.w $d201,$fffe
	 dc.w $0182,$0888
	 dc.w $0180,$0000
	 dc.w $d301,$fffe
	 dc.w $0182,$0000
	 dc.w $d601,$fffe
	 dc.w $0180
l3:	 dc.w $0000
	 dc.w $d701,$fffe
	 dc.w $0102,$0000
	 dc.w $0180,$0000
	 dc.w $ffff,$fffe
	 even
picdata:
	 incbin "df1:graphics/bbc.chrset.raw"
printa:	 
	 move.b #0,grouse
	 move.b #0,flat
	 move.b #1,players
	 move.b #1,bung
	 move.b #0,before
         move.l addr,a2
         move.b (a2)+,yaz
         move.l a2,addr
         jmp char1
printb:	 
	 move.l bddr,a3
	 move.b (a3)+,yaz
	 move.l a3,bddr
	 cmpi.b #42,yaz
	 bne char1
	 move.b #1,players
	 move.b #1,stop
	 rts
char1:	 
	 cmp.b #65,yaz  ;A
         bne char2
         move.l #picdata+320,sel1+2
         jmp printer
char2:   
	 cmp.b #66,yaz  ;B
         bne char3
         move.l #picdata+320+1,sel1+2
         jmp printer   
char3:   
	 cmp.b #67,yaz  ;C
         bne char4
         move.l #picdata+320+2,sel1+2
         jmp printer   
char4:   
	 cmp.b #68,yaz  ;D
         bne char5
         move.l #picdata+320+3,sel1+2
         jmp printer
char5:   
	 cmp.b #69,yaz  ;E
         bne char6
         move.l #picdata+320+4,sel1+2
         jmp printer         
char6:
	 cmp.b #70,yaz  ;F
         bne char7
         move.l #picdata+320+5,sel1+2
         jmp printer         
char7:   
	 cmp.b #71,yaz  ;G
         bne char8
         move.l #picdata+320+6,sel1+2
         jmp printer         
char8:   
	 cmp.b #72,yaz  ;H
         bne char9
         move.l #picdata+320+7,sel1+2
         jmp printer         
char9:
	 cmp.b #73,yaz  ;I
         bne char10
         move.l #picdata+320+8,sel1+2
         jmp printer         
char10:   
	 cmp.b #74,yaz  ;J
         bne char11
         move.l #picdata+320+9,sel1+2
         jmp printer       
char11: 
	 cmp.b #75,yaz  ;K
         bne char12
         move.l #picdata+320+10,sel1+2
         jmp printer 
char12: 
	 cmp.b #76,yaz  ;L
         bne char13
         move.l #picdata+320+11,sel1+2
         jmp printer  
char13: 
	 cmp.b #77,yaz  ;M
         bne char14
         move.l #picdata+320+12,sel1+2
         jmp printer 
char14: 
	 cmp.b #78,yaz  ;N
         bne char15
         move.l #picdata+320+13,sel1+2
         jmp printer 
char15:
 	 cmp.b #79,yaz  ;O
         bne char16
         move.l #picdata+320+14,sel1+2
         jmp printer 
char16:
 	 cmp.b #80,yaz  ;P
         bne char17
         move.l #picdata+320+15,sel1+2
         jmp printer 
char17:
 	 cmp.b #81,yaz  ;Q
         bne char18
         move.l #picdata+320+16,sel1+2
         jmp printer 
char18:
 	 cmp.b #82,yaz  ;R
         bne char19
         move.l #picdata+320+17,sel1+2
         jmp printer 
char19:
	 cmp.b #83,yaz  ;S
         bne char20
         move.l #picdata+320+18,sel1+2
         jmp printer 
char20:
	 cmp.b #84,yaz  ;T
         bne char21
         move.l #picdata+320+19,sel1+2
         jmp printer
char21:
	 cmp.b #85,yaz  ;U
         bne char22
         move.l #picdata+320+20,sel1+2
         jmp printer
char22:
	 cmp.b #86,yaz  ;V
         bne char23
         move.l #picdata+320+21,sel1+2
         jmp printer
char23:
	 cmp.b #87,yaz  ;W
         bne char24
         move.l #picdata+320+22,sel1+2
         jmp printer
char24:
	 cmp.b #88,yaz  ;X
         bne char25
         move.l #picdata+320+23,sel1+2
         jmp printer
char25:
	 cmp.b #89,yaz  ;Y
         bne char26
         move.l #picdata+320+24,sel1+2
         jmp printer
char26:
	 cmp.b #90,yaz  ;Z
         bne inserty27
         move.l #picdata+320+25,sel1+2
         jmp printer
inserty27:
	 cmp.b #33,yaz  ;!
	 bne inserty28
	 move.l #picdata+320+26,sel1+2
	 jmp printer
inserty28:
	 cmp.b #63,yaz  ;?
	 bne char27
	 move.l #picdata+320+27,sel1+2
	 jmp printer         
char27:
	 cmp.b #32,yaz  ;SPACE
	 bne char28
	 move.l #picdata,sel1+2
	 jmp printer
char28:
	 cmp.b #42,yaz  ;END OF QUESTION
	 bne char29
	 move.b #1,stop 
	 move.b (a2)+,ans
	 move.l a2,addr
	 move.w question,subber
	 lea  table,a3
	 cmpi.w #0,subber
	 beq roe
fgu:	 adda.l #267,a3
	 subi.w #1,subber
	 cmpi.w #0,subber
	 bne fgu
roe:	 move.l a3,addr
	 rts
	
char29:
	 cmp.b #49,yaz  ;1
         bne char30
         move.l #picdata+1,sel1+2
         jmp printer
char30:
 	 cmp.b #50,yaz  ;2
         bne char31
         move.l #picdata+2,sel1+2
         jmp printer
char31:
 	 cmp.b #51,yaz  ;3
         bne char32
         move.l #picdata+3,sel1+2
         jmp printer
char32:
 	 cmp.b #52,yaz  ;4
         bne char33
         move.l #picdata+4,sel1+2
         jmp printer
char33:
 	 cmp.b #53,yaz  ;5
         bne char34
         move.l #picdata+5,sel1+2
         jmp printer
char34:
 	 cmp.b #54,yaz  ;6
         bne char35
         move.l #picdata+6,sel1+2
         jmp printer
char35:         
         cmp.b #55,yaz  ;7
         bne char36
         move.l #picdata+7,sel1+2
         jmp printer
char36:         
         cmp.b #56,yaz  ;8
         bne char37
         move.l #picdata+8,sel1+2
         jmp printer     	 
char37:         
         cmp.b #57,yaz  ;9
         bne char38
         move.l #picdata+9,sel1+2
         jmp printer
char38:         
         cmp.b #48,yaz  ;0
         bne char39
         move.l #picdata+10,sel1+2
         jmp printer
char39:
	 cmp.b #$2e,yaz  ;.
         bne char40
         move.l #picdata+11,sel1+2
         jmp printer
char40:
	 cmp.b #$2d,yaz  ;-
         bne char41
         move.l #picdata+12,sel1+2
         jmp printer
char41:
	 cmp.b #$5b,yaz  ;[ = `
         bne char42
         move.l #picdata+13,sel1+2
         jmp printer
char42:
	 cmp.b #$5d,yaz  ;] = '
         bne char43
         move.l #picdata+14,sel1+2
         jmp printer
char43:	
	 cmp.b #$2c,yaz  ;,
         bne char44
         move.l #picdata+15,sel1+2
         jmp printer
char44:
	 rts
printer:
sel1:	 move.b picdata,picdata+3000+2
	 move.l sel1+2,a1
	 adda.l #40,a1
	 move.l a1,sel1+2
	 move.l sel1+6,a1
	 adda.l #40,a1
	 move.l a1,sel1+6
	 addi.b #1,conta
	 cmp.b #8,conta
	 bne sel1
	 move.b #0,conta
	 move.l sel1+6,a1
	 suba.l #320,a1
	 adda.l #1,a1
	 move.l a1,sel1+6
	 addi.b #1,quest
	 cmpi.b #38,quest
	 bne frid
	 move.l sel1+6,a1
	 adda.l #320,a1
	 suba.l #38,a1
	 move.l a1,sel1+6
	 move.b #0,quest
frid:
	 rts
table:
	 include 'df1:TEXT/QUESTIONS'
	 include 'df1:TEXT/QUESTIONS 1'
	 include 'df1:TEXT/QUESTIONS 2'
	 include 'df1:TEXT/QUESTIONS 3'
	 include 'df1:TEXT/QUESTIONS 4'
	 include 'df1:TEXT/QUESTIONS 5'
sample:
	 incbin 'df1:SAMPLES/huhu'
samplend:
click:
	cmp.b #1,music
	beq fraod
	move.l #hihat,$dff0a0
	move.w #(hihatend-hihat)/2,$dff0a4
	move.w #500,$dff0a6
	move.w #64,$dff0a8
	move.w #$8201,$dff096
fraod:
	move.b #1,moving
	move.b #1,play
	move.b #0,len
nao:	rts
hihat:
	 incbin 'df1:SAMPLES/19hat'
hihatend:
howz:	
	 dc.b 'SELECT THE NUMBER OF PLAYERS          '
	 dc.b '                                      '
	 dc.b '                                      '
	 dc.b '1 PLAYER                              '
	 dc.b '2 PLAYERS                             '
	 dc.b '3 PLAYERS                             '
	 dc.b '                                      '
	 dc.b 'SELECTION COMPLETE                   *'
huhuplay:
	cmp.b #1,music
	beq frop
	cmp.b #1,wongo
	bne frop
	move.l #sample,$dff0a0
	move.w #(samplend-sample)/2,$dff0a4
	move.w #500,$dff0a6
	move.w #64,$dff0a8
	move.w #$8201,$dff096
frop:
	rts 
yeaah:
	incbin 'df1:samples/yeah'
yeaahend:
yeahplay:
	cmp.b #1,music
	beq frop1
	move.l #yeaah,$dff0a0
	move.w #(yeaahend-yeaah)/2,$dff0a4
	move.w #500,$dff0a6
	move.w #64,$dff0a8
	move.w #$8201,$dff096
frop1:
	rts
mossy:
	include 'df1:insert/noisetracker insert'
screenz:
	incbin 'df1:graphics/credits.raw'
logo:
	incbin 'df1:graphics/resolution.gfx.raw'
equals:
	cmpi.w #0,mt_voice1
	bne doit
	move.w #$0000,eq1
oi:	cmpi.w #0,mt_voice2
	bne doit1
	move.w #$0000,eq2
oi1:	cmpi.w #0,mt_voice3
	bne doit2
	move.w #$0000,eq3
oi2:	cmpi.w #0,mt_voice4
	bne doit3
	move.w #$0000,eq4
	jmp dreads
doit:	
	move.w #$0f00,eq1
	jmp oi
doit1:
	move.w #$00f0,eq2
	jmp oi1
doit2:
	move.w #$000f,eq3
	jmp oi2
doit3:
	move.w #$0ff0,eq4
dreads: 
	rts
player1blit:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-16,bltamod(a6)
	move.w #40-16,bltdmod(a6)
	move.l #picdata+6000,bltdpt(a6)
	move.l #logo+6200-2,bltapt(a6)
	move.w #%0000010000001000,bltsize(a6)
	rts
player2blit:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-16,bltamod(a6)
	move.w #40-16,bltdmod(a6)
	move.l #picdata+6000,bltdpt(a6)
	move.l #logo+6720-2,bltapt(a6)
	move.w #%0000010000001000,bltsize(a6)
	rts
player3blit:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-16,bltamod(a6)
	move.w #40-16,bltdmod(a6)
	move.l #picdata+6000,bltdpt(a6)
	move.l #logo+7240-2,bltapt(a6)
	move.w #%0000010000001000,bltsize(a6)
	rts
clearcompblit:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-16,bltamod(a6)
	move.w #40-16,bltdmod(a6)
	move.l #picdata+7000+2,bltdpt(a6)
	move.l #logo+4000+20,bltapt(a6)
	move.w #%0001010000001000,bltsize(a6)
	move.l #picdata+7000+badd+2,bltdpt(a6)
	move.l #logo+4000+badd+20,bltapt(a6)
	move.w #%0001010000001000,bltsize(a6)
	move.l #picdata+7000+badd*2+2,bltdpt(a6)
	move.l #logo+badd*2+4000+20,bltapt(a6)
	move.w #%0001010000001000,bltsize(a6)
	move.l #picdata+7000+badd*3+2,bltdpt(a6)
	move.l #logo+badd*3+4000+20,bltapt(a6)
	move.w #%0001010000001000,bltsize(a6)
	move.l #picdata+7000+badd*4+2,bltdpt(a6)
	move.l #logo+badd*4+4000+20,bltapt(a6)
	move.w #%0001010000001000,bltsize(a6)	
	rts
setposj:	
	move.l #logo+5840,crug+2
	move.l #logo+5840+badd,crug1+2
	move.l #logo+5840+badd*2,crug2+2
	move.l #logo+5840+badd*3,crug3+2
	move.l #logo+5840+badd*4,crug4+2
	move.l #picdata+10000+2,crug+6
	move.l #picdata+10000+2+badd,crug1+6
	move.l #picdata+10000+2+badd*2,crug2+6
	move.l #picdata+10000+2+badd*3,crug3+6
	move.l #picdata+10000+2+badd*4,crug4+6
	move.l #logo+5840,crag+2
	move.l #logo+5840+badd,crag1+2
	move.l #logo+5840+badd*2,crag2+2
	move.l #logo+5840+badd*3,crag3+2
	move.l #logo+5840+badd*4,crag4+2
	move.l #picdata+10000+8,crag+6
	move.l #picdata+10000+8+badd,crag1+6
	move.l #picdata+10000+8+badd*2,crag2+6
	move.l #picdata+10000+8+badd*3,crag3+6
	move.l #picdata+10000+8+badd*4,crag4+6
	move.l #logo+5840,brug+2
	move.l #logo+5840+badd,brug1+2
	move.l #logo+5840+badd*2,brug2+2
	move.l #logo+5840+badd*3,brug3+2
	move.l #logo+5840+badd*4,brug4+2
	move.l #picdata+10000+14,brug+6
	move.l #picdata+10000+14+badd,brug1+6
	move.l #picdata+10000+14+badd*2,brug2+6
	move.l #picdata+10000+14+badd*3,brug3+6
	move.l #picdata+10000+14+badd*4,brug4+6	
	move.b #1,curpla
	move.b #0,players
	move.l #howz,a1
	move.l a1,bddr
	move.l #picdata,sel1+2
	move.l #picdata+3000+2,sel1+6
	move.b #0,quest
	move.b #0,bung
	rts
scrollmessblit:
	cmpi.b #1,thistime
	bne boox
	move.b #0,thistime
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	move.l #%11111111111111111111111111111111,bltafwm(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-12,bltamod(a6)
	move.w #40-12,bltdmod(a6)
	move.l #picdata+6000+26-40,bltdpt(a6)
gop1:	move.l #screenz+40,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd+26-40,bltdpt(a6)
gop2:	move.l #screenz+badd+40,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*2+26-40,bltdpt(a6)
gop3:	move.l #screenz+badd*2+40,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*3+26-40,bltdpt(a6)
gop4:	move.l #screenz+badd*3+40,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*4+26-40,bltdpt(a6)
gop5:	move.l #screenz+badd*4+40,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)	
	cmpi.b #1,scrollo
	beq gook
	move.l gop1+2,a2
	adda.l #40,a2
	move.l a2,gop1+2
	move.l gop2+2,a2
	adda.l #40,a2
	move.l a2,gop2+2
	move.l gop3+2,a2
	adda.l #40,a2
	move.l a2,gop3+2
	move.l gop4+2,a2
	adda.l #40,a2
	move.l a2,gop4+2
	move.l gop5+2,a2
	adda.l #40,a2
	move.l a2,gop5+2
	addi.b #1,countre
	cmpi.b #170,countre
	bne boox
	move.b #0,countre
	move.b #1,scrollo
	jmp boox
gook:	
	move.l gop1+2,a2
	suba.l #40,a2
	move.l a2,gop1+2
	move.l gop2+2,a2
	suba.l #40,a2
	move.l a2,gop2+2
	move.l gop3+2,a2
	suba.l #40,a2
	move.l a2,gop3+2
	move.l gop4+2,a2
	suba.l #40,a2
	move.l a2,gop4+2
	move.l gop5+2,a2
	suba.l #40,a2
	move.l a2,gop5+2
	addi.b #1,countre
	cmpi.b #170,countre
	bne boox
	move.b #0,countre
	move.b #0,scrollo
boox:
	addi.b #1,thistime
	rts
wrongblit:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-12,bltamod(a6)
	move.w #40-12,bltdmod(a6)
	move.l #picdata+6000+26-40,bltdpt(a6)
	move.l #screenz+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd+26-40,bltdpt(a6)
	move.l #screenz+badd+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*2+26-40,bltdpt(a6)
	move.l #screenz+badd*2+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*3+26-40,bltdpt(a6)
	move.l #screenz+badd*3+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*4+26-40,bltdpt(a6)
	move.l #screenz+badd*4+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)	
	move.b #1,flat
	rts
rightblit:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-12,bltamod(a6)
	move.w #40-12,bltdmod(a6)
	move.l #picdata+6000+26-40,bltdpt(a6)
	move.l #screenz+3280+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd+26-40,bltdpt(a6)
	move.l #screenz+badd+3280+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*2+26-40,bltdpt(a6)
	move.l #screenz+badd*2+3280+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*3+26-40,bltdpt(a6)
	move.l #screenz+badd*3+3280+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*4+26-40,bltdpt(a6)
	move.l #screenz+badd*4+3280+24,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)	
	move.b #1,flat
	rts
blitwin1:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-16,bltamod(a6)
	move.w #40-16,bltdmod(a6)
	move.l #picdata+6000,bltdpt(a6)
	move.l #logo+7760-2,bltapt(a6)
	move.w #%0000010000001000,bltsize(a6)
	rts
blitwin2:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-16,bltamod(a6)
	move.w #40-16,bltdmod(a6)
	move.l #picdata+6000,bltdpt(a6)
	move.l #logo+8280-2,bltapt(a6)
	move.w #%0000010000001000,bltsize(a6)
	rts	
blitwin3:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-16,bltamod(a6)
	move.w #40-16,bltdmod(a6)
	move.l #picdata+6000,bltdpt(a6)
	move.l #logo+8800-2,bltapt(a6)
	move.w #%0000010000001000,bltsize(a6)
	rts	
blitclr:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-16,bltamod(a6)
	move.w #40-16,bltdmod(a6)
	move.l #picdata+6000,bltdpt(a6)
	move.l #logo+9320-2,bltapt(a6)
	move.w #%0000010000001000,bltsize(a6)
	rts	
interblit1:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-12,bltamod(a6)
	move.w #40-12,bltdmod(a6)
	move.l #picdata+6000+26-40,bltdpt(a6)
	move.l #screenz+40+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd+26-40,bltdpt(a6)
	move.l #screenz+badd+40+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*2+26-40,bltdpt(a6)
	move.l #screenz+badd*2+40+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*3+26-40,bltdpt(a6)
	move.l #screenz+badd*3+40+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*4+26-40,bltdpt(a6)
	move.l #screenz+badd*4+40+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)	
	move.b #1,flat
	move.b #2,moggy
	rts
interblit2:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-12,bltamod(a6)
	move.w #40-12,bltdmod(a6)
	move.l #picdata+6000+26-40,bltdpt(a6)
	move.l #screenz+3280+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd+26-40,bltdpt(a6)
	move.l #screenz+badd+3280+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*2+26-40,bltdpt(a6)
	move.l #screenz+badd*2+3280+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*3+26-40,bltdpt(a6)
	move.l #screenz+badd*3+3280+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*4+26-40,bltdpt(a6)
	move.l #screenz+badd*4+3280+12,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)	
	move.b #1,flat
	move.b #3,moggy
	rts
interblit3:
	lea $dff000,a6
	move.w #$09f0,bltcon0(a6)
	clr.w bltcon1(a6)
	clr.w bltamod(a6)
	move.w #40-12,bltamod(a6)
	move.w #40-12,bltdmod(a6)
	move.l #picdata+6000+26-40,bltdpt(a6)
	move.l #screenz+3280+12+3240,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd+26-40,bltdpt(a6)
	move.l #screenz+badd+3280+12+3240,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*2+26-40,bltdpt(a6)
	move.l #screenz+badd*2+3280+12+3240,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*3+26-40,bltdpt(a6)
	move.l #screenz+badd*3+3280+12+3240,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)
	move.l #picdata+6000+badd*4+26-40,bltdpt(a6)
	move.l #screenz+badd*4+3280+12+3240,bltapt(a6)
	move.w #%0001010010000110,bltsize(a6)	
	move.b #1,flat
	move.b #1,moggy
	rts
	

