User Tools

Site Tools


x68000:dmac

This is an old revision of the document!


DMAC

The HD63450 has four DMA channels. On the X68000 channels #0, #1 and, #3 are assigned respectively to FD, HD, and ADPCM. Channel #2 REQ(DMA transfer request signal), ACK(response signal), and PCL (general purpose input signal) is available to the user. It can be used for transfers between memory and memory and between memory and expansion boards.

The registers for the DMAC exist starting at 0xE84000 and there are 0x40 bytes for each channel. GCR (General Control Register) is only available on channel #3.

Addresses

AddressChannel
0xE84000#0
0xE84040#1
0xE84080#2
0xE840C0#3

Register List

OffsetSizeR/WDescription
+0x001.bR/WCSR - Channel Status Register
+0x011.bRCER - Channel Error Register
+0x021.w
+0x041.bR/WDCR - Device Control Register
+0x051.bR/WOCR - Operation Control Register
+0x061.bR/WSCR - Sequence Control Register
+0x071.bR/WCCR - Channel Control Register
+0x081.w
+0x0A1.wR/WMTC - Memory Transfer Control
+0x0C1.lR/WMAR - Memory Address Register
+0x101.l
+0x141.lR/WDAR - Device Address Register
+0x181.w
+0x1A1.wR/WBTC - Base Transfer Counter
+0x1C1.lR/WBAR - Base Address Register
+0x201.l
+0x241.b
+0x251.bR/WNIV - Normal Interrupt Vector
+0x261.b
+0x271.bR/WEIV - Error Interrupt Vector
+0x281.b
+0x291.bR/WMFC - Memory Function Code
+0x2A1.w
+0x2C1.b
+0x2D1.bR/WCPR - Channel Priority Register
+0x2E1.w
+0x301.b
+0x311.bR/WDFC - Device Function Code
+0x323.w
+0x381.b
+0x391.bR/WBFC - Base Function Code
+0x3A1.l
+0x3E1.b
+0x3F1.bR/WGCR - General Control Register

Register Descriptions

CSR<BOOKMARK:csr> - Channel Status Register

7 6 5 4 3 2 1 0
COC BTC NDT ERR ACT DIT PCT PCS
BitsNameDescription
7 COC Channel Operation Complete
%0: Channel operation incomplete
%1: Channel operation complete
6 BTC Block Transfer Complete
%0: Block transfer incomplete
%1: Block transfer complete
5 NDT Normal Device Termination
%0: Not stopped due to DONE signal
%1: Stopped due to DONE signal
4 ERR Error bit
%0: No error
%1: Error occurred (ERROR CODE bit contains error)
3 ACT Channel Active
%0: Channel inactive
%1: Channel active
2 DIT DONE Input Transition
%0: No DONE input
%1: There was a DONE input when the BTD bit of OCR was %1
1 PCT PCL Transition
%0 There is no PCL transition (High→Low transition)
%1: PCL transition occured
0 PCS PCL Status Line
%0: PCL = Low
%1: PCL = high

Note: When a bit other than ACT or PCS becomes %1 it remains %1 until %1 is written to that bit or a reset is applied. In particular it is necessary to clear COC, BTC, NDT, ERR, and ACT since it is not possible to perform the next transfer operation while they are %1.

x68000/dmac.1505074790.txt.gz · Last modified: 2019/08/27 20:44 (external edit)