It doesn't sound like you are iterating on this. Look at the code you are not happy with. What is wrong? Can you fix it? If so, try to do those things next time. Don't stop the process.
>It is an utter and simple fact that due to tech being an everchanging landscape, any book more than a few years old is going to teach bad habits or explain concepts incorrectly.
Concepts change meaning and good habits turn bad every few years?
Shitty books are shitty, OKish books will be probably be fine for a language intro, even if they are old.
Totally agree, and I'll piggyback this to say that the quality is not always too important either. Worrying about whether the book you are learning from is "the best" is not as productive as getting on with learning the language. A book really only has to good enough not to teach bad habits or explain concepts incorrectly.
>The FPGA also lacks an open-source (or even shared-source) toolchain,
I think this point is overstated. FPGAs are not microprocessors. I don't think an OSS toolchain would be anywhere near as beneficial as something like gcc. It would be nice to have but it's hard to think of any problems specific to programmable logic that this would address.
What would help is toolsets with less friction and less of an entry barrier.
Japanese developers from that era are famously secretive. I have heard that Nintendo has a reputation for being particularly shortcoming with information to journalists or historians.