#include <tinibios.h>
#define clock() ClockTicks()
#define CLOCKS_PER_SEC 1000
-#undef PRINT_T_STATES
#define memcpy(d,s,l) memcpyx(d,s,l)
-#elif defined(__z80)
-int _clock(void);
+#elif defined(__z80) || defined(__gbz80)
+unsigned int _clock(void);
+
#define clock _clock
-#define CLOCKS_PER_SEC 10
+#define CLOCKS_PER_SEC 100
#else
/** For clock() */
#include <time.h>
#include <types.h>
-#define PRINT_T_STATES
-#endif
-
-/** Print the number of t-states this program has been executing for.
- Optional :)
-*/
-#ifdef PRINT_T_STATES
-void _printTStates(void);
#endif
/** Set to one to print more messages about expected values etc.
*/
-#define DEBUG 1
+#define DEBUG 0
#if DEBUG
#define DPRINTF(_a) printf _a
/* Used instead of malloc() */
static Rec_Type _r[2];
+void mark(void)
+{
+}
+
void Proc_1 (REG Rec_Pointer Ptr_Val_Par);
void Proc_2 (One_Fifty *Int_Par_Ref);
void Proc_5 (void);
/* 32766 is the highest value for a 16 bitter */
#if DEBUG
- Number_Of_Runs = 3;
+ Number_Of_Runs = 3000;
#else
- Number_Of_Runs = 10000;
+ Number_Of_Runs = 32766;
#endif
runTime = clock();
DPRINTF(("Looping.\n"));
} /* loop "for Run_Index" */
-#ifdef PRINT_T_STATES
- _printTStates();
-#endif
-
printf("Run_Index = %d\n", Run_Index);
runTime = clock() - runTime;
printf (" should be: DHRYSTONE PROGRAM, 2'ND STRING\n");
printf ("\n");
#endif
- // printf("Dhrystones/s = %lu\n", (unsigned long)Number_Of_Runs / (runTime/CLOCKS_PER_SEC));
+#if 1
+ printf("Number of runs: %u. runTime: %u.\n", Number_Of_Runs, (unsigned)runTime);
+ mark();
+ printf("Dhrystones/s = %u\n", (unsigned)((unsigned long)Number_Of_Runs / (runTime/CLOCKS_PER_SEC)));
printf("MIPS = d/s/1757 = (sigh, need floats...)\n");
+#endif
#ifdef PRINT_T_STATES
_printTStates();
#endif
+#if 1
printf("Time: %lu ticks\n", runTime);
+#endif
}
void Proc_1 (REG Rec_Pointer Ptr_Val_Par)