diff options
Diffstat (limited to 'usr.bin/doscmd/video.h')
-rw-r--r-- | usr.bin/doscmd/video.h | 154 |
1 files changed, 154 insertions, 0 deletions
diff --git a/usr.bin/doscmd/video.h b/usr.bin/doscmd/video.h new file mode 100644 index 0000000..2ddded1 --- /dev/null +++ b/usr.bin/doscmd/video.h @@ -0,0 +1,154 @@ +/* + * Copyright (c) 1992, 1993, 1996 + * Berkeley Software Design, 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. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by Berkeley Software + * Design, Inc. + * + * THIS SOFTWARE IS PROVIDED BY Berkeley Software Design, Inc. ``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 Berkeley Software Design, Inc. 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. + * + * BSDI video.h,v 2.2 1996/04/08 19:33:12 bostic Exp + * + * $Id: video.h,v 1.2 1996/09/22 05:53:12 miff Exp $ + */ + +/* + * Motorola 6845 Video Controller registers + * + * They are read by + * OUT port,code + * IN port+1,res + * + * They are written by + * OUT port,code + * OUT port+1,value + */ +#define MVC_TotHorzChar 0x00 /* Total Horizontal Character */ +#define MVC_DispHorzChar 0x01 /* Display Horizontal Character */ +#define MVC_HorzSyncChar 0x02 /* Horizontal sync signal after ...char */ +#define MVC_HorzSyncDur 0x03 /* Duration of horizontal sync signal in char */ +#define MVC_TotVertChar 0x04 /* Total Vertical Character */ +#define MVC_AdjVertChar 0x05 /* Adjust Veritcal Character */ +#define MVC_DispVertChar 0x06 /* Display Vertical Charcter */ +#define MVC_VertSyncChar 0x07 /* Vertical sync signal after .. char */ +#define MVC_InterlaceMode 0x08 /* Interlace Mode */ +#define MVC_ScanLines 0x09 /* Number of scan lines per screen line */ +#define MVC_CurStartLine 0x0a /* Starting line of screen cursor */ +#define MVC_CurEndLine 0x0b /* Ending line of screen cursor */ + +#define MVC_CurHigh 0x0e /* High byte of cursor position */ +#define MVC_CurLow 0x0f /* High byte of cursor position */ + +/* + * Additional MDA register + */ +#define MDA_StartDispPageLo 0x0c /* Starting address of displayed screen page (lo byte) */ +#define MDA_StartDispPageHi 0x0d /* Starting address of displayed screen page (hi byte) */ +#define MDA_BlinkCurAddrHi 0x0e /* Character address of blinking screen cursor (hi byte) */ +#define MDA_BlinkCurAddrLo 0x0f /* Character address of blinking screen cursor (lo byte) */ +#define MDA_LightPenHi 0x10 /* Light Pen Position (hi byte) */ +#define MDA_LightPenLo 0x11 /* Light Pen Position (lo byte) */ + +#define MDA_Control 0x03b8 /* MDA Control Register Port */ +#define MVC_Address 0x03b4 /* MVC Address Register */ +#define MVC_Data 0x03b5 /* MVC Data Register */ +#define MDA_VideoSeg 0xb800 /* Segmet address of video ram */ + +#define CGA_Control 0x03d8 /* CGA Control Register Port */ +#define CGA_Status 0x03da /* CGA Control Register Port */ +#define CVC_Address 0x03d4 /* CVC Address Register */ +#define CVC_Data 0x03d5 /* CVC Data Register */ + +#define CGA_Black 0x0 +#define CGA_Blue 0x1 +#define CGA_Green 0x2 +#define CGA_Cyan 0x3 +#define CGA_Red 0x4 +#define CGA_Magenta 0x5 +#define CGA_Brown 0x6 +#define CGA_LightGray 0x7 +#define CGA_DarkGray 0x8 +#define CGA_LightBlue 0x9 +#define CGA_LightGreen 0xa +#define CGA_LightCyan 0xb +#define CGA_LightRed 0xc +#define CGA_LightMagenta 0xd +#define CGA_Yellow 0xe +#define CGA_White 0xf + +#define VGA_Segment 0xa000 /* Starting Segment of VGA Memory */ +#define V_int 0x10 /* interrupt for dealing with screen */ +#define V_mode 0 /* code for setting new screen mode */ +#define V_curtype 1 /* code for setting new cursor type */ +#define V_setcur 2 /* code for addressing cursor */ +#define V_readcur 3 /* code for reading cursor location */ +#define V_readlp 4 /* code for reading light pen position */ +#define V_setpage 5 /* code to select active page */ +#define V_scrollup 6 /* code to scroll screen up */ +#define V_scrolldn 7 /* code to scroll screen nown */ +#define V_readch 8 /* code to read a character from screen */ +#define V_writeach 9 /* code to write char and attributes */ +#define V_writech 10 /* code to write character only */ +#define V_setpal 11 /* code to set new setpal or border */ +#define V_wdot 12 /* code to write a dot */ +#define V_rdot 13 /* code to read a dot */ +#define V_wtty 14 /* code to write as if teletype */ +#define V_state 15 /* code to find current screen status */ + +#define VM_40x25 0x00 +#define VM_80x25 0x02 +#define VM_320x200x4 0x04 +#define VM_640x200x2 0x06 +#define VM_80x25mono 0x07 +#define VM_320x200x16 0x0d +#define VM_640x200x16 0x0e +#define VM_640x350mono 0x0f +#define VM_640x350x16 0x10 +#define VM_640x480x2 0x11 +#define VM_640x480x16 0x12 +#define VM_320x200x256 0x13 +#define VM_80x30 0x50 +#define VM_80x43 0x51 +#define VM_80x60 0x52 +#define VM_132x25 0x53 +#define VM_132x30 0x54 +#define VM_132x43 0x55 +#define VM_132x60 0x56 +#define VM_132x25h 0x57 +#define VM_132x30h 0x58 +#define VM_132x43h 0x59 +#define VM_132x60h 0x5a +#define VM_800x600x16 0x5b +#define VM_640x400x256 0x5c +#define VM_640x480x256 0x5d +#define VM_800x600x256 0x5e +#define VM_1024x768x16 0x5f +#define VM_1024x768x4 0x60 +#define VM_768x1024x16 0x61 +#define VM_1024x768x256 0x62 + +#define VM_VGA VM_640x480x256 +#define VM_EVGA VM_800x600x256 +#define VM_SVGAportrait VM_768x1024x16 +#define VM_SVGA16 VM_1024x768x16 +#define VM_SVGA256 VM_1024x768x256 |