The Problem: This LED sign, made by Silent Radio, is controllable from a computer via a serial line. But, only comes with a DOS-based menu-driven application. The only instructions came on a single piece of paper. The sign is from the early 80's, and no longer supported... anywhere.
The Solution: Time to write our own controller. Step 1, watch the serial output and see if we can deduce the method used for sending messages to the sign.
The Roadblocks: There seems to be a checksum in the data. Strike that, there seems to be two checksums in the data! Well, perhaps we can reverse-engineer the algorithm used for the checksum by sending regular data through to the sign. "a", "aa", etc...
 Ugh, nope. What's our next option? Why, to disassemble the original DOS app, of course! Here's the output, none too pretty, eh?
 Want to see some of our conversations about it?
Success!Yureka! We did it! By using DOS debuggers, and stepping through the program while watching the registers we were able to watch the algorithm compute the checksum! Both of 'em! Horrah! Now, time to write the program in C... done.
Todo:Though we were able to get messages sent to the sign, we only did it for one of the six or so "effects" that are possible. Not to mention we didn't yet figure out how to do multi-line messages. I'll post more here when (if) we ever decide to continue work on it...
Usage:To be posted... but, it hits /dev/sign, call a.out (or whatever you compile to) with the syntax: ./a.out <slotnumber> <message>. The slotnumber we ALWAYS use is simply 00.
Distribution:sign1.0.tar contains README.txt (this webpage) and checksum.c.. which is actually a fully functioning utility for sending messages to the sign.
Thanks go out to Seth Hettich, Paul Park, and various members of the Gale community.