/* TT7PCLIB.H */

#ifndef __tt7pclib_H
#define __tt7pclib_H


/* In \az68\include\tt7  */
#include <tt7.h>
#include <timing.h>
#include <serio.h>
#include <psram.h>

/* In \tc\include */
#include <dos.h>
#include <time.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>

typedef int XmdmErr;
typedef int DriveErr;

/* Couldn't use TT7 header file for these */
short AtoDReadWord(short chan);
DriveErr DriveReady(bool waitReady);
DriveErr DFDrivePrep(void);
DriveErr DFRead(ptr dfStart, short dfNum);
DriveErr DFWrite( ptr dfStart, short dfNum);
void DisableParIO(void);
DriveErr DriveOn(bool waitReady);
DriveErr DriveOff(void);
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 *PSMemAlloc(int nblocks);
void *PSMemAllocAll(long *psmemsize);
void PSMemFreeAll(void);
ulong PSMemGetSize(SIZSEL sizsel);
void SetTimeTM(struct tm *tp, vfptr sync);
int TPUGetPin(short chan);
void TPUSetPin(short chan, short pinval);
//int TSerByteAvail(int chan);
//void TSerInFlush(int chan);
//int TSerGetByte(int chan);
//int TSerOpen(int chan, int outflag, long qsize,
//	long baud, int parity, int databits, int stopbits);
//void TSerPutByte(int chan, int data);
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