With Rob at the Dendy in Newtown. It chugs along quite pleasantly.
At Cinema Paris, Fox Studios, with Jacob and his mates.
Went over to the Duke of Gloucester to watch the roundball football (as my SBS reception is no good). Wow, we beat Uruguay at long last. I think they should field a team consisting of clones of the goalkeeper and Harry Kewell and let the rest go.
As I walked over I thought the worst thing that could happen is for us to win the match 1-0 and still miss out on going to the World Cup. When the extra time kicked in I got thinking that having a super goalkeeper meant we really had nothing to fear from a penalty shootout, as indeed we didn't. Still, not the best way to win a game, and I fear we're in for a mauling at the hands of a real team (Brazil or France, or heck, even a north European one). I'll be satisfied if all the Soceroos do on the field in Germany is to score a goal against the Frenchmen, especially if Bartez comes out of retirement.
At The Ritz. Pretty funny, with Robert Downey Jr chaotically funneling his Wayne Gale character from Natural Born Killers and Kevin Spacey's from The Usual Suspects. Knowingly subtle, but not annoyingly so. It felt like something out of the 90s.
Wow, some success. Back at my parents' place for the weekend, I had access to a Windows machine. This allowed me to get the official LEGO™ firmware onto the RCX, and then, well! The wonders one can work with known-good hardware.
The only Mac OS X 10.4.3 / USB Lego tower firmware downloader that worked for me is packaged with leJOS. Indeed, if I was more charitable I would try out their whole system, the core of which is an implementation of most of the interpreter-part of a JVM on the RCX, a nice piece of engineering. That's more than I hope I'll need, but we'll see.
The lejosfirmdl
program happily downloaded the brickOS
kernel to the RCX for me. I have a minorly hacked version of it that I
can supply on request.
Once the brickOS firmware is on the RCX it doesn't take too kindly to attempts to replace it. Apparently one must ask it to commit hara-kiri, leaving only the LEGO™ ROM intact and in charge. To quote the aging FAQ:
Because of a limitation in the LEGO™ firmware,
firmdl3
cannot delete brickOS. Instead, before downloading the new firmware, you must first stop the old brickOS program, and then hold down thePrgm
button while hitting theOn/Off
switch. This will delete the old brickOS firmware, allowing a new download.
Next step: getting a brickOS program onto the RCX. I observe at this point that the linker and program downloader are fused together, and so I cannot just hope that NQC or leJOS will save my bacon this time.
Lesson of the week: don't be heroic. There's a pre-packaged GCC 3.2.2 and binutils 2.13.2.1 available, linked from this rather intriguing summer class at Lund (hello Calle!). Download and install. Trust me, it's much easier than compiling things yourself.
Compiling brickOS itself is still a bit fiddly. I did the following to a virgin brickOS 0.9.0 tree:
-
util/firmdl/rcx_comm.c
fails to compile. I later found thefirmdl3
program included with brickOS to be useless, so the quickest "get the compile to go through" hack is just to add#define linux
near the top of that file. - blinks that seems to do it.
The tricky part is talking to the USB tower. Almost all the non-LEGO™ Lego™ Mindstorms projects appear to have stalled right about when the USB tower became the only thing one could buy. I take that to mean that the people who got all excited in 1998 or so and did all this wonderful work never bothered with the newer RCXs, and that it seemed to have lost its geek chic by 2001 (excepting the Linux afficiandos, of course, who appear to think that this device is worth a kernel driver... in 2.6.something... say no more.).