Where to start with a custom firmware for the NXT In the process of hardware hacking with my NXT 2.0 I Found no easy way to connect the device as a USB storage device. Is there a specification that states how the NXT interacts over USB, or should I just RE the firmware?

I have experience with coding in C, compiling, linking, etc. So I’m not completely new.

I know the firmware is open-sourced, but as others have written their own firmware, and since the codebase is pretty big, I’d like to gain opinions on where to start modding the firmware.
The best resource I have found for compiling NXT firmware is http://nxt-firmware.ni.fr.eu.org/.