i'm getting closer. by examining other peoples source i can now properly declare/prototype functions that would, otherwise, use __asm. here it is
#ifdef __SASC
# define SAVEDS __saveds
# define ASM __asm
# define REG(x,y) register __##x y
#elif defined(__GNUC__)
# define SAVEDS __saveds
# define ASM
# define REG(x,y) y __asm(#x)
#elif defined(_DCC)
# define SAVEDS __geta4
# define ASM
# define REG(x,y) __##x y
#elif defined(__STORM__)
# define SAVEDS __saveds
# define ASM
# define REG(x,y) register __##x y
#elif defined(__VBCC__)
# define SAVEDS __saveds
# define ASM
# define REG(x,y) __reg(#x) y
#else
# error add #defines for your compiler...
#endif
if anyone understands, that is, i found it in the blitzquake source: amigacompiler.h, heh.
then you can proto your function thus:
static void ASM thefunction( REG(a1,UBYTE *), REG(a2,UBYTE *), REG(a6,struct Library *));
NEXT PROBLEM:
compiling assembler ("whatever.s") files in gcc (as) ... i get an error for EVERY line of assembler along the lines of:
unknown operator -- statement: ASM STATEMENT
or
parse error -- ASM STATEMENT
and
rest of line ignored, first ignored character is '@'
anyone?