home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / Information / C128IO-V1.2.DOC < prev    next >
Encoding:
Text File  |  2019-04-13  |  18.0 KB  |  562 lines

  1.  
  2. ;    Commodore 128 I/O Map
  3. ;    V1.2    22 Jun 1994
  4.  
  5.  
  6.     COMMODORE 128 INPUT/OUTPUT ASSIGNMENTS
  7.  
  8.  
  9.     Differences Between C64 and C128
  10.  
  11.     D500-D50B    MMU
  12.     D600-D601    VDC
  13.     FF00-FF05    Preconfiguration Registers
  14.  
  15.  
  16.  
  17. HEX    DECIMAL        BITS    DESCRIPTION
  18.  
  19.     8502 I/O Registers
  20.  
  21.     C128 mode:
  22.  
  23. 0000    x    0    1    0    1    1    1    1
  24. 0001    x    Caps    Motor    Sense    Write    HiRes    LoRes    Color
  25.  
  26.  
  27.     C64 mode:
  28.  
  29. 0000    0        7-0    MOS 8502 Data Direction    
  30.                     Register (xx101111)
  31.                     Bit= 1: Output, Bit=0:    
  32.                     Input, x=Don't Care    
  33.  
  34. 0001    1            MOS 8502 Micro-Processor On-Chip I/O Port    
  35.             0    /LORAM Signal (0=Switch    BASIC ROM Out)
  36.             1    /HIRAM Signal (0=Switch Kernal ROM Out)
  37.             2    /CHAREN Signal (O=Swith Char. ROM In)
  38.             3    Cassette Data Output Line
  39.             4    Cassette Switch Sense: 1 = Switch Closed
  40.             5    Cassette Motor Control
  41.                 O = ON, 1 = OFF
  42.             6-7    Undefined
  43.  
  44.  
  45.  
  46. D000-D02E    53248-54271    MOS 6566 VIDEO INTERFACE CONTROLLER (VIC)
  47.  
  48. D000        53248        Sprite O X Pos
  49. D001        53249        Sprite O Y Pos
  50. D002        53250        Sprite 1 X Pos        
  51. D003        53251        Sprite 1 Y Pos        
  52. D004        53252        Sprite 2 X Pos
  53. D005        53253        Sprite 2 Y Pos        
  54. D006        53254        Sprite 3 X Pos        
  55. D007        53255        Sprite 3 Y Pos
  56. D008        53256        Sprite 4 X Pos
  57. D009        53257        Sprite 4 Y Pos
  58. D00A        53258        Sprite 5 X Pos
  59. D00B        53259        Sprite 5 Y Pos
  60. D00C        53260        Sprite 6 X Pos
  61. D00D        53261        Sprite 6 Y Pos
  62. D00E        53262        Sprite 7 X Pos
  63. D00F        53263        Sprite 7 Y Pos
  64. D010        53264        Sprites 0-7 X Pos (msb of X coord.)
  65.  
  66. D011        53265        VIC Control Register
  67.             7    Raster Compare: (Bit 8)    See 53266
  68.             6    Extended Color Text Mode 1 = Enable    
  69.             5    Bit Map Mode. 1 = Enable
  70.             4    Blank Screen to Border Color: O = Blank
  71.             3    Select 24/25 Row Text Display: 1 = 25 Rows
  72.             2-0    Smooth Scroll to Y Dot-Position (0-7)
  73.  
  74. D012    53266            Read Raster / Write Raster Value for Compare IRQ
  75. D013    53267            Light-Pen Latch X Pos
  76. D014    53268            Light-Pen Latch Y Pos
  77. D015    53269            Sprite display Enable: 1 = Enable
  78.  
  79. D016    53270            VIC Control Register
  80.             7-6    Unused
  81.             5    ALWAYS SET THIS BIT TO 0 !
  82.             4    Multi-Color Mode: 1 = Enable (Text or Bit-Map)
  83.             3    Select 38/40 Column Text Display: 1 = 40 Cols
  84.             2-0    Smooth Scroll to X Pos
  85.  
  86. D017    53271            Sprites O-7 Expand 2x Vertical (Y)
  87.  
  88. D018    53272            VIC Memory Control Register
  89.             7-4    Video Matrix Base Address (inside VIC)
  90.             3-1    Character Dot-Data Base    Address (inside VIC)
  91.             0    Select upper/lower Character Set
  92.  
  93. D019    53273            VIC Interrupt Flag Register (Bit = 1: IRQ Occurred)
  94.             7    Set on Any Enabled VIC IRQ Condition
  95.             3    Light-Pen Triggered IRQ Flag
  96.             2    Sprite to Sprite Collision IRQ Flag
  97.             1    Sprite to Background Collision IRQ Flag
  98.             0    Raster Compare IRQ Flag
  99.  
  100. D01A    53274            IRQ Mask Register: 1 = Interrupt Enabled
  101. D01B    53275            Sprite to Background Display Priority: 1 = Sprite
  102. D01C    53276            Sprites O-7 Multi-Color Mode Select: 1 = M.C.M.
  103. D01D    53277            Sprites 0-7 Expand 2x Horizontal (X)
  104.  
  105. D01E    53278            Sprite to Sprite Collision Detect
  106. D01F    53279            Sprite to Background Collision Detect
  107. D020    53280            Border Color
  108. D021    53281            Background Color O
  109. D022    53282            Background Color 1
  110. D023    53283            Background Color 2
  111. D024    53284            Background Color 3
  112. D025    53285            Sprite Multi-Color Register 0
  113. D026    53286            Sprite Multi-Color Register 1
  114.  
  115. D027    53287            Sprite O Color
  116. D028    53288            Sprite 1 Color
  117. D029    53289            Sprite 2 Color
  118. D02A    53290            Sprite 3 Color
  119. D02B    53291            Sprite 4 Color
  120. D02C    53292            Sprite 5 Color
  121. D02D    53293            Sprite 6 Color
  122. D02E    53294            Sprite 7 Color
  123.  
  124. D02F    53295        7-3    Unused
  125.             2-0    Additional Keyboard Columns
  126.  
  127. D030    53296        7-2    Unused
  128.             1    Test
  129.             0    2 MHz Mode
  130.  
  131.  
  132.  
  133. D400-D4FF    54272-52527    MOS 6581 SOUND INTERFACE DEVICE (SID)
  134.  
  135. D400    54272            Voice 1: Frequency Control - Low-Byte
  136. D401    54273            Voice 1: Frequency Control - High-Byte
  137. D402    54274            Voice 1: Pulse Waveform    Width - Low-Byte
  138. D403    54275        7-4    Unused
  139.             3-0    Voice 1: Pulse Waveform Width - High-Nybble
  140. D404    54276            Voice 1: Control Register
  141.             7    Select Random Noise Waveform, 1 = On
  142.             6    Select Pulse Waveform, 1 = On
  143.             5    Select Sawtooth Waveform, 1 = On
  144.             4    Select Triangle Waveform, 1 = On
  145.             3    Test Bit: 1 = Disable Oscillator 1
  146.             2    Ring Modulate Osc. 1 with Osc. 3 Output, 1 = On
  147.             1    Synchronize Osc. 1 with Osc. 3 Frequency, 1 = On
  148.             0    Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
  149.  
  150. D405    54277            Envelope Generator 1: Attack / Decay Cycle Control
  151.             7-4    Select Attack Cycle Duration: O-15
  152.             3-0    Select Decay Cycle Duration: 0-15
  153.  
  154. D406    54278            Envelope Generator 1: Sustain / Release Cycle Control
  155.             7-4    Select Sustain Cycle Duration: O-15
  156.             3-0    Select Release Cycle Duration: O-15
  157.  
  158. D407    54279            Voice 2: Frequency Control - Low-Byte
  159. D408    54280            Voice 2: Frequency Control - High-Byte
  160. D409    54281            Voice 2: Pulse Waveform Width - Low-Byte
  161.  
  162. D40A    54282        7-4    Unused
  163.             3-0    Voice 2: Pulse Waveform Width - High-Nybble
  164.  
  165. D40B    54283            Voice 2: Control Register
  166.             7    Select Random Noise Waveform, 1 = On
  167.             6    Select Pulse Waveform, 1 = On
  168.             5    Select Sawtooth Waveform, 1 = On
  169.             4    Select Triangle Waveform, 1 = On
  170.             3    Test Bit: 1 = Disable Oscillator 1
  171.             2    Ring Modulate Osc. 2 with Osc. 1 Output, 1 = On
  172.             1    Synchronize Osc. 2 with Osc. 1 Frequency, 1 = On
  173.             0    Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
  174.  
  175. D40C    54284            Envelope Generator 2: Attack / Decay Cycle Control
  176.             7-4    Select Attack Cycle Duration: O-15
  177.             3-0    Select Decay Cycle Duration: 0-15
  178.  
  179. D40D    54285            Envelope Generator 2: Sustain / Release Cycle Control
  180.             7-4    Select Sustain Cycle Duration: O-15
  181.             3-0    Select Release Cycle Duration: O-15
  182.  
  183. D40E    54286            Voice 3: Frequency Control - Low-Byte
  184. D40F    54287            Voice 3: Frequency Control - High-Byte
  185. D410    54288            Voice 3: Pulse Waveform Width - Low-Byte
  186. D411    54289        7-4    Unused
  187.             3-0    Voice 3: Pulse Waveform Width - High-Nybble
  188. D412    54290            Voice 3: Control Register
  189.             7    Select Random Noise Waveform, 1 = On
  190.             6    Select Pulse Waveform, 1 = On
  191.             5    Select Sawtooth Waveform, 1 = On
  192.             4    Select Triangle Waveform, 1 = On
  193.             3    Test Bit: 1 = Disable Oscillator 1
  194.             2    Ring Modulate Osc. 3 with Osc. 2 Output, 1 = On
  195.             1    Synchronize Osc. 3 with Osc. 2 Frequency, 1 = On
  196.             0    Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
  197.  
  198. D413    54291        Envelope Generator 3: Attac/Decay Cycle Control 
  199.             7-4    Select Attack Cycle Duration: O-15
  200.             3-0    Select Decay Cycle Duration: 0-15
  201.  
  202. D414    54285            Envelope Generator 3: Sustain / Release Cycle Control
  203.             7-4    Select Sustain Cycle Duration: O-15
  204.             3-0    Select Release Cycle Duration: O-15
  205.  
  206.  
  207. D415    54293            Filter Cutoff Frequency: Low-Nybble (Bits 2-O)
  208. D416    54294            Filter Cutoff Frequency: High-Byte
  209. D417    54295            Filter Resonance Control / Voice Input Control
  210.             7-4    Select Filter Resonance: 0-15
  211.             3    Filter External Input: 1 = Yes, 0 = No
  212.             2    Filter Voice 3 Output: 1 = Yes, 0 = No
  213.                 Filter Voice 2 Output: 1 = Yes, 0 = No
  214.             0    Filter Voice 1 Output: 1 = Yes, 0 = No
  215.  
  216. D418    54296            Select Filter Mode and Volume
  217.             7    Cut-Off Voice 3 Output: 1 = Off, O = On
  218.  
  219.             6    Select Filter High-Pass Mode: 1 = On
  220.             5    Select Filter Band-Pass Mode: 1 = On
  221.             4    Select Filter Low-Pass Mode: 1 = On
  222.             3-0    Select Output Volume: 0-15
  223.  
  224. D419    54297            Analog/Digital Converter: Game Paddle 1 (O-255)
  225. D41A    54298            Analog/Digital Converter Game Paddle 2 (O-255)
  226. D41B    54299            Oscillator 3 Random Number Generator
  227. D41C    54230            Envelope Generator 3 Output
  228.  
  229.  
  230.  
  231. MMU  $D500 and $FF00
  232.  
  233.  C128 MMU  8722
  234.  
  235.  
  236. D500        Configuration Register (CR)
  237.     7-6    RAM-select 0-3
  238.     5-4    High RAM/ROM
  239.             00 System ROM (Kernel, Edit)
  240.             01 Internal Function ROM
  241.             10 External Function ROM
  242.             11 RAM
  243.           NOTE: I/O overrides all of these.
  244.  
  245.     3-2    Mid RAM/ROM
  246.             00 System ROM (Basic HI)
  247.             01 Internal Function ROM
  248.             10 External Function ROM
  249.             11 RAM
  250.  
  251.     1    Lo RAM
  252.             0  System ROM (Basic LO)
  253.             1  RAM
  254.  
  255.     0    C.GEN
  256.             0  I/O
  257.             1  ROM/RAM
  258.  
  259.  
  260. D501        Preconfiguration Registers
  261. D502
  262. D503
  263. D504
  264.  
  265. D505    7    40/80 read only
  266.     6    C64 Mode (0 = C128)
  267.     5    EXROM: C64 (1 = C128) read only
  268.     4    GAME:  C64 (1 = C128) read only
  269.     3    FSDIR: Fast Disk Transfer Direction
  270.     2-1    -
  271.     0    Z80/8502
  272.  
  273. D506        RAM Configuration Register (RCR)
  274.  
  275.     7-6    Video-Bank
  276.     5-4    -
  277.     3    Shared RAM Hi
  278.     2    Shared RAM Lo
  279.     1-0    Shared RAM Size: 00 = 1K, 01 = 4K, 10 = 8K, 11 = 16K
  280.  
  281. D507        Zero Page Pointer Lo
  282.  
  283.     7-0    A15-A8
  284.  
  285. D508        Zero Page Pointer Hi
  286.  
  287.     7-4    -
  288.     3-2    A19-A18 (Used in 1MB System)
  289.     1-0    A17-A16    (256K System)
  290.  
  291. D509        Stack Page Pointer Lo
  292. D50A        Stack Page Pointer Hi
  293.  
  294. D50B        MMU Version Register
  295.  
  296.     7-4    Bank Version (2 = 128K)
  297.     3-0    MMU Version
  298.  
  299.  
  300.     Default Memory Configurations
  301.  
  302.     Bank   FF00    Free RAM Space    RAM I/O  ROM
  303.  
  304.      0    3f    0000-ffff     0
  305.      1    7f    0000-ffff     1
  306.      2    bf    0000-ffff     2
  307.      3    ff    0000-ffff     3
  308.  
  309.      4    16    0000-7fff     0  I/O  Int
  310.      5    56    0000-7fff     1  I/O  Int
  311.      6    96    0000-7fff     2  I/O  Int
  312.      7    d6    0000-7fff     3  I/O  Int
  313.  
  314.      8    2a    0000-7fff     0  I/O  Ext
  315.      9    6a    0000-7fff     1  I/O  Ext
  316.     10    aa    0000-7fff     2  I/O  Ext
  317.     11    ea    0000-7fff     3  I/O  Ext
  318.  
  319.     12    06    0000-7fff     0  I/O  Kernel Int_Rom_Low
  320.     13    0a    0000-7fff     0  I/O  Kernel Ext_Rom_Low
  321.     14    01    0000-3fff     0  Char Kernel Basic
  322.     15    00    0000-3fff     0  I/O  Kernel Basic
  323.  
  324.  
  325.  
  326.   VDC  $D600
  327.  
  328.    This register map is from C-Hacking Magazine.
  329.  
  330.  
  331.                       ----------------------------------
  332.                       | VDC 8563  Register Definitions |
  333.                       ----------------------------------
  334.  
  335.  Reg     7    6    5    4    3    2    1    0     Description              Notes
  336. ------ ---- ---- ---- ---- ---- ---- ---- ----   ------------------------ -----
  337.      0    HzT7 HzT6 HzT5 HzT4 HzT3 HzT2 HzT1 HzT0   Horizontal Total        ^1  
  338.      1    HzD7 HzD6 HzD5 HzD4 HzD3 HzD2 HzD1 HzD0   Horizontal Displayed      ^1
  339.      2    HzS7 HzS6 HzS5 HzS4 HzS3 HzS2 HzS2 HzS0   Horizontal Sync Position  ^1
  340.      3    VSW3 VSW2 VSW1 VSW0 HSW3 HSW2 HSW1 HSW0   Vert/Horiz. Sync Width    ^2
  341.      4    VeT7 VeT6 VeT5 VeT4 VeT3 VeT2 VeT1 VeT0   Vertical Total        ^3
  342.      5    .... .... .... VeA4 VeA3 VeA2 VeA1 VeA0   Vertical Total Fine Adju  ^3
  343.      6    VeD7 VeD6 VeD5 VeD4 VeD3 VeD2 VeD1 VeD0   Vertical Displayed        ^3
  344.      7    VeS7 VeS6 VeS5 VeS4 VeS3 VeS2 VeS1 VeS0   Vertical Sync Position    ^2
  345.      8    .... .... .... .... .... .... Ilc1 Ilc0   Interlace Mode            ^4
  346.      9    .... .... .... CTV4 CTV3 CTV2 CTV1 CTV0   Character Total Vertical  ^5
  347. 0a  10    .... CrM1 CrM0 Css4 Css3 Css2 Css1 Css0   Cursor Mode/ Start Scan   ^6
  348. 0b  11    .... .... .... Ces4 Ces3 Ces2 Ces1 Ces0   Cursor End Scan            ^6
  349. 0c  12    Ds15 Ds14 Ds13 Ds12 Ds11 Ds10 Ds09 Ds08   Display Start Adrs (Hi)   ^7
  350. 0d  13    Ds07 Ds06 Ds05 Ds04 Ds03 Ds02 Ds01 Ds00   Display Start Adrs (Lo)   ^7
  351. 0e  14    Cp15 Cp14 Cp13 Cp12 Cp11 Cp10 Cp09 Cp08   Cursor Position (Hi)        ^7
  352. 0f  15    Cp07 Cp06 Cp05 Cp04 Cp03 Cp02 Cp01 Cp00   Cursor Position (Lo)        ^7
  353. 10  16    LpV7 LpV6 LpV5 LpV4 LpV3 LpV2 LpV1 LpV0   Light Pen Veritcal        ^8
  354. 11  17    LpH7 LpH6 LpH5 LpH4 LpH3 LpH2 LpH1 LpH0   Light Pen Horizontal        ^8
  355. 12  18    Ua15 Ua14 Ua13 Ua12 Ua11 Ua10 Ua09 Ua08   Update Address (Hi)        ^9
  356. 13  19    Ua07 Ua06 Ua05 Ua04 Ua03 Ua02 Ua01 Ua00   Update Address (Lo)        ^9
  357. 14  20    At15 At14 At13 At12 At11 At10 At09 At08   Attribute Start Adrs (Hi) ^7
  358. 15  21    At07 At06 At05 At04 At03 At02 At01 At00   Attribute Start Adrs (Lo) ^7
  359. 16  22    HcP3 HcP2 HcP1 HcP0 IcS3 IcS2 IcS1 IcS0   Hz Chr Pxl Ttl/IChar Spc  ^A
  360. 17  23    .... .... .... VcP4 VcP3 VcP2 VcP1 VcP0   Vert. Character Pxl Spc   ^5
  361. 18  24    BlkM RvsS Vss5 Vss4 Vss3 Vss2 Vss1 Vss0   Block/Rvs Scr/V. Scroll ^9^B^C
  362. 19  25    Text Atri Semi Dble Hss3 Hss2 Hss1 Hss0   Diff. Mode Sw/H. Scroll  ^D,^E
  363. 1a  26    Fgd3 Fgd2 Fgd1 Fgd0 Bgd3 Bgd2 Bgd1 Bgd0   ForeGround/BackGround Col ^F
  364. 1b  27    Rin7 Rin6 Rin5 Rin4 Rin3 Rin2 Rin1 Rin0   Row/Adrs. Increment        ^G
  365. 1c  28    CSa2 CSa1 CSa0 RamT .... .... .... ....   Character Set Addrs/Ram   ^H,^I
  366. 1d  29    .... .... .... UdL4 UdL3 UdL2 UdL1 UdL0   Underline Scan Line        ^6
  367. 1e  30    WdC7 WdC6 WdC5 WdC4 WdC3 WdC2 WdC1 WdC0   Word Count (-1)        ^9
  368. 1f  31    Dta7 Dta6 Dta5 Dta4 Dta3 Dta2 Dta1 Dta0   Data                ^9  
  369. 20  32    BlkF BlkE BlkD BlkC BlkB BlkA Blk9 Blk8   Block Copy Source (hi)    ^9
  370. 21  33    Blk7 Blk6 Blk5 Blk4 Blk3 Blk2 Blk1 Blk0   Block Copy Source (lo)    ^9
  371. 22  34    DeB7 DeB6 DeB5 DeB4 DeB3 DeB2 DeB1 DeB0   Display Enable Begin        ^J
  372. 23  35    DeE7 DeE6 DeE5 DeE4 DeE3 DeE2 DeE1 DeE0   Display Enable End        ^J
  373. 24  36    .... .... .... .... Drm3 Drm2 Drm1 Drm0   DRAM Refresh Rate        ^K
  374.  
  375.  
  376.  
  377.  
  378.  
  379. D800-DBFF    55296-56319    Color RAM (Nybbles)
  380.  
  381. DC00-DCFF    56320-56575    MOS 6526 Complex Interface Adapter (CIA) #1
  382.  
  383. DC00    56320            Data Port A (Keyboard, Joystick, Paddles, Light-Pen)
  384.  
  385.             7-0    Write Keyboard Column Values for Keyboard Scan
  386.             7-6    Read Paddles on Port A / B (01 = Port A, 10 = Port B)
  387.             4    Joystick A Fire Button: 1 = Fire
  388.             3-2    Paddle Fire Buttons
  389.             3-0    Joystick A Direction (0-15)
  390.  
  391. DC01    56321            Data Port B (Keyboard, Joystick, Paddles): Game Port 1
  392.             7-0    Read Keyboard Row Values for Keyboard Scan
  393.  
  394.             7    Timer B Toggle/Pulse Output
  395.             6    Timer A: Toggle/Pulse Output
  396.  
  397.             4    Joystick 1 Fire Button: 1 = Fire
  398.             3-2    Paddle Fire Buttons
  399.             3-0    Joystick 1 Direction
  400.  
  401. DC02    56322            Data Direction Register - Port A (56320)
  402. DC03    56323            Data Direction Register - Port B (56321)
  403. DC04    56324            Timer A: Low-Byte
  404. DC05    56325            Timer A: High-Byte
  405. DC06    56326            Timer B: Low-Byte
  406. DC07    56327            Timer B: High-Byte
  407.  
  408. DC08    56328            Time-of-Day Clock: 1/10 Seconds
  409. DC09    56329            Time-of-Day Clock: Seconds
  410. DC0A    56330            Time-of-Day Clock: Minutes
  411. DC0B    56331            Time-of-Day Clock: Hours + AM/PM Flag (Bit 7)
  412.  
  413. DC0C    56332            Synchronous Serial I/O Data Buffer
  414. DC0D    56333            CIA Interrupt Control Register (Read IRQs/Write Mask)
  415.  
  416.             7    IRQ Flag (1 = IRQ Occurred) / Set-Clear Flag
  417.             4    FLAG1 IRQ (Cassette Read / Serial Bus SRQ Input)
  418.             3    Serial Port Interrupt
  419.             2    Time-of-Day Clock Alarm Interrupt
  420.             1    Timer B Interrupt
  421.             0    Timer A Interrupt
  422.  
  423. DC0E    56334            CIA Control Register A
  424.             7    Time-of-Day Clock Frequency: 1 = 50 Hz, 0 = 60 Hz
  425.             6    Serial Port I/O Mode Output, 0 = Input
  426.             5    Timer A Counts: 1 = CNT Signals, 0 = System 02 Clock
  427.  
  428.             4    Force Load Timer A: 1 = Yes
  429.             3    Timer A Run Mode: 1 = One-Shot, 0 = Continuous
  430.             2    Timer A Output Mode to PB6: 1 = Toggle, 0 = Pulse
  431.             1    Timer A Output on PB6: 1 = Yes, 0 = No
  432.             0    Start/Stop Timer A: 1 = Start, 0 = Stop
  433.  
  434. DC0F    56335            CIA Control Register B
  435.             7    Set Alarm/TOD-Clock: 1 = Alarm, 0 = Clock
  436.             6-5    Timer B Mode Select:
  437.                     00 = Count System 02 Clock Pulses
  438.                     01 = Count Positive CNT Transitions
  439.                     10 = Count Timer A Underflow Pulses
  440.                     11 = Count Timer A Underflows While CNT Positive
  441.             4-0    Same as CIA Control Reg. A - for Timer B
  442.  
  443. DD00-DDFF    56576-56831        MOS 6526 Complex Interface Adapter (CIA) #2
  444.  
  445. DD00    56576            Data Port A (Serial Bus, RS-232, VIC Memory Control)
  446.             7    Serial Bus Data Input
  447.             6    Serial Bus Clock Pulse Input
  448.             5    Serial Bus Data Output
  449.             4    Serial Bus Clock Pulse Output
  450.             3    Serial Bus ATN Signal Output
  451.             2    RS-232 Data Output (User Port)
  452.             1-O    VIC Chip System Memory Bank Select (Default = 11)
  453.  
  454. DD01    56577        Data Port B (User Port, RS-232)
  455.             7    User / RS-232 Data Set Ready
  456.             6    User / RS-232 Clear to Send
  457.             5    User
  458.             4    User / RS-232 Carrier Detect
  459.             3    User / RS-232 Ring Indicator
  460.             2    User / RS-232 Data Terminal Ready
  461.             1    User / RS-232 Request to Send
  462.             0    User / RS-232 Received Data
  463.  
  464. DD02    56578            Data Direction Register - Port A
  465. DD03    56579            Data Direction Register - Port B
  466. DD04    56580            Timer A: Low-Byte
  467. DD05    56581            Timer A: High-Byte
  468. DD06    56582            Timer B: Low-Byte
  469. DD07    56583            Timer B: High-Byte
  470.  
  471. DD08    56584            Time-of-Day Clock: 1/10 Seconds
  472. DD09    56585            Time-of-Day Clock: Seconds
  473. DD0A    56586            Time-of-Day Clock: Minutes
  474. DD0B    56587            Time-of-Day Clock: Hours + AM/PM Flag (Bit 7)
  475. DD0C    56588            Synchronous Serial I/O Data Buffer
  476. DD0D    56589            CIA Interrupt Control Register (Read NMls/Write Mask)
  477.             7    NMI Flag (1 = NMI Occurred) / Set-Clear Flag
  478.             4    FLAG1 NMI (User/RS-232 Received Data Input)
  479.             3    Serial Port Interrupt
  480.  
  481.             1    Timer B Interrupt
  482.             0    Timer A Interrupt
  483.  
  484. DD0E    56590            CIA Control Register A
  485.  
  486.             7    Time-of-Day Clock Frequency: 1 = 50 Hz, 0 = 60 Hz
  487.             6    Serial Port I/O Mode Output, 0 = Input
  488.             5    Timer A Counts: 1 = CNT Signals, 0 = System 02 Clock
  489.             4    Force Load Timer A: 1 = Yes
  490.             3    Timer A Run Mode: 1 = One-Shot, 0 = Continuous
  491.             2    Timer A Output Mode to PB6: 1 = Toggle, 0 = Pulse
  492.             1    Timer A Output on PB6: 1 = Yes, 0 = No
  493.             0    Start/Stop Timer A: 1 = Start, 0 = Stop
  494.  
  495. DD0F    56591            CIA Control Register B
  496.             7    Set Alarm/TOD-Clock: 1 = Alarm, 0 = Clock
  497.             6-5    Timer B Mode Select:
  498.                     00 = Count System 02 Clock Pulses
  499.                     01 = Count Positive CNT Transitions
  500.                     10 = Count Timer A Underflow Pulses
  501.                     11 = Count Timer A Underflows While CNT Positive
  502.             4-0    Same as CIA Control Reg. A - for Timer B
  503.  
  504.  
  505. DEOO-DEFF    56832-57087    Reserved for Future I/O Expansion
  506. DFOO-DFFF    57088-57343    Reserved for Future I/O Expansion
  507.  
  508.  
  509.  DMA  $DF00
  510.  
  511.  
  512.     8726 DMA Controller for C128 (512K REU)
  513.  
  514.  Note: The 8726 DMA controller for C128 is different from the C64 ones
  515.  in registers 00,01,09 and 0a.
  516.  
  517. DF00  DMA ST    STATUS
  518.         7    Interrupt Pending (1 = Int. waiting)
  519.         6    End of Block (1 = Transfer complete)
  520.         5    Fault  (1 = Block verify error)
  521.         4    Size   (0 = 128K, 1 = 512K Exp. Memory)
  522.         3-0    Version
  523.  
  524. DF01  DMA CMD    COMMAND
  525.         7    Exec
  526.         6    Reserved (normally 0)
  527.         5    Load  (1 = Enable auto load)
  528.         4    $FF00 (1 = Disable $FF00 decades)
  529.         3-2    Reserved (normally 0)
  530.         1-0    Mode
  531.                 00 = Transfer from internal to external
  532.                 01 = From ext to int
  533.                 10 = Swap
  534.                 11 = Verify
  535.  
  536. DF02  DMA ADL    HOST ADDRESS LOW
  537. DF03  DMA ADH    HOST ADDRESS HIGH
  538.  
  539. DF04  DMA LO    EXPANSION ADDRESS LOW
  540. DF05  DMA HI    EXPANSION ADDRESS HIGH
  541. DF06  DMA BNK    EXPANSION BANK (bits 2-0 only)
  542.         7-3    Unused
  543.         2-0    Expansion Bank number
  544.  
  545. DF07  DMA DAL    TRANSFER LENGTH LOW
  546. DF08  DMA DAH    TRANSFER LENGTH HIGH
  547.  
  548. DF09  DMA SUM    INTERRUPT MASK REGISTER
  549.         7    Interrupt Enable (1 = Interrupts enabled)
  550.         6    End of Block mask (1 = Interrupt on end of block)
  551.         5    Verify Error (1 = Interrupt on verify error)
  552.         4-0    Unused (normally all set)
  553.  
  554. DF0A  DMA VER    VERSION, MAXIMUM MEMORY
  555.         7-6    Address Control
  556.                 00 = Increment both addresses (default)
  557.                 01 = Fix expansion address
  558.                 10 = Fix C128 address
  559.                 11 = Fix both addresses
  560.         5-0    Unused (normally all set)
  561.  
  562.