/* Check for errors */
-#if !defined(__ATARI__) && !defined(__ATARIXL__)
+#if !defined(__ATARI__)
# error This module may only be used when compiling for the Atari!
#endif
#define COLOR_LIGHTBLUE _gtia_mkcolor(HUE_BLUE,6)
#define COLOR_GRAY3 _gtia_mkcolor(HUE_GREY,5)
+/* TGI color defines */
+#define TGI_COLOR_BLACK COLOR_BLACK
+#define TGI_COLOR_WHITE COLOR_WHITE
+#define TGI_COLOR_RED COLOR_RED
+#define TGI_COLOR_CYAN COLOR_CYAN
+#define TGI_COLOR_VIOLET COLOR_VIOLET
+#define TGI_COLOR_GREEN COLOR_GREEN
+#define TGI_COLOR_BLUE COLOR_BLUE
+#define TGI_COLOR_YELLOW COLOR_YELLOW
+#define TGI_COLOR_ORANGE COLOR_ORANGE
+#define TGI_COLOR_BROWN COLOR_BROWN
+#define TGI_COLOR_LIGHTRED COLOR_LIGHTRED
+#define TGI_COLOR_GRAY1 COLOR_GRAY1
+#define TGI_COLOR_GRAY2 COLOR_GRAY2
+#define TGI_COLOR_LIGHTGREEN COLOR_LIGHTGREEN
+#define TGI_COLOR_LIGHTBLUE COLOR_LIGHTBLUE
+#define TGI_COLOR_GRAY3 COLOR_GRAY3
+
/* color register functions */
extern void __fastcall__ _setcolor (unsigned char color_reg, unsigned char hue, unsigned char luminace);
extern void __fastcall__ _setcolor_low (unsigned char color_reg, unsigned char color_value);
/* global variables */
extern unsigned char _dos_type; /* the DOS flavour */
+#ifndef __ATARIXL__
extern void atr130_emd[];
extern void atrstd_joy[]; /* referred to by joy_static_stddrv[] */
-extern void atrm8_joy[];
+extern void atrmj8_joy[];
+extern void atrjoy_mou[];
+extern void atrst_mou[]; /* referred to by mouse_static_stddrv[] */
+extern void atrami_mou[];
+extern void atrtrk_mou[];
+extern void atrtt_mou[];
+extern void atrrdev_ser[];
extern void atr3_tgi[];
extern void atr4_tgi[];
extern void atr5_tgi[];
extern void atr14_tgi[];
extern void atr15_tgi[];
extern void atr15p2_tgi[];
+#else
+extern void atrx130_emd[];
+extern void atrxstd_joy[]; /* referred to by joy_static_stddrv[] */
+extern void atrxmj8_joy[];
+extern void atrxjoy_mou[];
+extern void atrxst_mou[]; /* referred to by mouse_static_stddrv[] */
+extern void atrxami_mou[];
+extern void atrxtrk_mou[];
+extern void atrxtt_mou[];
+extern void atrxrdev_ser[];
+extern void atrx3_tgi[];
+extern void atrx4_tgi[];
+extern void atrx5_tgi[];
+extern void atrx6_tgi[];
+extern void atrx7_tgi[];
+extern void atrx8_tgi[]; /* referred to by tgi_static_stddrv[] */
+extern void atrx8p2_tgi[];
+extern void atrx9_tgi[];
+extern void atrx9p2_tgi[];
+extern void atrx10_tgi[];
+extern void atrx10p2_tgi[];
+extern void atrx11_tgi[];
+extern void atrx14_tgi[];
+extern void atrx15_tgi[];
+extern void atrx15p2_tgi[];
+#endif
/* provide old names for backwards compatibility */
#ifdef ATARI_COMPAT_PRE_2_11
#define ZIOCB (*(struct __iocb *)0x20) /* zero page IOCB */
#define IOCB (*(struct __iocb *)0x340) /* system IOCB buffers */
+/* IOCB Command Codes */
+#define IOCB_OPEN 0x03 /* open */
+#define IOCB_GETREC 0x05 /* get record */
+#define IOCB_GETCHR 0x07 /* get character(s) */
+#define IOCB_PUTREC 0x09 /* put record */
+#define IOCB_PUTCHR 0x0B /* put character(s) */
+#define IOCB_CLOSE 0x0C /* close */
+#define IOCB_STATIS 0x0D /* status */
+#define IOCB_SPECIL 0x0E /* special */
+#define IOCB_DRAWLN 0x11 /* draw line */
+#define IOCB_FILLIN 0x12 /* draw line with right fill */
+#define IOCB_RENAME 0x20 /* rename disk file */
+#define IOCB_DELETE 0x21 /* delete disk file */
+#define IOCB_LOCKFL 0x23 /* lock file (set to read-only) */
+#define IOCB_UNLOCK 0x24 /* unlock file */
+#define IOCB_POINT 0x25 /* point sector */
+#define IOCB_NOTE 0x26 /* note sector */
+#define IOCB_GETFL 0x27 /* get file length */
+#define IOCB_CHDIR_MYDOS 0x29 /* change directory (MyDOS) */
+#define IOCB_MKDIR 0x2A /* make directory (MyDOS/SpartaDOS) */
+#define IOCB_RMDIR 0x2B /* remove directory (SpartaDOS) */
+#define IOCB_CHDIR_SPDOS 0x2C /* change directory (SpartaDOS) */
+#define IOCB_GETCWD 0x30 /* get current directory (MyDOS/SpartaDOS) */
+#define IOCB_FORMAT 0xFE /* format */
+
/* End of atari.h */
#endif /* #ifndef _ATARI_H */