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

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