Hola Juanfe!
Luego de leer un poco sobre el 6502, veo que no es TAAAN complicado. (es solo TAAN complicado...una "A" menos
).
Yo pensaba....(y eso puede significar que el hard que construimos tenga algun problema, o no, veamos): podriamos tomar 64Kb de memoria externa, y suponer que es la RAM/ROM del C64 (la parte correspondiente a la ROM puede que debamos "metarle" en nuestra memoria, por si el soft emulado hace lecturas de esa zona).
Luego, el programa del PIC tomaria una a una las instrucciones del programa del 6502, y haria lo que estas indican. No son demasiadas.
Supongamos que tenemos una variable (en el PIC) llamada "Program_counter", otra "AcumuladorA", etc.
Si encontramos "JMP $5545" simplemente ponemos "Program_counter" apuntando a esa dir, y seguimos revisando el programa original desde alli.
Si encontramos "STA $FE", hacemos "AcumuladorA = FE", incrementamos en 1 el "Program_counter", y pasamos a la siguiente.
Etc.
Emular de esa manera seria bastante sencillo.
Y cuando detectamos instrucciones de escritura en la direccion del mapa de memoria del C64 que correspondan al SID, enviamos los comandos al chip y listo....
¿Que te parece?
La duda sobre el hard es si una EEPROM puede soportar ese ritmo de trabajo, o si necesitamos en su lugar una RAM.
Saludos!