Coding for the part, Holtek HT46R47, is pretty slick, too. They have an IDE, and a well-written technical reference manual. I want to configure PA0-1 as inputs and PA7 as an output? There's a section on the PAC control register, with a little table telling me which bits to set and clear. Whee!
It's funny: this is really how I got a start to put me where I am today. Way back when (1993), I had the good fortune to have a USENET post of mine, asking for tech specs for a graphics chip, be answered by someone at the company that made it. The fellow was a tech writer, and sent me a copy of the tech reference manual, gratis. Having just started a CS degree, I spent a lot of time figuring things out with the graphics chip. This experience eventually landed me an internship, then a part-time job, at the same company (Cirrus Logic), and where I got to do a lot of exploration and geek project building.
Anyway, I seem to be reminiscing. I should get back to adding One More Feature to the timer microcode.