#include <ao_pins.h>
#include <ao_arch.h>
+/* replace stdio macros with direct calls to our functions */
+#undef putchar
+#undef getchar
+#define putchar(c) ao_putchar(c)
+#define getchar ao_getchar
+
+extern int ao_putchar(char c);
+extern char ao_getchar(void);
+
#define TRUE 1
#define FALSE 0
-/* Convert a __data pointer into an __xdata pointer */
-#ifndef DATA_TO_XDATA
-#define DATA_TO_XDATA(a) (a)
-#endif
-#ifndef PDATA_TO_XDATA
-#define PDATA_TO_XDATA(a) (a)
-#endif
-#ifndef CODE_TO_XDATA
-#define CODE_TO_XDATA(a) (a)
-#endif
-
#ifndef HAS_TASK
#define HAS_TASK 1
#endif
#if HAS_MONITOR
-extern const char const * const ao_state_names[];
+extern const char * const ao_state_names[];
#define AO_MONITOR_RING 8