My understanding is that once an Arduino sketch is compiled there's no difference between that and a C program compiled from the command line--they both produce ".hex" files that need to be put on a chip.
There are two ways a ".hex" file can be put onto the chip:
- Uploaded via a "bootloader" installed on the chip--this is how the Arduino usually works--using the serial pins.
- Programmed onto the chip using In-System-Programming using the ISP pins.
With that in mind:
First, you would need to compile the code and produce a ".hex" file from it.
Is it possible and advisable to convert it into an Arduino sketch so that I wouldn't have to get a programmer, etc?
Assuming it fits in the available space on the Arduino board (~14KB--which is the ATMega168 standard code space size less the boot loader) you can upload from the command line using avrdude as used by Arduino.
Arduino sketches run any slower than this more "native" approach?
Arduino sketches aren't interpreted--they're compiled from the C/C++ code they really are--so they would run at the same speed. (Okay, so there may be a small amount of overhead due to some implementation issues but it's probably negligible.)
Most importantly -- has anyone already converted this SID emulator into an Arduino sketch?
If all you want to do is "use" it, you may not need to convert it into a sketch first. If you wanted to integrate it as a library into an Arduino sketch then you might not need to convert it either.
The developer seems to be "Arduino-friendly" (given the references on the page) so it might be worth discussing it with him. (From what I see on the page it might be possible--assuming no memory issues--to upload the software to one Arduino board and control it over serial from another board.)