|
|
1.1 root 1: /* $Header: apa16.h,v 10.1 86/11/19 10:45:01 jg Exp $ */
2: /* apa16.h - Definitions and macros required to access APA16
3: *
4: * Defines required to support APA16
5: *
6: * Author:
7: * Scott Bates
8: * Brown University
9: * IRIS, Box 1946
10: * Providence, RI 02912
11: *
12: *
13: * Copyright (c) 1986 Brown University
14: *
15: * Permission to use, copy, modify and distribute this software and its
16: * documentation for any purpose and without fee is hereby granted, provided
17: * that the above copyright notice appear in all copies, and that both
18: * that copyright notice and this permission notice appear in supporting
19: * documentation, and that the name of Brown University not be used in
20: * advertising or publicity pertaining to distribution of the software
21: * without specific, written prior permission. Brown University makes no
22: * representations about the suitability of this software for any purpose.
23: * It is provided "as-is" without express or implied warranty.
24: */
25:
26: #define SCREEN_BASE (IO_ADDR | 0x4D80000) /* frame buffer address */
27: #define XDEV_ID XDEV_IBMAPA16 /* device id for info structure */
28:
29: #define X_SCREEN_WIDTH 1024 /* number of bits/line for apa16 */
30: #define X_SCREEN_HEIGHT 768 /* number of lines on the screen */
31:
32: #define REAL_SCREEN_WIDTH X_SCREEN_WIDTH /* actual screen width */
33: #define REAL_SCREEN_HEIGHT X_SCREEN_HEIGHT /* actual screen height */
34:
35: #define CURSOR_TYPE HARD_CURSOR /* apa16 uses hardware cursor */
36:
37: #define DISPLAY_INIT() apa16_init() /* display initialization routine */
38:
39: #define SCREEN_DEVICE "/dev/apa16" /* device number */
40: #define MOUSE_DEVICE "/dev/msapa16" /* device name of mouse for display */
41:
42: /*
43: * base I/O address
44: */
45:
46: #define IO_ADDR 0xF0000000
47:
48: /*
49: * Mode register.
50: */
51:
52: #define MR (IO_ADDR | 0x0D10)
53: #define MR_DEFAULT 0x8090
54:
55: /*
56: * Control/Status register.
57: */
58:
59: #define CSR (IO_ADDR | 0x0D12)
60: #define BACKGRND_BIT 0x0400
61: #define BLACK_ON_WHITE (*(u_short *)(CSR) | BACKGRND_BIT)
62: #define WHITE_ON_BLACK (*(u_short *)(CSR) & ~BACKGRND_BIT)
63: #define TOGGLE_BACKGRND (*(u_short *)(CSR) ^ BACKGRND_BIT)
64:
65: /*
66: * Video data output.
67: */
68:
69: #define VD_OUT (IO_ADDR | 0x0D1A)
70:
71: /*
72: * Enable video data output
73: */
74:
75: #define ENABLE_VD_OUT() *(u_short *)VD_OUT = 0
76:
77: /*
78: * Reset adaptor register.
79: */
80:
81: #define RA_R (IO_ADDR | 0x0D20)
82: #define RESET_APA16() *(u_short *)RA_R = 0;
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.