Index: trunk/Softwares/Common/src/asm/cpu_info.s
===================================================================
--- trunk/Softwares/Common/src/asm/cpu_info.s	(revision 100)
+++ trunk/Softwares/Common/src/asm/cpu_info.s	(revision 101)
@@ -10,9 +10,9 @@
 _get_cpu_id :
 	l.jr	r9
-	l.mfspr r11,r0,0xF800  /* R11 <- SPR[31][0] */
-
+	l.mfspr r11,r0,21      /* R11 <- SPR[0][21] */
+        
 	.global _set_cpu_id
 _set_cpu_id :
 	l.jr	r9
-	l.mtspr r0 ,r3,0xF800  /* SPR[31][0] <- r3  */
+	l.mtspr r0 ,r3,21  /* SPR[0][21] <- r3  */
 
Index: trunk/Softwares/Common/src/asm/find_one.s
===================================================================
--- trunk/Softwares/Common/src/asm/find_one.s	(revision 100)
+++ trunk/Softwares/Common/src/asm/find_one.s	(revision 101)
@@ -12,5 +12,5 @@
 	l.ff1   r11,r3
 
-/*
+/*        
 	.global _find_last_one
 _find_last_one :
Index: trunk/Softwares/Common/src/asm/thread_info.s
===================================================================
--- trunk/Softwares/Common/src/asm/thread_info.s	(revision 100)
+++ trunk/Softwares/Common/src/asm/thread_info.s	(revision 101)
@@ -10,19 +10,19 @@
 _get_thread_id :
 	l.jr	r9				
-	l.mfspr r11,r0,0xF801			/* R11 <- SPR[31][1] */
-	
+	l.mfspr r11,r0,22			/* R11 <- SPR[0][22] */
+        
 	.global _set_thread_id
 _set_thread_id :
 	l.jr	r9
-	l.mtspr r0 ,r3,0xF801			/* SPR[31][1] <- r3  */
+	l.mtspr r0 ,r3,22			/* SPR[0][22] <- r3  */
 
 	.global _get_thread_priority
 _get_thread_priority :
 	l.jr	r9
-	l.mfspr r11,r0,0xF802			/* R11 <- SPR[31][2] */
+	l.mfspr r11,r0,23			/* R11 <- SPR[0][23] */
 
 	.global _set_thread_priority
 _set_thread_priority :
 	l.jr	r9
-	l.mtspr r0 ,r3,0xF802			/* SPR[31][2] <- r3  */
+	l.mtspr r0 ,r3,23			/* SPR[0][23] <- r3  */
 	
Index: trunk/Softwares/Common/src/asm/uncached_mask.s
===================================================================
--- trunk/Softwares/Common/src/asm/uncached_mask.s	(revision 100)
+++ 	(revision )
@@ -1,17 +1,0 @@
-/*
- * Manipulation of thread information
- */
-		
-	.file	"uncached_mask.s"
-	.section .text
-	.align	4
-
-	.global _get_uncached_mask
-_get_uncached_mask :
-	l.jr	r9				
-	l.mfspr r11,r0,0xF803			/* R11 <- SPR[31][3] */
-	
-	.global _set_uncached_mask
-_set_uncached_mask :
-	l.jr	r9
-	l.mtspr r0 ,r3,0xF803			/* SPR[31][1] <- r3  */
Index: trunk/Softwares/Common/src/c/func_io.c
===================================================================
--- trunk/Softwares/Common/src/c/func_io.c	(revision 100)
+++ trunk/Softwares/Common/src/c/func_io.c	(revision 101)
@@ -2,15 +2,33 @@
 #include "thread_info.h"
 
-void print(int data)
+void tty (unsigned char data)
 {
-  int *show   =(int*)(TTY_BASE + (get_thread_id() << 4) + 8);
+  unsigned int * addr =(unsigned int*)(TTY_BASE + (get_thread_id() << 4) + 0);
 
-  *(show) = data;
+  *(addr) = data;
 }
 
-void quit (int data)
+void print (char * data)
 {
-  int *stop   =(int*)(TTY_BASE + (get_thread_id() << 4) + 4);
+  unsigned int * addr =(unsigned int*)(TTY_BASE + (get_thread_id() << 4) + 0);
 
-  *(stop) = data;
+  while ((*data) != '\0')
+    {
+      *(addr) = (*data);
+      data++;
+    }
 }
+
+void show (unsigned int data)
+{
+  unsigned int * addr =(unsigned int*)(TTY_BASE + (get_thread_id() << 4) + 8);
+
+  *(addr) = data;
+}
+
+void quit (unsigned int data)
+{
+  unsigned int * addr = (unsigned int*)(TTY_BASE + (get_thread_id() << 4) + 4);
+
+  *(addr) = data;
+}
Index: trunk/Softwares/Common/src/c/service_clock.c
===================================================================
--- trunk/Softwares/Common/src/c/service_clock.c	(revision 100)
+++ trunk/Softwares/Common/src/c/service_clock.c	(revision 101)
@@ -1,31 +1,31 @@
-#include <time.h>
-#include <errno.h>
-#include <sys/lock.h>
-#include "mapping_memory.h"
-#include "sim2os.h"
-#include "service_clock.h"
+/* #include <time.h> */
+/* #include <errno.h> */
+/* #include <sys/lock.h> */
+/* #include "mapping_memory.h" */
+/* #include "sim2os.h" */
+/* #include "service_clock.h" */
 
-unsigned int service_clock ()
-{
-  unsigned int * addr   = (unsigned int *)(SIM2OS_BASE);
-  unsigned int   result = -1;
+/* unsigned int service_clock () */
+/* { */
+/*   unsigned int * addr   = (unsigned int *)(SIM2OS_BASE); */
+/*   unsigned int   result = -1; */
 
-  __lock_init    (service_lock);
+/*   __lock_init    (service_lock); */
   
-  __lock_acquire (service_lock);
+/*   __lock_acquire (service_lock); */
 
-  *(addr+0) = (unsigned int)SERVICE_CLOCK;
+/*   *(addr+0) = (unsigned int)SERVICE_CLOCK; */
  
-  // memory synchronisation
-  // (else read (with an address that depend not of store address) can be lunch before a store)
-  asm("l.msync;");
+/*   // memory synchronisation */
+/*   // (else read (with an address that depend not of store address) can be lunch before a store) */
+/*   asm("l.msync;"); */
 
-  result    = (clock_t) *(addr+1);
+/*   result    = (clock_t) *(addr+1); */
  
-  if (result == (clock_t)-1)
-    errno = (int) *(addr+2);
+/*   if (result == (clock_t)-1) */
+/*     errno = (int) *(addr+2); */
 
-  __lock_release (service_lock);
+/*   __lock_release (service_lock); */
 
-  return result;
-}
+/*   return result; */
+/* } */
Index: trunk/Softwares/Common/src/sys/crt0.s
===================================================================
--- trunk/Softwares/Common/src/sys/crt0.s	(revision 100)
+++ 	(revision )
@@ -1,1 +1,0 @@
-link /users/cao/kane/Project/Morpheo/Tools/newlib/libgloss/or32/crt0.S
