Software selection of boot mode possible?

It appears that using a system_restart() from the SDK it will just restart into whatever mode was last booted into.
Does anyone know any way of booting into a different mode programatically, no matter what pull ups/down are connected to GPIO 15/4/0?
Can I jump to an address (or use the system_restart_enhance) which contains the bootloader for the different boot modes? Does anyone know these addresses?
Does anyone know any way of booting into a different mode programatically, no matter what pull ups/down are connected to GPIO 15/4/0?
Can I jump to an address (or use the system_restart_enhance) which contains the bootloader for the different boot modes? Does anyone know these addresses?