home *** CD-ROM | disk | FTP | other *** search
/ Chip: Special Survival Kit / Chip_Special_Survival_Kit_fuer_PC_Anwender.iso / 01tools / txt2exe / ica / t2ecomm.c < prev    next >
Text File  |  1994-09-01  |  4KB  |  93 lines

  1. /* TXT2EXE Interprogram-Communication-Area [PFH93] */
  2.  
  3. #include <stdio.h>
  4. #include <dos.h>
  5. #include <process.h>
  6.  
  7. #include "t2ecomm.h"
  8.  
  9. main()
  10. {
  11.   /* do or call or spawn something *(;-.) */
  12.  
  13.   if (!TXT2EXEset(T2E_Ueberschrift,5))    /* ein mit TXT2EXE erstelltes Programm */
  14.                           /* beginnt nun mit der Anzeige bei der  */
  15.                           /* fünften Überschrift                 */
  16.     {
  17.       printf("T2ECIA nicht installiert\n"); /* nicht installiert --> Fehler      */
  18.       exit(1);                              /* Programm beenden                  */
  19.     }
  20.  
  21.   /* do or call or spawn something ++&-<;-( */
  22.  
  23.   TXT2EXEset(T2E_Seite,342);           /* ein mit TXT2EXE erstelltes Programm */
  24.                            /* beinnt mit der Anzeige ab Seite 342 */
  25.  
  26.   /* do or call or spawn something *++()<<-)> */
  27.  
  28.   TXT2EXEset(T2E_Zeile,65537);         /* ein mit TXT2EXE erstelltes Programm */
  29.                                        /* beinnt mit der Anzeige ab Zeile 65537 */
  30.  
  31.   return(0);
  32. }
  33.  
  34.  
  35. int TXT2EXEset(int mode, long value)
  36. /*************************************************************************/
  37. /*                                                                       */
  38. /*  Setzt Zeile, Seite, Ueberschrift für die Stelle an der mit TXT2EXE   */
  39. /*  erzeugte Programme mit der Anzeige beginnen sollen. Jedoch muß       */
  40. /*  zuvor das TSR T2EICA (600 Bytes) installiert sein.                   */
  41. /*                                                                       */
  42. /*    AUFRUF INT 2Fh                                                     */
  43. /*      AX = 5547h                                                       */
  44. /*      Bh = Function : 0 -- installed // 1 -- set val // 2 -- get val   */
  45. /*      Bl = Modus : 0 -- Zeile // 1 -- Seite // 2 -- Ueberschrift       */
  46. /*      CX = Wert div 65536 (Hi-Word)                                    */
  47. /*      DX = Wert mod 65536 (Lo-Word)                                    */
  48. /*                                                                       */
  49. /*    Zurück :                                                           */
  50. /*      AX = 524Eh wenn OK                                               */
  51. /*                                                                       */
  52. /*************************************************************************/
  53. {
  54.   unsigned TXT2EXE_ICA_KENNUNG = 0x5547;        /* "GU" */
  55.   unsigned TXT2EXE_ICA_ANTWORT_OK = 0x524e;     /* "NR" */
  56.  
  57.   union REGS r;                                 /* Register */
  58.  
  59.   r.x.ax = TXT2EXE_ICA_KENNUNG;                 /* Kennung in AX */
  60.   r.h.bh = 0;                                   /* ICA installiert ? */
  61.   int86(0x2f, &r, &r);                          /* call int 2fh */
  62.  
  63.   if (r.x.ax == TXT2EXE_ICA_ANTWORT_OK)         /* AX=Antwort-> OK */
  64.     {
  65.       switch (mode) {                           /* Modus auswerten */
  66.     case
  67.      T2E_Zeile : r.h.bl = 0; break;         /* Zeile : bl = 0 */
  68.     case
  69.      T2E_Seite : r.h.bl = 1; break;         /* Seite : bl = 1 */
  70.     case
  71.      T2E_Ueberschrift : r.h.bl = 2; break;  /* Ueberschrift : bl = 2 */
  72.  
  73.         default : return(0);                    /* Falscher Parameter oder */
  74.                                             /* falsche Funktion */
  75.       }
  76.  
  77.       r.h.bh = 1;                               /* Funktion PUT-Value to ICA */
  78.       r.x.ax = TXT2EXE_ICA_KENNUNG;
  79.       r.x.cx = value / 65536;                   /* long --> hi-word */
  80.       r.x.dx = value % 65536;                   /* long --> lo-word */
  81.       int86(0x2f, &r, &r);                      /* call int 2fh */
  82.  
  83.       if (r.x.ax == TXT2EXE_ICA_ANTWORT_OK)     /* AX=Antwort -> OK */
  84.     return(1);                              /* Alles glatt gegangen */
  85.       else
  86.     return(0);                              /* schiefgeganen ... */
  87.     }
  88.   else
  89.     return(0);                                  /* T2EICA nicht installiert */
  90. }
  91.  
  92.  
  93.