It's actually very bad code. For some reason when I was writing the assembler version, I was using all manner of zero page locations which really shouldn't be necessary, and there are lots and lots of jumps all over the place. I really should re-write it to make it better.
One problem I encountered when updating IWConv for use with the HTMLGen caption files was that I couldn't find a way to incorporate the various options I had introduced, and had to resort to some dodgy "conditional assembly" procedures which you can see towards the end here.
Let's go!