diff --git a/cMIPS/serial.inp b/cMIPS/serial.inp
index 4c217f34a0b7588d9cc2a11aa4697b7b579d3395..ef91149c811851ff9f97338de0047e422d5d8a32 100644
--- a/cMIPS/serial.inp
+++ b/cMIPS/serial.inp
@@ -1,8 +1,7 @@
 
-1
-2
-3
-4
-5
+1a
+2a
+2a
+2a
 2a
 
diff --git a/cMIPS/tests/jedidafu.c b/cMIPS/tests/jedidafu.c
index 876f38a14bb2bdd8774394a9ad06696746c7c08f..bc9f517edb55283c4689c59d32fd2ab8a2fb715d 100644
--- a/cMIPS/tests/jedidafu.c
+++ b/cMIPS/tests/jedidafu.c
@@ -164,7 +164,7 @@ int main(void) { // receive a string through the UART serial interface
   int hdona=0;
   int tlona=0;
   int filonx = 0;
-  int valfib, qt;
+  int valfib, qt, rxz;
   char p[15];
   Tcontrol ctrl;
 
@@ -193,38 +193,42 @@ int main(void) { // receive a string through the UART serial interface
     while(!proberx()) to_stdout('-');//i = 1 - i;
     to_stdout('\0');    
     while((c=Getc()) != -1){
-       filona[tlona] = c;
+        filona[tlona] = c;
         tlona++;
-        if(c=='\n')
+        tlona%=145;
+        if(c=='\n'){
             filonx++;
-        /*if(c=='\n'){
-            print(hex2int((filona+hdona)));
-            hdona = tlona;
-        }*/
+            filona[tlona] = 0;
+        }
     }
     while(filonx > 0){
         qt = Strlen(filona+hdona);
         valfib = hex2int((filona+hdona));
-        print(valfib);
         valfib = buf[valfib];
+        hdona += qt+1;
+        hdona %= 145;
         print(valfib);
-        hdona += qt-1;
         qt = int2hex(p, valfib);
         j = -1;
         do {
             j++;
-            while(!Putc(p[j]));
+            while(((rxz = proberx())<16) && !Putc(p[j]));
+                if(rxz >= 2){
+                     while((c=Getc()) != -1){
+                        filona[tlona] = c;
+                         tlona++;
+                         tlona%=145;
+                         if(c=='\n'){
+                             filonx++;
+                             filona[tlona] = 0;
+                         }
+                    }                 
+                    j--;
+                }
+            
         } while (p[j] != 0);
         filonx--;
     }
-    /*for(j=0; j<145; j++) //isso aqui buga porque ele invalida os char quando hex2inteia
-        if(filona[j]==0 || filona[j]==10)
-            to_stdout('_');
-        else
-            to_stdout(filona[j]);
-    to_stdout('\0');
-    hdona = tlona; 
-    print(hex2int((filona+hdona)));*/
     
   } while (i<5);