diff options
author | tg <tg@FreeBSD.org> | 2001-07-24 11:44:20 +0000 |
---|---|---|
committer | tg <tg@FreeBSD.org> | 2001-07-24 11:44:20 +0000 |
commit | 97507091ff20d3dc72113dfbd0c9532423d3acb4 (patch) | |
tree | f37909a1b76ac49ce96e941e94a62649b7210a4e /usr.bin/doscmd/tty.h | |
parent | dfb5f5d5892585bd43bea7a627c21456e0ff9687 (diff) | |
download | FreeBSD-src-97507091ff20d3dc72113dfbd0c9532423d3acb4.zip FreeBSD-src-97507091ff20d3dc72113dfbd0c9532423d3acb4.tar.gz |
Rewrite video emulation. Features:
- slightly more accurate VGA hardware emulation;
- more int 10 functions, especially wrt to palette handling;
- first shot at graphics support;
- mode switching.
Bugs:
- graphics too slow;
- only 16 color modes work for now;
- works only under X, and only with 16 bit TrueColor visuals;
- far from being genuinely useful (I can play an old EGA game now, though
(mahjongg.exe)).
Also, the code has been cleaned up a bit (more to come in a separate commit).
Diffstat (limited to 'usr.bin/doscmd/tty.h')
-rw-r--r-- | usr.bin/doscmd/tty.h | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/usr.bin/doscmd/tty.h b/usr.bin/doscmd/tty.h new file mode 100644 index 0000000..2c4b4c1 --- /dev/null +++ b/usr.bin/doscmd/tty.h @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2001 The FreeBSD Project, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY The FreeBSD Project, Inc. AND CONTRIBUTORS + * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL The FreeBSD Project, Inc. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; + * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +/* TTY subsystem XXX rewrite! */ +int redirect0; +int redirect1; +int redirect2; +extern int kbd_fd; +extern char *xfont; + +u_short KbdRead(void); +u_short KbdPeek(void); +void KbdWrite(u_short); + +void Failure(); +void get_lines(void); +void get_ximage(void); +void init_window(void); +void init_ximage(int, int); +void load_font(void); +void resize_window(void); +int tty_eread(REGISTERS, int, int); +int tty_estate(void); +void tty_write(int, int); +void tty_rwrite(int, int, int); +void tty_move(int, int); +int tty_read(regcontext_t *, int); +void tty_report(int *, int *); +void tty_flush(); +void tty_index(); +void tty_pause(); +int tty_peek(REGISTERS, int); +int tty_state(); +void tty_scroll(int, int, int, int, int, int); +void tty_rscroll(int, int, int, int, int, int); +int tty_char(int, int); +void video_blink(int); +void video_setborder(int); +void video_update(regcontext_t *); +void console_init(void); +void kbd_init(void); +void kbd_bios_init(void); +void update_pixels(void); |