         case 252:                                    //          if negotiation verb character is 252 (wont) or
         case 253:                                    //          if negotiation verb character is 253 (do) or
         case 254:                                    //          if negotiation verb character is 254 (dont)
-          optint = ReadByte();                   //            receive negotiation option character
-          
-           C64Serial.print("Received optint=");
-           C64Serial.println(optint);
-          
-          if (optint == -1) continue;                   //            if negotiation option character is nothing break the routine  
-          
-          
+          optint = ReadByte(wifly);                  //            receive negotiation option character         
+          if (optint == -1) continue;                   //            if negotiation option character is nothing break the routine  (should never happen) 
+                  
           switch (optint) {            
             
             case 3:                                   // if negotiation option character is 3 (suppress-go-ahead)

   C64Serial.print("host: ");
   C64Serial.setTimeout(1000);
   
   String readString = "";
   bool changed=false;   
   long c64_chars=0;
   
   while (true)
   {
     while (C64Serial.available() > 0)
     {
       c64_chars++;
       char c = C64Serial.read();
       C64Serial.print(c); // Echo
       
       if ((int)c == 13)
       {
         Telnet(readString);
         return;
       }
       else
       {      
         readString += c;
       } 
     }
   }   
}

void display(String message)
{

  
  while (true)
  {
    inpint = PeekByte(wifly);       //      peek at next character
     
    if (inpint != IAC)  
    {
