From 4b7ba2f7366194608aac59b47d0f3c7cd9f21fb1 Mon Sep 17 00:00:00 2001 From: James Date: Thu, 10 Oct 2013 11:40:39 +0100 Subject: remove-path --- hardware/software/pong3/pong3.c | 151 ---------------------------------------- 1 file changed, 151 deletions(-) delete mode 100644 hardware/software/pong3/pong3.c (limited to 'hardware/software/pong3/pong3.c') diff --git a/hardware/software/pong3/pong3.c b/hardware/software/pong3/pong3.c deleted file mode 100644 index 63ae56c..0000000 --- a/hardware/software/pong3/pong3.c +++ /dev/null @@ -1,151 +0,0 @@ -#include -#include -#include -#include -#include -#include "system.h" - -#define msleep(msec) usleep(1000*msec); - -static void -gpu_write (unsigned int reg, unsigned int data) -{ - IOWR (GPU_0_BASE, reg << 2, data); -} - -static int -find_intersection (int x, int y, int xd, int yd, int t) -{ - - // super lazy - we should use the power of MATHS - - while (x != t) - { - x += xd; - y += yd; - - if (y < 0) - y = 0; - if (y > 479) - y = 479; - if ((y == 479) || (y == 0)) - yd = -yd; - - if ((x == 639) || (x == 0)) - xd = -xd; - } - - return y; -} - -static int -dir (int a, int b) -{ - if (a > b) - return 1; - if (a < b) - return -1; - return 0; -} - -static void -move_bat (int *b, int db) -{ - - *b += dir (db, *b); - if (*b < 20) - *b = 20; - if (*b > 459) - *b = 459; - -} - -static void -load_sprite (void) -{ - // RRR GGG BBB - // set the sprite color 111 010 000 - orange - gpu_write (4, 0x01D0); - - // squirt the bromium logo into the sprite - gpu_write (0x10, 0x00C0); - gpu_write (0x11, 0x03E0); - gpu_write (0x12, 0x0FF8); - gpu_write (0x13, 0x1FFE); - gpu_write (0x14, 0x3FC7); - gpu_write (0x15, 0x3F83); - gpu_write (0x16, 0x3933); - gpu_write (0x17, 0x3987); - gpu_write (0x18, 0x3D37); - gpu_write (0x19, 0x3D37); - gpu_write (0x1a, 0x3D87); - gpu_write (0x1b, 0x3FFF); - gpu_write (0x1c, 0x1FFE); - gpu_write (0x1d, 0x07F8); - gpu_write (0x1e, 0x01E0); - gpu_write (0x1f, 0x00C0); -} - -int -main (void) -{ - int x, y, xd, yd; - int bat0, dbat0; - int bat1, dbat1; - int missed = 0; - - printf ("Working...\n"); - msleep (500); - srand (12392184); - - bat0 = 100; - bat1 = 200; - - load_sprite (); - - while (1) - { - x = 1; - y = 1; - xd = 1; - yd = 1; - - dbat0 = find_intersection (x + xd, y + yd, xd, yd, 0); - dbat1 = find_intersection (x + xd, y + yd, xd, yd, 639); - - while (!missed) - { - x += xd; - y += yd; - if (y < 0) - y = 0; - if (y > 479) - y = 479; - if ((y == 479) || (y == 0)) - yd = -yd; - - if ((x == 639) || (x == 0)) - { - xd = -xd; - yd = rand () % 7; - yd -= 3; - dbat0 = find_intersection (x + xd, y + yd, xd, yd, 0); - dbat1 = find_intersection (x + xd, y + yd, xd, yd, 639); - } - - move_bat (&bat0, dbat0); - move_bat (&bat1, dbat1); - - - gpu_write (0, x); - gpu_write (1, y); - - gpu_write (2, bat0); - gpu_write (3, bat1); - - msleep (2); - } - } -} - -//------------------------------------------------------------------------- -- cgit v1.2.3