-#define va_start(ap, fix) ap = (va_list)&fix + *(((va_list)&fix)-1) - __fixargs__
-#define va_arg(ap,type) ((type)*(ap -= ((sizeof (type) + 1) & ~1)))
+#define va_start(ap, fix) ap = ((va_list)&(fix))
+#define va_arg(ap,type) (*(type*)(ap -= ((sizeof (type) + 1) & ~1)))
+#if __CC65_STD__ >= __CC65_STD_C99__