Looks like it is dying in free_area_init. Sometimes in the do
... while loop, other times in the for loop, depending on the debug
hacks that I add:
*(unsigned char *)0xa00a0006 = ' ';
(*(unsigned char *)0xa00a0006)++;
When it makes it to the for loop, it executes about 100ish times and
then hangs. I have 32M of memory, 31 of which can be used by the
kernel due to the load address.
Anyway, I'm punting for tonight. If anybody has chased a bug in this
code before and can offer some words of advise, I'd be happy to listen
:-). Otherwise, I start here tomorrow.