I just wanted to close this thread out after the work-around solution we came up with.
Originally, we were trying to use the internal D4D image decoder to read raw bitmap images out of external RAM by getting rid of some const declarations. With the 'const' issue encountered we decided to go a different route. After playing around with the MFS/FFS to read the files out of NAND Flash, and into external RAM, we were seeing quite a bit of performance hit. Reading a QVGA (800x480) uncompressed 24-bit bitmap image took on the order of ~3.5 seconds.
In digging into the D4D code, the size of our buffer, which reads in and parses the bitmap data, was very small (64 bytes I believe). This was increased to 4kB:
#define D4D_EXTSRC_BUFF_SIZE 4096 (found in d4d_user_cfg_app.h)
This speeds our access times up to just over a second; which is fine for our application.
The main route we took was to use the external bitmap image decoder source and instead of using the standard MFS/FFS file operations (e.g. fopen, fclose, fseek) we hijacked these and tied them into our own calls to read in the bitmap image from NAND into RAM and have the fseek calls move the pointer within the memory of where in the bitmap file D4D is expecting it.
There is a third option for using image decoding in the D4D source called external D4D. Looking at the source for this, it appeared to not be quite ready. We are using 24-bit bitmaps for our application. However, the external D4D could be what we were looking for all along, but since we got this work-around going we probably will not investigate this path any further.
One final note is that if you are encountering random unhandled interrupts and you see the debugger going to the default interrupt handler, but you are pretty sure you have everything configured right, you may be overflowing memory somewhere. This is one of the main issues we ran into. When we would remove our previously defined interrupts from our application the debugger would just crash and not report a warning within CodeWarrior. So, if you encounter similar strange observations, look closely at your memory usage and allocations. The Task-Aware Debugger (TAD) was very helpful in this investigation.
Hopefully this leaves a few bread crumbs for anyone else that winds up on this path.
May success attend your efforts,
-Mike T