ok - so I have managed to get the compilation (to ASM) of my "core.bas" supervisor to no longer drop the routines (as uncalled) by getting my s_main() routine to call this dummy "do nothing" routine:
Sub s_super_keeper()
Dim p, q, swap As UInteger
p = @s_next_reg
p = @s_return_to_zxos
p = @s_crash
p = @s_fc_ram_copy
p = @s_clear_screen
p = @s_print_char_at
p = @s_print_string_at
p = @s_display_monitor
p = @fub_sys_get_minutes
p = @s_wait_for_vblank
p = @s_get_key
swap = p
p = q
q = swap
End Sub
...with a final variable swap to stop the compiler from noticing that 'p' does nothing genuinely useful...
...now back to trying to determine how to make calls back to routines in the supervisor.... hmmm.
Sub s_super_keeper()
Dim p, q, swap As UInteger
p = @s_next_reg
p = @s_return_to_zxos
p = @s_crash
p = @s_fc_ram_copy
p = @s_clear_screen
p = @s_print_char_at
p = @s_print_string_at
p = @s_display_monitor
p = @fub_sys_get_minutes
p = @s_wait_for_vblank
p = @s_get_key
swap = p
p = q
q = swap
End Sub
...with a final variable swap to stop the compiler from noticing that 'p' does nothing genuinely useful...
...now back to trying to determine how to make calls back to routines in the supervisor.... hmmm.

