aus dem Wiki des Entropia e.V., CCC Karlsruhe
Version vom 11. September 2007, 21:16 Uhr von Neingeist
- RFSID - play C64 SIDs with an RFID reader
- Dividuum, my flat-mate, has built a very cool RFID application. He stores SID-files (SID is the music format for the C64) on RFID tags. When you put such a tag near to the reader, the music is played on the stereo. He got a RFID reader (ID ISC.PR100) which you can connect to your PC through USB, and has written a library in C to control it. The C library has a very simple interface: it searches for the USB device using libusb, and the application using the library can then send vendor requests to the device (vendor requests are "USB ioctls on speed"). The whole functionality of the device can be called using these vendor requests. The C library is used by a Ruby wrapper which has methods for all the commands of the reader. You can read and write the configuration data of the reader, control the LED, write its EEPROM, and, of course, read and write RFID tags, all of this using the OO system of Ruby.
- Some RFID tags can store up to 1 kB of data, which is enough to store gzipped SID-files, which are quite small most of the time. In dividuum's big collection of 29.000+ SID files, about 400 are small enough to fit on the RFID tags. The code for the RFID playing application itself is quite small, and, because of the Ruby wrapper, very clean. The application itself is 113 lines long, and you can get the complete sourcecode from our public subversion repository at svn://bl0rg.net/rfid .
- As long as the RFID tag is near the reader, the music is played back. As soon as you remove the RFID tag however, the music stops. A very nice feature is that you can put a stack of tags near the reader, and they will act as a playlist. Remove the playing tag, and the program will play the next SID-File in the stack.