User Tools

Site Tools


x68000:dmac

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
x68000:dmac [2017/09/11 10:09] – [Register Descriptions] neko68kx68000:dmac [2017/09/11 10:53] – forgot register names for the last 4 neko68k
Line 20: Line 20:
 |+0x04|1.b|R/W|[[dmac#dcr|DCR]] - Device Control Register| |+0x04|1.b|R/W|[[dmac#dcr|DCR]] - Device Control Register|
 |+0x05|1.b|R/W|[[dmac#ocr|OCR]] - Operation Control Register| |+0x05|1.b|R/W|[[dmac#ocr|OCR]] - Operation Control Register|
-|+0x06|1.b|R/W|SCR - Sequence Control Register| +|+0x06|1.b|R/W|[[dmac#scr|SCR]] - Sequence Control Register| 
-|+0x07|1.b|R/W|CCR - Channel Control Register|+|+0x07|1.b|R/W|[[dmac#ccr|CCR]] - Channel Control Register|
 |+0x08|1.w| |---| |+0x08|1.w| |---|
-|+0x0A|1.w|R/W|MTC - Memory Transfer Control| +|+0x0A|1.w|R/W|[[dmac#mtc|MTC]] - Memory Transfer Control| 
-|+0x0C|1.l|R/W|MAR - Memory Address Register|+|+0x0C|1.l|R/W|[[dmac#mar|MAR]] - Memory Address Register|
 |+0x10|1.l| |---| |+0x10|1.l| |---|
-|+0x14|1.l|R/W|DAR - Device Address Register|+|+0x14|1.l|R/W|[[dmac#dar|DAR]] - Device Address Register|
 |+0x18|1.w| |---| |+0x18|1.w| |---|
-|+0x1A|1.w|R/W|BTC - Base Transfer Counter| +|+0x1A|1.w|R/W|[[dmac#btc|BTC]] - Base Transfer Counter| 
-|+0x1C|1.l|R/W|BAR - Base Address Register|+|+0x1C|1.l|R/W|[[dmac#bar|BAR]] - Base Address Register|
 |+0x20|1.l| |---| |+0x20|1.l| |---|
 |+0x24|1.b| |---| |+0x24|1.b| |---|
-|+0x25|1.b|R/W|NIV - Normal Interrupt Vector|+|+0x25|1.b|R/W|[[dmac#niv|NIV]] - Normal Interrupt Vector|
 |+0x26|1.b| |---| |+0x26|1.b| |---|
-|+0x27|1.b|R/W|EIV - Error Interrupt Vector|+|+0x27|1.b|R/W|[[dmac#eiv|EIV]] - Error Interrupt Vector|
 |+0x28|1.b| |---| |+0x28|1.b| |---|
-|+0x29|1.b|R/W|MFC - Memory Function Code|+|+0x29|1.b|R/W|[[dmac#mfc|MFC]] - Memory Function Code|
 |+0x2A|1.w| |---| |+0x2A|1.w| |---|
 |+0x2C|1.b| |---| |+0x2C|1.b| |---|
-|+0x2D|1.b|R/W|CPR - Channel Priority Register|+|+0x2D|1.b|R/W|[[dmac#cpr|CPR]] - Channel Priority Register|
 |+0x2E|1.w| |---| |+0x2E|1.w| |---|
 |+0x30|1.b| |---| |+0x30|1.b| |---|
-|+0x31|1.b|R/W|DFC - Device Function Code|+|+0x31|1.b|R/W|[[dmac#dfc|DFC]] - Device Function Code|
 |+0x32|3.w| |---| |+0x32|3.w| |---|
 |+0x38|1.b| |---| |+0x38|1.b| |---|
-|+0x39|1.b|R/W|BFC - Base Function Code|+|+0x39|1.b|R/W|[[dmac#bfc|BFC]] - Base Function Code|
 |+0x3A|1.l| |---| |+0x3A|1.l| |---|
 |+0x3E|1.b| |---| |+0x3E|1.b| |---|
-|+0x3F|1.b|R/W|GCR - General Control Register|+|+0x3F|1.b|R/W|[[dmac#gcr|GCR]] - General Control Register|
  
 ===== Register Descriptions ===== ===== Register Descriptions =====
Line 116: Line 116:
  
 Note: Channel #0, #1, and #3 should be used with external transfer request. Note: Channel #0, #1, and #3 should be used with external transfer request.
 +
 +---
 +
 +SCR<BOOKMARK:scr> - Sequence Control Register (+0x06)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|0||||MAC||DAC||
 +
 +^Bits^Description^
 +|  7~4  |0|
 +|  3~2  |MAC - Memory address count \\ %00: Do not change memory address register \\ %01: Increment memory address register each time transfer is done \\ %10: Decrement memory address register each time transfer is done \\ %11: Unused|
 +|  1~0  |DAC - Device address count \\ %00: Do not change device address register \\ %01: Increment device address register each time transfer is done \\ %10: Decrement device address register each time transfer is done \\ %11: Unused|
 +
 +---
 +
 +CCR<BOOKMARK:ccr> - Channel Control Register (+0x07)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  STR  |  CNT  |  HLT  |  SAB  |  INT  |  0  |||
 +
 +^Bits^Description^
 +|  7  |STR - Start operation \\ %1: Start operation|
 +|  6  |CNT - Continue operation \\ %0: No continuous operation \\ %1: Continuous operation|
 +|  5  |HLT - Halt operation \\ %1: Pause channel|
 +|  4  |SAB - Software abort \\ %1: Stop channel|
 +|  3  |INT - Interrupt enable \\ %0: Enable interrupt \\ %1: Disable interrupt|
 +|  2~0  |0| 
 +
 +---
 +
 +MTC<BOOKMARK:mtc> - Memory Transfer Counter (+0x0A) \\
 +Number of transfer operands.
 +
 +---
 +
 +MAR<BOOKMARK:mar> - Memory Address Register (+0x0C) \\
 +Start memory transfer address.
 +
 +---
 +
 +DAR<BOOKMARK:DAR> - Device Address Register (+0x14) \\
 +Start device transfer adddress.
 +
 +---
 +
 +BTC<BOOKMARK:BTC> - Base Transfer Counter (+0x1A) \\
 +Number of transfer blocks (the number of transfer information tables) in array chain mode.
 +
 +---
 +
 +BAR<BOOKMARK:BAR> - Base Address Register (+0x1C) \\
 +Start address of the transfer information table in array chain/link array chain mode.
 +
 +---
 +
 +NIC<BOOKMARK:niv> - Normal Interrupt Vector (+0x25) \\
 +Vector number to be used for interrupt generated when CSR ERR is %0.
 +
 +---
 +
 +EIV<BOOKMARK:eiv> - Error Interrupt Vector (+0x27) \\
 +Vector number to be used for the interrupt generated when CSR ERR is %1.
 +
 +---
 +
 +MFC<BOOKMARK:mfc> - Memory Function Code (+0x29)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  0  |||||  FC2  |  FC1  |  FC0  |
 +
 +^Bits^Description^
 +|  7~3  |0|
 +|  2~0  |Memory function code \\ %000: Unused \\ %001: User data \\ %010: User program \\ %011: Unused \\ %100: Unused \\ %101: Supervisor data \\ %110: Supervisor program \\ %111: Interrupt acknowledge|
 +
 +---
 +
 +CPR<BOOKMARK:cpr> - Channel Priority Register (+0x2D)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  0  ||||||  CP  ||
 +
 +^Bits^Description^
 +|  7~2  |0|
 +|  1~0  |CP - Channel priority \\ %00: Highest priority \\ %01: Second highest priority \\ %10: Third highest priority \\ %11: Lowest priority|
 +
 +---
 +
 +DFC<BOOKMARK:DFC> - Device Function Code (+0x31)
 +Same as MFC.
 +
 +---
 +
 +BFC<BOOKMARK:BFC> - Base Function Code (+0x39)
 +Same as MFC.
 +
 +---
 +
 +GCR<BOOKMARK:GCR> - General Control Register (+0x3F)
 +
 +^  7  ^  6  ^  5  ^  4  ^  3  ^  2  ^  1  ^  0  ^
 +|  0  ||||  BT  ||  BR  ||
 +
 +^Bits^Description^
 +|  7~4  |0|
 +|  3~2  |BT - Burst time \\ Number of DMA clock cycles per burst. \\ %00: 16 clocks \\ %01: 32 clocks \\ %10: 64 clocks \\ %11: 129 clocks|
 +|  1~0  |BR - Bandwidth threshold (band occupancy) \\ %00: 50% \\ %01: 25% \\ %10: 12.5%  \\ %11: 6.25% \\ Note: Only affects channels set to limited speed auto request mode|
 +
 +
 +
 +
x68000/dmac.txt · Last modified: 2019/08/27 20:45 by 127.0.0.1