A quick glance suggests that the firmware interface is an abomination and really there's no reason for them not to have used an existing interface of some sort, but that's par for the course. I'll review it properly now.