diff --git a/src/libsrc/dgr.pla b/src/libsrc/dgr.pla
index 142be5a..13f9281 100755
--- a/src/libsrc/dgr.pla
+++ b/src/libsrc/dgr.pla
@@ -206,8 +206,9 @@ export asm dgrBLT(buff, x, y, width, height, src)
 	CLC
 	ADC	ESTKL+2,X	; WIDTH
 	STA	SRCL
-	BCC	+++
-	INC	SRCH
+	LDA	SRCH
+	ADC	#$00
+	STA	SRCH
 	BNE	+++
 +	AND	#$FE
 	TAY
@@ -267,10 +268,12 @@ asm _dgrSetPix
 end
 asm _dgrSetEvnEvn
 	; EVEN PIXEL
+	LDA	$2000,X
+	AND	#$0F
+	STA	TMP
 	JSR	$0100		; LDA AUX (DST),Y
-	EOR	$2000,X
 	AND	#$F0
-	EOR	$2000,X
+	ORA	TMP
 	STA	$C005		; WRITE AUX MEM
 	STA	(GBASE),Y
 	STA	$C004		; WRITE MAIN MEM
@@ -278,10 +281,12 @@ asm _dgrSetEvnEvn
 end
 asm _dgrSetEvnOdd
 	; ODD PIXEL
-+	LDA	(GBASE),Y
-	EOR	$1000,X
++	LDA	$1000,X
+	AND	#$0F
+	STA	TMP
+	LDA	(GBASE),Y
 	AND	#$F0
-	EOR	$1000,X
+	ORA	TMP
 	STA	(GBASE),Y
 	RTS
 	; ODD ROW
@@ -291,10 +296,12 @@ asm _dgrSetEvnOdd
 end
 asm _dgrSetOddEvn
 	; EVEN PIXEL
+	LDA	$2000,X
+	AND	#$F0
+	STA	TMP
 	JSR	$0100		; LDA AUX (DST),Y
-	EOR	$2000,X
 	AND	#$0F
-	EOR	$2000,X
+	ORA	TMP
 	STA	$C005		; WRITE AUX MEM
 	STA	(GBASE),Y
 	STA	$C004		; WRITE MAIN MEM
@@ -302,10 +309,12 @@ asm _dgrSetOddEvn
 end
 asm _dgrSetOddOdd
 	; ODD PIXEL
-+++	LDA	(GBASE),Y
-	EOR	$1000,X
++++	LDA	$1000,X
+	AND	#$F0
+	STA	TMP
+	LDA	(GBASE),Y
 	AND	#$0F
-	EOR	$1000,X
+	ORA	TMP
 	STA	(GBASE),Y
 	RTS
 end
@@ -349,8 +358,9 @@ export asm dgrTile(buff, x, y, src)
 	LDA	SRCL		; SKIP TO NEXT ROW
 	ADC	#$07		; CARRY = 1
 	STA	SRCL
-	BCC	+++
-	INC	SRCH
+	LDA	SRCH
+	ADC	#$00
+	STA	SRCH
 	BNE	+++
 +	AND	#$FE
 	TAY
@@ -655,16 +665,16 @@ fin
 //
 // Assembly fixups
 //
-_dgrPlotPix:1   = @_dgrSetPix
-_dgrHLinPix:1   = @_dgrSetPix
-_dgrVLinPix:1   = @_dgrSetPix
-_dgrBLTPix:1    = @_dgrSetPix
-_dgrTileTile:1  = @dgrTile
-_dgrFillTile:1  = @dgrTile
-_dgrSetEvnEvn:1 = @evnclr
-_dgrSetEvnOdd:1 = @oddclr
-_dgrSetOddEvn:1 = @evnclr
-_dgrSetOddOdd:1 = @oddclr
+*(@_dgrPlotPix):1   = @_dgrSetPix
+*(@_dgrHLinPix):1   = @_dgrSetPix
+*(@_dgrVLinPix):1   = @_dgrSetPix
+*(@_dgrBLTPix):1    = @_dgrSetPix
+*(@_dgrTileTile):1  = @dgrTile
+*(@_dgrFillTile):1  = @dgrTile
+*(@_dgrSetEvnEvn):1 = @evnclr
+*(@_dgrSetEvnOdd):1 = @oddclr
+*(@_dgrSetOddEvn):1 = @evnclr
+*(@_dgrSetOddOdd):1 = @oddclr
 // Put read AUX mem routine in scary location
 memcpy($0100, @auxRead, 9)
 done