hi *,
can anyone maybe please describe a bit how mode_get
is working? it looks like something is wrong with it on the
a530 port - but maybe i'm only understanding things
wrong.
basically everything seems to work fine (switching rec
and play mode etc.), but it looks like the osd sees some-
how the wrong state:
* everything is shown properly in osd layout monitor and
the values seem to be ok (like raw remaining or batt)
* it never shows icons which are supposed to be shown
all the time (like battery, clock etc.)
* some entries (like raw remaining) are only shown if i
set the "show osd also in review mode" and that
happens even in normal shooting mode - maybe some-
how the camera thinks it is in review mode while in
shooting mode? where this is set?
* settings which i can switch between "always" and "shoot"
(like histogram) are only shown if i half-press the release
button and they are set to "shoot" - on "always" they are
never shown (not even with half presses release button)
just for reference the current mode_get code of the a530
port (hacked to somehow work from bondo)
int mode_get() {
int mode, i, t=0xFF;
mode = (physw_status[2] & 0x00002000)?MODE_REC:MODE_PLAY;
mode |= (physw_status[2] & 0x00008000)?0:MODE_SCREEN_OPENED;
mode |= (physw_status[2] & 0x00004000)?0:MODE_SCREEN_ROTATED;
//_GetPropertyCase(PROPCASE_SHOOTING_MODE, &t, 4);
_GetPropertyCase(0, &t, 4);
for (i=0; i<MODESCNT; ++i) {
if (modemap[i].canonmode == t) {
return (mode | (modemap[i].hackmode & MODE_SHOOTING_MASK));
}
}
return (mode);
}
a lot of thanks in advance and best wishes - image13