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 >
Wrap
Text File
|
1994-09-01
|
4KB
|
93 lines
/* TXT2EXE Interprogram-Communication-Area [PFH93] */
#include <stdio.h>
#include <dos.h>
#include <process.h>
#include "t2ecomm.h"
main()
{
/* do or call or spawn something *(;-.) */
if (!TXT2EXEset(T2E_Ueberschrift,5)) /* ein mit TXT2EXE erstelltes Programm */
/* beginnt nun mit der Anzeige bei der */
/* fünften Überschrift */
{
printf("T2ECIA nicht installiert\n"); /* nicht installiert --> Fehler */
exit(1); /* Programm beenden */
}
/* do or call or spawn something ++&-<;-( */
TXT2EXEset(T2E_Seite,342); /* ein mit TXT2EXE erstelltes Programm */
/* beinnt mit der Anzeige ab Seite 342 */
/* do or call or spawn something *++()<<-)> */
TXT2EXEset(T2E_Zeile,65537); /* ein mit TXT2EXE erstelltes Programm */
/* beinnt mit der Anzeige ab Zeile 65537 */
return(0);
}
int TXT2EXEset(int mode, long value)
/*************************************************************************/
/* */
/* Setzt Zeile, Seite, Ueberschrift für die Stelle an der mit TXT2EXE */
/* erzeugte Programme mit der Anzeige beginnen sollen. Jedoch muß */
/* zuvor das TSR T2EICA (600 Bytes) installiert sein. */
/* */
/* AUFRUF INT 2Fh */
/* AX = 5547h */
/* Bh = Function : 0 -- installed // 1 -- set val // 2 -- get val */
/* Bl = Modus : 0 -- Zeile // 1 -- Seite // 2 -- Ueberschrift */
/* CX = Wert div 65536 (Hi-Word) */
/* DX = Wert mod 65536 (Lo-Word) */
/* */
/* Zurück : */
/* AX = 524Eh wenn OK */
/* */
/*************************************************************************/
{
unsigned TXT2EXE_ICA_KENNUNG = 0x5547; /* "GU" */
unsigned TXT2EXE_ICA_ANTWORT_OK = 0x524e; /* "NR" */
union REGS r; /* Register */
r.x.ax = TXT2EXE_ICA_KENNUNG; /* Kennung in AX */
r.h.bh = 0; /* ICA installiert ? */
int86(0x2f, &r, &r); /* call int 2fh */
if (r.x.ax == TXT2EXE_ICA_ANTWORT_OK) /* AX=Antwort-> OK */
{
switch (mode) { /* Modus auswerten */
case
T2E_Zeile : r.h.bl = 0; break; /* Zeile : bl = 0 */
case
T2E_Seite : r.h.bl = 1; break; /* Seite : bl = 1 */
case
T2E_Ueberschrift : r.h.bl = 2; break; /* Ueberschrift : bl = 2 */
default : return(0); /* Falscher Parameter oder */
/* falsche Funktion */
}
r.h.bh = 1; /* Funktion PUT-Value to ICA */
r.x.ax = TXT2EXE_ICA_KENNUNG;
r.x.cx = value / 65536; /* long --> hi-word */
r.x.dx = value % 65536; /* long --> lo-word */
int86(0x2f, &r, &r); /* call int 2fh */
if (r.x.ax == TXT2EXE_ICA_ANTWORT_OK) /* AX=Antwort -> OK */
return(1); /* Alles glatt gegangen */
else
return(0); /* schiefgeganen ... */
}
else
return(0); /* T2EICA nicht installiert */
}