I tend to typedef my structures like this:
Code: Select all
typedef struct _slowdown_definition
{
/* Stuff */
} SLOWDOWN;
Code: Select all
void create_slowdown_pill( SLOWDOWN* slowdown );
Code: Select all
void create_slowdown_pill( SLOWDOWN* slowdown )
{
...
Code: Select all
void create_slowdown_pill( SLOWDOWN* slowdown ) __z88dk_fastcall;
Code: Select all
void create_slowdown_pill( SLOWDOWN* slowdown ) __z88dk_fastcall
{
Code: Select all
751 004E ; ---------------------------------
752 004E ; Function create_slowdown_pill
753 004E ; ---------------------------------
754 004E _create_slowdown_pill:
755 004E DD E5 push ix
756 0050 DD 21 00 00 ld ix,0
757 0054 DD 39 add ix,sp
758 0056 21 F3 FF ld hl, -13
759 0059 39 add hl, sp
760 005A F9 ld sp, hl
Code: Select all
1007 0180 C5 push bc
1008 0181 D5 push de
1009 0182 EB ex de,hl
1010 0183 CD 00 00 call _create_slowdown_pill
1011 0186 D1 pop de
1012 0187 C1 pop bc

The command line my make uses is this:
Code: Select all
zcc +zx -vn -c -SO3 --max-allocs-per-node200000 -DNDEBUG --std-c99 --list -preserve -compiler sdcc -clib=sdcc_iy -pragma-include:zpragma.inc -o slowdown_pill.o slowdown_pill.c
Code: Select all
zcc +zx -vn -c --std-c99 --list -preserve -compiler sdcc -clib=sdcc_iy -pragma-include:zpragma.inc -o slowdown_pill.o slowdown_pill.c