Gavin Smyth gives a nice description of how to get everything working, plus he was kind enough to offer a precompiled win95 version of the cross compiler. Check his web page first.
Here's what I had to do to get everything working, along with a few things to avoid:
NOTE: Expect this to all take about 30 megs worth of disk space when you are done.
1) Grab the cygwin development kit(13 meg)
2) Install the kit by double-clicking on the file you just downloaded.
3) Grab Gavin's cross compiler add-on(5 meg)
Note: because the mime headers on the above web server are not set correctly for bz2 files, using Netscape for this
download will NOT work. Use IE instead.
4) In a Cygnus shell, cd to the directory where you installed cygwin. cd to the H-i586-cygwin32 directory and run the command "bunzip2 -c win-gcc-h8.tar.bz2 | tar xvf -". (assuming you have the downloaded the win-gcc-h8 bz2 file in the same directory - otherwise adjust the path).
5) Download Markus Noga's legOS and untar it where ever you please. (use "tar xvzf legOS-0.1.4.tgz in a Cygnus
window, or use winzip to unpack it")
Note: This dowoad will not work with Netscape - I hate to say it, but you need to use Microsoft's browser.
6) Edit the Makefile in the legOS main directory and change the INSTPREFIX line to reflect where you installed the
Cygnus tools. For example, here's what my line looks like:
INSTPREFIX=/lang/cygnus/cygwin-b20/H-i586-cygwin32/bin/h8300-hms-
7) Type "make" to build the legOS firmware. It you want to compile a different firmware sample adjust the Makefile line that beins with "TARGET="
8) Download Kekoa's firmdl and compile it using the Cygnus tools. In a Cygnus window, type:
gcc firmdl.c -o firmdl.exe
Surprisingly, this works fine under win95 with no changes needed (at least using the default serial port - I haven't testing
using a different port).
Note: I first tried David Baum's firmware downloader, but didn't have any luck downloading custom srec files. It
works fine for reloading the official Lego firmware, but for some reason unknown to me fails on the custom legOS
produced firmware.
9) Download a test frmware to your RCX, via "firmdl rcx_srec_filename". If your RCX locks up, remove the
batteries for a minute and try again - you can always just reload the original Lego firmware via "firmdl
d:/firm/firm0309.lgo"
This assumes your Mindstorms CD is the D: drive, of course.
And that's about it. Many thanks to all the people who have spent so much time producing the various utilities needed to make this all work.
Feel free to contact me if you get in a bind getting this all to work under win95.