Z88dk will create z80 code from C. I have done this for the Jupiter Ace, compiling the classic Adventure A Planet of Death text game. http://www.jupiter-ace.co.uk/sw_adva_PlanetOfDeath.html
You need to just tell Z88 complier what Z80 target machine to compile to. There is some support for SAM, I did a while ago do some of the example tests and they do work on SAM/SIM. Spt.