Difference between revisions of "SID Player"
From ScienceZero
(→6510 control port) |
|||
(12 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== C64 == | == C64 == | ||
+ | === 6510 control port === | ||
+ | @ $0000 - Data direction register | ||
+ | @ $0001 - Data register | ||
+ | Bit 0 - LORAM - RAM / ROM @ $A000 - $BFFF (BASIC) | ||
+ | Bit 1 - HIRAM - RAM / ROM @ $E000 - $FFFF (KERNAL) | ||
+ | Bit 2 - CHAREN - I/O / ROM @ $D000 - $DFFF | ||
+ | |||
+ | === Expansion port=== | ||
+ | # GND - System ground | ||
+ | # +5V DC (Maximum 450 mA) | ||
+ | # +5V DC | ||
+ | # <span style="text-decoration: overline">IRQ</span> | ||
+ | # R/<span style="text-decoration: overline">W</span> | ||
+ | # Dot clock - 8.18 MHz system clock | ||
+ | # <span style="text-decoration: overline">I/O1</span> - I/O block 1 @ $DE00-$DEFF | ||
+ | # <span style="text-decoration: overline">GAME</span> | ||
+ | # <span style="text-decoration: overline">EPROM</span> | ||
+ | # <span style="text-decoration: overline">I/O2</span> - I/O block 1 @ $DF00-$DFFF | ||
+ | #<span style="text-decoration: overline">ROML</span> - 8 KB decoded RAM/ROM block at @ $8000 | ||
+ | # BA - Bus available (Goes low 3 cycles before VIC-II takes control over the bus) | ||
+ | #<span style="text-decoration: overline">DMA</span> - Should only be pulled low when Ø2 is low | ||
+ | # D7 | ||
+ | # D6 | ||
+ | # D5 | ||
+ | # D4 | ||
+ | # D3 | ||
+ | # D2 | ||
+ | # D1 | ||
+ | # D0 | ||
+ | # GND | ||
+ | # GND | ||
+ | #<span style="text-decoration: overline">ROMH</span> - 8 KB decoded RAM/ROM block at @ $E000 | ||
+ | #<span style="text-decoration: overline">RESET</span> | ||
+ | #<span style="text-decoration: overline">NMI</span> | ||
+ | #Ø2 Phase 2 system clock | ||
+ | # A15 | ||
+ | # A14 | ||
+ | # A13 | ||
+ | # A12 | ||
+ | # A11 | ||
+ | # A10 | ||
+ | # A9 | ||
+ | # A8 | ||
+ | # A7 | ||
+ | # A6 | ||
+ | # A5 | ||
+ | # A4 | ||
+ | # A3 | ||
+ | # A2 | ||
+ | # A1 | ||
+ | # A0 | ||
+ | # GND | ||
+ | |||
== MOS6581 / MOS8580 - SID == | == MOS6581 / MOS8580 - SID == | ||
+ | [[image:SID_pinout.png|thumb|right|Pin-out]] | ||
+ | [[image:SID_blockdiagram.png|thumb|right|Block diagram]] | ||
+ | === Register map=== | ||
+ | @ $D400 | ||
+ | # FREQ LO - Write only (Voice 1) | ||
+ | # FREQ HI | ||
+ | # PW LO | ||
+ | # PW HI | ||
+ | # CONTROL REG | ||
+ | # ATTACK/DECAY | ||
+ | # SUSTAIN/RELEASE | ||
+ | # FREQ LO - Write only (Voice 2) | ||
+ | # FREQ HI | ||
+ | # PW LO | ||
+ | # PW HI | ||
+ | # CONTROL REG | ||
+ | # ATTACK/DECAY | ||
+ | # SUSTAIN/RELEASE | ||
+ | # FREQ LO - Write only (Voice 3) | ||
+ | # FREQ HI | ||
+ | # PW LO | ||
+ | # PW HI | ||
+ | # CONTROL REG | ||
+ | # ATTACK/DECAY | ||
+ | # SUSTAIN/RELEASE | ||
+ | # FC LO - Write only (Filter) | ||
+ | # FC HI | ||
+ | # RES/FILT | ||
+ | # MODE/VOL | ||
+ | # POT X - Read only (Misc) | ||
+ | # POT Y | ||
+ | # OSC<sub>3</sub>/RANDOM | ||
+ | # ENV<sub>3</sub> | ||
+ | |||
== MOS6567 / MOS6569 - VIC-II video controller == | == MOS6567 / MOS6569 - VIC-II video controller == | ||
== MOS6510 - CPU == | == MOS6510 - CPU == | ||
== MOS6526 - CIA Timer == | == MOS6526 - CIA Timer == |
Latest revision as of 12:04, 21 May 2010
Contents
C64
6510 control port
@ $0000 - Data direction register @ $0001 - Data register Bit 0 - LORAM - RAM / ROM @ $A000 - $BFFF (BASIC) Bit 1 - HIRAM - RAM / ROM @ $E000 - $FFFF (KERNAL) Bit 2 - CHAREN - I/O / ROM @ $D000 - $DFFF
Expansion port
- GND - System ground
- +5V DC (Maximum 450 mA)
- +5V DC
- IRQ
- R/W
- Dot clock - 8.18 MHz system clock
- I/O1 - I/O block 1 @ $DE00-$DEFF
- GAME
- EPROM
- I/O2 - I/O block 1 @ $DF00-$DFFF
- ROML - 8 KB decoded RAM/ROM block at @ $8000
- BA - Bus available (Goes low 3 cycles before VIC-II takes control over the bus)
- DMA - Should only be pulled low when Ø2 is low
- D7
- D6
- D5
- D4
- D3
- D2
- D1
- D0
- GND
- GND
- ROMH - 8 KB decoded RAM/ROM block at @ $E000
- RESET
- NMI
- Ø2 Phase 2 system clock
- A15
- A14
- A13
- A12
- A11
- A10
- A9
- A8
- A7
- A6
- A5
- A4
- A3
- A2
- A1
- A0
- GND
MOS6581 / MOS8580 - SID
Register map
@ $D400
- FREQ LO - Write only (Voice 1)
- FREQ HI
- PW LO
- PW HI
- CONTROL REG
- ATTACK/DECAY
- SUSTAIN/RELEASE
- FREQ LO - Write only (Voice 2)
- FREQ HI
- PW LO
- PW HI
- CONTROL REG
- ATTACK/DECAY
- SUSTAIN/RELEASE
- FREQ LO - Write only (Voice 3)
- FREQ HI
- PW LO
- PW HI
- CONTROL REG
- ATTACK/DECAY
- SUSTAIN/RELEASE
- FC LO - Write only (Filter)
- FC HI
- RES/FILT
- MODE/VOL
- POT X - Read only (Misc)
- POT Y
- OSC3/RANDOM
- ENV3