DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦c5cd84314⟧ TextFile

    Length: 3077 (0xc05)
    Types: TextFile
    Notes: UNIX file
    Names: »mouse.h«

Derivation

└─⟦0cfe73749⟧ Bits:30004154/config.imd SW95707I VP/ix MS-DOS emulator Rel. 1.1
└─⟦0cfe73749⟧ UNIX Filesystem
    └─⟦this⟧ »vc/new/usr/vpix/src/bmouse/mouse.h« 
└─⟦a6ab2eb36⟧ Bits:30004042/kconfig3.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦a6ab2eb36⟧ UNIX Filesystem
    └─⟦this⟧ »kc/new/usr/include/sys/mouse.h« 

TextFile

/*
 * Copyrighted as an unpublished work.
 * (c) Copyright 1987 INTERACTIVE Systems Corporation
 * All rights reserved.
 *
 * RESTRICTED RIGHTS
 *
 * These programs are supplied under a license.  They may be used,
 * disclosed, and/or copied only as permitted under such license
 * agreement.  Any copy must contain the above copyright notice and
 * this restricted rights notice.  Use, copying, and/or disclosure
 * of the programs is strictly prohibited unless otherwise provided
 * in the license agreement.
 *
 */

#ident "@(#)mouse.h	1.2 - 87/09/29"
#ident "@(#) (c) Copyright INTERACTIVE Systems Corporation 1987"


/* Definitions for Microsoft Mouse */

/* Base I/O addresses for primary and secondary InPort */
#define MOUSE1  0x23c
#define MOUSE2  0x238

/* Offsets of I/O registers from base */
#define ADDRREG 0       /* Address register */
#define DATAREG 1       /* Data register */
#define IDENTREG 2      /* Identification register */
#define TESTREG 3       /* Test register */

/* Address register definitions */
#define REGSEL  7       /* Mask for register select bits */
#define MSTATUS 0       /* Select mouse status register */
#define DATA1   1       /* Select data register 1 */
#define DATA2   2       /* Select data register 2 */
#define DATA3   3       /* Select data register 3 */
#define DATA4   4       /* Select data register 4 */
#define ISTATUS 5       /* Select interface status register */
#define ICNTRL  6       /* Select interface control register */
#define MODE    7       /* Select mode register */
#define TESTEN  0x40    /* Enable test register */
#define RESET   0x80    /* Reset InPort chip */

/* Identification register definitions */
#define SIGN    0xde    /* InPort chip signature */
#define VERS(x) (((x)>>4)&15)   /* InPort chip version number */
#define REV(x)  ((x)&15)        /* InPort chip revision number */

/* Mouse status register definitions */
#define BUTSTATMASK     7
#define BUT3STAT        1
#define BUT2STAT        2
#define BUT1STAT        4
#define BUTCHNGMASK     0x38
#define BUT3CHNG        8
#define BUT2CHNG        0x10
#define BUT1CHNG        0x20
#define MOVEMENT        0x40
#define PACKETDONE      0x80

/* Interface status/control register definitions */
#define SW3     1
#define SW2     2
#define SW1     4
#define XA      0x10
#define XB      0x20
#define YA      0x40
#define YB      0x80

/* Mode register definitions */
#define RATEMASK        7
#define HZ0NOINTR       0
#define HZ30            1
#define HZ50            2
#define HZ100           3
#define HZ200           4
#define HZ0INTR         6
#define HZEXT           7
#define DATAINT         8
#define TIMERINT        0x10
#define HOLD            0x20
#define MODEMASK        0xc0
#define QUADMODE        0
#define SYNCHMODE       0x40
#define ASYNMODE        0x80
#define DIRMODE         0xc0

struct mouseinfo
{       unsigned char status;
	char xmotion, ymotion;
};

/* Ioctl definitions */
#define MOUSEIOC        ('M'<<8)
#define MOUSEIOCREAD    (MOUSEIOC|60)

#ifdef VPIX
#define VPC_MOUSE_READ  MOUSEIOCREAD
#endif /* VPIX */