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

  1.  
  2.     COMMODORE 64 INPUT/OUTPUT ASSIGNMENTS
  3.  
  4.  
  5. HEX    DECIMAL        BITS    DESCRIPTION
  6.  
  7. 0000    0        7-0    MOS 6510 Data Direction    
  8.                     Register (xx101111)
  9.                     Bit= 1: Output, Bit=0:    
  10.                     Input, x=Don't Care    
  11.  
  12. 0001    1            MOS 6510 Micro-Processor
  13.                     On-Chip I/O Port    
  14.             0    /LORAM Signal (0=Switch    BASIC ROM Out)
  15.             1    /HIRAM Signal (0=Switch Kernal ROM Out)
  16.             2    /CHAREN Signal (O=Swith Char. ROM In)
  17.             3    Cassette Data Output Line
  18.             4    Cassette Switch Sense: 1 = Switch Closed
  19.             5    Cassette Motor Control
  20.                 O = ON, 1 = OFF
  21.             6-7    Undefined
  22.  
  23.  
  24. D000-D02E    53248-54271    MOS 6566 VIDEO INTERFACE CONTROLLER (VIC)
  25.  
  26. D000        53248        Sprite O X Pos
  27. D001        53249        Sprite O Y Pos
  28. D002        53250        Sprite 1 X Pos        
  29. D003        53251        Sprite 1 Y Pos        
  30. D004        53252        Sprite 2 X Pos
  31. D005        53253        Sprite 2 Y Pos        
  32. D006        53254        Sprite 3 X Pos        
  33. D007        53255        Sprite 3 Y Pos
  34. D008        53256        Sprite 4 X Pos
  35. D009        53257        Sprite 4 Y Pos
  36. D00A        53258        Sprite 5 X Pos
  37. D00B        53259        Sprite 5 Y Pos
  38. D00C        53260        Sprite 6 X Pos
  39. D00D        53261        Sprite 6 Y Pos
  40. D00E        53262        Sprite 7 X Pos
  41. D00F        53263        Sprite 7 Y Pos
  42. D010        53264        Sprites 0-7 X Pos (msb of X coord.)
  43.  
  44. D011        53265        VIC Control Register
  45.             7    Raster Compare: (Bit 8)    See 53266
  46.             6    Extended Color Text Mode 1 = Enable    
  47.             5    Bit Map Mode. 1 = Enable
  48.             4    Blank Screen to Border Color: O = Blank
  49.             3    Select 24/25 Row Text Display: 1 = 25 Rows
  50.             2-0    Smooth Scroll to Y Dot-Position (0-7)
  51.  
  52. D012    53266            Read Raster / Write Raster Value for Compare IRQ
  53. D013    53267            Light-Pen Latch X Pos
  54. D014    53268            Light-Pen Latch Y Pos
  55. D015    53269            Sprite display Enable: 1 = Enable
  56.  
  57. D016    53270            VIC Control Register
  58.             7-6    Unused
  59.             5    ALWAYS SET THIS BIT TO 0 !
  60.             4    Multi-Color Mode: 1 = Enable (Text or Bit-Map)
  61.             3    Select 38/40 Column Text Display: 1 = 40 Cols
  62.             2-0    Smooth Scroll to X Pos
  63.  
  64. D017    53271            Sprites O-7 Expand 2x Vertical (Y)
  65.  
  66. D018    53272            VIC Memory Control Register
  67.             7-4    Video Matrix Base Address (inside VIC)
  68.             3-1    Character Dot-Data Base    Address (inside VIC)
  69.             0    Select upper/lower Character Set
  70.  
  71. D019    53273            VIC Interrupt Flag Register (Bit = 1: IRQ Occurred)
  72.             7    Set on Any Enabled VIC IRQ Condition
  73.             3    Light-Pen Triggered IRQ Flag
  74.             2    Sprite to Sprite Collision IRQ Flag
  75.             1    Sprite to Background Collision IRQ Flag
  76.             0    Raster Compare IRQ Flag
  77.  
  78. D01A    53274            IRQ Mask Register: 1 = Interrupt Enabled
  79. D01B    53275            Sprite to Background Display Priority: 1 = Sprite
  80. D01C    53276            Sprites O-7 Multi-Color Mode Select: 1 = M.C.M.
  81. D01D    53277            Sprites 0-7 Expand 2x Horizontal (X)
  82.  
  83. D01E    53278            Sprite to Sprite Collision Detect
  84. D01F    53279            Sprite to Background Collision Detect
  85. D020    53280            Border Color
  86. D021    53281            Background Color O
  87. D022    53282            Background Color 1
  88. D023    53283            Background Color 2
  89. D024    53284            Background Color 3
  90. D025    53285            Sprite Multi-Color Register 0
  91. D026    53286            Sprite Multi-Color Register 1
  92.  
  93. D027    53287            Sprite O Color
  94. D028    53288            Sprite 1 Color
  95. D029    53289            Sprite 2 Color
  96. D02A    53290            Sprite 3 Color
  97. D02B    53291            Sprite 4 Color
  98. D02C    53292            Sprite 5 Color
  99. D02D    53293            Sprite 6 Color
  100. D02E    53294            Sprite 7 Color
  101.  
  102. D400-D7FF    54272-55295    MOS 6581 SOUND INTERFACE DEVICE (SID)
  103.  
  104. D400    54272            Voice 1: Frequency Control - Low-Byte
  105. D401    54273            Voice 1: Frequency Control - High-Byte
  106. D402    54274            Voice 1: Pulse Waveform    Width - Low-Byte
  107. D403    54275        7-4    Unused
  108.             3-0    Voice 1: Pulse Waveform Width - High-Nybble
  109. D404    54276            Voice 1: Control Register
  110.             7    Select Random Noise Waveform, 1 = On
  111.             6    Select Pulse Waveform, 1 = On
  112.             5    Select Sawtooth Waveform, 1 = On
  113.             4    Select Triangle Waveform, 1 = On
  114.             3    Test Bit: 1 = Disable Oscillator 1
  115.             2    Ring Modulate Osc. 1 with Osc. 3 Output, 1 = On
  116.             1    Synchronize Osc. 1 with Osc. 3 Frequency, 1 = On
  117.             0    Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
  118.  
  119. D405    54277            Envelope Generator 1: Attack / Decay Cycle Control
  120.             7-4    Select Attack Cycle Duration: O-15
  121.             3-0    Select Decay Cycle Duration: 0-15
  122.  
  123. D406    54278            Envelope Generator 1: Sustain / Release Cycle Control
  124.             7-4    Select Sustain Cycle Duration: O-15
  125.             3-0    Select Release Cycle Duration: O-15
  126.  
  127. D407    54279            Voice 2: Frequency Control - Low-Byte
  128. D408    54280            Voice 2: Frequency Control - High-Byte
  129. D409    54281            Voice 2: Pulse Waveform Width - Low-Byte
  130.  
  131. D40A    54282        7-4    Unused
  132.             3-0    Voice 2: Pulse Waveform Width - High-Nybble
  133.  
  134. D40B    54283            Voice 2: Control Register
  135.             7    Select Random Noise Waveform, 1 = On
  136.             6    Select Pulse Waveform, 1 = On
  137.             5    Select Sawtooth Waveform, 1 = On
  138.             4    Select Triangle Waveform, 1 = On
  139.             3    Test Bit: 1 = Disable Oscillator 1
  140.             2    Ring Modulate Osc. 2 with Osc. 1 Output, 1 = On
  141.             1    Synchronize Osc. 2 with Osc. 1 Frequency, 1 = On
  142.             0    Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
  143.  
  144. D40C    54284            Envelope Generator 2: Attack / Decay Cycle Control
  145.             7-4    Select Attack Cycle Duration: O-15
  146.             3-0    Select Decay Cycle Duration: 0-15
  147.  
  148. D40D    54285            Envelope Generator 2: Sustain / Release Cycle Control
  149.             7-4    Select Sustain Cycle Duration: O-15
  150.             3-0    Select Release Cycle Duration: O-15
  151.  
  152. D40E    54286            Voice 3: Frequency Control - Low-Byte
  153. D40F    54287            Voice 3: Frequency Control - High-Byte
  154. D410    54288            Voice 3: Pulse Waveform Width - Low-Byte
  155. D411    54289        7-4    Unused
  156.             3-0    Voice 3: Pulse Waveform Width - High-Nybble
  157. D412    54290            Voice 3: Control Register
  158.             7    Select Random Noise Waveform, 1 = On
  159.             6    Select Pulse Waveform, 1 = On
  160.             5    Select Sawtooth Waveform, 1 = On
  161.             4    Select Triangle Waveform, 1 = On
  162.             3    Test Bit: 1 = Disable Oscillator 1
  163.             2    Ring Modulate Osc. 3 with Osc. 2 Output, 1 = On
  164.             1    Synchronize Osc. 3 with Osc. 2 Frequency, 1 = On
  165.             0    Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
  166.  
  167. D413    54291        Envelope Generator 3: Attac/Decay Cycle Control 
  168.             7-4    Select Attack Cycle Duration: O-15
  169.             3-0    Select Decay Cycle Duration: 0-15
  170.  
  171. D414    54285            Envelope Generator 3: Sustain / Release Cycle Control
  172.             7-4    Select Sustain Cycle Duration: O-15
  173.             3-0    Select Release Cycle Duration: O-15
  174.  
  175.  
  176. D415    54293            Filter Cutoff Frequency: Low-Nybble (Bits 2-O)
  177. D416    54294            Filter Cutoff Frequency: High-Byte
  178. D417    54295            Filter Resonance Control / Voice Input Control
  179.             7-4    Select Filter Resonance: 0-15
  180.             3    Filter External Input: 1 = Yes, 0 = No
  181.             2    Filter Voice 3 Output: 1 = Yes, 0 = No
  182.                 Filter Voice 2 Output: 1 = Yes, 0 = No
  183.             0    Filter Voice 1 Output: 1 = Yes, 0 = No
  184.  
  185. D418    54296            Select Filter Mode and Volume
  186.             7    Cut-Off Voice 3 Output: 1 = Off, O = On
  187.  
  188.             6    Select Filter High-Pass Mode: 1 = On
  189.             5    Select Filter Band-Pass Mode: 1 = On
  190.             4    Select Filter Low-Pass Mode: 1 = On
  191.             3-0    Select Output Volume: 0-15
  192.  
  193. D419    54297            Analog/Digital Converter: Game Paddle 1 (O-255)
  194. D41A    54298            Analog/Digital Converter Game Paddle 2 (O-255)
  195. D41B    54299            Oscillator 3 Random Number Generator
  196. D41C    54230            Envelope Generator 3 Output
  197.  
  198. D500-D7FF    54528-55295    SID IMAGES
  199. D800-DBFF    55296-56319    Color RAM (Nybbles)
  200.  
  201. DC00-DCFF    56320-56575    MOS 6526 Complex Interface Adapter (CIA) #1
  202.  
  203. DC00    56320            Data Port A (Keyboard, Joystick, Paddles, Light-Pen)
  204.  
  205.             7-0    Write Keyboard Column Values for Keyboard Scan
  206.             7-6    Read Paddles on Port A / B (01 = Port A, 10 = Port B)
  207.             4    Joystick A Fire Button: 1 = Fire
  208.             3-2    Paddle Fire Buttons
  209.             3-0    Joystick A Direction (0-15)
  210.  
  211. DC01    56321            Data Port B (Keyboard, Joystick, Paddles): Game Port 1
  212.             7-0    Read Keyboard Row Values for Keyboard Scan
  213.  
  214.             7    Timer B Toggle/Pulse Output
  215.             6    Timer A: Toggle/Pulse Output
  216.  
  217.             4    Joystick 1 Fire Button: 1 = Fire
  218.             3-2    Paddle Fire Buttons
  219.             3-0    Joystick 1 Direction
  220.  
  221. DC02    56322            Data Direction Register - Port A (56320)
  222. DC03    56323            Data Direction Register - Port B (56321)
  223. DC04    56324            Timer A: Low-Byte
  224. DC05    56325            Timer A: High-Byte
  225. DC06    56326            Timer B: Low-Byte
  226. DC07    56327            Timer B: High-Byte
  227.  
  228. DC08    56328            Time-of-Day Clock: 1/10 Seconds
  229. DC09    56329            Time-of-Day Clock: Seconds
  230. DC0A    56330            Time-of-Day Clock: Minutes
  231. DC0B    56331            Time-of-Day Clock: Hours + AM/PM Flag (Bit 7)
  232.  
  233. DC0C    56332            Synchronous Serial I/O Data Buffer
  234. DC0D    56333            CIA Interrupt Control Register (Read IRQs/Write Mask)
  235.  
  236.             7    IRQ Flag (1 = IRQ Occurred) / Set-Clear Flag
  237.             4    FLAG1 IRQ (Cassette Read / Serial Bus SRQ Input)
  238.             3    Serial Port Interrupt
  239.             2    Time-of-Day Clock Alarm Interrupt
  240.             1    Timer B Interrupt
  241.             0    Timer A Interrupt
  242.  
  243. DC0E    56334            CIA Control Register A
  244.             7    Time-of-Day Clock Frequency: 1 = 50 Hz, 0 = 60 Hz
  245.             6    Serial Port I/O Mode Output, 0 = Input
  246.             5    Timer A Counts: 1 = CNT Signals, 0 = System 02 Clock
  247.  
  248.             4    Force Load Timer A: 1 = Yes
  249.             3    Timer A Run Mode: 1 = One-Shot, 0 = Continuous
  250.             2    Timer A Output Mode to PB6: 1 = Toggle, 0 = Pulse
  251.             1    Timer A Output on PB6: 1 = Yes, 0 = No
  252.             0    Start/Stop Timer A: 1 = Start, 0 = Stop
  253.  
  254. DC0F    56335            CIA Control Register B
  255.             7    Set Alarm/TOD-Clock: 1 = Alarm, 0 = Clock
  256.             6-5    Timer B Mode Select:
  257.                     00 = Count System 02 Clock Pulses
  258.                     01 = Count Positive CNT Transitions
  259.                     10 = Count Timer A Underflow Pulses
  260.                     11 = Count Timer A Underflows While CNT Positive
  261.             4-0    Same as CIA Control Reg. A - for Timer B
  262.  
  263. DD00-DDFF    56576-56831        MOS 6526 Complex Interface Adapter (CIA) #2
  264.  
  265. DD00    56576            Data Port A (Serial Bus, RS-232, VIC Memory Control)
  266.             7    Serial Bus Data Input
  267.             6    Serial Bus Clock Pulse Input
  268.             5    Serial Bus Data Output
  269.             4    Serial Bus Clock Pulse Output
  270.             3    Serial Bus ATN Signal Output
  271.             2    RS-232 Data Output (User Port)
  272.             1-O    VIC Chip System Memory Bank Select (Default = 11)
  273.  
  274. DD01    56577        Data Port B (User Port, RS-232)
  275.             7    User / RS-232 Data Set Ready
  276.             6    User / RS-232 Clear to Send
  277.             5    User
  278.             4    User / RS-232 Carrier Detect
  279.             3    User / RS-232 Ring Indicator
  280.             2    User / RS-232 Data Terminal Ready
  281.             1    User / RS-232 Request to Send
  282.             0    User / RS-232 Received Data
  283.  
  284. DD02    56578            Data Direction Register - Port A
  285. DD03    56579            Data Direction Register - Port B
  286. DD04    56580            Timer A: Low-Byte
  287. DD05    56581            Timer A: High-Byte
  288. DD06    56582            Timer B: Low-Byte
  289. DD07    56583            Timer B: High-Byte
  290.  
  291. DD08    56584            Time-of-Day Clock: 1/10 Seconds
  292. DD09    56585            Time-of-Day Clock: Seconds
  293. DD0A    56586            Time-of-Day Clock: Minutes
  294. DD0B    56587            Time-of-Day Clock: Hours + AM/PM Flag (Bit 7)
  295. DD0C    56588            Synchronous Serial I/O Data Buffer
  296. DD0D    56589            CIA Interrupt Control Register (Read NMls/Write Mask)
  297.             7    NMI Flag (1 = NMI Occurred) / Set-Clear Flag
  298.             4    FLAG1 NMI (User/RS-232 Received Data Input)
  299.             3    Serial Port Interrupt
  300.  
  301.             1    Timer B Interrupt
  302.             0    Timer A Interrupt
  303.  
  304. DD0E    56590            CIA Control Register A
  305.  
  306.             7    Time-of-Day Clock Frequency: 1 = 50 Hz, 0 = 60 Hz
  307.             6    Serial Port I/O Mode Output, 0 = Input
  308.             5    Timer A Counts: 1 = CNT Signals, 0 = System 02 Clock
  309.             4    Force Load Timer A: 1 = Yes
  310.             3    Timer A Run Mode: 1 = One-Shot, 0 = Continuous
  311.             2    Timer A Output Mode to PB6: 1 = Toggle, 0 = Pulse
  312.             1    Timer A Output on PB6: 1 = Yes, 0 = No
  313.             0    Start/Stop Timer A: 1 = Start, 0 = Stop
  314.  
  315. DD0F    56591            CIA Control Register B
  316.             7    Set Alarm/TOD-Clock: 1 = Alarm, 0 = Clock
  317.             6-5    Timer B Mode Select:
  318.                     00 = Count System 02 Clock Pulses
  319.                     01 = Count Positive CNT Transitions
  320.                     10 = Count Timer A Underflow Pulses
  321.                     11 = Count Timer A Underflows While CNT Positive
  322.             4-0    Same as CIA Control Reg. A - for Timer B
  323.  
  324.  
  325. DEOO-DEFF    56832-57087    Reserved for Future I/O Expansion
  326. DFOO-DFFF    57088-57343    Reserved for Future I/O Expansion
  327.  
  328.