#include <df2:lattice/stdio.h>
main(argc,argv) /* AM-PC v1.0 -- Michel Laliberté, 21 août 1988 */
int argc;
char *argv[];
{
 int conv;
 register char b;
 register char a;
 register char c;
 FILE *fp;
 if(argc!=3) 
 {
 printf("\f");
 printf("[33m AM-PC v1.0  - août 1988[31m\n");
 printf("                               INSTRUCTIONS \n\n");
 printf("      Ce programme convertit les fichiers à accents français\n");
 printf("      Word Perfect Amiga en fichiers WP MS-DOS, et vice-versa.\n");
 printf("      Utiliser DOS-2-DOS ou un modem pour convertir le disque.\n\n");
 printf("[33m FORMAT D'UTILISATION:[31m\n\n");
 printf("   1> am-pc  >cv1  nom_du_fichier  n  Place dans le fichier cv1\n");
 printf("                                      la version convertie de\n");
 printf("                                      <nom_du_fichier>.\n\n");
 printf("      Si n = 1, le sens de la conversion est: Amiga -> PC.\n");
 printf("      Si n = 2, on prend le sens contraire:   PC -> Amiga.\n\n");
 printf("      Pour des résultats plus rapides, travailler en RAM:\n");
 printf("      ex.: 1> am-pc  >ram:cv1  ram:n_du_fichier  1\n");
 printf("[33m            CE PROGRAMME EST GRATUIT - REVENTE INTERDITE[31m\n");
 printf("      Code source Lattice-C disponible:\n");
 printf("      Michel Laliberté, Montréal - tél.: (514) 274-0288\n\n");
 exit(0);
 }
      conv=atoi(argv[2]);
      if (conv!=1 && conv!=2) {
      printf("FORMAT: 1> am-pc  nom_du_fichier  n : n doit être 1 ou 2.\n\n");
        exit(0);
      }       
      if((fp=fopen(argv[1],"r")) == NULL) {
        printf("          Impossible d'ouvrir le fichier...\n");
        exit(0);
      }
      if (conv==1)
      {
        a='@'; /* fichiers non-WP: if (b>='à' || b=='É') */
        b=getc(fp); 
        while (b!=EOF) {
        if (a=='á' && (b>='à'|| b=='É')) switch(b) {
                  case 'é': 
                     b=130;
                     break;
                  case 'à':
                     b=133;
                     break;
                  case 'è':
                     b=138;
                     break;
                  case 'ê':
                     b=136;
                     break;
                  case 'â':
                     b=131;
                     break;
                  case 'ç':
                     b=135;
                     break;
                  case 'î':
                     b=140;
                     break;
                  case 'ô':
                     b=147;
                     break;
                  case 'û':
                     b=150;
                     break;
                  case 'É':
                     b=144;
                     break;
                  case 'ù':
                     b=151;
                     break;
                  case 'ë':
                     b=137;
                     break;
                  case 'ï':
                     b=139;
                     break;
                  case 'ü':
                     b=129;      
               }
               putchar(b); 
               a=b;
               b=getc(fp);
          }
      fclose(fp);
      }
      if (conv==2)
      {
        a='@'; /* fichiers non-WP: if (c>='@' && c<='W') */
        b=getc(fp);        
        while (b!=EOF) {
            c=(b-64);
            if (c>='@' && c<='W' && a=='á') {
               switch(c) {  
                  case 'B':
                     c=233;
                     break;
                  case 'E':
                     c=224;
                     break;
                  case 'J':
                     c=232;
                     break;
                  case 'H':
                     c=234;
                     break;
                  case 'C':
                     c=226;
                     break;
                  case 'G':
                     c=231;
                     break;
                  case 'L':
                     c=238;
                     break;
                  case 'S':
                     c=244;
                     break;
                  case 'V':
                     c=251;
                     break;
                  case 'P':
                     c=201;
                     break;
                  case 'W':
                     c=249;
                     break;
                  case 'I':
                     c=235;
                     break;
                  case 'K':
                     c=239;
                     break;
                  case 'A':
                     c=252;
               }
            b=c;
            }   
         a=b;
         putchar(b);   
         b=getc(fp);
         }
       fclose(fp);
       }
}
