I know what you mean. The lack of reference code is an old problem, and it has only grown over the years.
For example, the only reference implementation for a device driver that was ever published by Commodore is written in 68k assembly language, and the only place you can find it is in Appendix B of the "Amiga ROM Kernel Reference Manual, 3rd edition: Devices" (see here: http://wiki.amigaos.net/index.php/Example_Device).
The problems with this implementation are in that hardly anybody can read 68k assembly language code these days and that the code is easily misunderstood as being simplistic and incomplete, while it is in fact a solid example which illustrates how to properly implement a device driver. There is information in this example code which cannot be found anywhere in the other RKM documentation, e.g. proper IOF_QUICK and AbortIO() handling, which is very easy to get wrong.
Yes, I found that example. I thought it appeared to be well done. The downsides were asm and the fact it hasn't been updated in years.
I'm also lucky enough to work in one of the few places where I actually have access to source for several published and unpublished Amiga device drivers and the people who wrote them.
Again though, their experience was well before NSD and TD64.
A couple of years ago I rewrote the same code in plain 'C' (it's not up on the developer Wiki yet), which I believe makes it more accessible. If you want to have a look, please contact me.
I would love to get that. I would like to make sure that you won't be upset if I publish it modified or in full as an example. You'd be credited of course.
Good luck
We badly need robust, instructive device driver code. There just isn't enough to go around which one can learn from.
Thanks, I need all the luck I can get
