SID mos6581 interfacing with arduino

Heya, I have tried my best, but I cannot interface the SID on my own, so I call you for help: Is there someone who has done this before? I would REALLY appreciate schematics and or code, because this doesn't seem to work (or it's just the hardware...)

//Define pin names
#define ad4 A0
#define ad3 A1
#define ad2 A2
#define ad1 A3
#define ad0 A4
#define CS  A5
#define D   4
#define Mhz 9
#define CP  6
#define RES 7

//optional input
#define Dcalc 2
#define Ccalc 3

void setup(){
 pinMode(ad0,OUTPUT);
 pinMode(ad1,OUTPUT);
 pinMode(ad2,OUTPUT);
 pinMode(ad3,OUTPUT);
 pinMode(ad4,OUTPUT);
 
 pinMode(CS,OUTPUT);//inverted
 pinMode(D,OUTPUT);
 pinMode(CP,OUTPUT);
 pinMode(RES,OUTPUT);//inverted
 
 pinMode(Dcalc,INPUT);
 pinMode(Ccalc,INPUT);
 
    DDRB = _BV(DDB1);                  //set OC1A/PB1 as output (Arduino pin D9, DIP pin 15)
    TCCR1A = _BV(COM1A0);              //toggle OC1A on compare match
    OCR1A = 7;                         //top value for counter
    TCCR1B = _BV(WGM12) | _BV(CS10);   //CTC mode, prescaler clock/1
 delay(5);
 //Set all inverted pins
 digitalWrite(CS,HIGH);
 digitalWrite(RES,HIGH);
 
 //Clear the SID's registers
 digitalWrite(RES,LOW);
 delay(2);//Make sure they're empty
 digitalWrite(RES,HIGH);
 Serial.begin(9600);
 //Default Preset
 regWrite(0x00,0xC7);//Test tone C3 (Least-significant)
 regWrite(0x01,0x84);//             (Most-significant)
 regWrite(0x02,0x50);//Pulsewidth   (Least-significant)
 regWrite(0x03,0x01);//             (Most-significant)
 regWrite(0x04,B01000001);//Gate,Square
 regWrite(0x05,0xA8);//Attack,Decay
 regWrite(0x06,0xA9);//Sustain,Release
}

void loop(){
  regWrite(0x04,B01000001);//Gate,Square
  delay(500);
  regWrite(0x04,B00100000);//Gate=0,Saw
  delay(500);
}

void regWrite(int address, int data){
   digitalWrite(ad0,bitRead(address,0));
   digitalWrite(ad1,bitRead(address,1));
   digitalWrite(ad2,bitRead(address,2));
   digitalWrite(ad3,bitRead(address,3));
   digitalWrite(ad4,bitRead(address,4));
   for(int i=0;i<=7;i+=1){
    digitalWrite(D,bitRead(address,i));
    digitalWrite(CP,HIGH);
    delayMicroseconds(10);
    digitalWrite(CP,LOW);
    delayMicroseconds(10);
   }
   digitalWrite(CS,LOW);//CS is inverted
   delayMicroseconds(10);
   digitalWrite(CS,HIGH);
}

Did it last year and working quite well : http://fullmaj.rd-h.fr/wiki/doku.php?id=sidaster

Hi, is set it up,too. I connected "Bome's Mouse Keyboard". What sound should i hear when i hit a piano switsch?