Kef and Tom,
thanks for your comments - wish I could embed them in block caps in the Freescale datasheet!
banked memory - hadnt realised that banks were accessed using addresses outside the 64k map - so I can see now why both projects have adresses in ranges 0x3Cxxxx and 0x0F0000.
Banking settings - Tom, in the compiler options settings panel, the "memory model" box is ticked in both projects. The compiler command line arguments both say -Mb, so I guess I'm compiling for a banked environment. The project .prm files also have references to paged segments :
PAGE_3C = READ_ONLY 0x3C8000 TO 0x3CBFFF;
PAGE_3D = READ_ONLY 0x3D8000 TO 0x3DBFFF;
To give a little more information, I have been given this project with just the source files and a project (mcp) file (not even a memory map!). The mcp file was from an older version of CW (dont know which one) and is not fully compatible with CW 5.9, but got me started - in particular, I couldnt recover the memory model info from it, so I guessed "banked" based on the code, and built a new project under CW 5.9 \ HCS12(X) 5.0.14.
This has explained a lot of my problems, but not the original one - ie, trying to load the old project .S19 files using the USBDM - I get the message "Program data not within target Flash Memory". Since it seems ok to have addresses in the .Szz files outside of the 64k area, I dont understand why this message occurs. I have checked the file using decoder.exe, and the only thing I can see which seems "a bit odd" is that all code is being directed to load at 0xF0000 and above - ie, all code is banked? I know that at least some of the code must exist in base memory for startup, etc, so I am at a loss to see how this ever worked at all?
Again, thanks to all for your input - I have learned a lot already!