diff --git a/src/Makefile.rules b/src/Makefile.rules
index 1b822ec..5d2ef10 100644
--- a/src/Makefile.rules
+++ b/src/Makefile.rules
@@ -512,7 +512,7 @@ NANOXCLIENTLIBS +=  \
 		$(PLIB)/libpspuser.a \
 		$(PLIB)/libpspge.a \
 		$(PLIB)/libpspdisplay.a
-CCMWINLIBS += -lpspdebug -lpspgu -lpspctrl -lpsplibc -lpspkernel -lpspuser -lpspge -lpspdisplay
+CCMWINLIBS += -lc -lpspdebug -lpspgu -lpspctrl -lpsplibc -lpspkernel -lpspuser -lpspge -lpspdisplay
 
 endif
 
diff --git a/src/demos/mwin/mdemo.c b/src/demos/mwin/mdemo.c
index 6e105d6..118db30 100644
--- a/src/demos/mwin/mdemo.c
+++ b/src/demos/mwin/mdemo.c
@@ -38,7 +38,7 @@ unsigned _stklen = 4096;
 #define USEBLIT		0	/* use blit rather than DrawDIB()*/
 #endif
 
-#if RTEMS || ECOS
+#if RTEMS || ECOS || PSP
 #define  srandom  srand
 #define  random   rand
 #endif
diff --git a/src/drivers/Objects.rules b/src/drivers/Objects.rules
index 08d41dc..5148c8a 100644
--- a/src/drivers/Objects.rules
+++ b/src/drivers/Objects.rules
@@ -383,6 +383,7 @@ MW_CORE_OBJS += \
 	$(MW_DIR_OBJ)/drivers/fblin4.o \
 	$(MW_DIR_OBJ)/drivers/fblin8.o \
 	$(MW_DIR_OBJ)/drivers/fblin16.o \
+	$(MW_DIR_OBJ)/drivers/fblin18.o \
 	$(MW_DIR_OBJ)/drivers/fblin24.o \
 	$(MW_DIR_OBJ)/drivers/fblin32.o \
 	$(MW_DIR_OBJ)/drivers/fblin32alpha.o \
diff --git a/src/mwin/winmain.c b/src/mwin/winmain.c
index e6a426c..5e9d654 100644
--- a/src/mwin/winmain.c
+++ b/src/mwin/winmain.c
@@ -297,7 +297,7 @@ MwSelect(BOOL mayWait)
 
 #if PSP
 void 
-MwSelect(void)
+MwSelect(BOOL mayWait)
 {
 	int mouseevents = 0;
 	int keybdevents = 0;
