typedef char * Address;
typedef int Boolean;
typedef unsigned char Byte;

typedef enum Vect { UserBDLC     =  8,
                    UserAtoD     =  9,
                    UserSCI      = 11,
                    UserSPI      = 12,
                    UserPAccEdge = 13,
                    UserPAccOvf  = 14,
                    UserTimerOvf = 15,
                    UserTimerCh7 = 16,
                    UserTimerCh6 = 17,
                    UserTimerCh5 = 18,
                    UserTimerCh4 = 19,
                    UserTimerCh3 = 20,
                    UserTimerCh2 = 21,
                    UserTimerCh1 = 22,
                    UserTimerCh0 = 23,
                    UserRTI      = 24,
                    UserIRQ      = 25,
                    UserXIRQ     = 26,
                    UserSWI      = 27,
                    UserTrap     = 28,
                    RAMVectAddr  = -1  };

typedef struct {
                   void (*DB12main) (void);
                   int (*DB12getchar) (void);
                   int (*DB12putchar) (int);
                   int (*DB12printf) (const char *,...);
                   int (*GetCmdLine) (char *CmdLineStr, int CmdLineLen);
                   char *  (*sscanhex) (char *HexStr, unsigned int *BinNum);
                   int (*DB12isxdigit) (int c);
                   int (*DB12toupper) (int c);
                   int (*DB12isalpha) (int c);
                   unsigned int (*DB12strlen) (const char *cs);
                   char * (*DB12strcpy) (char *s1, char *s2);
                   void (*out2hex) (unsigned int num);
                   void (*out4hex) (unsigned int num);
                   int (*SetUserVector) (int VectNum, Address UserAddress);
                   Boolean (*WriteEEByte) (Address EEAddress, Byte EEData);
                   int (*EraseEE) (void);
                   int (*ReadMem) (Address StartAddress, Byte *MemDataP,
                        unsigned int NumBytes);
                   int (*WriteMem) (Address StartAddress, Byte *MemDataP,
                        unsigned int NumBytes);
                } UserFN, * UserFNP;

#define DBug12FNP ((UserFNP)0xf680)

#define printf DB12printf
#define getchar DB12getchar
#define putchar DB12putchar
#define isxdigit DB12isxdigit
#define toupper DB12toupper
#define isalpha DB12isalpha
#define strlen DB12strlen
#define strcpy DB12strcpy

