 	
 	  section ax,code_c
	  opt c-,d+,w-,o+	
	
	  include 'df1:insert/custom registers'
	
badd=(320*256)/8
	
	  lea $dff000,a6
	  move.w #$87e0,dmacon(a6)
	  jsr cop_init
 	  move.l $6c,oldirq
 	  move.l #newirq,$6c
mse:
 	  cmp.b #$f0,$dff006
 	  bne mse
 	
zog:
 	  btst #6,$bfe001
	  bne mse
 	  move.l oldirq,$6c
 	  move.l copaddr,a0
 	  move.l oldcop,(a0)
 	  clr.l d0
nolib:	
	  rts	
	
newirq:  
	  movem.l d0-d7/a0-a6,$75000
	
	  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+badd,a0
 	  move.l a0,d0
 	  move.w d0,lo2
 	  swap d0
 	  move.w d0,hi2
 	  lea screen+badd*2,a0
 	  move.l a0,d0
 	  move.w d0,lo3
 	  swap d0
 	  move.w d0,hi3
 	  lea screen+badd*3,a0
 	  move.l a0,d0
 	  move.w d0,lo4
 	  swap d0
 	  move.w d0,hi4
 	  lea screen+badd*4,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

	  even
 
newcop:	   dc.w $0100,$1200
 	   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
 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,$1a64 
	   dc.w $0090,$39d1
cols:      dc.w $180,$000,$182,$fff,$184,$fdb,$186,$db9
	   dc.w $188,$c97,$18a,$a75,$18c,$853,$18e,$033
	   dc.w $190,$c60,$192,$ba5,$194,$962,$196,$530
	   dc.w $198,$db4,$19a,$558,$19c,$447,$19e,$336
	   dc.w $1a0,$a40,$1a2,$f44,$1a4,$b00,$1a6,$222
	   dc.w $1a8,$333,$1aa,$444,$1ac,$555,$1ae,$666		
	   dc.w $1b0,$777,$1b2,$888,$1b4,$999,$1b6,$aaa
	   dc.w $1b8,$ccc,$1ba,$ddd,$1bc,$eee,$1be,$fff
	   dc.w $ffff,$fffe
	 
	   even

screen:
	   ds.b 1*badd
	 

