I'm testing a new modification to set_tv96_direct(value) that uses the "SET_NOW" flag in half_shoot instead of "SET_LATER". It look like this sets propcases directly, and misses the long exposure override?
Apologies, I misremembered, so my answer wasn't correct. bad reyalp, ALWAY CHECK THE CODE!
The "extra long exposure" override is done platform/generic/wrappers.c apex2us, which replaces the call to apex2us in the canon native firmwares exp_drv_task. It uses shooting_get_tv96 to get the value, which just reads the propcase, so setting the propcase directly should work, as long as it happens before that point is reached in exp_drv_task. When exactly that happens is not well specified, but it's probably after shoot_full starts.
edit: Note that this means if any canon firmware enforces the propcase value when it's set, this method will not work as is. I have a vague memory that something like this might have been encountered on some recent cameras?
Why would I want to do that?
Shooting multiple long exposures with shoot_full_only minimizes the time between shots. If you also disabled dark frames, and maybe added a wide angle lens attachment, you'd have an optimum meteor catching technique.
The value of this seems dubious to me. If you are taking > 60 sec exposures, the effect of waiting 0.1 sec between exposures (without halfpress) or 0.5 sec (with half press) is not going to be very significant.