Admittedly, the final result is a far cry from the project's original conception of a touch screen/LCD interface. Given the budget restrictions, however, the system's functionality is at least as good as we expected. We lifted heavily from Land's video code , but we don't think he'll complain. Portions of the DLL code are based on a previous ECE 476 project created by Jeff Tyhach and Jason O'Connor in Spring 2001. Their project provided basic winamp control (play, pause, stop, etc.) and did not use a TV. A code listing is available here.
The plug-in functions that detect a song change and send it to the MCU (get_title, put_title) are mostly unchanged from the 2001 project. Our initialization function also reuses code that checks if COM1 is ready. Other than this, very little code was reused. The original main procedure was actually replaced with an entirely new function, using only small bits of old code. In fact, due to major changes in compiler technology, and in winamp itself, merely duplicating the functionality of the original DLL took almost 70 hours of work.
With regard to the code of ethics, we offer the following: