home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 2
/
FreeSoftwareCollection2pd199x-jp.img
/
av
/
xbas.c
< prev
next >
Wrap
Text File
|
1990-06-14
|
1KB
|
64 lines
/* xbas.c 1990.02.11 Programmed by MSどす */
/* last update 1990.04.24 */
extern int xamout();
extern int xamkey();
#include "crossam.h"
int xbas(mode,dial_adr,key_adr,cnt)
int mode,cnt;
UCHAR *dial_adr,*key_adr;
{
int ret,time;
UCHAR *d_ptr,dial,*k_ptr,key,co;
USHORT len;
d_ptr = *(unsigned char **)dial_adr;
len = *(unsigned short *)(dial_adr+4);
if(len != 1){
return(NG);
}
k_ptr = *(unsigned char **)key_adr;
len = *(unsigned short *)(key_adr+4);
if(len != 1){
return(NG);
}
dial = (UCHAR)(*d_ptr & 0xff);
key = (UCHAR)(*k_ptr & 0xff);
time = (int)cnt;
if(dial < 1 || dial > 6) return(PARA_ERR_D);
if(key < 1 || key > 39) return(PARA_ERR_K);
if(time < 45000) return(PARA_ERR_T);
switch (mode){
case 0:
ret=xamout(dial,key,time);
if(ret){
co=STB_ON; /* STB ON */
outp(PADOUT,co);
}
break;
case 1:
ret=xamkey(&dial,&key);
if(! ret){
*d_ptr = (UCHAR)(dial);
*k_ptr = (UCHAR)(key);
}
else{
co=STB_ON; /* STB ON */
outp(PADOUT,co);
}
break;
default:
return(PARA_ERR_M);
break;
}
return (ret);
}