I've been hacking around on the USB code on and off, and recently tackled a big chunk of functionality now that I've built all the boards that were ordered. As @grips03 guessed, the goal was always of course to flash games from the USB drive, but I was never sure I'd have the time and motivation to get it working, so I didn't want to explicitly announce that given I was also selling boards. Didn't want to get accused of false advertising. Well, I still don't have it working in a way that's useful to end users, but it's beyond obvious from the current progress at this point that that's what I'm doing, so there. That's what I'm doing.
Behold: usbffs.cof (Skunk USB + FatFS). Binary attached, source code here.
What does it do? It's the world's worst command line-based USB file browser and SkunkBoard flasher. Here's how you can use it if you're savvy with JCP and curious:
Stick a Fat32 or Fat16-formatted USB drive in the left (If you're facing the Jaguar from the front) USB-A port of your SkunkBoard. Put some Jaguar ROM files on it first of course. Don't have USB-A ports on your SkunkBoard? Too bad for you. I told you you'd probably want them! It's really very easy to solder these on if they're missing though.
Load usbffs.cof with the Skunk console enabled: jcp -c usbffs.cof
If it works, you'll see a bunch of info describing properties of the USB drive followed by a directory listing of the top-level directory on the USB stick followed by a command prompt. Enter one of these commands:
ls - List files and folders (Shown with a trailing '/') in the current directory
cd <directory name> - Change to a directory
cd .. - Move up one directory
pwd - Print the current directory's full path
quit - Exit the console. The Jaguar probably just crashes executing random code after this. Reset it.
flash <file name> - The good one. This flashes the specified ROM to bank one of the Skunkboard.
Use the above commands to browse around and flash your ROM. You'll see some status messages. Like, a lot of status messages.
When you see "Flashing complete" it's finally done. Type "quit" and reset or power cycle your Jaguar.
Launch the ROM in bank 0 using any of the usual methods (E.g., press Up on the Jaguar's D-Pad).
I'm aware it's not that useful as-is. If you still have to use JCP to run the commands, you might as well just flash using JCP too, and JCP will even launch the ROM for you after flashing it, unlike current usbffs. It's just a proof of concept. If I find myself with time again, I'll work on polishing things up and add a UI so you can do all this from the Jaguar using the D-Pad.
Also, you'll quickly notice how terrible the command line processor is. Don't put any extra spaces between "cd" or "flash" and the file/directory name: It wants one space there and only one. Don't try to get fancy and quote your directory/file names: You don't need to and it won't work if you do. There are probably more things you could add to this list.
For those who code: Take a look at the XXX comment near the top of usbffs.c. WTF is going on here? I haven't debugged this yet. It's weird. Things seem to sometimes go wrong in mysterious ways when I call the skunklib functions from C code, though it generally works fine. My C->m68k stubs are here if you're curious.