Remove unused files.
This commit is contained in:
parent
777c326ff7
commit
85cece609b
|
@ -1,632 +0,0 @@
|
|||
/* $NetBSD: adbsys.c,v 1.1 1998/05/15 10:15:47 tsubai Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (C) 1994 Bradley A. Grantham
|
||||
* 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 Bradley A. Grantham.
|
||||
* 4. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
#include <sys/device.h>
|
||||
|
||||
#include <machine/cpu.h>
|
||||
|
||||
#include <macppc/dev/viareg.h>
|
||||
#include <macppc/dev/adbvar.h>
|
||||
|
||||
/* from adb.c */
|
||||
void adb_processevent __P((adb_event_t * event));
|
||||
|
||||
extern void adb_jadbproc __P((void));
|
||||
|
||||
void
|
||||
adb_complete(buffer, data_area, adb_command)
|
||||
caddr_t buffer;
|
||||
caddr_t data_area;
|
||||
int adb_command;
|
||||
{
|
||||
adb_event_t event;
|
||||
ADBDataBlock adbdata;
|
||||
int adbaddr;
|
||||
int error;
|
||||
#ifdef ADB_DEBUG
|
||||
int i;
|
||||
|
||||
if (adb_debug)
|
||||
printf("adb: transaction completion\n");
|
||||
#endif
|
||||
|
||||
adbaddr = (adb_command & 0xf0) >> 4;
|
||||
error = GetADBInfo(&adbdata, adbaddr);
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug)
|
||||
printf("adb: GetADBInfo returned %d\n", error);
|
||||
#endif
|
||||
|
||||
event.addr = adbaddr;
|
||||
event.hand_id = adbdata.devType;
|
||||
event.def_addr = adbdata.origADBAddr;
|
||||
event.byte_count = buffer[0];
|
||||
memcpy(event.bytes, buffer + 1, event.byte_count);
|
||||
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug) {
|
||||
printf("adb: from %d at %d (org %d) %d:", event.addr,
|
||||
event.hand_id, event.def_addr, buffer[0]);
|
||||
for (i = 1; i <= buffer[0]; i++)
|
||||
printf(" %x", buffer[i]);
|
||||
printf("\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
microtime(&event.timestamp);
|
||||
|
||||
adb_processevent(&event);
|
||||
}
|
||||
|
||||
void
|
||||
adb_msa3_complete(buffer, data_area, adb_command)
|
||||
caddr_t buffer;
|
||||
caddr_t data_area;
|
||||
int adb_command;
|
||||
{
|
||||
adb_event_t event;
|
||||
ADBDataBlock adbdata;
|
||||
int adbaddr;
|
||||
int error;
|
||||
#ifdef ADB_DEBUG
|
||||
int i;
|
||||
|
||||
if (adb_debug)
|
||||
printf("adb: transaction completion\n");
|
||||
#endif
|
||||
|
||||
adbaddr = (adb_command & 0xf0) >> 4;
|
||||
error = GetADBInfo(&adbdata, adbaddr);
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug)
|
||||
printf("adb: GetADBInfo returned %d\n", error);
|
||||
#endif
|
||||
|
||||
event.addr = adbaddr;
|
||||
event.hand_id = ADBMS_MSA3;
|
||||
event.def_addr = adbdata.origADBAddr;
|
||||
event.byte_count = buffer[0];
|
||||
memcpy(event.bytes, buffer + 1, event.byte_count);
|
||||
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug) {
|
||||
printf("adb: from %d at %d (org %d) %d:",
|
||||
event.addr, event.hand_id, event.def_addr, buffer[0]);
|
||||
for (i = 1; i <= buffer[0]; i++)
|
||||
printf(" %x", buffer[i]);
|
||||
printf("\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
microtime(&event.timestamp);
|
||||
|
||||
adb_processevent(&event);
|
||||
}
|
||||
|
||||
void
|
||||
adb_mm_nonemp_complete(buffer, data_area, adb_command)
|
||||
caddr_t buffer;
|
||||
caddr_t data_area;
|
||||
int adb_command;
|
||||
{
|
||||
adb_event_t event;
|
||||
ADBDataBlock adbdata;
|
||||
int adbaddr;
|
||||
int error;
|
||||
|
||||
#ifdef ADB_DEBUG
|
||||
int i;
|
||||
|
||||
if (adb_debug)
|
||||
printf("adb: transaction completion\n");
|
||||
#endif
|
||||
|
||||
adbaddr = (adb_command & 0xf0) >> 4;
|
||||
error = GetADBInfo(&adbdata, adbaddr);
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug)
|
||||
printf("adb: GetADBInfo returned %d\n", error);
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
printf("adb: from %d at %d (org %d) %d:", event.addr,
|
||||
event.hand_id, event.def_addr, buffer[0]);
|
||||
for (i = 1; i <= buffer[0]; i++)
|
||||
printf(" %x", buffer[i]);
|
||||
printf("\n");
|
||||
#endif
|
||||
|
||||
/* massage the data to look like EMP data */
|
||||
if ((buffer[3] & 0x04) == 0x04)
|
||||
buffer[1] &= 0x7f;
|
||||
else
|
||||
buffer[1] |= 0x80;
|
||||
if ((buffer[3] & 0x02) == 0x02)
|
||||
buffer[2] &= 0x7f;
|
||||
else
|
||||
buffer[2] |= 0x80;
|
||||
if ((buffer[3] & 0x01) == 0x01)
|
||||
buffer[3] = 0x00;
|
||||
else
|
||||
buffer[3] = 0x80;
|
||||
|
||||
event.addr = adbaddr;
|
||||
event.hand_id = adbdata.devType;
|
||||
event.def_addr = adbdata.origADBAddr;
|
||||
event.byte_count = buffer[0];
|
||||
memcpy(event.bytes, buffer + 1, event.byte_count);
|
||||
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug) {
|
||||
printf("adb: from %d at %d (org %d) %d:", event.addr,
|
||||
event.hand_id, event.def_addr, buffer[0]);
|
||||
for (i = 1; i <= buffer[0]; i++)
|
||||
printf(" %x", buffer[i]);
|
||||
printf("\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
microtime(&event.timestamp);
|
||||
|
||||
adb_processevent(&event);
|
||||
}
|
||||
|
||||
static volatile int extdms_done;
|
||||
|
||||
/*
|
||||
* initialize extended mouse - probes devices as
|
||||
* described in _Inside Macintosh, Devices_.
|
||||
*/
|
||||
void
|
||||
extdms_init(totaladbs)
|
||||
int totaladbs;
|
||||
{
|
||||
ADBDataBlock adbdata;
|
||||
int adbindex, adbaddr, count;
|
||||
short cmd;
|
||||
u_char buffer[9];
|
||||
|
||||
for (adbindex = 1; adbindex <= totaladbs; adbindex++) {
|
||||
/* Get the ADB information */
|
||||
adbaddr = GetIndADB(&adbdata, adbindex);
|
||||
if (adbdata.origADBAddr == ADBADDR_MS &&
|
||||
(adbdata.devType == ADBMS_USPEED)) {
|
||||
/* Found MicroSpeed Mouse Deluxe Mac */
|
||||
cmd = ((adbaddr<<4)&0xF0)|0x9; /* listen 1 */
|
||||
|
||||
/*
|
||||
* To setup the MicroSpeed, it appears that we can
|
||||
* send the following command to the mouse and then
|
||||
* expect data back in the form:
|
||||
* buffer[0] = 4 (bytes)
|
||||
* buffer[1], buffer[2] as std. mouse
|
||||
* buffer[3] = buffer[4] = 0xff when no buttons
|
||||
* are down. When button N down, bit N is clear.
|
||||
* buffer[4]'s locking mask enables a
|
||||
* click to toggle the button down state--sort of
|
||||
* like the "Easy Access" shift/control/etc. keys.
|
||||
* buffer[3]'s alternative speed mask enables using
|
||||
* different speed when the corr. button is down
|
||||
*/
|
||||
buffer[0] = 4;
|
||||
buffer[1] = 0x00; /* Alternative speed */
|
||||
buffer[2] = 0x00; /* speed = maximum */
|
||||
buffer[3] = 0x10; /* enable extended protocol,
|
||||
* lower bits = alt. speed mask
|
||||
* = 0000b
|
||||
*/
|
||||
buffer[4] = 0x07; /* Locking mask = 0000b,
|
||||
* enable buttons = 0111b
|
||||
*/
|
||||
extdms_done = 0;
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, cmd);
|
||||
while (!extdms_done)
|
||||
/* busy wait until done */;
|
||||
}
|
||||
if (adbdata.origADBAddr == ADBADDR_MS &&
|
||||
(adbdata.devType == ADBMS_100DPI ||
|
||||
adbdata.devType == ADBMS_200DPI)) {
|
||||
/* found a mouse */
|
||||
cmd = ((adbaddr << 4) & 0xf0) | 0x3;
|
||||
|
||||
extdms_done = 0;
|
||||
cmd = (cmd & 0xf3) | 0x0c; /* talk command */
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, cmd);
|
||||
|
||||
/* Wait until done, but no more than 2 secs */
|
||||
count = 40000;
|
||||
while (!extdms_done && count-- > 0)
|
||||
delay(50);
|
||||
|
||||
if (!extdms_done) {
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug)
|
||||
printf("adb: extdms_init timed out\n");
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
DELAY(1000);
|
||||
|
||||
/* Attempt to initialize Extended Mouse Protocol */
|
||||
buffer[2] = '\004'; /* make handler ID 4 */
|
||||
extdms_done = 0;
|
||||
cmd = (cmd & 0xf3) | 0x08; /* listen command */
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, cmd);
|
||||
while (!extdms_done)
|
||||
/* busy wait until done */;
|
||||
|
||||
/*
|
||||
* Check to see if successful, if not
|
||||
* try to initialize it as other types
|
||||
*/
|
||||
cmd = ((adbaddr << 4) & 0xf0) | 0x3;
|
||||
extdms_done = 0;
|
||||
cmd = (cmd & 0xf3) | 0x0c; /* talk command */
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, cmd);
|
||||
while (!extdms_done)
|
||||
/* busy wait until done */;
|
||||
|
||||
if (buffer[2] != ADBMS_EXTENDED) {
|
||||
/* Attempt to initialize as an A3 mouse */
|
||||
buffer[2] = 0x03; /* make handler ID 3 */
|
||||
extdms_done = 0;
|
||||
cmd = (cmd & 0xf3) | 0x08; /* listen command */
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, cmd);
|
||||
while (!extdms_done)
|
||||
/* busy wait until done */;
|
||||
|
||||
/*
|
||||
* Check to see if successful, if not
|
||||
* try to initialize it as other types
|
||||
*/
|
||||
cmd = ((adbaddr << 4) & 0xf0) | 0x3;
|
||||
extdms_done = 0;
|
||||
cmd = (cmd & 0xf3) | 0x0c; /* talk command */
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, cmd);
|
||||
while (!extdms_done)
|
||||
/* busy wait until done */;
|
||||
|
||||
if (buffer[2] == ADBMS_MSA3) {
|
||||
/* Initialize as above */
|
||||
cmd = ((adbaddr << 4) & 0xF0) | 0xA;
|
||||
/* listen 2 */
|
||||
buffer[0] = 3;
|
||||
buffer[1] = 0x00;
|
||||
/* Irrelevant, buffer has 0x77 */
|
||||
buffer[2] = 0x07;
|
||||
/*
|
||||
* enable 3 button mode = 0111b,
|
||||
* speed = normal
|
||||
*/
|
||||
extdms_done = 0;
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, cmd);
|
||||
while (!extdms_done)
|
||||
/* busy wait until done */;
|
||||
} else {
|
||||
/* No special support for this mouse */
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
adb_init()
|
||||
{
|
||||
ADBDataBlock adbdata;
|
||||
ADBSetInfoBlock adbinfo;
|
||||
int totaladbs;
|
||||
int adbindex, adbaddr;
|
||||
int error, cmd, count, devtype = 0;
|
||||
u_char buffer[9];
|
||||
extern int adb_initted;
|
||||
|
||||
ADBReInit();
|
||||
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug)
|
||||
printf("adb: done with ADBReInit\n");
|
||||
#endif
|
||||
|
||||
totaladbs = CountADBs();
|
||||
extdms_init(totaladbs);
|
||||
|
||||
/* for each ADB device */
|
||||
for (adbindex = 1; adbindex <= totaladbs; adbindex++) {
|
||||
/* Get the ADB information */
|
||||
adbaddr = GetIndADB(&adbdata, adbindex);
|
||||
|
||||
/* Print out the glory */
|
||||
printf("adb: ");
|
||||
switch (adbdata.origADBAddr) {
|
||||
case ADBADDR_SECURE:
|
||||
printf("security dongle (%d)", adbdata.devType);
|
||||
break;
|
||||
case ADBADDR_MAP:
|
||||
switch (adbdata.devType) {
|
||||
case ADB_STDKBD:
|
||||
printf("standard keyboard");
|
||||
break;
|
||||
case ADB_ISOKBD:
|
||||
printf("standard keyboard (ISO layout)");
|
||||
break;
|
||||
case ADB_EXTKBD:
|
||||
extdms_done = 0;
|
||||
/* talk R1 */
|
||||
cmd = (((adbaddr << 4) & 0xf0) | 0x0d );
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, cmd);
|
||||
|
||||
/* Wait until done, but no more than 2 secs */
|
||||
count = 40000;
|
||||
while (!extdms_done && count-- > 0)
|
||||
delay(50);
|
||||
|
||||
if (extdms_done &&
|
||||
buffer[1] == 0x9a && buffer[2] == 0x20)
|
||||
printf("Mouseman (non-EMP) pseudo keyboard");
|
||||
else
|
||||
printf("extended keyboard");
|
||||
break;
|
||||
case ADB_EXTISOKBD:
|
||||
printf("extended keyboard (ISO layout)");
|
||||
break;
|
||||
case ADB_KBDII:
|
||||
printf("keyboard II");
|
||||
break;
|
||||
case ADB_ISOKBDII:
|
||||
printf("keyboard II (ISO layout)");
|
||||
break;
|
||||
case ADB_PBKBD:
|
||||
printf("PowerBook keyboard");
|
||||
break;
|
||||
case ADB_PBISOKBD:
|
||||
printf("PowerBook keyboard (ISO layout)");
|
||||
break;
|
||||
case ADB_ADJKPD:
|
||||
printf("adjustable keypad");
|
||||
break;
|
||||
case ADB_ADJKBD:
|
||||
printf("adjustable keyboard");
|
||||
break;
|
||||
case ADB_ADJISOKBD:
|
||||
printf("adjustable keyboard (ISO layout)");
|
||||
break;
|
||||
case ADB_ADJJAPKBD:
|
||||
printf("adjustable keyboard (Japanese layout)");
|
||||
break;
|
||||
case ADB_PBEXTISOKBD:
|
||||
printf("PowerBook extended keyboard (ISO layout)");
|
||||
break;
|
||||
case ADB_PBEXTJAPKBD:
|
||||
printf("PowerBook extended keyboard (Japanese layout)");
|
||||
break;
|
||||
case ADB_JISKBDII:
|
||||
printf("keyboard II (JIS)");
|
||||
break;
|
||||
case ADB_PBEXTKBD:
|
||||
printf("PowerBook extended keyboard");
|
||||
break;
|
||||
case ADB_DESIGNKBD:
|
||||
printf("extended keyboard");
|
||||
break;
|
||||
default:
|
||||
printf("mapped device (%d)", adbdata.devType);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ADBADDR_REL:
|
||||
extdms_done = 0;
|
||||
/* talk register 3 */
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, (adbaddr << 4) | 0xf);
|
||||
|
||||
/* Wait until done, but no more than 2 secs */
|
||||
count = 40000;
|
||||
while (!extdms_done && count-- > 0)
|
||||
delay(50);
|
||||
|
||||
DELAY(1000);
|
||||
|
||||
if (!extdms_done) {
|
||||
printf("ghost mouse?");
|
||||
break;
|
||||
}
|
||||
|
||||
devtype = buffer[2];
|
||||
switch (devtype) {
|
||||
case ADBMS_100DPI:
|
||||
printf("100 dpi mouse");
|
||||
break;
|
||||
case ADBMS_200DPI:
|
||||
printf("200 dpi mouse");
|
||||
break;
|
||||
case ADBMS_MSA3:
|
||||
printf("Mouse Systems A3 mouse, default parameters");
|
||||
break;
|
||||
case ADBMS_USPEED:
|
||||
printf("MicroSpeed mouse, default parameters");
|
||||
break;
|
||||
case ADBMS_EXTENDED:
|
||||
extdms_done = 0;
|
||||
/* talk register 1 */
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, (adbaddr << 4) | 0xd);
|
||||
while (!extdms_done)
|
||||
/* busy-wait until done */;
|
||||
if (buffer[1] == 0x9a && buffer[2] == 0x20)
|
||||
printf("Mouseman (non-EMP) mouse");
|
||||
else {
|
||||
printf("extended mouse <%c%c%c%c> "
|
||||
"%d-button %d dpi ",
|
||||
buffer[1], buffer[2],
|
||||
buffer[3], buffer[4],
|
||||
(int)buffer[8],
|
||||
(int)*(short *)&buffer[5]);
|
||||
if (buffer[7] == 1)
|
||||
printf("mouse");
|
||||
else if (buffer[7] == 2)
|
||||
printf("trackball");
|
||||
else
|
||||
printf("unknown device");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printf("relative positioning device (mouse?) "
|
||||
"(%d)", adbdata.devType);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ADBADDR_ABS:
|
||||
switch (adbdata.devType) {
|
||||
case ADB_ARTPAD:
|
||||
printf("WACOM ArtPad II");
|
||||
break;
|
||||
default:
|
||||
printf("abs. pos. device (tablet?) (%d)",
|
||||
adbdata.devType);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case ADBADDR_DATATX:
|
||||
printf("data transfer device (modem?) (%d)",
|
||||
adbdata.devType);
|
||||
break;
|
||||
case ADBADDR_MISC:
|
||||
switch (adbdata.devType) {
|
||||
case ADB_POWERKEY:
|
||||
printf("Sophisticated Circuits PowerKey");
|
||||
break;
|
||||
default:
|
||||
printf("misc. device (remote control?) (%d)",
|
||||
adbdata.devType);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
printf("unknown type device, (def %d, handler %d)",
|
||||
adbdata.origADBAddr, adbdata.devType);
|
||||
break;
|
||||
}
|
||||
printf(" at %d\n", adbaddr);
|
||||
|
||||
/* Set completion routine to be NetBSD's */
|
||||
if ((adbdata.origADBAddr == ADBADDR_REL) &&
|
||||
(buffer[0] > 0) && (buffer[2] == ADBMS_MSA3)) {
|
||||
/* Special device handler for the A3 mouse */
|
||||
adbinfo.siServiceRtPtr = (Ptr)adb_msa3_complete;
|
||||
} else if ((adbdata.origADBAddr == ADBADDR_MAP) &&
|
||||
(adbdata.devType == ADB_EXTKBD) &&
|
||||
(buffer[1] == 0x9a) && (buffer[2] == 0x20)) {
|
||||
/* ignore non-EMP Mouseman pseudo keyboard */
|
||||
adbinfo.siServiceRtPtr = (Ptr)0;
|
||||
} else if ((adbdata.origADBAddr == ADBADDR_REL) &&
|
||||
(devtype == ADBMS_EXTENDED) &&
|
||||
(buffer[1] == 0x9a) && (buffer[2] == 0x20)) {
|
||||
/*
|
||||
* Set up non-EMP Mouseman to put button
|
||||
* bits in 3rd byte instead of sending via
|
||||
* pseudo keyboard device.
|
||||
*/
|
||||
extdms_done = 0;
|
||||
/* listen register 1 */
|
||||
buffer[0] = 2;
|
||||
buffer[1] = 0x00;
|
||||
buffer[2] = 0x81;
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, (adbaddr << 4) | 0x9);
|
||||
while (!extdms_done)
|
||||
/* busy-wait until done */;
|
||||
extdms_done = 0;
|
||||
/* listen register 1 */
|
||||
buffer[0] = 2;
|
||||
buffer[1] = 0x01;
|
||||
buffer[2] = 0x81;
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, (adbaddr << 4) | 0x9);
|
||||
while (!extdms_done)
|
||||
/* busy-wait until done */;
|
||||
extdms_done = 0;
|
||||
/* listen register 1 */
|
||||
buffer[0] = 2;
|
||||
buffer[1] = 0x02;
|
||||
buffer[2] = 0x81;
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, (adbaddr << 4) | 0x9);
|
||||
while (!extdms_done)
|
||||
/* busy-wait until done */;
|
||||
extdms_done = 0;
|
||||
/* listen register 1 */
|
||||
buffer[0] = 2;
|
||||
buffer[1] = 0x03;
|
||||
buffer[2] = 0x38;
|
||||
ADBOp((Ptr)buffer, (Ptr)extdms_complete,
|
||||
(Ptr)&extdms_done, (adbaddr << 4) | 0x9);
|
||||
while (!extdms_done)
|
||||
/* busy-wait until done */;
|
||||
/* non-EMP Mouseman has special handler */
|
||||
adbinfo.siServiceRtPtr = (Ptr)adb_mm_nonemp_complete;
|
||||
} else {
|
||||
/* Default completion routine */
|
||||
adbinfo.siServiceRtPtr = (Ptr)adb_complete;
|
||||
}
|
||||
adbinfo.siDataAreaAddr = NULL;
|
||||
error = SetADBInfo(&adbinfo, adbaddr);
|
||||
#ifdef ADB_DEBUG
|
||||
if (adb_debug)
|
||||
printf("adb: returned %d from SetADBInfo\n", error);
|
||||
#endif
|
||||
}
|
||||
|
||||
adb_initted = 1;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
extdms_complete(buffer, compdata, cmd)
|
||||
caddr_t buffer, compdata;
|
||||
int cmd;
|
||||
{
|
||||
long *p = (long *)compdata;
|
||||
|
||||
*p= -1;
|
||||
}
|
|
@ -1,556 +0,0 @@
|
|||
/* $NetBSD: font_8x16.c,v 1.1 1998/05/15 10:15:48 tsubai Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1992, 1993, 1994 Hellmuth Michaelis and Joerg Wunsch
|
||||
*
|
||||
* 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
|
||||
* Hellmuth Michaelis and Joerg Wunsch
|
||||
* 4. The name authors may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``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 AUTHORS 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.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Translated into compiler and human readable for for the Atari-TT port of
|
||||
* NetBSD by Leo Weppelman.
|
||||
*
|
||||
* Reorganized and edited some chars to fit the iso-8859-1 fontset by
|
||||
* Thomas Gerner
|
||||
*/
|
||||
|
||||
unsigned char fontdata_8x16[] = {
|
||||
/* 0x00 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x01 */ 0x00, 0x18, 0x18, 0x3c, 0x3c, 0x7e, 0x7e, 0xff,
|
||||
0xff, 0x7e, 0x7e, 0x3c, 0x3c, 0x18, 0x18, 0x00,
|
||||
/* 0x02 */ 0x42, 0x99, 0x99, 0x42, 0x42, 0x99, 0x99, 0x42,
|
||||
0x42, 0x99, 0x99, 0x42, 0x42, 0x99, 0x99, 0x42,
|
||||
/* 0x03 */ 0x00, 0x00, 0x90, 0x90, 0xf0, 0x90, 0x90, 0x00,
|
||||
0x3e, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
|
||||
/* 0x04 */ 0x00, 0x00, 0xf0, 0x80, 0xe0, 0x80, 0x80, 0x00,
|
||||
0x1e, 0x10, 0x1c, 0x10, 0x10, 0x00, 0x00, 0x00,
|
||||
/* 0x05 */ 0x00, 0x00, 0x60, 0x90, 0x80, 0x90, 0x60, 0x00,
|
||||
0x1c, 0x12, 0x1c, 0x12, 0x12, 0x00, 0x00, 0x00,
|
||||
/* 0x06 */ 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0xf0, 0x00,
|
||||
0x1e, 0x10, 0x1c, 0x10, 0x10, 0x00, 0x00, 0x00,
|
||||
/* 0x07 */ 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x08 */ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18,
|
||||
0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x09 */ 0x00, 0x00, 0x88, 0x98, 0xa8, 0xc8, 0x88, 0x00,
|
||||
0x10, 0x10, 0x10, 0x10, 0x1e, 0x00, 0x00, 0x00,
|
||||
/* 0x0a */ 0x00, 0x00, 0x88, 0x88, 0x50, 0x50, 0x20, 0x00,
|
||||
0x3e, 0x08, 0x08, 0x08, 0x08, 0x00, 0x00, 0x00,
|
||||
/* 0x0b */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x0c */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
|
||||
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
/* 0x0d */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f,
|
||||
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
/* 0x0e */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x0f */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff,
|
||||
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
/* 0x10 */ 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x11 */ 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x12 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x13 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x14 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
/* 0x15 */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x1f,
|
||||
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
/* 0x16 */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xf8,
|
||||
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
/* 0x17 */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xff,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x18 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
|
||||
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
/* 0x19 */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
/* 0x1a */ 0x00, 0x00, 0x0c, 0x18, 0x30, 0x60, 0x30, 0x18,
|
||||
0x0c, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x00, 0x00,
|
||||
/* 0x1b */ 0x00, 0x00, 0x30, 0x18, 0x0c, 0x06, 0x0c, 0x18,
|
||||
0x30, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x00, 0x00,
|
||||
/* 0x1c */ 0x00, 0x00, 0x00, 0x00, 0xfe, 0x6c, 0x6c, 0x6c,
|
||||
0x6c, 0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x1d */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18, 0x18,
|
||||
0x7e, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x1e */ 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60,
|
||||
0x60, 0x60, 0xe6, 0xfc, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x1f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* ' ' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '!' */ 0x00, 0x00, 0x18, 0x3c, 0x3c, 0x3c, 0x18, 0x18,
|
||||
0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '"' */ 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '#' */ 0x00, 0x00, 0x00, 0x6c, 0x6c, 0xfe, 0x6c, 0x6c,
|
||||
0x6c, 0xfe, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '$' */ 0x00, 0x18, 0x18, 0x7c, 0xc6, 0xc2, 0xc0, 0x7c,
|
||||
0x06, 0x86, 0xc6, 0x7c, 0x18, 0x18, 0x00, 0x00,
|
||||
/* '%' */ 0x00, 0x00, 0x00, 0x00, 0xc2, 0xc6, 0x0c, 0x18,
|
||||
0x30, 0x60, 0xc6, 0x86, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '&' */ 0x00, 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x76, 0xdc,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* ''' */ 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '(' */ 0x00, 0x00, 0x0c, 0x18, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x30, 0x18, 0x0c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* ')' */ 0x00, 0x00, 0x30, 0x18, 0x0c, 0x0c, 0x0c, 0x0c,
|
||||
0x0c, 0x0c, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '*' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3c, 0xff,
|
||||
0x3c, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '+' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e,
|
||||
0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* ',' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00,
|
||||
/* '-' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '.' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '/' */ 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0c, 0x18,
|
||||
0x30, 0x60, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '0' */ 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xce, 0xde, 0xf6,
|
||||
0xe6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '1' */ 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '2' */ 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x0c, 0x18, 0x30,
|
||||
0x60, 0xc0, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '3' */ 0x00, 0x00, 0x7c, 0xc6, 0x06, 0x06, 0x3c, 0x06,
|
||||
0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '4' */ 0x00, 0x00, 0x0c, 0x1c, 0x3c, 0x6c, 0xcc, 0xfe,
|
||||
0x0c, 0x0c, 0x0c, 0x1e, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '5' */ 0x00, 0x00, 0xfe, 0xc0, 0xc0, 0xc0, 0xfc, 0x06,
|
||||
0x06, 0x06, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '6' */ 0x00, 0x00, 0x38, 0x60, 0xc0, 0xc0, 0xfc, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '7' */ 0x00, 0x00, 0xfe, 0xc6, 0x06, 0x06, 0x0c, 0x18,
|
||||
0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '8' */ 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7c, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '9' */ 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0x7e, 0x06,
|
||||
0x06, 0x06, 0x0c, 0x78, 0x00, 0x00, 0x00, 0x00,
|
||||
/* ':' */ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
|
||||
0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* ';' */ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00,
|
||||
0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '<' */ 0x00, 0x00, 0x00, 0x06, 0x0c, 0x18, 0x30, 0x60,
|
||||
0x30, 0x18, 0x0c, 0x06, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '=' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00,
|
||||
0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '>' */ 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0c, 0x06,
|
||||
0x0c, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '?' */ 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x0c, 0x18, 0x18,
|
||||
0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '@' */ 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xde, 0xde,
|
||||
0xde, 0xdc, 0xc0, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'A' */ 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6, 0xfe,
|
||||
0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'B' */ 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x66,
|
||||
0x66, 0x66, 0x66, 0xfc, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'C' */ 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0,
|
||||
0xc0, 0xc2, 0x66, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'D' */ 0x00, 0x00, 0xf8, 0x6c, 0x66, 0x66, 0x66, 0x66,
|
||||
0x66, 0x66, 0x6c, 0xf8, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'E' */ 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68,
|
||||
0x60, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'F' */ 0x00, 0x00, 0xfe, 0x66, 0x62, 0x68, 0x78, 0x68,
|
||||
0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'G' */ 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xde,
|
||||
0xc6, 0xc6, 0x66, 0x3a, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'H' */ 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xfe, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'I' */ 0x00, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'J' */ 0x00, 0x00, 0x1e, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
|
||||
0xcc, 0xcc, 0xcc, 0x78, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'K' */ 0x00, 0x00, 0xe6, 0x66, 0x66, 0x6c, 0x78, 0x78,
|
||||
0x6c, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'L' */ 0x00, 0x00, 0xf0, 0x60, 0x60, 0x60, 0x60, 0x60,
|
||||
0x60, 0x62, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'M' */ 0x00, 0x00, 0xc6, 0xee, 0xfe, 0xfe, 0xd6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'N' */ 0x00, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde, 0xce,
|
||||
0xc6, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'O' */ 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'P' */ 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x60,
|
||||
0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'Q' */ 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xd6, 0xde, 0x7c, 0x0c, 0x0e, 0x00, 0x00,
|
||||
/* 'R' */ 0x00, 0x00, 0xfc, 0x66, 0x66, 0x66, 0x7c, 0x6c,
|
||||
0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'S' */ 0x00, 0x00, 0x7c, 0xc6, 0xc6, 0x60, 0x38, 0x0c,
|
||||
0x06, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'T' */ 0x00, 0x00, 0x7e, 0x7e, 0x5a, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'U' */ 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'V' */ 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0x6c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'W' */ 0x00, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xd6, 0xd6,
|
||||
0xd6, 0xfe, 0xee, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'X' */ 0x00, 0x00, 0xc6, 0xc6, 0x6c, 0x7c, 0x38, 0x38,
|
||||
0x7c, 0x6c, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'Y' */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'Z' */ 0x00, 0x00, 0xfe, 0xc6, 0x86, 0x0c, 0x18, 0x30,
|
||||
0x60, 0xc2, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '[' */ 0x00, 0x00, 0x3c, 0x30, 0x30, 0x30, 0x30, 0x30,
|
||||
0x30, 0x30, 0x30, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '\' */ 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0, 0x70, 0x38,
|
||||
0x1c, 0x0e, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00,
|
||||
/* ']' */ 0x00, 0x00, 0x3c, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c,
|
||||
0x0c, 0x0c, 0x0c, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '^' */ 0x10, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '_' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00,
|
||||
/* '`' */ 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'a' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0c, 0x7c,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'b' */ 0x00, 0x00, 0xe0, 0x60, 0x60, 0x78, 0x6c, 0x66,
|
||||
0x66, 0x66, 0x66, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'c' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc0,
|
||||
0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'd' */ 0x00, 0x00, 0x1c, 0x0c, 0x0c, 0x3c, 0x6c, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'e' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xfe,
|
||||
0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'f' */ 0x00, 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60,
|
||||
0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'g' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0xcc, 0x78, 0x00,
|
||||
/* 'h' */ 0x00, 0x00, 0xe0, 0x60, 0x60, 0x6c, 0x76, 0x66,
|
||||
0x66, 0x66, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'i' */ 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'j' */ 0x00, 0x00, 0x06, 0x06, 0x00, 0x0e, 0x06, 0x06,
|
||||
0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c, 0x00,
|
||||
/* 'k' */ 0x00, 0x00, 0xe0, 0x60, 0x60, 0x66, 0x6c, 0x78,
|
||||
0x78, 0x6c, 0x66, 0xe6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'l' */ 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'm' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xec, 0xfe, 0xd6,
|
||||
0xd6, 0xd6, 0xd6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'n' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66,
|
||||
0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'o' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'p' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x66, 0x66,
|
||||
0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00,
|
||||
/* 'q' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xcc, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0x7c, 0x0c, 0x0c, 0x1e, 0x00,
|
||||
/* 'r' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x76, 0x66,
|
||||
0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 's' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xc6, 0x60,
|
||||
0x38, 0x0c, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 't' */ 0x00, 0x00, 0x10, 0x30, 0x30, 0xfc, 0x30, 0x30,
|
||||
0x30, 0x30, 0x36, 0x1c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'u' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xcc, 0xcc, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'v' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0x6c, 0x38, 0x10, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'w' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xd6,
|
||||
0xd6, 0xd6, 0xfe, 0x6c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'x' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0x6c, 0x38,
|
||||
0x38, 0x38, 0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 'y' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0xf8, 0x00,
|
||||
/* 'z' */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xcc, 0x18,
|
||||
0x30, 0x60, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '{' */ 0x00, 0x00, 0x0e, 0x18, 0x18, 0x18, 0x70, 0x18,
|
||||
0x18, 0x18, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '|' */ 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18,
|
||||
0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '}' */ 0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0e, 0x18,
|
||||
0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00,
|
||||
/* '~' */ 0x00, 0x00, 0x76, 0xdc, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x7f */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6c, 0xc6,
|
||||
0xc6, 0xc6, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x80 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x81 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x82 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x83 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x84 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x85 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x86 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x87 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x88 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x89 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x8a */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x8b */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x8c */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x8d */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x8e */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x8f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x90 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x91 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x92 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x93 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x94 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x95 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x96 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x97 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x98 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x99 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x9a */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x9b */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x9c */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x9d */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x9e */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0x9f */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xa0 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xa1 */ 0x00, 0x00, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18,
|
||||
0x3c, 0x3c, 0x3c, 0x18, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xa2 */ 0x00, 0x18, 0x18, 0x3c, 0x66, 0x60, 0x60, 0x60,
|
||||
0x66, 0x3c, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xa3 */ 0x00, 0x38, 0x6c, 0x64, 0x60, 0xf0, 0x60, 0x60,
|
||||
0x60, 0x60, 0xe6, 0xfc, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xa4 */ 0xc3, 0x3c, 0x66, 0x42, 0x66, 0x3c, 0xc3, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xa5 */ 0x00, 0x00, 0x66, 0x66, 0x3c, 0x18, 0x7e, 0x18,
|
||||
0x7e, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xa6 */ 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
|
||||
0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00,
|
||||
/* 0xa7 */ 0x00, 0x7c, 0xc6, 0x60, 0x38, 0x6c, 0xc6, 0xc6,
|
||||
0x6c, 0x38, 0x0c, 0xc6, 0x7c, 0x00, 0x00, 0x00,
|
||||
/* 0xa8 */ 0x00, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xa9 */ 0x00, 0x7c, 0xc6, 0x82, 0x9a, 0xa6, 0xa2, 0xa6,
|
||||
0x9a, 0x82, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xaa */ 0x00, 0x3c, 0x6c, 0x6c, 0x3e, 0x00, 0x7e, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xab */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x36, 0x6c, 0xd8,
|
||||
0x6c, 0x36, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xac */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x06,
|
||||
0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xad */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xae */ 0x00, 0x7c, 0xc6, 0x82, 0xba, 0xa6, 0xba, 0xaa,
|
||||
0xa6, 0x82, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xaf */ 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xb0 */ 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xb1 */ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7e, 0x18,
|
||||
0x18, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xb2 */ 0x00, 0x70, 0xd8, 0x30, 0x60, 0xc8, 0xf8, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xb3 */ 0x00, 0x70, 0xd8, 0x30, 0x30, 0xd8, 0x70, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xb4 */ 0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xb5 */ 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66,
|
||||
0x66, 0x7c, 0x60, 0x60, 0xc0, 0x00, 0x00, 0x00,
|
||||
/* 0xb6 */ 0x00, 0x00, 0x7f, 0xdb, 0xdb, 0xdb, 0x7b, 0x1b,
|
||||
0x1b, 0x1b, 0x1b, 0x1b, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xb7 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xb8 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0x00, 0x00,
|
||||
/* 0xb9 */ 0x00, 0x30, 0x70, 0xf0, 0x30, 0x30, 0x78, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xba */ 0x00, 0x38, 0x6c, 0x6c, 0x38, 0x00, 0x7c, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xbb */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0x6c, 0x36,
|
||||
0x6c, 0xd8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xbc */ 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30,
|
||||
0x66, 0xce, 0x9e, 0x3e, 0x06, 0x06, 0x00, 0x00,
|
||||
/* 0xbd */ 0x00, 0xc0, 0xc0, 0xc2, 0xc6, 0xcc, 0x18, 0x30,
|
||||
0x60, 0xdc, 0x86, 0x0c, 0x18, 0x3e, 0x00, 0x00,
|
||||
/* 0xbe */ 0x00, 0xc0, 0x60, 0xc2, 0x66, 0xcc, 0x18, 0x30,
|
||||
0x66, 0xce, 0x9e, 0x3e, 0x06, 0x06, 0x00, 0x00,
|
||||
/* 0xbf */ 0x00, 0x00, 0x30, 0x30, 0x00, 0x30, 0x30, 0x60,
|
||||
0xc0, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc0 */ 0x18, 0x0c, 0x06, 0x00, 0x38, 0x6c, 0xc6, 0xc6,
|
||||
0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc1 */ 0x18, 0x30, 0x60, 0x00, 0x38, 0x6c, 0xc6, 0xc6,
|
||||
0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc2 */ 0x10, 0x38, 0x6c, 0x00, 0x38, 0x6c, 0xc6, 0xc6,
|
||||
0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc3 */ 0x76, 0xdc, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6,
|
||||
0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc4 */ 0xc6, 0xc6, 0x00, 0x10, 0x38, 0x6c, 0xc6, 0xc6,
|
||||
0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc5 */ 0x38, 0x6c, 0x38, 0x00, 0x38, 0x6c, 0xc6, 0xc6,
|
||||
0xfe, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc6 */ 0x00, 0x00, 0x3e, 0x6c, 0xcc, 0xcc, 0xfe, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0xce, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc7 */ 0x00, 0x00, 0x3c, 0x66, 0xc2, 0xc0, 0xc0, 0xc0,
|
||||
0xc2, 0x66, 0x3c, 0x0c, 0x06, 0x7c, 0x00, 0x00,
|
||||
/* 0xc8 */ 0x18, 0x0c, 0x06, 0x00, 0xfe, 0x66, 0x60, 0x7c,
|
||||
0x60, 0x60, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xc9 */ 0x18, 0x30, 0x60, 0x00, 0xfe, 0x66, 0x60, 0x7c,
|
||||
0x60, 0x60, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xca */ 0x10, 0x38, 0x6c, 0x00, 0xfe, 0x66, 0x60, 0x7c,
|
||||
0x60, 0x60, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xcb */ 0x00, 0xc6, 0x00, 0xfe, 0x66, 0x60, 0x60, 0x7c,
|
||||
0x60, 0x60, 0x66, 0xfe, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xcc */ 0x18, 0x0c, 0x06, 0x00, 0x3c, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xcd */ 0x18, 0x30, 0x60, 0x00, 0x3c, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xce */ 0x10, 0x38, 0x6c, 0x00, 0x3c, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xcf */ 0x00, 0x66, 0x00, 0x3c, 0x18, 0x18, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd0 */ 0x00, 0x00, 0xf8, 0x6c, 0x66, 0x66, 0xf6, 0x66,
|
||||
0x66, 0x66, 0x6c, 0xf8, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd1 */ 0x76, 0xdc, 0x00, 0xc6, 0xe6, 0xf6, 0xfe, 0xde,
|
||||
0xce, 0xc6, 0xc6, 0xc6, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd2 */ 0x18, 0x0c, 0x06, 0x00, 0x7c, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd3 */ 0x18, 0x30, 0x60, 0x00, 0x7c, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd4 */ 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd5 */ 0x76, 0xdc, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd6 */ 0xc6, 0xc6, 0x00, 0x7c, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd7 */ 0x00, 0x00, 0x00, 0x00, 0xc6, 0x6c, 0x38, 0x38,
|
||||
0x6c, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xd8 */ 0x00, 0x06, 0x7e, 0xce, 0xce, 0xce, 0xd6, 0xd6,
|
||||
0xe6, 0xe6, 0xe6, 0xfc, 0xc0, 0x00, 0x00, 0x00,
|
||||
/* 0xd9 */ 0x18, 0x0c, 0x06, 0x00, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xda */ 0x18, 0x30, 0x60, 0x00, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xdb */ 0x10, 0x38, 0x6c, 0x00, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xdc */ 0xc6, 0xc6, 0x00, 0xc6, 0xc6, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xdd */ 0x18, 0x30, 0x60, 0x00, 0x66, 0x66, 0x66, 0x3c,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xde */ 0x00, 0xf0, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x7c,
|
||||
0x60, 0x60, 0x60, 0xf0, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xdf */ 0x00, 0x00, 0x78, 0xcc, 0xcc, 0xcc, 0xd8, 0xcc,
|
||||
0xc6, 0xc6, 0xc6, 0xcc, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe0 */ 0x00, 0x60, 0x30, 0x18, 0x00, 0x78, 0x0c, 0x7c,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe1 */ 0x00, 0x18, 0x30, 0x60, 0x00, 0x78, 0x0c, 0x7c,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe2 */ 0x00, 0x10, 0x38, 0x6c, 0x00, 0x78, 0x0c, 0x7c,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe3 */ 0x00, 0x00, 0x76, 0xdc, 0x00, 0x78, 0x0c, 0x7c,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe4 */ 0x00, 0x00, 0xcc, 0x00, 0x00, 0x78, 0x0c, 0x7c,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe5 */ 0x00, 0x38, 0x6c, 0x38, 0x00, 0x78, 0x0c, 0x7c,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe6 */ 0x00, 0x00, 0x00, 0x00, 0x6c, 0xfe, 0xb2, 0x32,
|
||||
0x7e, 0xd8, 0xd8, 0x6e, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe7 */ 0x00, 0x00, 0x00, 0x00, 0x3c, 0x66, 0x60, 0x60,
|
||||
0x66, 0x3c, 0x0c, 0x06, 0x3c, 0x00, 0x00, 0x00,
|
||||
/* 0xe8 */ 0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xfe,
|
||||
0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xe9 */ 0x00, 0x0c, 0x18, 0x30, 0x00, 0x7c, 0xc6, 0xfe,
|
||||
0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xea */ 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xfe,
|
||||
0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xeb */ 0x00, 0x00, 0xc6, 0x00, 0x00, 0x7c, 0xc6, 0xfe,
|
||||
0xc0, 0xc0, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xec */ 0x00, 0x60, 0x30, 0x18, 0x00, 0x38, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xed */ 0x00, 0x0c, 0x18, 0x30, 0x00, 0x38, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xee */ 0x00, 0x18, 0x3c, 0x66, 0x00, 0x38, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xef */ 0x00, 0x00, 0x66, 0x00, 0x00, 0x38, 0x18, 0x18,
|
||||
0x18, 0x18, 0x18, 0x3c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf0 */ 0x00, 0x00, 0x3e, 0x30, 0x18, 0x7c, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf1 */ 0x00, 0x00, 0x76, 0xdc, 0x00, 0xdc, 0x66, 0x66,
|
||||
0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf2 */ 0x00, 0x60, 0x30, 0x18, 0x00, 0x7c, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf3 */ 0x00, 0x18, 0x30, 0x60, 0x00, 0x7c, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf4 */ 0x00, 0x10, 0x38, 0x6c, 0x00, 0x7c, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf5 */ 0x00, 0x00, 0x76, 0xdc, 0x00, 0x7c, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf6 */ 0x00, 0x00, 0xc6, 0x00, 0x00, 0x7c, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7c, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf7 */ 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x7e,
|
||||
0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xf8 */ 0x00, 0x00, 0x00, 0x00, 0x06, 0x7e, 0xce, 0xce,
|
||||
0xd6, 0xe6, 0xe6, 0xfc, 0xc0, 0x00, 0x00, 0x00,
|
||||
/* 0xf9 */ 0x00, 0x60, 0x30, 0x18, 0x00, 0xcc, 0xcc, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xfa */ 0x00, 0x18, 0x30, 0x60, 0x00, 0xcc, 0xcc, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xfb */ 0x00, 0x30, 0x78, 0xcc, 0x00, 0xcc, 0xcc, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xfc */ 0x00, 0x00, 0xcc, 0x00, 0x00, 0xcc, 0xcc, 0xcc,
|
||||
0xcc, 0xcc, 0xcc, 0x76, 0x00, 0x00, 0x00, 0x00,
|
||||
/* 0xfd */ 0x00, 0x18, 0x30, 0x60, 0x00, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0x78, 0x00,
|
||||
/* 0xfe */ 0x00, 0x00, 0x00, 0xf0, 0x60, 0x7c, 0x66, 0x66,
|
||||
0x66, 0x66, 0x66, 0x7c, 0x60, 0x60, 0xf0, 0x00,
|
||||
/* 0xff */ 0x00, 0xc6, 0xc6, 0x00, 0x00, 0xc6, 0xc6, 0xc6,
|
||||
0xc6, 0xc6, 0xc6, 0x7e, 0x06, 0x0c, 0x78, 0x00
|
||||
};
|
|
@ -1,286 +0,0 @@
|
|||
/* $NetBSD: grf.c,v 1.1 1998/05/15 10:15:48 tsubai Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* the Systems Programming Group of the University of Utah Computer
|
||||
* Science Department.
|
||||
*
|
||||
* 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 the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
|
||||
*
|
||||
* from: Utah $Hdr: grf.c 1.31 91/01/21$
|
||||
*
|
||||
* @(#)grf.c 7.8 (Berkeley) 5/7/91
|
||||
*/
|
||||
|
||||
/*
|
||||
* Graphics display driver for the PowerMacintosh.
|
||||
* This is the hardware-independent portion of the driver.
|
||||
* Hardware access is through the grfdev routines below.
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
|
||||
#include <sys/device.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/file.h>
|
||||
#include <sys/malloc.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/poll.h>
|
||||
#include <sys/proc.h>
|
||||
#include <sys/vnode.h>
|
||||
#include <sys/systm.h>
|
||||
|
||||
#include <vm/vm.h>
|
||||
#include <vm/vm_kern.h>
|
||||
|
||||
#include <machine/bus.h>
|
||||
#include <machine/cpu.h>
|
||||
#include <machine/grfioctl.h>
|
||||
|
||||
#include <macppc/dev/itevar.h>
|
||||
#include <macppc/dev/grfvar.h>
|
||||
|
||||
#include "grf.h"
|
||||
#include "ite.h"
|
||||
|
||||
#if NITE == 0
|
||||
#define iteon(u,f)
|
||||
#define iteoff(u,f)
|
||||
#endif
|
||||
|
||||
int grfmatch __P((struct device *, struct cfdata *, void *));
|
||||
void grfattach __P((struct device *, struct device *, void *));
|
||||
int grfbusprint();
|
||||
|
||||
struct cfattach grf_ca = {
|
||||
sizeof(struct grf_softc), grfmatch, grfattach
|
||||
};
|
||||
|
||||
extern struct cfdriver grf_cd;
|
||||
|
||||
#ifdef DEBUG
|
||||
#define GRF_DEBUG
|
||||
#endif
|
||||
|
||||
#ifdef GRF_DEBUG
|
||||
#define GDB_DEVNO 0x01
|
||||
#define GDB_MMAP 0x02
|
||||
#define GDB_IOMAP 0x04
|
||||
#define GDB_LOCK 0x08
|
||||
int grfdebug = 0;
|
||||
#endif
|
||||
|
||||
int
|
||||
grfmatch(parent, cf, aux)
|
||||
struct device *parent;
|
||||
struct cfdata *cf;
|
||||
void *aux;
|
||||
{
|
||||
struct grf_attach_args *ga = aux;
|
||||
|
||||
if (strcmp(ga->ga_name, "grf") != 0)
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
|
||||
void
|
||||
grfattach(parent, self, aux)
|
||||
struct device *parent, *self;
|
||||
void *aux;
|
||||
{
|
||||
struct grf_softc *sc = (struct grf_softc *)self;
|
||||
struct grf_attach_args *ga = aux;
|
||||
|
||||
printf("\n");
|
||||
|
||||
/* Load forwarded pointers. */
|
||||
sc->sc_display = ga->ga_display;
|
||||
sc->sc_mode = ga->ga_mode;
|
||||
|
||||
sc->sc_flags = GF_ALIVE; /* XXX bogus */
|
||||
|
||||
/*
|
||||
* Attach ite semantics to the grf. Change the name, forward
|
||||
* everything else.
|
||||
*/
|
||||
ga->ga_name = "ite";
|
||||
config_found(self, ga, grfbusprint);
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
int
|
||||
grfopen(dev, flag, mode, p)
|
||||
dev_t dev;
|
||||
int flag;
|
||||
int mode;
|
||||
struct proc *p;
|
||||
{
|
||||
register struct grf_softc *gp;
|
||||
int unit;
|
||||
int error = 0;
|
||||
|
||||
unit = GRFUNIT(dev);
|
||||
gp = grf_cd.cd_devs[unit];
|
||||
|
||||
if (unit >= grf_cd.cd_ndevs || (gp->sc_flags & GF_ALIVE) == 0)
|
||||
return (ENXIO);
|
||||
|
||||
if ((gp->sc_flags & (GF_OPEN | GF_EXCLUDE)) == (GF_OPEN | GF_EXCLUDE))
|
||||
return (EBUSY);
|
||||
|
||||
/*
|
||||
* First open.
|
||||
* XXX: always put in graphics mode.
|
||||
*/
|
||||
if ((gp->sc_flags & GF_OPEN) == 0) {
|
||||
gp->sc_flags |= GF_OPEN;
|
||||
/*error = grfon(dev);*/
|
||||
}
|
||||
return (error);
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
int
|
||||
grfclose(dev, flag, mode, p)
|
||||
dev_t dev;
|
||||
int flag;
|
||||
int mode;
|
||||
struct proc *p;
|
||||
{
|
||||
register struct grf_softc *gp;
|
||||
|
||||
gp = grf_cd.cd_devs[GRFUNIT(dev)];
|
||||
|
||||
/*(void)grfoff(dev);*/
|
||||
gp->sc_flags &= GF_ALIVE;
|
||||
|
||||
return (0);
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
int
|
||||
grfioctl(dev, cmd, data, flag, p)
|
||||
dev_t dev;
|
||||
int cmd;
|
||||
caddr_t data;
|
||||
int flag;
|
||||
struct proc *p;
|
||||
{
|
||||
struct grf_softc *gp;
|
||||
struct grfinfo *gm;
|
||||
int error;
|
||||
int unit = GRFUNIT(dev);
|
||||
|
||||
gp = grf_cd.cd_devs[unit];
|
||||
gm = gp->sc_display;
|
||||
error = 0;
|
||||
|
||||
switch (cmd) {
|
||||
case GRFIOCGINFO:
|
||||
bcopy(gm, data, sizeof(struct grfinfo));
|
||||
break;
|
||||
case GRFIOCON:
|
||||
error = grfon(dev);
|
||||
break;
|
||||
case GRFIOCOFF:
|
||||
error = grfoff(dev);
|
||||
break;
|
||||
default:
|
||||
error = EINVAL;
|
||||
break;
|
||||
}
|
||||
return (error);
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
int
|
||||
grfpoll(dev, events, p)
|
||||
dev_t dev;
|
||||
int events;
|
||||
struct proc *p;
|
||||
{
|
||||
return (events & (POLLOUT | POLLWRNORM));
|
||||
}
|
||||
|
||||
/*ARGSUSED*/
|
||||
int
|
||||
grfmmap(dev, off, prot)
|
||||
dev_t dev;
|
||||
int off;
|
||||
int prot;
|
||||
{
|
||||
struct grf_softc *gp = grf_cd.cd_devs[GRFUNIT(dev)];
|
||||
struct grfinfo *gi = gp->sc_display;
|
||||
|
||||
if (off >= 0 && off < gi->gd_devsize)
|
||||
return (int)gi->gd_devaddr + off;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
grfon(dev)
|
||||
dev_t dev;
|
||||
{
|
||||
int unit = GRFUNIT(dev);
|
||||
struct grf_softc *gp;
|
||||
|
||||
gp = grf_cd.cd_devs[unit];
|
||||
|
||||
/*
|
||||
* XXX: iteoff call relies on devices being in same order
|
||||
* as ITEs and the fact that iteoff only uses the minor part
|
||||
* of the dev arg.
|
||||
*/
|
||||
iteoff(unit, 3);
|
||||
|
||||
return (*gp->sc_mode)(gp, GM_GRFON, NULL);
|
||||
}
|
||||
|
||||
int
|
||||
grfoff(dev)
|
||||
dev_t dev;
|
||||
{
|
||||
int unit = GRFUNIT(dev);
|
||||
struct grf_softc *gp;
|
||||
int error;
|
||||
|
||||
gp = grf_cd.cd_devs[unit];
|
||||
|
||||
error = (*gp->sc_mode)(gp, GM_GRFOFF, NULL);
|
||||
|
||||
/* XXX: see comment for iteoff above */
|
||||
iteon(unit, 2);
|
||||
|
||||
return (error);
|
||||
}
|
|
@ -1,150 +0,0 @@
|
|||
/* $NetBSD: grf_ati.c,v 1.2 1998/07/13 19:31:53 tsubai Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (C) 1998 Internet Research Institute, 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
|
||||
* Internet Research Institute, Inc.
|
||||
* 4. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/device.h>
|
||||
|
||||
#include <machine/pio.h>
|
||||
#include <machine/autoconf.h>
|
||||
#include <machine/grfioctl.h>
|
||||
|
||||
#include <dev/pci/pcireg.h>
|
||||
#include <dev/pci/pcivar.h>
|
||||
#include <dev/pci/pcidevs.h>
|
||||
#include <dev/ofw/openfirm.h>
|
||||
|
||||
#include <macppc/dev/grfvar.h>
|
||||
|
||||
caddr_t videoaddr;
|
||||
int videorowbytes;
|
||||
int videobitdepth;
|
||||
int videosize;
|
||||
static struct grfinfo ati_display;
|
||||
|
||||
static void grf_ati_attach __P((struct device *, struct device *, void *));
|
||||
static int grf_ati_match __P((struct device *, struct cfdata *, void *));
|
||||
|
||||
static int ati_mode __P((struct grf_softc *, int, void *));
|
||||
|
||||
struct grf_ati_softc {
|
||||
struct device sc_dev;
|
||||
};
|
||||
|
||||
struct cfattach grfati_ca = {
|
||||
sizeof(struct grf_ati_softc), grf_ati_match, grf_ati_attach
|
||||
};
|
||||
|
||||
int
|
||||
grf_ati_match(parent, cf, aux)
|
||||
struct device *parent;
|
||||
struct cfdata *cf;
|
||||
void *aux;
|
||||
{
|
||||
struct pci_attach_args *pa = aux;
|
||||
|
||||
if (PCI_CLASS(pa->pa_class) == PCI_CLASS_DISPLAY &&
|
||||
PCI_SUBCLASS(pa->pa_class) == PCI_SUBCLASS_DISPLAY_VGA &&
|
||||
/* PCI_PRODUCT(pa->pa_id) == PCI_PRODUCT_ATI_MACH64_GX && */
|
||||
PCI_VENDOR(pa->pa_id) == PCI_VENDOR_ATI)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void
|
||||
grf_ati_attach(parent, self, aux)
|
||||
struct device *parent, *self;
|
||||
void *aux;
|
||||
{
|
||||
struct pci_attach_args *pa = (struct pci_attach_args *)aux;
|
||||
int csr;
|
||||
int width, height, node;
|
||||
u_int reg[5];
|
||||
caddr_t regaddr;
|
||||
struct grf_attach_args ga;
|
||||
char type[32];
|
||||
extern int console_node;
|
||||
|
||||
printf("\n");
|
||||
csr = pci_conf_read(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG);
|
||||
|
||||
csr |= PCI_COMMAND_MEM_ENABLE;
|
||||
pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG, csr);
|
||||
|
||||
/*
|
||||
* OF_open("/bandit/ATY,mach64") hangs... so we can use
|
||||
* framebuffer when it is specified as a console.
|
||||
*/
|
||||
|
||||
node = console_node;
|
||||
if (node == -1)
|
||||
return;
|
||||
|
||||
bzero(type, sizeof(type));
|
||||
OF_getprop(node, "device_type", type, sizeof(type));
|
||||
if (strcmp(type, "display") != 0)
|
||||
return;
|
||||
|
||||
OF_getprop(node, "assigned-addresses", reg, sizeof(reg));
|
||||
|
||||
regaddr = mapiodev(reg[2] + 0x800000 - 0x400, 0x400);
|
||||
|
||||
ga.ga_name = "grf";
|
||||
ga.ga_mode = ati_mode;
|
||||
ga.ga_display = &ati_display;
|
||||
|
||||
height = videosize >> 16;
|
||||
|
||||
ati_display.gd_regaddr = (caddr_t)reg[2] + 0x800000 - 0x400;
|
||||
ati_display.gd_regsize = 0x400;
|
||||
ati_display.gd_fbaddr = (caddr_t)reg[2] + 0x400;
|
||||
ati_display.gd_fbsize = videorowbytes * height;
|
||||
ati_display.gd_colors = 1 << videobitdepth;
|
||||
ati_display.gd_planes = videobitdepth;
|
||||
ati_display.gd_fbwidth = videorowbytes * 8 / videobitdepth;
|
||||
ati_display.gd_fbheight = height;
|
||||
ati_display.gd_fbrowbytes = videorowbytes;
|
||||
ati_display.gd_devaddr = (caddr_t)reg[2];
|
||||
ati_display.gd_devsize = reg[4];
|
||||
|
||||
config_found(self, &ga, NULL);
|
||||
}
|
||||
|
||||
int
|
||||
ati_mode(sc, cmd, aux)
|
||||
struct grf_softc *sc;
|
||||
int cmd;
|
||||
void *aux;
|
||||
{
|
||||
return 0;
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
/* $NetBSD: grf_subr.c,v 1.1 1998/05/15 10:15:48 tsubai Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1996 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
* by Jason R. Thorpe.
|
||||
*
|
||||
* 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 the NetBSD
|
||||
* Foundation, Inc. and its contributors.
|
||||
* 4. Neither the name of The NetBSD Foundation nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, 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 FOUNDATION 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.
|
||||
*/
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/device.h>
|
||||
#include <sys/systm.h>
|
||||
|
||||
#include <machine/bus.h>
|
||||
#include <machine/grfioctl.h>
|
||||
|
||||
#include <macppc/dev/grfvar.h>
|
||||
|
||||
int
|
||||
grfbusprint(aux, name)
|
||||
void *aux;
|
||||
const char *name;
|
||||
{
|
||||
struct grf_attach_args *ga = aux;
|
||||
|
||||
if (name)
|
||||
printf("%s at %s", ga->ga_name, name);
|
||||
|
||||
return UNCONF;
|
||||
}
|
|
@ -1,82 +0,0 @@
|
|||
/* $NetBSD: grfvar.h,v 1.1 1998/05/15 10:15:48 tsubai Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* the Systems Programming Group of the University of Utah Computer
|
||||
* Science Department.
|
||||
*
|
||||
* 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 the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS 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 REGENTS 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.
|
||||
*
|
||||
* from: Utah $Hdr: grfvar.h 1.9 91/01/21$
|
||||
*
|
||||
* @(#)grfvar.h 7.3 (Berkeley) 5/7/91
|
||||
*/
|
||||
|
||||
/*
|
||||
* State info, per grf instance.
|
||||
*/
|
||||
struct grf_softc {
|
||||
struct device sc_dev; /* device glue */
|
||||
struct grfinfo *sc_display; /* hardware description (for ioctl) */
|
||||
int sc_flags; /* software flags */
|
||||
int (*sc_mode) __P((struct grf_softc *, int, void *));
|
||||
/* mode-change on/off/mode function */
|
||||
};
|
||||
|
||||
/*
|
||||
* Attach grf and ite semantics to Mac video hardware.
|
||||
*/
|
||||
struct grf_attach_args {
|
||||
char *ga_name; /* name of semantics to attach */
|
||||
struct grfinfo *ga_display;
|
||||
int (*ga_mode) __P((struct grf_softc *, int, void *));
|
||||
/* mode-change on/off/mode function */
|
||||
};
|
||||
|
||||
/* flags */
|
||||
#define GF_ALIVE 0x01
|
||||
#define GF_OPEN 0x02
|
||||
#define GF_EXCLUDE 0x04
|
||||
#define GF_WANTED 0x08
|
||||
#define GF_BSDOPEN 0x10
|
||||
#define GF_HPUXOPEN 0x20
|
||||
|
||||
/* requests to mode routine */
|
||||
#define GM_GRFON 1
|
||||
#define GM_GRFOFF 2
|
||||
#define GM_CURRMODE 3
|
||||
#define GM_LISTMODES 4
|
||||
#define GM_NEWMODE 5
|
||||
|
||||
/* minor device interpretation */
|
||||
#define GRFUNIT(d) ((d) & 0x7)
|
File diff suppressed because it is too large
Load Diff
|
@ -1,55 +0,0 @@
|
|||
/* $NetBSD: itevar.h,v 1.1 1998/05/15 10:15:49 tsubai Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1995 Allen Briggs. 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 Allen Briggs.
|
||||
* 4. The name of the author may not be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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.
|
||||
*/
|
||||
|
||||
#include <machine/adbsys.h>
|
||||
|
||||
int ite_intr __P((adb_event_t *event));
|
||||
int iteon __P((dev_t dev, int flags));
|
||||
int iteoff __P((dev_t dev, int flags));
|
||||
void itereset __P((void));
|
||||
|
||||
#ifndef CN_DEAD
|
||||
#include <dev/cons.h>
|
||||
#endif
|
||||
|
||||
void itestop __P((struct tty * tp, int flag));
|
||||
void itestart __P((register struct tty * tp));
|
||||
int iteopen __P((dev_t dev, int mode, int devtype, struct proc * p));
|
||||
int iteclose __P((dev_t dev, int flag, int mode, struct proc * p));
|
||||
int iteread __P((dev_t dev, struct uio * uio, int flag));
|
||||
int itewrite __P((dev_t dev, struct uio * uio, int flag));
|
||||
int iteioctl __P((dev_t, int, caddr_t, int, struct proc *));
|
||||
struct tty *itetty __P((dev_t dev));
|
||||
|
||||
void itecnprobe __P((struct consdev * cp));
|
||||
void itecninit __P((struct consdev * cp));
|
||||
int itecngetc __P((dev_t dev));
|
||||
void itecnputc __P((dev_t dev, int c));
|
Loading…
Reference in New Issue