GetBatt

Syntaxint GetBatt();
BeschreibungLiefert zurück, welchen Wert die Batterien haben.
Aufrufparameter
RückgabewertintLadezustand zwischen 0 und 1023. Ein Rückgabewert von -1 bedeutet, dass die Funktion auf diesem Pocket Viewer nicht verfügbar ist.
#define GETBATTSEG 0xC000         /* Die Routine zum Auslesen der Batterie steht an C000:06D1 */
#define GETBATTOFS 0x06D1
#define GETBATTTARGET {0xCB, 0xE4, 0x6A, 0x0C, 0x10} /* Dort sollte dieser Code stehen */

int GetBatt()
{
  unsigned char test[] = GETBATTTARGET;
  unsigned int (far * GetBattValue)();
  unsigned char far * p;
  int i;
  
      /* Erst testen, ob die Routine auf diesem PV auch vorhanden ist */
  p = MK_FP(GETBATTSEG,GETBATTOFS-1);
  for (i=0;i<sizeof(test);++i)
  {
    if (p[i] != test[i]) break;
  }
    
  if (i != sizeof(test))
  {
        /* Oops, an der Stelle steht aber nicht das, was dort stehen sollte */
    return -1;
  }
  else
  {
    GetBattValue = MK_FP(GETBATTSEG,GETBATTOFS); /* BIOS aufrufen und Wert zurück liefern */
    return GetBattValue();
  }
}

Für Ergänzungen wenden Sie sich bitte an: Jürgen Wagner