1 /*****************************************************************************/
5 /* ACE system specific definitions */
9 /* (C) 1998-2000 Ullrich von Bassewitz */
11 /* D-70597 Stuttgart */
12 /* EMail: uz@musoftware.de */
15 /* This software is provided 'as-is', without any expressed or implied */
16 /* warranty. In no event will the authors be held liable for any damages */
17 /* arising from the use of this software. */
19 /* Permission is granted to anyone to use this software for any purpose, */
20 /* including commercial applications, and to alter it and redistribute it */
21 /* freely, subject to the following restrictions: */
23 /* 1. The origin of this software must not be misrepresented; you must not */
24 /* claim that you wrote the original software. If you use this software */
25 /* in a product, an acknowledgment in the product documentation would be */
26 /* appreciated but is not required. */
27 /* 2. Altered source versions must be plainly marked as such, and must not */
28 /* be misrepresented as being the original software. */
29 /* 3. This notice may not be removed or altered from any source */
32 /*****************************************************************************/
48 unsigned long ad_size; /* Size in bytes */
49 unsigned char ad_date [8]; /* YY:YY:MM:DD:HH:MM:SS:TW */
50 char ad_type [4]; /* File type as ASCIIZ string */
51 unsigned char ad_flags; /* File flags */
52 unsigned char ad_usage; /* More flags */
53 unsigned char ad_namelen; /* Length of name */
54 char ad_name [17]; /* Name itself, ASCIIZ */
57 int aceDirOpen (char* dir);
58 int aceDirClose (int handle);
59 int aceDirRead (int handle, struct aceDirentBuf* buf);
61 /* Type of an ACE key. Key in low byte, shift mask in high byte */
62 typedef unsigned int aceKey;
64 /* #defines for the shift mask returned by aceConGetKey */
65 #define aceSH_KEY 0x00FF /* Mask key itself */
66 #define aceSH_MASK 0xFF00 /* Mask shift mask */
67 #define aceSH_EXT 0x2000 /* Extended key */
68 #define aceSH_CAPS 0x1000 /* Caps lock key */
69 #define aceSH_ALT 0x0800 /* Alternate key */
70 #define aceSH_CTRL 0x0400 /* Ctrl key */
71 #define aceSH_CBM 0x0200 /* Commodore key */
72 #define aceSH_SHIFT 0x0100 /* Shift key */
74 /* #defines for the options in aceConSetOpt/aceConGetOpt */
75 #define aceOP_PUTMASK 1 /* Console put mask */
76 #define aceOP_CHARCOLOR 2 /* Character color */
77 #define aceOP_CHARATTR 3 /* Character attribute */
78 #define aceOP_FILLCOLOR 4 /* Fill color */
79 #define aceOP_FILLATTR 5 /* Fill attribute */
80 #define aceOP_CRSCOLOR 6 /* Cursor color */
81 #define aceOP_CRSWRAP 7 /* Force cursor wrap */
82 #define aceOP_SHSCROLL 8 /* Shift keys for scrolling */
83 #define aceOP_MOUSCALE 9 /* Mouse scaling */
84 #define aceOP_RPTDELAY 10 /* Key repeat delay */
85 #define aceOP_RPTRATE 11 /* Key repeat rate */
87 /* Console functions */
88 void aceConWrite (char* buf, size_t count);
89 void aceConPutLit (int c);
90 void aceConPos (unsigned x, unsigned y);
91 void aceConGetPos (unsigned* x, unsigned* y);
92 unsigned aceConGetX (void);
93 unsigned aceConGetY (void);
94 char* aceConInput (char* buf, unsigned initial);
95 int aceConStopKey (void);
96 aceKey aceConGetKey (void);
97 int aceConKeyAvail (aceKey* key);
98 void aceConKeyMat (char* matrix);
99 void aceConSetOpt (unsigned char opt, unsigned char val);
100 int aceConGetOpt (unsigned char opt);
103 int aceMiscIoPeek (unsigned addr);
104 void aceMiscIoPoke (unsigned addr, unsigned char val);