Units will start their turn with at least 10% Morale, regardless of prior turn reductions below 10%, and all newly deployed units start with a Morale value of 50%.
I have loads of units with Morale in single digits and following this formula
New Morale = Old Morale x 75% + (Strength x 10 – Old Morale x 75%) x (Supply/10 x Old Morale/100)
A unit with 1% Morale will always be stuck on the lower bound
.... although in the game mine do tend to recover.
I've just realised that the actual morale value must be stored as more precise and rounded to eg. 1% for display
