Code load and run address are automatically figured out from hex2bin output and symbol map.
Ensure data area address is computed by linker instead of being forced by default SDCC settings.
Fix run address computation. Look for a asm-level symbol cpc_run_address (intended to be defined in crt0) and fallback to C-level main.
cpcrslib examples actually don't need a crt0. Removing it removes some troubles (e.g. wasted bytes). crt0 is useful for custom memory layout but not here.
Put libraries after main code.
Automatically link with wyzlib, too.
Delete all crt0 and putchar, they are not needed and even interfere (in example 004).