BLDR crashing in decoder??

From: rcxkid (jer2911_1_at_hotmail.com)
Date: 03/01/05


Date: 1 Mar 2005 05:49:09 -0800

This is a bit long so please don't be put off!! Thanks!!!

I am attempting to use the BIOS loader to boot a CE 5 image from a 32Mb
partitioned HD. However, BLDR doesn't get past this call (decoder.c):

decodeStream = CeCompressDecodeCreate(NULL, CompressAlloc);

It has taken me several hours of debugging to get this far. I have
rebuilt BLDR with READ_BUFFER_LENGTH_MAX = 0x3000, so I know its not
that problem.

I have an MSDOS background and I have worked with MBR, BPB, FAT,
Partition Table BIOS, etc. etc. so I'm reasonably confident its not
down to how I've prepared the HD. In fact, if I comment out the
offending code I see this on the debug terminal:

Microsoft Windows CE BIOS Bootloader Version 2.2 (Built Mar 1 2005)
Reading root directory sector (LBA=0x81)...
0: File name 'BLDR '' File size = 0x5000
1: File name 'BOOT INI ' File size = 0x49E
INFO: Found file 'boot.ini' (start=0xC size=0x49E)
Reading root directory sector (LBA=0x81)...
0: File name 'BLDR '' File size = 0x5000
1: File name 'BOOT INI ' File size = 0x49E
2: File name 'NK BIN ' File size = 0xAF9B3F
3: File name 'SPLASH BMX ' File size = 0xDD8
INFO: Found file 'splash.bmx' (start=0x1601 size=0xDD8)

Of course it will fail at this point because I commented out the call
to initialise the decoder.

The decoder stuff is in cecompress.lib. I don't have source, not even
under the <PRIVATE> folder. However, I don't think the problem is with
the code in cecompress.lib. I think its a build problem.

Can anyone shed any light on this please? Anything else you need to
know or want to suggest then post away!

Thanks in advance.

David