[on Mon 25 of Jan., 2010 11:56 EST, by efox]
The principle hold up has been serial com in windows. Heres a run down of the issue:
Maple enumerates itself over USB as a CDC ACM device, a standard for virtual COM and other modems. It appends to the bottom of the enumeration information about the dfu utility.
Linux and Mac both treat the DFU as somewhat extraneous, complying to DFU spec, and load the appropriate driver quietly in the background. The CDC ACM driver is assigned to the device automatically and its built in to both OS's
In windows, there is no stock DFU nor CDC ACM driver that "generically" loads. So we provide them both, libusb for DFU, and usbser for serial. We didnt write either of these drivers, and we tell windows about them via .inf files
In windows, two binary drivers may not be assigned to the same USB device! Yuck, so you cant do libusb+usbser at the same time. After learning this, we modified the bootloader to enumerate Maple as a "compound IAD device" which is a spec for assigning independent drivers to different interfaces of the same USB device. In windows this means that two "new devices" pop up when you plug in. In the /maple/build/windows/dist/Drivers/mapleDrv we provide maple.inf for the first, and ./serial/maple_serial.inf for the second. In addition, this IAD nonsense, means that while in "DFU Mode" Maple is no longer a compound device, and it needs its own driver, maple_dfu.inf. So after you upload your sketch for the first time, youll need to point windows there after it warns you of new hardware.
People with Maple rev1 (purchased before Jan 2010) are hosed without a bootloader upgrade, or some solution we dont know about (LET US KNOW IF YOU DO!). Maple rev2 bootloader uses this the 3-drivers solution, which is crap. Compound IAD, while a spec, isnt supported by Mac. So what were doing is writing a custom windows driver that will revert back to the non-compound device model and will work with Rev1 and all future Maples (except maybe the 4 rev2 boards out there ;) ). We only just decided to do this last week, so give us a 10-15 days to sort out the niceties of writing a windows driver.
Our MAJOR apologies on the fuckup
Binaries: exist and will be posted as soon as they have the new serial driver packaged in with them.
TLDR:
maple rev1's arnt going to work in windows until we release a custom driver were writing, should be out in 2 weeks. Maple rev2's should work fine in windows with a nasty driver setup in the repo, but the nastiness will go away with our custom driver. Sorry for the wait! Windows driver management is REALLY a mess.
p.s. we also had to modify dfu-util because of this windows issue. Windows dislikes that Maple has the same vendor/product ID while in DFU mode, because it matches the serial driver to it - even though there isnt a serial interface exposed during upload. So in dfu mode the new bootloader increments in product ID by 1. The stock version of dfu-util should ostensibly support this, as its part of the DFU spec. But a seeming bug make it fail. Rather than fix the bug, we made a hack patch for dfu-util that gracefully recognizes the "increment by one." rev2 and higher bootloader will need this new dfu-util, which is in the /dist/ directories of each of the builds (mac,linux,win)
cheers guys! thanks for hacking!