     return result;
 }
 
+void DisplayPhoneBook() {
+    for (int i = 0; i < ADDR_HOST_ENTRIES; i++)
+    {
+        C64Serial.print(i+1);
+        C64Print(F(":"));
+        C64Println(readEEPROMPhoneBook(ADDR_HOSTS + (i * ADDR_HOST_SIZE)));
+    }
+    C64Println();
+#ifdef HAYES    
+    C64Print(F("Autostart: "));
+    C64Serial.print(EEPROM.read(ADDR_HOST_AUTO));
+    C64Println();
+#endif
+}
+
+void Modem_Dialout(char* host)
+{
+    char* index;
+    uint16_t port = 23;
+    String hostname = String(host);
+
+        if (strlen(host) == 0)
+        {
+#ifdef HAYES
+            Modem_PrintERROR();
+#endif
+            return;
+        }
+    
+        if ((index = strstr(host, ":")) != NULL)
+        {
+            index[0] = '\0';
+            hostname = String(host);
+            port = atoi(index + 1);
+        }
+    /*if (hostname == F("5551212"))
+    {
+        QuantumLinkReloaded();
+        return;
+    }*/
+
+    lastHost = hostname;
+    lastPort = port;
+
+    Connect(hostname, port, false);
+}
+

// Pointer version.  Does not work with F("") or PSTR("").  Use with sprintf and sprintf_P
void DisplayBothP(const char *message)
{
    C64PrintlnP(message);
    //message.replace(' ', '\n');
    DisplayP(message);
}



    pinMode (C64_RxD, INPUT);
    digitalWrite (C64_RxD, HIGH);

    Display(F("Baud\nDetection"));

    long detectedBaudRate = detRate(C64_RxD);  // Function finds a standard baudrate of either
    // 1200,2400,4800,9600,14400,19200,28800,38400,57600,115200
