X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=include%2Fcio.h;h=4e83202af2344909f4cc22fbb90263642237647a;hp=0bfd15da6c290fb22161ded6ac1b65a25169d171;hb=031437896d0dc6cac70c16e5604b10f5aa4d0767;hpb=13838bda88b63a2535b5baaf7197006767de4b8e diff --git a/include/cio.h b/include/cio.h index 0bfd15d..4e83202 100644 --- a/include/cio.h +++ b/include/cio.h @@ -1,58 +1,25 @@ +/***************************************************************************** +** This is part of the CTSim program +** Copyright (C) 1983-2000 Kevin Rosenberg +** +** $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 +** published by the Free Software Foundation. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +** +** You should have received a copy of the GNU General Public License +** along with this program; if not, write to the Free Software +** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +******************************************************************************/ #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 @@ -79,116 +46,20 @@ struct crtv_st { #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);} - -/* 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_restor.c */ -void crt_restore(const char *fname); -/* 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); -/* cprintf.c */ -void cio_printf(const char *cs, ...); -void cio_aprintf(const int attr, const char *cs, ...); -/* cputs.c */ -void cputs(const char *s); -/* crt_data.c */ -/* ctype.c */ -void crt_set_ctype(int start, int end); -void crt_cursor_off(void); -void crt_cursor_on(void); -/* dispcard.c */ -int crt_disp_card(void); -/* fill_eol.c */ -void crt_fill_eol(int c, int attr); -/* frame.c */ -int crt_frame(int ulcol, int ulrow, int lrcol, int lrrow, int attr, int nlines); -/* get_ca.c */ -void crt_get_ca(int *c, int *attr); -/* getmon.c */ -int crt_get_mon(void); -void crt_set_mon(int mon); -/* getstate.c */ -void crt_get_state(void); -/* mode.c */ -void crt_set_mode(int mode, int cls); -int crt_get_mode(void); -int crt_bios_code(int mode); -/* 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); -/* setpage.c */ -void crt_set_page(int page); -/* 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); +/* crtput.cpp */ +void cio_put_c(int c); +void cio_put_cc(int c, int count); +void cio_put_str(const char *str); -/* 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); -/* speaker.c */ -void cio_spkr_freq(double freq); -void cio_spkr_divisor(unsigned int div); -void cio_spkr_on(void); -void cio_spkr_off(void); -/* 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