Category : C Source Code
Archive   : ANSI8MSC.ZIP
Filename : ANSIDRV.H

 
Output of file : ANSIDRV.H contained in archive : ANSI8MSC.ZIP

/*
FUNCTION DECLARATIONS AND MACROS FOR ANSI DISPLAY ROUTINES
Mike Dumdei, 6 Holly Lane, Texarakana TX 75503
*/

#ifndef ulong
#define ulong unsigned long
#define uint unsigned int
#define uchar unsigned char
#endif

/* * MACROS TO DEFINE CURRENT WINDOW (startup value is 0,0,24,79) * */
#define SETWND(t,l,b,r) v_wndsz = 16777216*(t) + 65536*(l) + 256*(b) + (r)
#define SETTOPLFT(t,l) v_toplft = 256*(t) + (l)
#define SETBTMRGT(b,r) v_btmrgt = 256*(b) + (r)
/* * MACROS TO DEFINE ENTIRE SCREEN (startup value is 0,0,24,79) * */
#define SETsWND(t,l,b,r) vs_wndsz = 16777216*(t) + 65536*(l) + 256*(b) + (r)
#define SETsTOPLFT(t,l) vs_toplft = 256*(t) + (l)
#define SETsBTMRGT(b,r) vs_btmrgt = 256*(b) + (r)

/* * GLOBAL VIDEO VARIABLES DECLARED IN THE 'INITVID' FUNCTION * */
extern int v_struct; /* pointer to global video variables */
extern int v_seg; /* seg address of video ram memory */
extern char v_mode; /* current video mode */
extern char v_page; /* current video page */
extern ulong v_wndsz; /* current window dimensions (TLBR hex) */
extern uint v_btmrgt; /* current window btm right */
extern uchar v_rgt; /* current window rightmost column */
extern uchar v_btm; /* current window btm row */
extern uint v_toplft; /* current window top left */
extern uchar v_lft; /* current window leftmost column */
extern uchar v_top; /* current window top row */
extern ulong vs_wndsz; /* max dimensions for entire screen */
extern uint vs_btmrgt; /* max btm right position */
extern uint vs_toplft; /* max top left position */
extern char v_scrlm; /* scroll mode (1=scroll, 0=cursor wrap) */
extern char v_cntrlm; /* control mode (1=exec cntrls, 0=dsplay) */
extern char v_textm; /* text mode (1= \n == \n\r, 0= \n == \n) */
extern char v_ansi; /* ansi mode (1=use ANSI, 0=see garbage) */
extern char v_color; /* current atrib to use when displying chars */
extern char v_snow; /* snow flag (1=wait for retrace, 0=no wait */
extern char v_flicker; /* flicker flag (1=blank for writes is OK) */
extern char v_bios; /* bios flag (1=use BIOS, 0=direct writes) */
extern char v_ansiseq; /* flag showing ANSI sequence in progress */

/*
INITVID - INITIALIZES VARIOUS VIDEO VARIABLES USED BY SCREEN PROCS
VMode = initvid();
*/
char initvid(void);

/*
LOCATE THE CURSOR AT (ROW, COL) FUNCTION
loc(Row, Col);
*/
void loc(char, char);

/*
DISPLAY A STRING AT SPECIFIED LOCATION (ROW, COL)
d_strat(Row, Col, StrPtr);
*/
void d_strat(char, char, char *);

/*
DISPLAY A STRING AT CURRENT CURSOR POSITION
d_str(StrPtr);
*/
void d_str(char *);

/*
DISPLAY A CHARACTER AT CURRENT CURSOR LOCATION
d_ch(Char);
*/
void d_ch(char);

/*
DISPLAY MESSAGE WITHOUT REGARDING WINDOW LIMITS
This routine does not move the cursor. Requires atrib to use for
message text. (Used to print strings outside current window.)
d_msgat(row, col, atrib, "This message");
*/
void d_msgat(char, char, char, char *);

/*
RESET ATRIB OF CHARS FOR 'n' LOCATIONS STARTING AT ROW, COL
This routine does not move the cursor. (Used for color bar menus.)
d_atrbat(row, col, atrib, nbrlocs);
*/
void d_atrbat(char, char, char, int);

/*
DISPLAY 'char' COUNT NUMBER OF TIMES AT ROW, COL
This routine does not move the cursor.
d_strnat(row, col, char, atrib, nbrlocs);
*/
void d_strnat(char, char, char, char, int);

/*
READ CHAR/ATRIB AT CURRENT CURSOR LOCATION
AtrbChar = rd_scrn();
*/
int rd_scrn(void);

/*
CLEAR SCREEN FUNCTION (Clears currently designated window)
cls();
*/
void cls(void);

/*
SCROLL SCREEN UP FUNCTION
scrlup(NmbrLines);
*/
void scrlup(char);

/*
SCROLL SCREEN DOWN FUNCTION
scrldn(NmbrLines);
*/
void scrldn(char);

/*
SET CURSOR LOCATION
setcurloc(RowCol);
*/
void setcurloc(int);

/*
GET CURSOR LOCATION
CurPos = getcurloc();
*/
int getcurloc(void);

/*
SET CURSOR SIZE
setcursiz(Shape);
*/
void setcursiz(int);

/*
GET CURSOR SIZE
CurSiz = getcursiz();
*/
int getcursiz(void);

/*
SET VIDEO MODE
setvmode(VMode);
*/
void setvmode(char);

/*
GET VIDEO MODE
VMode = getvmode();
*/
char getvmode(void);

/*
SET VIDEO PAGE
setvpage(VPage);
*/
void setvpage(char);

/*
GET VIDEO PAGE
VPage = getvpage();
*/
char getvpage(void);

/*
SET SCREEN BORDER COLOR
setvbordr(BordrColr);
*/
void setvbordr(char);


  3 Responses to “Category : C Source Code
Archive   : ANSI8MSC.ZIP
Filename : ANSIDRV.H

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/