]> git.sur5r.net Git - cc65/blobdiff - include/conio.h
Fixed _textcolor definition.
[cc65] / include / conio.h
index 300a3be6fd0be8402806b12661de86eaa84dba22..72421af86ac7d8742706fbaadba50e08b116760d 100644 (file)
@@ -1,13 +1,13 @@
 /*****************************************************************************/
 /*                                                                           */
-/*                                  conio.h                                 */
+/*                                  conio.h                                  */
 /*                                                                           */
-/*                            Direct console I/O                            */
+/*                            Direct console I/O                             */
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2005 Ullrich von Bassewitz                                       */
-/*               Römerstraße 52                                              */
+/* (C) 1998-2007 Ullrich von Bassewitz                                       */
+/*               Roemerstrasse 52                                            */
 /*               D-70794 Filderstadt                                         */
 /* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
 
 
 /*
- * This is the direct console interface for cc65. I do not like the function
- * names very much, but the first version started as a rewrite of Borland's
- * conio, and, even if the interface has changed, the names did not.
- *
- * The interface does direct screen I/O, so it is fast enough for most
- * programs. I did not implement text windows, since many applications do
- * not need them and should not pay for the additional overhead. It should
- * be easy to add text windows on a higher level if needed,
- *
- * Most routines do not check the parameters. This may be unfortunate but is
- * also related to speed. The coordinates are always 0/0 based.
- */
+** This is the direct console interface for cc65. I do not like the function
+** names very much, but the first version started as a rewrite of Borland's
+** conio, and, even if the interface has changed, the names did not.
+**
+** The interface does direct screen I/O, so it is fast enough for most
+** programs. I did not implement text windows, since many applications do
+** not need them and should not pay for the additional overhead. It should
+** be easy to add text windows on a higher level if needed,
+**
+** Most routines do not check the parameters. This may be unfortunate but is
+** also related to speed. The coordinates are always 0/0 based.
+*/
 
 
 
 
 
 
-#if !defined(_STDARG_H)
-#  include <stdarg.h>
-#endif
-
-/* Include the correct machine-specific file */
-#if defined(__APPLE2__)
-#  include <apple2.h>
-#elif defined(__APPLE2ENH__)
-#  include <apple2enh.h>
-#elif defined(__ATARI__)
-#  include <atari.h>
-#elif defined(__ATMOS__)
-#  include <atmos.h>
-#elif defined(__CBM__)
-#  include <cbm.h>
-#elif defined(__GEOS__)
-#  include <geos.h>
-#elif defined(__LUNIX__)
-#  include <lunix.h>
-#elif defined(__LYNX__)
-#  include <lynx.h>
-#elif defined(__NES__)
-#  include <nes.h>
-#else
-#  error "Unknown platform in conio.h"
-#endif
+#include <stdarg.h>
+#include <target.h>
 
 
 
 /*****************************************************************************/
-/*                                Functions                                 */
+/*                                 Functions                                 */
 /*****************************************************************************/
 
 
@@ -130,9 +106,9 @@ int __fastcall__ vcprintf (const char* format, va_list ap);
 
 char cgetc (void);
 /* Return a character from the keyboard. If there is no character available,
- * the function waits until the user does press a key. If cursor is set to
- * 1 (see below), a blinking cursor is displayed while waiting.
- */
+** the function waits until the user does press a key. If cursor is set to
+** 1 (see below), a blinking cursor is displayed while waiting.
+*/
 
 int cscanf (const char* format, ...);
 /* Like scanf(), but uses direct keyboard input */
@@ -140,16 +116,33 @@ int cscanf (const char* format, ...);
 int __fastcall__ vcscanf (const char* format, va_list ap);
 /* Like vscanf(), but uses direct keyboard input */
 
+char cpeekc (void);
+/* Return the character from the current cursor position */
+
+unsigned char cpeekcolor (void);
+/* Return the color from the current cursor position */
+
+unsigned char cpeekrevers (void);
+/* Return the reverse attribute from the current cursor position.
+** If the character is reversed, then return 1; return 0 otherwise.
+*/
+
+void __fastcall__ cpeeks (char* s, unsigned int length);
+/* Return a string of the characters that start at the current cursor position.
+** Put the string into the buffer to which "s" points.  The string will have
+** "length" characters, then will be '\0'-terminated.
+*/
+
 unsigned char __fastcall__ cursor (unsigned char onoff);
 /* If onoff is 1, a cursor is displayed when waiting for keyboard input. If
- * onoff is 0, the cursor is hidden when waiting for keyboard input. The
- * function returns the old cursor setting.
- */
+** onoff is 0, the cursor is hidden when waiting for keyboard input. The
+** function returns the old cursor setting.
+*/
 
 unsigned char __fastcall__ revers (unsigned char onoff);
 /* Enable/disable reverse character display. This may not be supported by
- * the output device. Return the old setting.
- */
+** the output device. Return the old setting.
+*/
 
 unsigned char __fastcall__ textcolor (unsigned char color);
 /* Set the color for text output. The old color setting is returned. */
@@ -162,16 +155,16 @@ unsigned char __fastcall__ bordercolor (unsigned char color);
 
 void __fastcall__ chline (unsigned char length);
 /* Output a horizontal line with the given length starting at the current
- * cursor position.
- */
+** cursor position.
+*/
 
 void __fastcall__ chlinexy (unsigned char x, unsigned char y, unsigned char length);
 /* Same as "gotoxy (x, y); chline (length);" */
 
 void __fastcall__ cvline (unsigned char length);
 /* Output a vertical line with the given length at the current cursor
- * position.
- */
+** position.
+*/
 
 void __fastcall__ cvlinexy (unsigned char x, unsigned char y, unsigned char length);
 /* Same as "gotoxy (x, y); cvline (length);" */
@@ -198,29 +191,29 @@ void __fastcall__ cputhex16 (unsigned val);
 
 
 /* On some platforms, functions are not available or are dummys. To suppress
- * the call to these functions completely, the platform header files may
- * define macros for these functions that start with an underline. If such a
- * macro exists, a new macro is defined here, that expands to the one with the
- * underline. The reason for this two stepped approach is that it is sometimes
- * necessary to take the address of the function, which is not possible when
- * using a macro. Since the function prototype is still present, #undefining
- * the macro will give access to the actual function.
- */
-
-#if defined(_textcolor)
+** the call to these functions completely, the platform header files may
+** define macros for these functions that start with an underline. If such a
+** macro exists, a new macro is defined here, that expands to the one with the
+** underline. The reason for this two stepped approach is that it is sometimes
+** necessary to take the address of the function, which is not possible when
+** using a macro. Since the function prototype is still present, #undefining
+** the macro will give access to the actual function.
+*/
+
+#ifdef _textcolor
 #  define textcolor(x)          _textcolor(x)
 #endif
-#if defined(_bgcolor)
+#ifdef _bgcolor
 #  define bgcolor(x)            _bgcolor(x)
 #endif
-#if defined(_bordercolor)
+#ifdef _bordercolor
 #  define bordercolor(x)        _bordercolor(x)
 #endif
+#ifdef _cpeekcolor
+#  define cpeekcolor(x)         _cpeekcolor(x)
+#endif
 
 
 
 /* End of conio.h */
 #endif
-
-
-