Hi.
I have tried to find the issue of displaying Model Camera, Firmware version and IMG naming for models like 1300D.
I extracted the following files into a directory and compiled with for offline running:
compiler.h
prop_diag.c
prop_diag.h
property.h
propvalues.h
gcc prop_diag.c -o prop_diag
Then I ran:
./prop_diag 1300D_ROM1.BIN
The prop_diag.c file returns camera information, specifically: Camera Model, Firmware version and IMG naming. But that file can also run offline, in the sense that you give it a ROM file from which it tries to find the information above. If you run it through autoexec, then he tries to find the camera software information. If you run it offline, then he reads the given file as a parameter and tries to find that information.
To not compile portable.000 and run qemu, I chose to run it offline.
Now that I can run offline, I can make changes to the software and try to see why that information is not available.
The problem I've encountered is on the function:
check_terminator (0, last, 0).
There is no information for Digic4 +.
Maybe this feature needs to be changed for these device models?
With autoexec, for Digic 7 and Digic 6, guess_prop is called differently, with other values than the rest.
void prop_diag()
{
if (is_digic7())
{
/* other models may lock up while reading this, so test first */
guess_prop((void*)0xE0000000, 0x2000000, 1, 0);
}
else if (is_digic6())
{
guess_prop((void*)0xFC000000, 0x2000000, 1, 0);
}
else
{
guess_prop((void*)0xF0000000, 0x1000000, 1, 0);
guess_prop((void*)0xF8000000, 0x1000000, 1, 0);
}
print_camera_info();
}
Neither Digic8 is found.