diff --git a/include/graphics/mylib.h b/include/graphics/mylib.h
index 8032e7792f207a8417199f8c1df6dec8beb9b490..8b81559f5a1dd9b7aa9e36959843b56a57785b60 100644
--- a/include/graphics/mylib.h
+++ b/include/graphics/mylib.h
@@ -154,6 +154,7 @@ void m_setfont();
 void m_seefont();
 void m_graphics_on();
 void m_alpha_on();
+void m_displaytext(char *str);
 
 #define m_graphics_off()
 #define m_alpha_off()
diff --git a/include/logstuff.h b/include/logstuff.h
index 6cdd5aebab561701c28059f7f29d374f25aac7e2..81568b462e079354753e856ce649dd148dcb8f85 100644
--- a/include/logstuff.h
+++ b/include/logstuff.h
@@ -4,6 +4,7 @@
 void recolor_log_cursors(int color, int force);
 void choose_log_cursor(int curs);
 void m_saveclip ();
+void m_bunny(int x, int y);
 
 int findprocedure(char *name, void (**proc)());
 
diff --git a/src/node.c b/src/node.c
index 5e01e8f56b7b349ad7ace766b182f8d28b57b7d7..4db5d589024aa08b942d421c280be97a491cd04d 100644
--- a/src/node.c
+++ b/src/node.c
@@ -256,8 +256,8 @@ void dumpnodes()
 	TRY(try8);
 	while (hw != NULL)
 	{
-		fprintf(tracefile, "%12ld  X1:%4d X2:%4d  Y:%4d  N:%ld  C:%d\n",
-				(long)hw, hw->x1, hw->x2, hw->y, (long)hw->node,
+		fprintf(tracefile, "%p  X1:%4d X2:%4d  Y:%4d  N:%p  C:%s\n",
+				hw, hw->x1, hw->x2, hw->y, hw->node,
 				colorname(STR3, hw->wcolr));
 		hw = hw->next;
 	}
@@ -272,8 +272,8 @@ void dumpnodes()
 	TRY(try9);
 	while (vw != NULL)
 	{
-		fprintf(tracefile, "%12ld   X:%4d Y1:%4d Y2:%4d  N:%ld  C:%d\n",
-				(long)vw, vw->x, vw->y1, vw->y2, (long)vw->node,
+		fprintf(tracefile, "%p   X:%4d Y1:%4d Y2:%4d  N:%p  C:%s\n",
+				vw, vw->x, vw->y1, vw->y2, vw->node,
 				colorname(STR3, vw->wcolr));
 		vw = vw->next;
 	}
@@ -288,11 +288,11 @@ void dumpnodes()
 	TRY(try10);
 	while (s != NULL)
 	{
-		fprintf(tracefile, "%12ld   X:%4d  Y:%4d    HW: %ld,%ld",
-				(long)s, s->x, s->y, (long)s->hwire, (long)s->hwire2);
+		fprintf(tracefile, "%p   X:%4d  Y:%4d    HW: %p,%p",
+				s, s->x, s->y, s->hwire, s->hwire2);
 		if (s->hwire == NULL)
 			fprintf(tracefile, "      ");
-		fprintf(tracefile, "    VW: %ld,%ld\n", (long)s->vwire, (long)s->vwire2);
+		fprintf(tracefile, "    VW: %p,%p\n", s->vwire, s->vwire2);
 		s = s->next;
 	}
 	RECOVER(try10);
@@ -306,15 +306,15 @@ void dumpnodes()
 	TRY(try11);
 	while (g != NULL)
 	{
-		fprintf(tracefile, "%12ld  G:%3d    X:%4d  Y:%4d  T:%s        %s\n",
-				(long)g, g->g, g->x, g->y, g->kind->simtype->name,
+		fprintf(tracefile, "%p  G:%3d    X:%4d  Y:%4d  T:%s        %s\n",
+				g, g->g, g->x, g->y, g->kind->simtype->name,
 				g->kind->name);
 		WITH = g->kind;
 		FORLIM = WITH->numpins;
 		for (i = 0; i < FORLIM; i++)
 		{
-			fprintf(tracefile, "              Pin %2d   X:%4d  Y:%4d  N:%ld",
-					i + 1, g->pinpos[i].x, g->pinpos[i].y, (long)g->pin[i]);
+			fprintf(tracefile, "              Pin %2d   X:%4d  Y:%4d  N:%p",
+					i + 1, g->pinpos[i].x, g->pinpos[i].y, g->pin[i]);
 			TRY(try12);
 			fprintf(tracefile, " [%d]", g->pin[i]->ref);
 			RECOVER(try12);
diff --git a/src/pagereader.c b/src/pagereader.c
index 668e65accdccf2a470d221fbb51f12be977a8074..7214319e1df7ef95cce994bd0a963c04efcedee7 100644
--- a/src/pagereader.c
+++ b/src/pagereader.c
@@ -1,10 +1,15 @@
 #include "pagereader.h"
 
 #include <utils/p2c.h>
+#include <utils/strings.h>
+#include <graphics/newci.h>
 #include "logfont.h"
 #include "node.h"
 #include "log.h"
 #include "page.h"
+#include "screen.h"
+#include "tool.h"
+#include "utils.h"
 
 void loadfail(char *msg, struct LOC_loadpage *LINK)
 {
diff --git a/src/pagewriter.c b/src/pagewriter.c
index 92e5752b992b4653ed77704ca539f75d91daefca..b99bbcc945bf8521b442080d4e6a08ad82a25ac2 100644
--- a/src/pagewriter.c
+++ b/src/pagewriter.c
@@ -1,5 +1,13 @@
 #include "pagewriter.h"
+
 #include "logfont.h"
+#include <utils/filepack.h>
+#include <graphics/newcrt.h>
+#include <graphics/newci.h>
+#include "log.h"
+#include "screen.h"
+#include "tool.h"
+#include "utils.h"
 
 short countnode(log_nrec *n, struct LOC_savepage *LINK)
 {
@@ -532,7 +540,6 @@ void safesavepage(short pgnum, char *fn)
 	if (Debugging || debugprint || gg.traceflag)
 		nc_printf("%ld/%ld/%ld   ", i, j, EXCP_LINE);
 	nc_printf("Unable to save file %s\n", fn);
-	char *fn;
 	enderror();
 	ENDTRY(try26);
 }
diff --git a/src/screen.c b/src/screen.c
index 97e49cbcdcf897679d5353b4162c614fdbaff6d6..f1096339991b2b3336bd92d14ec57b6bbc87c026 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -31,13 +31,16 @@
    */
 
 #include <utils/p2c.h>
+#include <utils/strings.h>
 #include <graphics/newkbd.h>
 #include <graphics/newcrt.h>
 #include "logglobals.h"
 #include "logfont.h"
+#include "logstuff.h"
 #include "utils.h"
 #include "screen.h"
 #include "node.h"
+#include "log.h"
 
 static rablistrec rabtable[rabtabsize];   ///< Positions of rabbits
 
@@ -1483,10 +1486,10 @@ typedef enum {inside,north,east,south,west} placement;
 
 void drawpnums(log_grec *g, short c)
 {
-	short rxx, rxy, ryx, ryy, i, j, k;
+	short rxx, rxy, ryx, ryy, i;
 	char s[7];
 	log_krec *WITH;
-	short FORLIM, FORLIM1;
+	short FORLIM;
 	int tx,ty,ex,ey;
 	int minx,miny,maxx,maxy;
 	placement p = inside;
diff --git a/src/tool.c b/src/tool.c
index 8f3d2ac3085b5b1a7969eda677e26403d047d269..3fe4950cd5f137852c781b8264091e5e8567520e 100644
--- a/src/tool.c
+++ b/src/tool.c
@@ -1,8 +1,10 @@
 
 #include <utils/p2c.h>
 #include <graphics/newkbd.h>
+#include <graphics/newci.h>
 #include "logdef.h"
 #include "logglobals.h"
+#include "logstuff.h"
 #include "utils.h"
 #include "node.h"