diff --git a/src/libsrc/apple/dcgrlib.pla b/src/dcgr.tk/libs/dcgrlib.pla
similarity index 99%
rename from src/libsrc/apple/dcgrlib.pla
rename to src/dcgr.tk/libs/dcgrlib.pla
index aa1e784..8e60ffe 100644
--- a/src/libsrc/apple/dcgrlib.pla
+++ b/src/dcgr.tk/libs/dcgrlib.pla
@@ -213,7 +213,7 @@ byte dcgrSurface, opScr, opMem
 // Surface independent entrypoints
 //
 asm plvmzp#0
-!SOURCE    "vmsrc/plvmzp.inc"
+!SOURCE    "vmsrc/apple/plvmzp.inc"
 end
 export asm dcgrPixel(x, y)#0
         JMP     $1000
diff --git a/src/libsrc/apple/dcgrutils.pla b/src/dcgr.tk/libs/dcgrutils.pla
similarity index 100%
rename from src/libsrc/apple/dcgrutils.pla
rename to src/dcgr.tk/libs/dcgrutils.pla
diff --git a/src/dcgr.tk/makefile b/src/dcgr.tk/makefile
new file mode 100644
index 0000000..e5386e1
--- /dev/null
+++ b/src/dcgr.tk/makefile
@@ -0,0 +1,75 @@
+.SUFFIXES	=
+AFLAGS	   = -o $@
+
+DCGRLIB    = dcgr.tk/libs/DCGRLIB.REL
+DCGRUTILS  = dcgr.tk/libs//DCGRUTILS.REL
+DCGRTEST   = dcgr.tk/test/DCGRTEST.REL
+DCGRSPRED  = dcgr.tk/utils/DCGRSPRED.REL
+DCGREASY   = dcgr.tk/utils/DCGREASY.REL
+DCGRRGB    = dcgr.tk/utils/DCGRRGB.REL
+DCGRSHOW   = dcgr.tk/utils/DCGRSHOW.REL
+PENGUINS   = dcgr.tk/demos/penguins/PENGUINS.REL
+
+
+libs: $(DCGRLIB) $(DCGRUTILS)
+	cp $(DCGRLIB)   prodos/sys
+	cp $(DCGRUTILS) prodos/sys
+
+test: $(DCGRTEST)
+	-mkdir prodos/dcgr.tk/
+	-mkdir prodos/dcgr.tk/test
+	cp $(DCGRTEST) prodos/dcgr.tk/test
+	cp dcgr.tk/test/*.BIN prodos/dcgr.tk/test
+
+utils: $(DCGRSPRED) $(DCGREASY) $(DCGRRGB) $(DCGRSHOW)
+	-mkdir prodos/dcgr.tk/
+	-mkdir prodos/dcgr.tk/utils
+	cp $(DCGREASY) prodos/dcgr.tk/utils
+	cp $(DCGRSPRED) prodos/dcgr.tk/utils
+	cp $(DCGRRGB) prodos/dcgr.tk/utils
+
+demos: $(PENGUINS)
+	-mkdir prodos/dcgr.tk/
+	-mkdir prodos/dcgr.tk/demos/
+	-mkdir prodos/dcgr.tk/demos/penguins/
+	cp $(PENGUINS) prodos/dcgr.tk/demos/penguins/
+	cp dcgr.tk/demos/penguins/*.BIN prodos/dcgr.tk/demos/penguins/
+
+all: libs test utils demos
+
+clean:
+	-rm dcgr.tk/demos/pengiuns/*.o dcgr.tk/demos/pengiuns/*.REL dcgr.tk/demos/pengiuns/*.a
+	-rm dcgr.tk/test/*.o dcgr.tk/test/*.REL dcgr.tk/test/*.a
+	-rm dcgr.tk/utils/*.o dcgr.tk/utils/*.REL dcgr.tk/utils/*.a
+
+$(DCGRLIB): dcgr.tk/libs/dcgrlib.pla
+	./plasm -AMOW dcgr.tk/libs/dcgrlib.pla
+	acme --setpc 4094 -o $(DCGRLIB) dcgr.tk/libs/dcgrlib.a
+
+$(DCGRUTILS): dcgr.tk/libs/dcgrutils.pla $(DCGRLIB)
+	./plasm -AMOW dcgr.tk/libs/dcgrutils.pla
+	acme --setpc 4094 -o $(DCGRUTILS) dcgr.tk/libs/dcgrutils.a
+
+$(DCGRTEST): dcgr.tk/test/dcgrtest.pla $(DCGRLIB) $(DCGRUTILS)
+	./plasm -AMOW dcgr.tk/test/dcgrtest.pla
+	acme --setpc 4094 -o $(DCGRTEST) dcgr.tk/test/dcgrtest.a
+
+$(DCGRSPRED): dcgr.tk/utils/dcgrspred.pla $(DCGRLIB) $(DCGRUTILS)
+	./plasm -AMOW dcgr.tk/utils/dcgrspred.pla
+	acme --setpc 4094 -o $(DCGRSPRED) dcgr.tk/utils/dcgrspred.a
+
+$(DCGREASY): dcgr.tk/utils/dcgreasy.pla $(DCGRLIB) $(DCGRUTILS)
+	./plasm -AMOW dcgr.tk/utils/dcgreasy.pla
+	acme --setpc 4094 -o $(DCGREASY) dcgr.tk/utils/dcgreasy.a
+
+$(DCGRSHOW): dcgr.tk/utils/dcgrshow.pla $(DCGRLIB) $(DCGRUTILS)
+	./plasm -AMOW dcgr.tk/utils/dcgrshow.pla
+	acme --setpc 4094 -o $(DCGRSHOW) dcgr.tk/utils/dcgrshow.a
+
+$(DCGRRGB): dcgr.tk/utils/dcgrrgb.pla $(DCGRLIB) $(DCGRUTILS)
+	./plasm -AMOW dcgr.tk/utils/dcgrrgb.pla
+	acme --setpc 4094 -o $(DCGRRGB) dcgr.tk/utils/dcgrrgb.a
+
+$(PENGUINS): dcgr.tk/demos/penguins/penguins.pla
+	./plasm -AMOW dcgr.tk/demos/penguins/penguins.pla
+	acme --setpc 4094 -o $(PENGUINS) dcgr.tk/demos/penguins/penguins.a
diff --git a/src/samplesrc/ENT.DL.SPR.BIN b/src/dcgr.tk/test/ENT.DL.SPR.BIN
similarity index 100%
rename from src/samplesrc/ENT.DL.SPR.BIN
rename to src/dcgr.tk/test/ENT.DL.SPR.BIN
diff --git a/src/samplesrc/ENT.DN.SPR.BIN b/src/dcgr.tk/test/ENT.DN.SPR.BIN
similarity index 100%
rename from src/samplesrc/ENT.DN.SPR.BIN
rename to src/dcgr.tk/test/ENT.DN.SPR.BIN
diff --git a/src/samplesrc/ENT.DR.SPR.BIN b/src/dcgr.tk/test/ENT.DR.SPR.BIN
similarity index 100%
rename from src/samplesrc/ENT.DR.SPR.BIN
rename to src/dcgr.tk/test/ENT.DR.SPR.BIN
diff --git a/src/samplesrc/ENT.LT.SPR.BIN b/src/dcgr.tk/test/ENT.LT.SPR.BIN
similarity index 100%
rename from src/samplesrc/ENT.LT.SPR.BIN
rename to src/dcgr.tk/test/ENT.LT.SPR.BIN
diff --git a/src/samplesrc/ENT.RT.SPR.BIN b/src/dcgr.tk/test/ENT.RT.SPR.BIN
similarity index 100%
rename from src/samplesrc/ENT.RT.SPR.BIN
rename to src/dcgr.tk/test/ENT.RT.SPR.BIN
diff --git a/src/samplesrc/ENT.UL.SPR.BIN b/src/dcgr.tk/test/ENT.UL.SPR.BIN
similarity index 100%
rename from src/samplesrc/ENT.UL.SPR.BIN
rename to src/dcgr.tk/test/ENT.UL.SPR.BIN
diff --git a/src/samplesrc/ENT.UP.SPR.BIN b/src/dcgr.tk/test/ENT.UP.SPR.BIN
similarity index 100%
rename from src/samplesrc/ENT.UP.SPR.BIN
rename to src/dcgr.tk/test/ENT.UP.SPR.BIN
diff --git a/src/samplesrc/ENT.UR.SPR.BIN b/src/dcgr.tk/test/ENT.UR.SPR.BIN
similarity index 100%
rename from src/samplesrc/ENT.UR.SPR.BIN
rename to src/dcgr.tk/test/ENT.UR.SPR.BIN
diff --git a/src/samplesrc/SPLASH.DHGR.BIN b/src/dcgr.tk/test/SPLASH.DHGR.BIN
similarity index 100%
rename from src/samplesrc/SPLASH.DHGR.BIN
rename to src/dcgr.tk/test/SPLASH.DHGR.BIN
diff --git a/src/samplesrc/dcgrtest.pla b/src/dcgr.tk/test/dcgrtest.pla
similarity index 100%
rename from src/samplesrc/dcgrtest.pla
rename to src/dcgr.tk/test/dcgrtest.pla
diff --git a/src/utilsrc/apple/dcgreasy.pla b/src/dcgr.tk/utils/dcgreasy.pla
similarity index 100%
rename from src/utilsrc/apple/dcgreasy.pla
rename to src/dcgr.tk/utils/dcgreasy.pla
diff --git a/src/samplesrc/dcgrrgb.pla b/src/dcgr.tk/utils/dcgrrgb.pla
similarity index 100%
rename from src/samplesrc/dcgrrgb.pla
rename to src/dcgr.tk/utils/dcgrrgb.pla
diff --git a/src/utilsrc/apple/dcgrshow.pla b/src/dcgr.tk/utils/dcgrshow.pla
similarity index 100%
rename from src/utilsrc/apple/dcgrshow.pla
rename to src/dcgr.tk/utils/dcgrshow.pla
diff --git a/src/utilsrc/apple/dcgrspred.pla b/src/dcgr.tk/utils/dcgrspred.pla
similarity index 100%
rename from src/utilsrc/apple/dcgrspred.pla
rename to src/dcgr.tk/utils/dcgrspred.pla
diff --git a/src/makefile b/src/makefile
index 38887ed..9d214ba 100755
--- a/src/makefile
+++ b/src/makefile
@@ -61,13 +61,11 @@ DHCP       = rel/DHCP\#FE1000
 HTTPD      = rel/HTTPD\#FE1000
 TFTPD      = rel/TFTPD\#FE1000
 HGRLIB     = rel/apple/HGRLIB\#FE1000
-DCGRLIB    = rel/apple/DCGRLIB\#FE1000
 GRLIB      = rel/apple/GRLIB\#FE1000
 DGRLIB     = rel/apple/DGRLIB\#FE1000
 HGRSPRITE  = rel/apple/HGRSPRITE\#FE1000
 HGRTILE    = rel/apple/HGRTILE\#FE1000
 HGRFONT    = rel/apple/HGRFONT\#FE1000
-DCGRUTILS  = rel/apple/DCGRUTILS\#FE1000
 LINES      = rel/LINES\#FE1000
 GRAFIX     = rel/apple/GRAFIX\#FE1000
 SFM        = rel/apple/SFM\#FE1000
@@ -84,11 +82,6 @@ TILETEST   = rel/apple/TILETEST\#FE1000
 HGRTEST    = rel/apple/HGRTEST\#FE1000
 GRTEST     = rel/apple/GRTEST\#FE1000
 DGRTEST    = rel/apple/DGRTEST\#FE1000
-DCGRTEST   = rel/apple/DCGRTEST\#FE1000
-DCGRSPRED  = rel/apple/DCGRSPRED\#FE1000
-DCGREASY   = rel/apple/DCGREASY\#FE1000
-DCGRRGB    = rel/apple/DCGRRGB\#FE1000
-DCGRSHOW   = rel/apple/DCGRSHOW\#FE1000
 MEMMGR     = rel/MEMMGR\#FE1000
 MEMTEST    = rel/MEMTEST\#FE1000
 FIBERTEST  = rel/FIBERTEST\#FE1000
@@ -125,7 +118,7 @@ TXTTYPE	= .TXT
 #SYSTYPE	= \#FF2000
 #TXTTYPE	= \#040000
 
-apple: $(PLVMZP_APL) $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVMJIT) $(PLVM802) $(PLVM03) $(PLVMJIT03) $(CMD) $(CMDJIT) $(JIT) $(JIT16) $(JITUNE) $(SOSCMD) $(SOSCMDJIT) $(PLASMAPLASM) $(CODEOPT) $(PLFORTH) $(HRFORTH) $(HR2FORTH) $(TX2FORTH) $(SEXPR) $(SMATH) $(DRAWL) $(ZIPCHIP) $(MATCHFILES) $(ARGS) $(MEMMGR) $(MEMTEST) $(FIBER) $(FIBERTEST) $(LONGJMP) $(ED) $(MON) $(COPY) $(DEL) $(REN) $(CAT) $(NEWDIR) $(TYPE) $(INITSLOT) $(SOS) $(ROD) $(SIEVE) $(PRIMEGAP) $(MOUSE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(TFTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(SFM) $(SFMSPRT) $(GRAFIX) $(GFXDEMO) $(LINES) $(HGRTILE) $(HGRFONT) $(HGRSPRITE) $(HGRLIB) $(TILETEST) $(HGRTEST) $(DCGRLIB) $(GRLIB) $(DGRLIB) $(DCGRUTILS) $(GRTEST) $(DGRTEST) $(HGRTEST) $(DCGRTEST) $(DCGRSPRED) $(DCGREASY) $(DCGRRGB) $(DCGRSHOW) $(FILEIO_APL) $(CONIO_APL) $(JOYBUZZ) $(PORTIO) $(SPIPORT) $(SDFAT) $(FATCAT) $(FATGET) $(FATPUT) $(FATWDSK) $(FATRDSK) $(INT32) $(INT32TEST) $(SANE) $(FPSTR) $(FPU) $(SANITY) $(LZ4) $(LZ4CAT) $(RPNCALC) $(SNDSEQ) $(PLAYSEQ) $(CONIOTEST)
+apple: $(PLVMZP_APL) $(PLASM) $(PLVM) $(PLVM01) $(PLVM02) $(PLVMJIT) $(PLVM802) $(PLVM03) $(PLVMJIT03) $(CMD) $(CMDJIT) $(JIT) $(JIT16) $(JITUNE) $(SOSCMD) $(SOSCMDJIT) $(PLASMAPLASM) $(CODEOPT) $(PLFORTH) $(HRFORTH) $(HR2FORTH) $(TX2FORTH) $(SEXPR) $(SMATH) $(DRAWL) $(ZIPCHIP) $(MATCHFILES) $(ARGS) $(MEMMGR) $(MEMTEST) $(FIBER) $(FIBERTEST) $(LONGJMP) $(ED) $(MON) $(COPY) $(DEL) $(REN) $(CAT) $(NEWDIR) $(TYPE) $(INITSLOT) $(SOS) $(ROD) $(SIEVE) $(PRIMEGAP) $(MOUSE) $(UTHERNET2) $(UTHERNET) $(ETHERIP) $(INET) $(DHCP) $(HTTPD) $(TFTPD) $(ROGUE) $(ROGUEMAP) $(ROGUECOMBAT) $(SFM) $(SFMSPRT) $(GRAFIX) $(GFXDEMO) $(LINES) $(HGRTILE) $(HGRFONT) $(HGRSPRITE) $(HGRLIB) $(TILETEST) $(HGRTEST) $(GRLIB) $(DGRLIB) $(GRTEST) $(DGRTEST) $(HGRTEST) $(FILEIO_APL) $(CONIO_APL) $(JOYBUZZ) $(PORTIO) $(SPIPORT) $(SDFAT) $(FATCAT) $(FATGET) $(FATPUT) $(FATWDSK) $(FATRDSK) $(INT32) $(INT32TEST) $(SANE) $(FPSTR) $(FPU) $(SANITY) $(LZ4) $(LZ4CAT) $(RPNCALC) $(SNDSEQ) $(PLAYSEQ) $(CONIOTEST)
 
 	-rm vmsrc/plvmzp.inc
 
@@ -487,10 +480,6 @@ $(HGRLIB): libsrc/apple/hgrlib.pla $(PLVM02) $(PLASM)
 	./$(PLASM) -AMOW libsrc/apple/hgrlib.pla
 	acme --setpc 4094 -o $(HGRLIB) libsrc/apple/hgrlib.a
 
-$(DCGRLIB): libsrc/apple/dcgrlib.pla $(PLVM02) $(PLASM)
-	./$(PLASM) -AMOW libsrc/apple/dcgrlib.pla
-	acme --setpc 4094 -o $(DCGRLIB) libsrc/apple/dcgrlib.a
-
 $(GRLIB): libsrc/apple/grlib.pla $(PLVM02) $(PLASM)
 	./$(PLASM) -AMOW libsrc/apple/grlib.pla
 	acme --setpc 4094 -o $(GRLIB) libsrc/apple/grlib.a
@@ -499,10 +488,6 @@ $(DGRLIB): libsrc/apple/dgrlib.pla $(PLVM02) $(PLASM)
 	./$(PLASM) -AMOW libsrc/apple/dgrlib.pla
 	acme --setpc 4094 -o $(DGRLIB) libsrc/apple/dgrlib.a
 
-$(DCGRUTILS): libsrc/apple/dcgrutils.pla $(DCGRLIB) $(PLVM02) $(PLASM)
-	./$(PLASM) -AMOW libsrc/apple/dcgrutils.pla
-	acme --setpc 4094 -o $(DCGRUTILS) libsrc/apple/dcgrutils.a
-
 $(TILETEST): samplesrc/tiletest.pla $(PLASM)
 	./$(PLASM) -AMOW samplesrc/tiletest.pla
 	acme --setpc 4094 -o $(TILETEST) samplesrc/tiletest.a
@@ -531,26 +516,6 @@ $(DGRTEST): samplesrc/dgrtest.pla $(DGRLIB) $(PLASM)
 	./$(PLASM) -AMOW samplesrc/dgrtest.pla
 	acme --setpc 4094 -o $(DGRTEST) samplesrc/dgrtest.a
 
-$(DCGRTEST): samplesrc/dcgrtest.pla $(DCGRLIB) $(DCGRUTILS) $(PLASM)
-	./$(PLASM) -AMOW samplesrc/dcgrtest.pla
-	acme --setpc 4094 -o $(DCGRTEST) samplesrc/dcgrtest.a
-
-$(DCGRSPRED): utilsrc/apple/dcgrspred.pla $(DCGRLIB) $(DCGRUTILS) $(PLASM)
-	./$(PLASM) -AMOW utilsrc/apple/dcgrspred.pla
-	acme --setpc 4094 -o $(DCGRSPRED) utilsrc/apple/dcgrspred.a
-
-$(DCGREASY): utilsrc/apple/dcgreasy.pla $(DCGRLIB) $(DCGRUTILS) $(PLASM)
-	./$(PLASM) -AMOW utilsrc/apple/dcgreasy.pla
-	acme --setpc 4094 -o $(DCGREASY) utilsrc/apple/dcgreasy.a
-
-$(DCGRSHOW): utilsrc/apple/dcgrshow.pla $(DCGRLIB) $(DCGRUTILS) $(PLASM)
-	./$(PLASM) -AMOW utilsrc/apple/dcgrshow.pla
-	acme --setpc 4094 -o $(DCGRSHOW) utilsrc/apple/dcgrshow.a
-
-$(DCGRRGB): samplesrc/dcgrrgb.pla $(DCGRLIB) $(DCGRUTILS) $(PLASM)
-	./$(PLASM) -AMOW samplesrc/dcgrrgb.pla
-	acme --setpc 4094 -o $(DCGRRGB) samplesrc/dcgrrgb.a
-
 $(LZ4CAT): utilsrc/lz4cat.pla inc/lz4.plh $(PLVM02) $(PLASM)
 	./$(PLASM) -AMOW utilsrc/lz4cat.pla
 	acme --setpc 4094 -o $(LZ4CAT) utilsrc/lz4cat.a
diff --git a/src/mkrel b/src/mkrel
index a133a6e..aa6638f 100755
--- a/src/mkrel
+++ b/src/mkrel
@@ -18,10 +18,6 @@ cp rel/apple/HGRFONT#FE1000       prodos/sys/HGRFONT.REL
 cp rel/apple/HGRTILE#FE1000       prodos/sys/HGRTILE.REL
 cp rel/apple/HGRSPRITE#FE1000     prodos/sys/HGRSPRITE.REL
 cp rel/apple/HGRLIB#FE1000        prodos/sys/HGRLIB.REL
-cp rel/apple/DCGRLIB#FE1000       prodos/sys/DCGRLIB.REL
-cp rel/apple/DCGRUTILS#FE1000     prodos/sys/DCGRUTILS.REL
-cp rel/apple/DCGRSPRED#FE1000     prodos/sys/DCGRSPRED.REL
-cp rel/apple/DCGREASY#FE1000      prodos/sys/DCGREASY.REL
 cp rel/apple/GRLIB#FE1000         prodos/sys/GRLIB.REL
 cp rel/apple/DGRLIB#FE1000        prodos/sys/DGRLIB.REL
 cp rel/apple/COPY#FE1000          prodos/sys/COPY.REL
@@ -109,15 +105,6 @@ cp rel/apple/HGRTEST#FE1000  prodos/demos/apple2/HGRTEST.REL
 cp rel/apple/GRTEST#FE1000   prodos/demos/apple2/GRTEST.REL
 cp rel/apple/DGRTEST#FE1000  prodos/demos/apple2/DGRTEST.REL
 
-mkdir prodos/demos/apple2/dcgr
-cp rel/apple/DCGRRGB#FE1000  prodos/demos/apple2/dcgr/DCGRRGB.REL
-cp rel/apple/DCGRSHOW#FE1000 prodos/demos/apple2/dcgr/DCGRSHOW.REL
-cp rel/apple/DCGRTEST#FE1000 prodos/demos/apple2/dcgr/DCGRTEST.REL
-cp samplesrc/ENT.*           prodos/demos/apple2/dcgr
-cp samplesrc/SPLASH.DHGR.BIN prodos/demos/apple2/dcgr
-cp samplesrc/RACECAR.RGB.BIN prodos/demos/apple2/dcgr
-cp samplesrc/RACECAR.LZ4.BIN prodos/demos/apple2/dcgr
-
 mkdir prodos/demos/apple2/spiders
 cp rel/apple/SFM#FE1000     prodos/demos/apple2/spiders/SFM.REL
 cp rel/apple/SFMSPRT#FE1000 prodos/demos/apple2/spiders/SFMSPRT.REL
@@ -152,9 +139,6 @@ cp samplesrc/grtest.pla    prodos/bld/samples/GRTEST.PLA.TXT
 cp samplesrc/dgrtest.pla   prodos/bld/samples/DGRTEST.PLA.TXT
 cp samplesrc/hgrtest.pla   prodos/bld/samples/HGRTEST.PLA.TXT
 cp samplesrc/dcgrtest.pla  prodos/bld/samples/DCGRTEST.PLA.TXT
-cp utilsrc/apple/dcgrspred.pla prodos/bld/samples/DCGRSPRED.PLA.TXT
-cp utilsrc/apple/dcgreasy.pla prodos/bld/samples/DCGREASY.PLA.TXT
-cp samplesrc/dcgrrgb.pla   prodos/bld/samples/DCGRRGB.PLA.TXT
 cp samplesrc/tiletest.pla  prodos/bld/samples/TILETEST.PLA.TXT
 cp samplesrc/fibertest.pla prodos/bld/samples/FIBERTEST.PLA.TXT
 cp samplesrc/mousetest.pla prodos/bld/samples/MOUSETEST.PLA.TXT