home *** CD-ROM | disk | FTP | other *** search
-
- COMMODORE 64 INPUT/OUTPUT ASSIGNMENTS
-
-
- HEX DECIMAL BITS DESCRIPTION
-
- 0000 0 7-0 MOS 6510 Data Direction
- Register (xx101111)
- Bit= 1: Output, Bit=0:
- Input, x=Don't Care
-
- 0001 1 MOS 6510 Micro-Processor
- On-Chip I/O Port
- 0 /LORAM Signal (0=Switch BASIC ROM Out)
- 1 /HIRAM Signal (0=Switch Kernal ROM Out)
- 2 /CHAREN Signal (O=Swith Char. ROM In)
- 3 Cassette Data Output Line
- 4 Cassette Switch Sense: 1 = Switch Closed
- 5 Cassette Motor Control
- O = ON, 1 = OFF
- 6-7 Undefined
-
-
- D000-D02E 53248-54271 MOS 6566 VIDEO INTERFACE CONTROLLER (VIC)
-
- D000 53248 Sprite O X Pos
- D001 53249 Sprite O Y Pos
- D002 53250 Sprite 1 X Pos
- D003 53251 Sprite 1 Y Pos
- D004 53252 Sprite 2 X Pos
- D005 53253 Sprite 2 Y Pos
- D006 53254 Sprite 3 X Pos
- D007 53255 Sprite 3 Y Pos
- D008 53256 Sprite 4 X Pos
- D009 53257 Sprite 4 Y Pos
- D00A 53258 Sprite 5 X Pos
- D00B 53259 Sprite 5 Y Pos
- D00C 53260 Sprite 6 X Pos
- D00D 53261 Sprite 6 Y Pos
- D00E 53262 Sprite 7 X Pos
- D00F 53263 Sprite 7 Y Pos
- D010 53264 Sprites 0-7 X Pos (msb of X coord.)
-
- D011 53265 VIC Control Register
- 7 Raster Compare: (Bit 8) See 53266
- 6 Extended Color Text Mode 1 = Enable
- 5 Bit Map Mode. 1 = Enable
- 4 Blank Screen to Border Color: O = Blank
- 3 Select 24/25 Row Text Display: 1 = 25 Rows
- 2-0 Smooth Scroll to Y Dot-Position (0-7)
-
- D012 53266 Read Raster / Write Raster Value for Compare IRQ
- D013 53267 Light-Pen Latch X Pos
- D014 53268 Light-Pen Latch Y Pos
- D015 53269 Sprite display Enable: 1 = Enable
-
- D016 53270 VIC Control Register
- 7-6 Unused
- 5 ALWAYS SET THIS BIT TO 0 !
- 4 Multi-Color Mode: 1 = Enable (Text or Bit-Map)
- 3 Select 38/40 Column Text Display: 1 = 40 Cols
- 2-0 Smooth Scroll to X Pos
-
- D017 53271 Sprites O-7 Expand 2x Vertical (Y)
-
- D018 53272 VIC Memory Control Register
- 7-4 Video Matrix Base Address (inside VIC)
- 3-1 Character Dot-Data Base Address (inside VIC)
- 0 Select upper/lower Character Set
-
- D019 53273 VIC Interrupt Flag Register (Bit = 1: IRQ Occurred)
- 7 Set on Any Enabled VIC IRQ Condition
- 3 Light-Pen Triggered IRQ Flag
- 2 Sprite to Sprite Collision IRQ Flag
- 1 Sprite to Background Collision IRQ Flag
- 0 Raster Compare IRQ Flag
-
- D01A 53274 IRQ Mask Register: 1 = Interrupt Enabled
- D01B 53275 Sprite to Background Display Priority: 1 = Sprite
- D01C 53276 Sprites O-7 Multi-Color Mode Select: 1 = M.C.M.
- D01D 53277 Sprites 0-7 Expand 2x Horizontal (X)
-
- D01E 53278 Sprite to Sprite Collision Detect
- D01F 53279 Sprite to Background Collision Detect
- D020 53280 Border Color
- D021 53281 Background Color O
- D022 53282 Background Color 1
- D023 53283 Background Color 2
- D024 53284 Background Color 3
- D025 53285 Sprite Multi-Color Register 0
- D026 53286 Sprite Multi-Color Register 1
-
- D027 53287 Sprite O Color
- D028 53288 Sprite 1 Color
- D029 53289 Sprite 2 Color
- D02A 53290 Sprite 3 Color
- D02B 53291 Sprite 4 Color
- D02C 53292 Sprite 5 Color
- D02D 53293 Sprite 6 Color
- D02E 53294 Sprite 7 Color
-
- D400-D7FF 54272-55295 MOS 6581 SOUND INTERFACE DEVICE (SID)
-
- D400 54272 Voice 1: Frequency Control - Low-Byte
- D401 54273 Voice 1: Frequency Control - High-Byte
- D402 54274 Voice 1: Pulse Waveform Width - Low-Byte
- D403 54275 7-4 Unused
- 3-0 Voice 1: Pulse Waveform Width - High-Nybble
- D404 54276 Voice 1: Control Register
- 7 Select Random Noise Waveform, 1 = On
- 6 Select Pulse Waveform, 1 = On
- 5 Select Sawtooth Waveform, 1 = On
- 4 Select Triangle Waveform, 1 = On
- 3 Test Bit: 1 = Disable Oscillator 1
- 2 Ring Modulate Osc. 1 with Osc. 3 Output, 1 = On
- 1 Synchronize Osc. 1 with Osc. 3 Frequency, 1 = On
- 0 Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
-
- D405 54277 Envelope Generator 1: Attack / Decay Cycle Control
- 7-4 Select Attack Cycle Duration: O-15
- 3-0 Select Decay Cycle Duration: 0-15
-
- D406 54278 Envelope Generator 1: Sustain / Release Cycle Control
- 7-4 Select Sustain Cycle Duration: O-15
- 3-0 Select Release Cycle Duration: O-15
-
- D407 54279 Voice 2: Frequency Control - Low-Byte
- D408 54280 Voice 2: Frequency Control - High-Byte
- D409 54281 Voice 2: Pulse Waveform Width - Low-Byte
-
- D40A 54282 7-4 Unused
- 3-0 Voice 2: Pulse Waveform Width - High-Nybble
-
- D40B 54283 Voice 2: Control Register
- 7 Select Random Noise Waveform, 1 = On
- 6 Select Pulse Waveform, 1 = On
- 5 Select Sawtooth Waveform, 1 = On
- 4 Select Triangle Waveform, 1 = On
- 3 Test Bit: 1 = Disable Oscillator 1
- 2 Ring Modulate Osc. 2 with Osc. 1 Output, 1 = On
- 1 Synchronize Osc. 2 with Osc. 1 Frequency, 1 = On
- 0 Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
-
- D40C 54284 Envelope Generator 2: Attack / Decay Cycle Control
- 7-4 Select Attack Cycle Duration: O-15
- 3-0 Select Decay Cycle Duration: 0-15
-
- D40D 54285 Envelope Generator 2: Sustain / Release Cycle Control
- 7-4 Select Sustain Cycle Duration: O-15
- 3-0 Select Release Cycle Duration: O-15
-
- D40E 54286 Voice 3: Frequency Control - Low-Byte
- D40F 54287 Voice 3: Frequency Control - High-Byte
- D410 54288 Voice 3: Pulse Waveform Width - Low-Byte
- D411 54289 7-4 Unused
- 3-0 Voice 3: Pulse Waveform Width - High-Nybble
- D412 54290 Voice 3: Control Register
- 7 Select Random Noise Waveform, 1 = On
- 6 Select Pulse Waveform, 1 = On
- 5 Select Sawtooth Waveform, 1 = On
- 4 Select Triangle Waveform, 1 = On
- 3 Test Bit: 1 = Disable Oscillator 1
- 2 Ring Modulate Osc. 3 with Osc. 2 Output, 1 = On
- 1 Synchronize Osc. 3 with Osc. 2 Frequency, 1 = On
- 0 Gate Bit: 1 = Start Att/Dec/Sus, 0 = Start Release
-
- D413 54291 Envelope Generator 3: Attac/Decay Cycle Control
- 7-4 Select Attack Cycle Duration: O-15
- 3-0 Select Decay Cycle Duration: 0-15
-
- D414 54285 Envelope Generator 3: Sustain / Release Cycle Control
- 7-4 Select Sustain Cycle Duration: O-15
- 3-0 Select Release Cycle Duration: O-15
-
-
- D415 54293 Filter Cutoff Frequency: Low-Nybble (Bits 2-O)
- D416 54294 Filter Cutoff Frequency: High-Byte
- D417 54295 Filter Resonance Control / Voice Input Control
- 7-4 Select Filter Resonance: 0-15
- 3 Filter External Input: 1 = Yes, 0 = No
- 2 Filter Voice 3 Output: 1 = Yes, 0 = No
- Filter Voice 2 Output: 1 = Yes, 0 = No
- 0 Filter Voice 1 Output: 1 = Yes, 0 = No
-
- D418 54296 Select Filter Mode and Volume
- 7 Cut-Off Voice 3 Output: 1 = Off, O = On
-
- 6 Select Filter High-Pass Mode: 1 = On
- 5 Select Filter Band-Pass Mode: 1 = On
- 4 Select Filter Low-Pass Mode: 1 = On
- 3-0 Select Output Volume: 0-15
-
- D419 54297 Analog/Digital Converter: Game Paddle 1 (O-255)
- D41A 54298 Analog/Digital Converter Game Paddle 2 (O-255)
- D41B 54299 Oscillator 3 Random Number Generator
- D41C 54230 Envelope Generator 3 Output
-
- D500-D7FF 54528-55295 SID IMAGES
- D800-DBFF 55296-56319 Color RAM (Nybbles)
-
- DC00-DCFF 56320-56575 MOS 6526 Complex Interface Adapter (CIA) #1
-
- DC00 56320 Data Port A (Keyboard, Joystick, Paddles, Light-Pen)
-
- 7-0 Write Keyboard Column Values for Keyboard Scan
- 7-6 Read Paddles on Port A / B (01 = Port A, 10 = Port B)
- 4 Joystick A Fire Button: 1 = Fire
- 3-2 Paddle Fire Buttons
- 3-0 Joystick A Direction (0-15)
-
- DC01 56321 Data Port B (Keyboard, Joystick, Paddles): Game Port 1
- 7-0 Read Keyboard Row Values for Keyboard Scan
-
- 7 Timer B Toggle/Pulse Output
- 6 Timer A: Toggle/Pulse Output
-
- 4 Joystick 1 Fire Button: 1 = Fire
- 3-2 Paddle Fire Buttons
- 3-0 Joystick 1 Direction
-
- DC02 56322 Data Direction Register - Port A (56320)
- DC03 56323 Data Direction Register - Port B (56321)
- DC04 56324 Timer A: Low-Byte
- DC05 56325 Timer A: High-Byte
- DC06 56326 Timer B: Low-Byte
- DC07 56327 Timer B: High-Byte
-
- DC08 56328 Time-of-Day Clock: 1/10 Seconds
- DC09 56329 Time-of-Day Clock: Seconds
- DC0A 56330 Time-of-Day Clock: Minutes
- DC0B 56331 Time-of-Day Clock: Hours + AM/PM Flag (Bit 7)
-
- DC0C 56332 Synchronous Serial I/O Data Buffer
- DC0D 56333 CIA Interrupt Control Register (Read IRQs/Write Mask)
-
- 7 IRQ Flag (1 = IRQ Occurred) / Set-Clear Flag
- 4 FLAG1 IRQ (Cassette Read / Serial Bus SRQ Input)
- 3 Serial Port Interrupt
- 2 Time-of-Day Clock Alarm Interrupt
- 1 Timer B Interrupt
- 0 Timer A Interrupt
-
- DC0E 56334 CIA Control Register A
- 7 Time-of-Day Clock Frequency: 1 = 50 Hz, 0 = 60 Hz
- 6 Serial Port I/O Mode Output, 0 = Input
- 5 Timer A Counts: 1 = CNT Signals, 0 = System 02 Clock
-
- 4 Force Load Timer A: 1 = Yes
- 3 Timer A Run Mode: 1 = One-Shot, 0 = Continuous
- 2 Timer A Output Mode to PB6: 1 = Toggle, 0 = Pulse
- 1 Timer A Output on PB6: 1 = Yes, 0 = No
- 0 Start/Stop Timer A: 1 = Start, 0 = Stop
-
- DC0F 56335 CIA Control Register B
- 7 Set Alarm/TOD-Clock: 1 = Alarm, 0 = Clock
- 6-5 Timer B Mode Select:
- 00 = Count System 02 Clock Pulses
- 01 = Count Positive CNT Transitions
- 10 = Count Timer A Underflow Pulses
- 11 = Count Timer A Underflows While CNT Positive
- 4-0 Same as CIA Control Reg. A - for Timer B
-
- DD00-DDFF 56576-56831 MOS 6526 Complex Interface Adapter (CIA) #2
-
- DD00 56576 Data Port A (Serial Bus, RS-232, VIC Memory Control)
- 7 Serial Bus Data Input
- 6 Serial Bus Clock Pulse Input
- 5 Serial Bus Data Output
- 4 Serial Bus Clock Pulse Output
- 3 Serial Bus ATN Signal Output
- 2 RS-232 Data Output (User Port)
- 1-O VIC Chip System Memory Bank Select (Default = 11)
-
- DD01 56577 Data Port B (User Port, RS-232)
- 7 User / RS-232 Data Set Ready
- 6 User / RS-232 Clear to Send
- 5 User
- 4 User / RS-232 Carrier Detect
- 3 User / RS-232 Ring Indicator
- 2 User / RS-232 Data Terminal Ready
- 1 User / RS-232 Request to Send
- 0 User / RS-232 Received Data
-
- DD02 56578 Data Direction Register - Port A
- DD03 56579 Data Direction Register - Port B
- DD04 56580 Timer A: Low-Byte
- DD05 56581 Timer A: High-Byte
- DD06 56582 Timer B: Low-Byte
- DD07 56583 Timer B: High-Byte
-
- DD08 56584 Time-of-Day Clock: 1/10 Seconds
- DD09 56585 Time-of-Day Clock: Seconds
- DD0A 56586 Time-of-Day Clock: Minutes
- DD0B 56587 Time-of-Day Clock: Hours + AM/PM Flag (Bit 7)
- DD0C 56588 Synchronous Serial I/O Data Buffer
- DD0D 56589 CIA Interrupt Control Register (Read NMls/Write Mask)
- 7 NMI Flag (1 = NMI Occurred) / Set-Clear Flag
- 4 FLAG1 NMI (User/RS-232 Received Data Input)
- 3 Serial Port Interrupt
-
- 1 Timer B Interrupt
- 0 Timer A Interrupt
-
- DD0E 56590 CIA Control Register A
-
- 7 Time-of-Day Clock Frequency: 1 = 50 Hz, 0 = 60 Hz
- 6 Serial Port I/O Mode Output, 0 = Input
- 5 Timer A Counts: 1 = CNT Signals, 0 = System 02 Clock
- 4 Force Load Timer A: 1 = Yes
- 3 Timer A Run Mode: 1 = One-Shot, 0 = Continuous
- 2 Timer A Output Mode to PB6: 1 = Toggle, 0 = Pulse
- 1 Timer A Output on PB6: 1 = Yes, 0 = No
- 0 Start/Stop Timer A: 1 = Start, 0 = Stop
-
- DD0F 56591 CIA Control Register B
- 7 Set Alarm/TOD-Clock: 1 = Alarm, 0 = Clock
- 6-5 Timer B Mode Select:
- 00 = Count System 02 Clock Pulses
- 01 = Count Positive CNT Transitions
- 10 = Count Timer A Underflow Pulses
- 11 = Count Timer A Underflows While CNT Positive
- 4-0 Same as CIA Control Reg. A - for Timer B
-
-
- DEOO-DEFF 56832-57087 Reserved for Future I/O Expansion
- DFOO-DFFF 57088-57343 Reserved for Future I/O Expansion
-
-