Hehe, the pattern modula thing is not really neded actually, no code that depends on the pattern size being a even multiplicator of the image size.

hehe, blame lack of time, please do

With displaylist looping for tiledraws is not that big of an issue, but dont use the Draw method for doing it, Function overhead in pascal is large enough as it is

Oh, as a font renderer, what do you think of using
http://www.angelcode.com/products/bmfont/
to generate the fonts.

And make a converter to convert the font files into a binary format instead, will save some loading time.