6510 CPU

Pinout

clk0 --> 1 -6510-- 40 <-- !rst
rdy --> 2 39 --> clk2
!irq --> 3 38 --> r/!w
!nmi --> 4 37 <-> d0
aec --> 5 36 <-> d1
VCC --- 6 35 <-> d2
a0 <-- 7 34 <-> d3
a1 <-- 8 33 <-> d4
a2 <-- 9 32 <-> d5
a3 <-- 10 31 <-> d6
a4 <-- 11 30 <-> d7
a5 <-- 12 29 <-> p0
a6 <-- 13 28 <-> p1
a7 <-- 14 27 <-> p2
a8 <-- 15 26 <-> p3
a9 <-- 16 25 --> p4
a10 <-- 17 24 --> p5
a11 <-- 18 23 --> a15
a12 <-- 19 22 --> a14
a13 <-- 20 21 --- Vss
  From a software view this is almost identical to the standard 6502. The differences include some memory-mapped I/O registers for an on-chip 6-bit I/O port, and a slight variation of the unofficial op-codes. Like the Atari's version of the 6502, the 6510 also had a signal (aec) to tri-state the bus which allowed video processors to take over.

Onhttp://www.funet.fi/pub/cbm/, you can find the
6502/6510 instruction set as well as the
Illegal opcodes.

 

I/O Registers

Offset   Bits Use on the C64
0000 Data Direction. 1 = out, 0 = in. 7:0 xx101111. (x= don't care)
0001 On-Chip I/O Port 0 /LORAM Signal (0=Switch BASIC ROM Out)
1 /HIRAM Signal (0=Switch Kernal ROM Out)
2 /CHAREN Signal (0=Switch Char. ROM In)
3 Cassette Data Output Line
4 Cassette Switch Sense: 1 = Switch Closed
5 Cassette Motor Control: 0 = ON, 1 = OFF
6 Undefined
7 Undefined