** This is part of the CTSim program
** Copyright (C) 1983-2000 Kevin Rosenberg
**
-** $Id: cio.h,v 1.3 2000/04/28 14:14:16 kevin Exp $
-** $Log: cio.h,v $
-** Revision 1.3 2000/04/28 14:14:16 kevin
-** *** empty log message ***
-**
+** $Id: cio.h,v 1.9 2000/06/13 16:20:31 kevin Exp $
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License (version 2) as
#ifndef __CIO_H
#define __CIO_H
-struct crtv_st {
- int init; /* True if initialized */
- int bios_mode; /* Current BIOS crt mode */
- int text_attr; /* Current text attribute */
- int act_page; /* Active page */
- int tcols, trows; /* Maximum text coords */
- int xmax, ymax; /* Maximum x, y for both text & graphic modes */
- int cx, cy; /* Current x, y position */
-};
-
-#ifndef DEFINE_CRTV
- extern struct crtv_st crtv;
-#endif
-
-/*----------------------------------------------------------------------*/
-
-#define CRT_ROWS 25
-#define CRT_COLS 80
-
-/* crt modes */
-
-#define GM_TEXT40 1 /* color */
-#define GM_TEXT80 3 /* color */
-#define GM_320x200 4 /* color */
-#define GM_640x200 6
-#define GM_MONOTEXT 7
-#define GM_E320x200 13
-#define GM_E640x200 14
-#define GM_MONOGRF 15
-#define GM_ENHANCED 16
-
-#define GM_640x480x16 0x12
-#define GM_640x480x256 0x2E
-#define GM_1024x768x16 0x37
-#define GM_1024x768x256 0x38
-
-
-
-#define GM_TEXT -1
-#define GM_HIGHRES -2
-#define GM_MEDRES -3
-
-#define CRT_NONE -1
-#define CRT_MONO 0
-#define CRT_COLOR 1
-#define CRT_ENHANCED 2
-
-/*----------------------------------------------------------------------*/
-
-#define ATTR_NORMAL 7
-#define ATTR_REVERSE 14
-#define ATTR_HIGHLIGHT 15
#define C_BLACK 0 /* color codes */
#define C_BLUE 1
#define SC_TAB 9
#define SC_BLANK ' '
-#define SC_TOP_LEFT 218
-#define SC_TOP_RIGHT 191
-#define SC_BOTT_LEFT 192
-#define SC_BOTT_RIGHT 217
-#define SC_HORIZ 196
-#define SC_VERTICAL 179
+/* audio.cpp */
+void cio_beep(void);
+void cio_tone(double freq, double length);
-#define WAITKEY() {cio_kb_clr(); while (cio_kb_read() == 0);}
+/* crtput.cpp */
+void cio_put_c(int c);
+void cio_put_cc(int c, int count);
+void cio_put_str(const char *str);
-/* biosf.c */
-void b_setcpos(int col, int row, int page);
-void crt_wrt_cca(int c, int attr, int count, int page);
-void crt_wrt_ca(int c, int attr, int page);
-void crt_wrt_stra(const char *str, int count, int attr, int row, int col, int page);
-/* c_save.c */
-int crt_save(const char *fname);
-/* center.c */
-int crt_center_line(const char *str);
-/* clreol.c */
-void crt_clreol(void);
-/* clrline.c */
-void crt_clrline(unsigned int line);
-/* clrscrn.c */
-void crt_clrscrn(void);
-/* cpos.c */
-void crt_tab(unsigned int n);
-void crt_save_cpos(void);
-void crt_restore_cpos(void);
-/* ctype.c */
-void crt_set_ctype(int start, int end);
-void crt_cursor_off(void);
-void crt_cursor_on(void);
-/* fill_eol.c */
-void crt_fill_eol(int c, int attr);
-/* get_ca.c */
-void crt_get_ca(int *c, int *attr);
-void crt_set_mon(int mon);
-/* getstate.c */
-void crt_get_state(void);
-/* put_ca.c */
-void crt_set_text_clr(int fclr, int bclr);
-int crt_get_texta(void);
-void crt_set_texta(int a);
-int crt_blank_attr(void);
-void crt_put_ca(int c, int attr);
-void crt_put_c(int c);
-void crt_put_cc(int c, int count);
-void crt_put_cca(int c, int attr, int count);
-void crt_put_str(const char *str);
-void crt_put_stra(const char *str, int attr);
-void crt_inc_col(int count);
-void crt_dec_col(int count);
-void crt_dec_row(int count);
-/* scrollup.c */
-void crt_scrollup(int xmin, int ymin, int xmax, int ymax, int nline, int attr);
-/* setcpos.c */
-void crt_set_cpos(int col, int row);
-void crt_get_cpos(int *col, int *row);
-/* setpal.c */
-void crt_set_palette(int id, int color);
-void crt_set_color_table(char *color_table);
-void crt_set_border(int bcolor);
-int crt_calc_color(double nr, double ng, double nb);
-int crt_icalc_color(int r, int g, int b);
-/* beep.c */
-void cio_beep(void);
-/* kb_chk.c */
-int cio_kb_chk(void);
-/* kb_clr.c */
-void cio_kb_clr(void);
-/* kb_getc.c */
+/* kbget.cpp */
unsigned int cio_kb_getc(void);
void cio_kb_ungetc(unsigned int c);
-/* kb_gets.c */
char *cio_kb_gets(char *str, int maxlen);
-/* kb_read.c */
-unsigned int cio_kb_read(void);
-void cio_kb_unread(unsigned int c);
-/* kb_waitc.c */
-unsigned int cio_kb_waitc(const char *astr, const char *estr, int beep_on_error);
-/* tone.c */
-void cio_tone(double freq, double length);
-/* check_kb */
-int cio_check_kb_escape(void);
+unsigned int cio_kb_waitc(const char *astr, int beep);
#endif