That's a good point. Thanks.
As long as I didn't do anything which stopped the board template from been used for different ICs which happen to share the same packaging, that's something to consider.
While such a microscope would be affordable, for me, that would count as a investment I would not want to make until I was sure of myself. Therefore, when I finally take the plunge, I would build up experience with the larger pitch sub-DIP sized packages before trying to get too adventurous. :-)
Oh, I know just how big some of them are. :-)
What I did on the last set of headers was to copy-and-paste the register summaries in the documentation for the register blocks I needed to access into emacs and then edited them using keyboard macros. It doesn't take all that long once you've done a couple or so.
The last set of headers was for a ARM9 processor and once I stopped trying to define register bitfields using structs[*] and went back to using masks, creating the header files was a little tedious but quite painless otherwise.
Simon.
[*] I wanted to try writing headers which used structs instead of masks to access register bitfields (at least for those registers whose usage was suitable for such a struct), but while gcc was loading the register using a ldr, it was sometimes writing the field back using strb instead of str.A walk through the gcc manual didn't reveal any pragma or attribute directives of interest, so I reverted back to masks.
(And yes, everything was marked as volatile.)