Xref: lugnet.com lugnet.robotics:8403 Newsgroups: lugnet.robotics Path: lugnet.com!dbaum From: dbaum@spambgoneenteract.com (Dave Baum) X-Real-Life-Name: Dave Baum Subject: Thoughts on NQC for Scout X-Newsreader: MT-NewsWatcher 2.4.4 Organization: None Message-ID: <dbaum-2011991158030001@207-229-149-233.d.enteract.com> X-Nntp-Posting-Host: 207-229-149-233.d.enteract.com Date: Sat, 20 Nov 1999 17:57:30 GMT Lines: 55 With the advent of the Scout SDK, several people have asked me if I plan on making NQC available for Scout. I thought it would be appropriate to summarize my position on this and post it... The Scout SDK looks quite interesting - clearly the Scout is much more flexible than initially assumed by most advanced users. The SDK also provides a nice set of tools to program the Scout in assembly language from a PC. However, for those already using NQC - or those who prefer a C-style syntax to assembler - the Scout assembler isn't quite enough. Ideally, I would like to allow NQC to target the Scout. However, in order to do this I will need to know the Scout's download protocol and its bytecode format. I suspect the official line from Lego is presently something like this: "use the ScoutDos.exe assembler as a back end for NQC". This would work for Windows. This will not work for the Macintosh or Linux. Since I use Macintosh and Linux far more than I use Windows, I have no interest in creating a Windows-only solution. If it can't be made portable, I don't want to write it. Similarly, the ScoutDOS.exe has some significant limitations in its license. Anything developed with it cannot be used in any way with commercial implications. That's pretty broad. Perhaps unenforceably broad. NQC is free software - and its current licensing is incompatible with the Scout SDK license. I do not want to create "NQC for Scout" such that it is no longer free software and requires the user to carry the baggage of the Scout SDK license. As I see it, there are three alternatives here: 1) Hack it - specifically hack the download protocol and bytecodes. This is the path that was taken for the RCX, and it really didn't take very long, but then again several people were highly motivated to crack it. At this point, I've got an RCX and I'm not that motivated to crack the Scout. I'm willing to add Scout support to NQC (which is by no means a trivial task), but I see no reason to make it more tedious by hacking the protocols as well. 2) Get official information from Lego. Quite simply, I don't see what Lego has to gain by keeping the download protocol and bytecodes secret. They will come out eventually - why not use this as an opportunity for Lego to demontstrate that they are willing to support the notion of open software for their programmable products. 3) Forget it - no NQC for Scout. Personally this is OK with me. I have more than enough RCX's and don't need to use a Scout for possible expansion. The Scout can do some interesting things, but nothing compelling enough for me to abandon using the RCX as my primary programmable brick. Dave Baum -- reply to: dbaum at enteract dot com