2010-09-10

2010-09-10 - More Vector Fonts

Few modifications to the font rendering program.  Little bit of work on the TrueType article.

2010-09-09

2010-09-09 - Vector Fonts

After a break due to pressures at work and moving house, I have been spending this week working on a new angle, that of TrueType fonts.

I investigated Bézier curves (required for font drawing) and created a prototype application in C# to test the code.  Following that, I looked into the structure of TrueType font files and added the glyph data for a few glyphs into the program.

With a few teething troubles, mainly due to some of the data interpretation oddities not being explicitly defined in the specification, I have a mostly working font renderer.  This has not only given me valuable experience with the file format and a testbed to analyse different font files, it also means I can write an article on TrueType fonts in the OSDev wiki and use it in my OS for font rendering.

2010-07-18

2010-07-18 - Makefiles!

Going to put some time this morning into figuring out the mysteries of Makefiles.  Given that my OS will very soon have multiple moving parts, I think it would be good to have one which will allow me to build specific sections.

2010-07-16

2010-07-16 - More Library Loading

Finally spotted the stupid mistake which was causing my library initialisation to fail.  The initialisation function attempts to write out a debug string to indicate its progress, however, it called the Panic function before the module level variable had been set up, so it was calling a function of a NULL pointer ... doh!

Having fixed the stupidity, the library is loading, initialising, finding the printf function, and displaying a string.  \ o /

2010-07-12

2010-07-12 - ELF Library Loading

A significant effort over the last two days, and I believe the ELF loader is finished.  The sections are loading correctly, the symbols are being found and processed, and the relocations appear to be complete.  Some debugging still needs to be done on the whole thing as attempting to call the library initialise function results in the code spinning off into the weeds and causing issues.  Oh well, that's an effort for another day.

Whoever said that ELF was easier than COFF was either stupid, lying, or has never dealt with COFF.  It's so much more straightforward because it's not built with millions of extensibility plans.  One symbol table, one section table, one relocation table, one string table ... thank you very much.

2010-07-01

2010-07-01 - ELF Loading

To summarise the last month, I've been looking on-and-off at getting the ELF loader working.  I also found that the data store for my MemoryManager was not being cleared on initialisation (bad when booting in from DOS).  Additionally, it seems my kernel is much bigger than I thought, and setting the boot disk image to be at 0x17E00 isn't enough.  Oh well, another few K should fix it for now.

2010-05-30

2010-05-30 - LD Problems

Ok, bit the bullet today and posted to the OS Dev forum to try to find out what I might be missing in the LD options.  The first reply came back suggesting that I needed to create a "none" targeted GCC (more specifically LD as that is the problem) which isn't completely helpful in it's own right, but has given me an idea.  The DJGPP and MinGW versions of LD only output PE files, so if I grabbed the source of LD and built it from scratch, would I be able to get it to support everything, including a COFF output?