#ifndef		__tt8pclib_H
#define		__tt8pclib_H

#include	<tat332.h>

#include 	<dos.h>
#include 	<time.h>
#include 	<conio.h>
#include	<ctype.h>
#include	<setjmp.h>
#include	<signal.h>
#include	<stdarg.h>
#include	<stddef.h>
#include	<stdio.h>
#include	<stdlib.h>
#include	<string.h>
#include	<time.h>

#define	ABORT		0x03
#define	BKSP		0x08
#define	REDISP		0x12
#define	RESTRT		0x15

extern short	QueryDateTime(ptr prompt, short defTime, struct tm *tm);
extern short	QueryYesNo(ptr prompt, short defYes);
extern short	QueryChar(ptr prompt, short defChar, ptr scanSet, char *reply);
extern short	QueryNum(ptr prompt, ptr defFmt, ptr scanFmt, ulong *value);
extern short	InputLine(ptr linebuf, short linelen);
extern short	kbflush(void);

typedef int XmdmErr;
typedef int UeeErr;

short AtoDReadWord(short chan);
void delay_lp(void);
void DelayMilliSecs(unsigned long mS);
long GetTickRate(void);
void MonCmd(char *cmdstr);
void PChange(char port, unsigned short pin);
void PClear(char port, unsigned short pin);
int Pin(char port, unsigned short pin);
void PSet(char port, unsigned short pin);
void SetTimeTM(struct tm *tp, vfptr sync);
long SimSetFSys(long freq);
long SerSetBaud(long baud, long freq);
void SetTimeSecs(time_t secs, vfptr sync);
ulong TensMilliSecs(void);
void TPUClearInterrupt(int chan);
int TPUGetPin(short chan);
int TPUGetPinES(short chan, short edge);
ulong TPUGetTCR1(void);
void TPUSetPin(short chan, short pinval);
void TPUSetupPWM(short chan, short pwmhi, short pwmper, short priority);
UeeErr UeeReadBlock(ushort ueeSrcAddr, uchar *buffer, short len);
UeeErr UeeWriteBlock(ushort ueeDestAddr, uchar *buffer, short len);
XmdmErr XmodemSendMem(void *address, long length, ushort timeout);



/* Port pin definitions for "pin" functions while in PC simulation */
#define D   1
#define E   2
#define F   3

#endif


