added readme and license
[retrobench] / src / rbench.c
index 3d8eace..8b9e23f 100644 (file)
@@ -1,9 +1,9 @@
 #include <stdio.h>
 #include <stdlib.h>
-#include <stdint.h>
 #include <math.h>
 #include "rbench.h"
 #include "treestor.h"
+#include "util.h"
 
 #define DEF_WIDTH      640
 #define DEF_HEIGHT     480
@@ -33,7 +33,7 @@ void cleanup(void)
 
 #define XORRGB(x, y, zoom, r, g, b) \
        do { \
-               int xor = (((x) - fb_width/2) * (zoom) >> 10) ^ (((y) - fb_height/2) * (zoom) >> 10); \
+               int xor = (((x) - fb_width/2) * (zoom) >> 16) ^ (((y) - fb_height/2) * (zoom) >> 16); \
                (r) = xor >> 2; \
                (g) = xor >> 1; \
                (b) = xor; \
@@ -45,11 +45,10 @@ void redraw(void)
        unsigned char *fbptr;
        uint16_t *fbptr16;
        uint32_t *fbptr32;
-       float t = (float)time_msec / 1000.0f;
 
-       xoffs = cos(t * 0.5f) * DEF_WIDTH * 2;
-       yoffs = sin(t) * DEF_HEIGHT;
-       zoom = (sin(t * 0.75f) * 0.5f + 1.0f) * 1024.0f;
+       xoffs = COS(time_msec >> 3) * fb_width >> 15;
+       yoffs = SIN(time_msec >> 2) * fb_height >> 16;
+       zoom = (SIN(time_msec >> 5) >> 1) + 65536;
 
        switch(fb_bpp) {
        case 15: