/**
*.Name         ems_init
*.Title        Функция проверяет установку драйвера EMS
*
*.Descr        Эта функция проверяет наличие драйвера EMS
*
*.Proto        int ems_init(void);
*
*.Params       Не используются
*
*.Return       0 - драйвер EMS установлен;
*              1 - драйвер EMS не установлен.
*
*.Sample       ems_test.c
**/

#include <stdio.h>
#include <dos.h>
#include "sysp.h"

int ems_init(void) {

	void (_interrupt _far *EMS_driver_adr)(void);
	char _far *EMS_driver_name;
	char test_name[8];
	int i;

	EMS_driver_adr = _dos_getvect(0x67);

	FP_SEG(EMS_driver_name) = FP_SEG (EMS_driver_adr);
	FP_OFF(EMS_driver_name) = 10;

	for(i=0; i<8; i++) test_name[i] = EMS_driver_name[i];

	if(strncmp(test_name, "EMMXXXX0", 8) == 0) return(0);
	else return(1);

}

