To pub.me.jburley.led@ofb.net gsend/0.99danger I've updated (to a certain degree) the status of the LED sign project at http://www.uberhaus.net/, including some logs from last night, and a few nights ago... and, have included the sign.asm and sign.exe. -- Josh at 07-20 10:34:42 To pub.me.jburley.led@ofb.net gsend/0.99 hmm. i have a silent radio led sign, too. burri.to/~joshua/sign.jpg -- Joshua Eli Schachter at 07-20 10:37:09 To pub.me.jburley.led@ofb.net gsend/0.99 what sort of model do you have? -- Joshua Eli Schachter at 07-20 10:39:08 To pub.me.jburley.led@ofb.net gsend/0.99danger Hehe, that lego cam won't stay on top with too much turning... -- Josh at 07-20 10:41:33 To pub.me.jburley.led@ofb.net gsend/0.99 that sign.exe appears to be the same sign.exe i use for my sign. -- Joshua Eli Schachter at 07-20 10:41:39 To pub.me.jburley.led@ofb.net gsend/0.99danger I was just going to say that... looks like the exact same sign... so, you might be interested in this work we're doing. :> -- Josh at 07-20 10:42:12 To pub.me.jburley.led@ofb.net gsend/0.99 yes, very much -- Joshua Eli Schachter at 07-20 10:42:23 To pub.me.jburley.led@ofb.net gsend/0.99 did you buy it off ebay? -- Joshua Eli Schachter at 07-20 10:42:33 To pub.me.jburley.led@ofb.net gsend/0.99danger Sure did, "partsman3"... apparently he's sold quite a few. -- Josh at 07-20 10:42:53 To pub.me.jburley.led@ofb.net gsend/0.99 yep, that's it exactly! -- Joshua Eli Schachter at 07-20 10:44:02 To pub.me.jburley.led@ofb.net gsend/0.99 I assume you're trying to get it to work with unix? -- Joshua Eli Schachter at 07-20 10:44:16 To pub.me.jburley.led@ofb.net Fugu/1.1.6 What does the EXE do when you run it? -- Dan Egnor at 07-20 10:45:10 To pub.me.jburley.led@ofb.net gsend/0.99danger Yep. If you read those logs... we first tried to deduce the checksum (I should post the schema for the serial output), and now trying to disassemble the exe. -- Josh at 07-20 10:45:26 To pub.me.jburley.led@ofb.net gsend/0.99 it has a crappy user interface have you opened the sign up yet? perhaps putting in your own hardware won't be too difficult -- Joshua Eli Schachter at 07-20 10:45:26 To pub.me.jburley.led@ofb.net gsend/0.99danger It starts up an interactive screen for building the messages. -- Josh at 07-20 10:45:54 To pub.me.jburley.led@ofb.net gsend/0.99danger Putting up the format (as far as we've deduced) of the serial output. nope, haven't ever tried opening it. -- Josh at 07-20 10:47:12 To pub.me.jburley.led@ofb.net gsend/0.99 might be worth a look -- Joshua Eli Schachter at 07-20 10:48:42 To pub.me.jburley.led@ofb.net gsend/0.99 it'd be neat to have a pixel-addressable display -- Joshua Eli Schachter at 07-20 10:49:00 To pub.me.jburley.led@ofb.net gsend/0.99danger "Tell you what, you work on that, and we'll continue with this approach." -- Josh at 07-20 10:50:53 To pub.me.jburley.led@ofb.net gsend/0.99danger You can see my sign, off, on the floor at the end of that futon. -- Josh at 07-20 10:52:07 To pub.me.jburley.led@ofb.net gsend/0.99 heh -- Joshua Eli Schachter at 07-20 10:52:51 To pub.me.jburley.led@ofb.net Fugu/1.1.6 That is a crappy interface. "Enter Command:" "Invalid Command" -- Dan Egnor at 07-20 10:54:49 To pub.me.jburley.led@ofb.net gsend/0.99danger Interesting that it has days of the week in there, and months... I didn't notice that anywhere in the usage of the app. -- Josh at 07-20 10:57:47 To pub.me.jburley.led@ofb.net gsend/0.99 theoretically it shouldn't be that complicated internally -- Joshua Eli Schachter at 07-20 11:02:06 To pub.me.jburley.led@ofb.net gsend/0.99 does yours buzz when it's on? -- Joshua Eli Schachter at 07-20 11:05:30 To pub.me.jburley.led@ofb.net gsend/0.99a And that's exactly your problem. It'll be a microcontroller, and a bunch of drivers. Short of replacing the microcontroller, or attempting to program it with new code, you'll be pretty out of luck. -- Seth M LaForge at 07-20 11:06:00 To pub.me.jburley.led@ofb.net gsend/0.99a (Drivers being MOSFETs or other transistors to drive LED rows and columns, not drivers in the software sense.) -- Seth M LaForge at 07-20 11:06:36 To pub.me.jburley.led@ofb.net Fugu/1.1.6 This thing is pretty old, right? It *could* be discrete. -- Dan Egnor at 07-20 11:07:10 To pub.me.jburley.led@ofb.net gsend/0.99 it's significantly heavier than one would expect. -- Joshua Eli Schachter at 07-20 11:07:45 To pub.me.jburley.led@ofb.net Fugu/1.1.6 I'm guessing most of this .EXE is runtime for some HLL. -- Dan Egnor at 07-20 11:16:05 To pub.me.jburley.led@ofb.net Fugu/1.1.6 Crap, sourcer crashed Windows about halfway through. I wonder if it's a bad crack. -- Dan Egnor at 07-20 11:19:52 To pub.me.jburley.led@ofb.net Fugu/1.1.6 Yuk. Running in DOS mode, it crashed VMWare. -- Dan Egnor at 07-20 11:32:27 To pub.me.jburley.led@ofb.net gsend/0.99 it runs fine under NT -- Joshua Eli Schachter at 07-20 11:43:19 To pub.me.silly@ofb.net [noise] gsend/0.99danger Silver City, NM public library. Woo. And I suddenly realized that the battery charger was inside the battery compartment. D'uh. -- (me) at 07-20 11:52:42 To pub.me.jburley.led@ofb.net gsend/0.99danger Nope, no buzz when turned on. Now it's time for a lunch discussion of 8088 assembly. whee! -- Josh at 07-20 11:55:29 To pub.me.jburley.led@ofb.net gsend/0.99danger Yes, it seems to. It produces much better output than your .ASM. -- Dan Egnor at 07-20 12:11:26 To pub.me.jburley.led@ofb.net gsend/0.99danger http://ofb.net/~egnor/sign.lst -- Dan Egnor at 07-20 12:12:05 To pub.me.jburley.led@ofb.net gsend/0.99danger For example, search for "RS-232". -- Dan Egnor at 07-20 12:13:52 To pub.me.jburley.led@ofb.net gsend/0.99a 403 Forbidden -- Jacques Frechet at 07-20 12:14:59 To pub.me.jburley.led@ofb.net gsend/0.99danger Try again. Note that it's assuming the DOS character set. Line-drawing foo. -- Dan Egnor at 07-20 12:14:36 To pub.me.jburley.led@ofb.net gsend/0.99a So where does it actually write to the port? -- Jacques Frechet at 07-20 12:21:35 To pub.me.jburley.led@ofb.net Fugu/1.1.4 BIOS - int 14h -- Bob Lord at 07-20 12:27:06 To pub.me.jburley.led@ofb.net Fugu/1.1.6 95F4:0E2E seems to be their generic "int 14h" function. -- Dan Egnor at 07-20 12:28:35 To pub.me.jburley.led@ofb.net [q] Fugu/1.1.6 90E9:0B01 89 46 FC mov [bp+LOCAL_2],ax 90E9:0B04 8B 46 FC mov ax,[bp+LOCAL_2] Mmm, that's not an optimizing compiler. -- Dan Egnor at 07-20 12:31:44 To pub.me.jburley.led@ofb.net [q] Fugu/1.1.6 They use int 14h ah=00h (initialize serial port) and int 14h ah=01h (send one character), and don't otherwise touch the serial port. Unsurprising. -- Dan Egnor at 07-20 12:38:33 To pub.me.jburley.led@ofb.net Fugu/1.1.6 2400,N,8,1. -- Dan Egnor at 07-20 12:43:16 To pub.me.jburley.led@ofb.net Fugu/1.1.6 sub_57 seems to write the byte in AL to the serial port. It's called from all over. -- Dan Egnor at 07-20 12:45:08 To pub.me.jburley.led@ofb.net Fugu/1.1.5 ooooh, the sourcer output is MUCH nicer. -- Joshua Burley at 07-20 13:07:59 To pub.me.jburley.led@ofb.net Fugu/1.1.6 Yes, well, it's a commercial product, widely regarded as the best DOS disassembler out there. -- Dan Egnor at 07-20 13:14:37 To pub.me.jburley.led@ofb.net Fugu/1.1.5 trace the call path to sub_61 you see that it often leads to odd chunks of code that start with: ;* No entry point to code In fact, you always end up in one of these -- Joshua Burley at 07-20 13:32:17 To pub.me.jburley.led@ofb.net gsend/0.99a Sounds like a big switch statement somewhere, or perhaps a big array of pointers to function. The disassembler may be good, but I doubt it's _that_ good. -- Jacques Frechet at 07-20 13:34:40 To pub.me.jburley.led@ofb.net Fugu/1.1.6 They do set an interrupt handler... -- Dan Egnor at 07-20 13:34:31 To pub.me.jburley.led@ofb.net Fugu/1.1.6 To be sure, any function pointers in the data segment will need relocation entries, which ought to tip off the disassembler. -- Dan Egnor at 07-20 13:35:15 To pub.me.jburley.led@ofb.net Fugu/1.1.6 But 8B3D:0561, one of those "* No entry point to code" blocks, is a classic interrupt handler. -- Dan Egnor at 07-20 13:36:04 To pub.me.jburley.led@ofb.net gsend/0.99a Not if they are near pointers. -- Jacques Frechet at 07-20 13:36:51 To pub.me.jburley.led@ofb.net Fugu/1.1.6 True. -- Dan Egnor at 07-20 13:36:49 To pub.me.jburley.led@ofb.net Fugu/1.1.6 95F4:0143 0E push cs 95F4:0144 1F pop ds 95F4:0145 B8 2500 mov ax,2500h 95F4:0148 BA 00F9 mov dx,offset int_00h_entry 95F4:014B CD 21 int 21h ; DOS Services ah=function 25h ; set intrpt vector al to ds:dx -- Dan Egnor at 07-20 13:38:09 To pub.me.jburley.led@ofb.net Fugu/1.1.6 So it identified that one, but not whatever references 8B3D:0561. -- Dan Egnor at 07-20 13:39:32 To pub.me.jburley.led@ofb.net Fugu/1.1.5 At this point, we're attempting to use this new data to set breakpoints with DOS's "debug."... -- Joshua Burley at 07-20 14:43:45 To pub.me.jburley.led@ofb.net Fugu/1.1.6 There are certainly better debuggers. Look for a copy of softice... -- Dan Egnor at 07-20 16:48:28 To pub.me.jburley.led@ofb.net Fugu/1.1.5 We've been using softice as well. -- Joshua Burley at 07-20 16:50:15 To pub.me.jburley.led@ofb.net Fugu/1.1.5 modern versions of softice are more geared towards NT kernel debugging and such, and don't really understand old 16bit DOS apps... -- Joshua Burley at 07-20 16:51:06