use the SBMloader with the option -a 42, is the best for SM. We test with different values and this works perfect. Also when i convert an send to Tom. he can load with his SM. All Cart games emu images up to 8k you can convert without problems or extra work, only load with bload $a000 for 8K or bload $a000 for 4k games. And then start with call -138.
Emu roms bigger 8k like 12k you need before convert with SMBloader to cut and put together in other order because in the emu rom the program is not in raw order. The emu loads the first 8k from a 12k rom to $a000, the next 4k to $7000 for example. I use DD for Win.
My actual project, the Maze game, is now over 8k and i make a 12k bin, i use one ORG at $7000 for the datas and another at $a000 for the code.
Then after compile i make:
dd if=a.out of=7000.bin bs=4096 count=1
dd if=a.out of=a000.bin bs=4096 count=2 skip=3
copy /b a000.bin + 7000.bin rom.bin
Then the emu can load the first 8k to $a000 and the next 4k to $7000. When i compile for the SM then i use only one org and no need to re-org.
16k EMU roms you can NOT load to the SM because some RAM part is mirrored. BUT you can use on the CSL Cart and the CreatiVision