|
|
1.1 root 1: /*++
2:
3: Copyright (c) 1991 NCR Corporation
4:
5: Module Name:
6:
7: mcadefs.h
8:
9: Abstract:
10:
11: The module defines constants necessary for using the system dma
12: controller on microchannel machines
13:
14: Author:
15:
16: David Risner (o-ncrdr) 10-Jun-1991
17:
18: Revision History:
19:
20:
21: --*/
22:
23:
24: #ifndef _MCADEFS_
25: #define _MCADEFS_
26:
27:
28: //
29: // System Control Port definition
30: //
31:
32: #define SystemControlPortA 0x92
33:
34: typedef struct _SYSTEM_PORT_A {
35: UCHAR AlternateHotReset : 1;
36: UCHAR AlternateGateA20 : 1;
37: UCHAR Reserved0 : 1;
38: UCHAR WatchdogTimerStatus : 1;
39: UCHAR SecurityLockLatch : 1;
40: UCHAR Reserved1 : 1;
41: UCHAR DiskActivityLight : 2;
42: } SYSTEM_PORT_A, *PSYSTEM_PORT_A;
43:
44:
45: //
46: // MicroChannel extended DMA functions
47: //
48:
49: #define MCA_DmaFunc 0x18 // extended function register
50: #define MCA_DmaFuncExec 0x1a // extended function execute
51:
52: #define MCA_DmaIoAddrWr 0x00 // write I/O address reg
53: #define MCA_DmaMemAddrWr 0x20 // write memory address reg
54: #define MCA_DmaMemAddrRd 0x30 // read memory address reg
55: #define MCA_DmaXfrCntWr 0x40 // write transfer count reg
56: #define MCA_DmaXfrCntRd 0x50 // read transfer count reg
57: #define MCA_DmaStatusRd 0x60 // read status register
58: #define MCA_DmaMode 0x70 // access mode register
59: #define MCA_DmaArbus 0x80 // access arbus register
60: #define MCA_DmaMaskBitSet 0x90 // set bit in mask reg
61: #define MCA_DmaMaskBitClr 0xa0 // clear bit in mask reg
62: #define MCA_DmaMasterClr 0xd0 // master clear
63:
64: //
65: // DMA mode options
66: //
67:
68: #define MCA_Dma8Bits 0x00 // use 8 bit data
69: #define MCA_Dma16Bits 0x40 // use 16 bit data
70: #define MCA_DmaRead 0x00 // read data into memory
71: #define MCA_DmaWrite 0x08 // write data from memory
72: #define MCA_DmaVerify 0x00 // verify data
73: #define MCA_DmaXfr 0x04 // transfer data
74: #define MCA_DmaIoZero 0x00 // use I/O address 0000h
75: #define MCA_DmaIoAddr 0x01 // use programed I/O address
76:
77:
78: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.