]> git.sur5r.net Git - cc65/blobdiff - include/atari.h
Minor adjustment to Apple II coding style (two spaces for macro definitions).
[cc65] / include / atari.h
index 22fc7075b150186a98e444d0a34b42f6591db2ed..f22479095b5649dc42b213747204347fd8f31895 100644 (file)
@@ -6,9 +6,9 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 2000 Mark Keates <markk@dendrite.co.uk>                               */
-/*          Freddy Offenga <taf_offenga@yahoo.com>                           */
-/*          Christian Groessler <cpg@aladdin.de>                             */
+/* (C) 2000-2006 Mark Keates <markk@dendrite.co.uk>                          */
+/*               Freddy Offenga <taf_offenga@yahoo.com>                      */
+/*               Christian Groessler <chris@groessler.org>                   */
 /*                                                                           */
 /*                                                                           */
 /* This software is provided 'as-is', without any expressed or implied       */
@@ -46,6 +46,7 @@
 
 /* Character codes */
 #define CH_DELCHR      0xFE   /* delete char under the cursor */
+#define CH_ENTER       0x9B
 #define CH_ESC                 0x1B
 #define CH_CURS_UP     28
 #define CH_CURS_DOWN   29
@@ -83,7 +84,7 @@
 #define CH_RTEE        0x04
 #define CH_CROSS       0x13
 #define CH_HLINE        0x12
-#define CH_VLINE        0x16
+#define CH_VLINE        0x7C
 
 /* color defines */
 
@@ -194,8 +195,9 @@ extern unsigned char _dos_type;        /* the DOS flavour */
 #define ATARIDOS    0
 #define SPARTADOS   1
 #define OSADOS      2
-#define MYDOS       3     /* detection currently not implemented */
-#define NODOS       255   /* detection currently not implemented */
+#define MYDOS       3
+#define XDOS        4
+#define NODOS       255
 
 /* Define hardware */
 #include <_gtia.h>
@@ -229,5 +231,24 @@ struct __dcb {
 };
 #define DCB (*(struct __dcb *)0x300)
 
+/* I/O control block */
+struct __iocb {
+    unsigned char handler;    /* handler index number (0xff free) */
+    unsigned char drive;      /* device number (drive) */
+    unsigned char command;    /* command */
+    unsigned char status;     /* status of last operation */
+    void          *buffer;    /* pointer to buffer */
+    void          *put_byte;  /* pointer to device's PUT BYTE routine */
+    unsigned int  buflen;     /* length of buffer */
+    unsigned char aux1;       /* 1st auxiliary byte */
+    unsigned char aux2;       /* 2nd auxiliary byte */
+    unsigned char aux3;       /* 3rd auxiliary byte */
+    unsigned char aux4;       /* 4th auxiliary byte */
+    unsigned char aux5;       /* 5th auxiliary byte */
+    unsigned char spare;      /* spare byte */
+};
+#define ZIOCB (*(struct __iocb *)0x20)  /* zero page IOCB */
+#define IOCB (*(struct __iocb *)0x340)  /* system IOCB buffers */
+
 /* End of atari.h */
 #endif /* #ifndef _ATARI_H */