home *** CD-ROM | disk | FTP | other *** search
- /*
- * fbios.h
- *
- * Stdscr Curses for PC Class Machines.
- *
- * Copyright 1990, 1993 by Anthony Howe. All rights reserved. No warranty.
- */
-
- #ifndef fbios_h
- #define fbios_h 1
-
- #include <dos.h>
-
- #ifndef _
- #ifdef __STDC__
- #define _(x) x
- #else
- #define _(x) ()
- #endif
- #endif
-
- #define SCREEN_HEIGHT 25
-
- typedef unsigned short chtype;
-
- typedef struct {
- unsigned char chr;
- unsigned char attr;
- } attrchar;
-
- typedef union {
- chtype c;
- attrchar a;
- } CHTYPE;
-
- typedef struct {
- unsigned char col;
- unsigned char row;
- } rowcol;
-
- typedef struct {
- char end;
- char start;
- } shape;
-
- typedef enum {
- A_BLACK,
- A_BLUE,
- A_GREEN,
- A_CYAN,
- A_RED,
- A_MAGENTA,
- A_BROWN,
- A_WHITE,
- A_GREY,
- A_LT_BLUE,
- A_LT_GREEN,
- A_LT_CYAN,
- A_LT_RED,
- A_LT_MAGENTA,
- A_YELLOW,
- A_BRIGHT_WHITE,
- A_BG_BLACK,
- A_BG_BLUE,
- A_BG_GREEN,
- A_BG_CYAN,
- A_BG_RED,
- A_BG_MAGENTA,
- A_BG_BROWN,
- A_BG_WHITE,
- A_BG_GREY,
- A_BG_LT_BLUE,
- A_BG_LT_GREEN,
- A_BG_LT_CYAN,
- A_BG_LT_RED,
- A_BG_LT_MAGENTA,
- A_BG_YELLOW,
- A_BG_BRIGHT_WHITE
- } COLOUR;
-
- #define ATTR_BLINK 0x80
- #define ATTR_BRIGHT 0x08
- #define ATTR_UNDERLINE 0x01
-
- #define STANDARD_SHIFT_MASK 0xf0
- #define INSERT_SHIFT 128
- #define CAPS_SHIFT 64
- #define NUM_LOCK_SHIFT 32
- #define SCROLL_LOCK_SHIFT 16
- #define ALT_SHIFT 8
- #define CTRL_SHIFT 4
- #define LEFT_SHIFT 2
- #define RIGHT_SHIFT 1
-
- typedef struct {
- unsigned char ascii;
- unsigned char extended;
- } ext_ascii;
-
- typedef union {
- unsigned short val;
- ext_ascii key;
- } KEY;
-
- extern void SetVideoMode _((int mode));
- extern void SetCursorShape _((int start_line, int end_line));
- extern void SetCursorPos _((int page, int row, int col));
- extern void ScrollUp _((int nlines, chtype attr, int row_ul, int col_ul,
- int row_br, int col_br));
- extern chtype GetChtype _((int page));
- extern void PutChtype _((int page, chtype ch));
- extern void PutChtypeN _((int page, chtype ch, int n));
- extern void PutChar _((int page, int ch));
- extern void PutCharN _((int page, int ch, int n));
- extern void AddChar _((int page, int ch));
- extern unsigned short GetCursorShape _((int page));
- extern int GetDisplayPage _((void));
- extern int GetVideoMode _((void));
- extern int GetScreenWidth _((void));
- extern int GetKey _((void));
-
- #endif /* fbios_h */
-
-