|
|
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.