--- vice-2.2.dfsg/src/petcat.c.old	2010-06-05 01:32:23.723190248 +0300
+++ vice-2.2.dfsg/src/petcat.c	2010-06-05 04:28:36.711138267 +0300
@@ -1480,7 +1480,7 @@
         fputc ('[', dest);
         break;
       case 0x5c:
-        fputc ('\\', dest);
+        fputc ('£', dest);
         break;
       case 0x5d:
         fputc (']', dest);
@@ -1524,9 +1524,11 @@
           case 0xe0:                /* E1 - FE */
             fprintf(dest, CLARIF_LP_ST "%s" CLARIF_RP_ST, cbmkeys[c & 0x1f]);
             break;
-          case 0xc0:                /* C0 - DF */
-            fputc (c ^ 0x80, dest);
-            break;
+          case 0xc0:                /* C0 - DA */
+	    if (c <= 0xda) {
+               fputc (c ^ 0x80, dest);
+               break;
+	    }
 
           default:
             if (isprint(c))
@@ -2231,8 +2233,8 @@
                 if (*p2 == 0x7e)                /*  '~' is ASCII for 'pi' */
                     *p1++ = 0xff;
 
-                else if ((*p2 >= 0x5b) && (*p2 <= 0x5f)) /* iAN: '_' -> left arrow, no char value change */
-                    *p1++ = *p2;
+                else if (*p2 == 0xa3)
+                    *p1++ = 0x5c;
 
                 else if ((*p2 >= 0x60) && (*p2 <= 0x7e))
                     *p1++ = *p2 ^ 0x20;

