This is a hack that works exceptionally
well for the type of circuits that I am interested in.
It is possible to let the standard SPICE pulse source place
temporary breakpoints on its discontinuous signal edges.
The breakpoints are done with cm_analog_set_temp_bkpt(), which
is only possible when XSPICE is enabled (I did not
conditionally compile these calls).
The breakpoints dramatically improve the ability of
NGSPICE to correctly simulate power electronics
circuitry (without the need to make maxstep very small
and thereby slow the simulation down).
Appended vsrcload.c
-marcel