summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorroot <root@lab.panaceas.james.local>2013-10-11 11:36:00 +0100
committerroot <root@lab.panaceas.james.local>2013-10-11 11:36:00 +0100
commit4d81f37e725e7488698461a6ce1ad728239a4d30 (patch)
tree68a680d10ae6e334ef61e390acbce61a94e9104a
parent4f66956b93358d943df0610015e02865d1c3339d (diff)
downloadpong-4d81f37e725e7488698461a6ce1ad728239a4d30.tar.gz
pong-4d81f37e725e7488698461a6ce1ad728239a4d30.tar.bz2
pong-4d81f37e725e7488698461a6ce1ad728239a4d30.zip
tidy
-rw-r--r--software/pong3/pong3.c33
1 files changed, 18 insertions, 15 deletions
diff --git a/software/pong3/pong3.c b/software/pong3/pong3.c
index 09240ff..4b9c229 100644
--- a/software/pong3/pong3.c
+++ b/software/pong3/pong3.c
@@ -24,6 +24,22 @@ gpu_write (unsigned int reg, unsigned int data)
IOWR (GPU_0_BASE, reg << 2, data);
}
+
+static void
+update_gpu (int x, int y, int bat0, int bat1)
+{
+ // set locations
+ gpu_write (GPU_REG_SPRITE_X, x + GPU_OFFSET);
+ gpu_write (GPU_REG_SPRITE_Y, y + GPU_OFFSET);
+ gpu_write (GPU_REG_BAT0_Y, bat0 + GPU_OFFSET);
+ gpu_write (GPU_REG_BAT1_Y, bat1 + GPU_OFFSET);
+
+
+ // enable video
+ gpu_write (GPU_REG_BLANK, 0);
+}
+
+
static void
show_score (int score)
{
@@ -242,13 +258,7 @@ main (void)
move_bat (&bat0, dbat0);
move_bat (&bat1, dbat1);
-
- gpu_write (1, x + GPU_OFFSET);
- gpu_write (2, y + GPU_OFFSET);
- gpu_write (3, bat0 + GPU_OFFSET);
- gpu_write (4, bat1 + GPU_OFFSET);
-
- gpu_write (0, 0);
+ update_gpu (x, y, bat0, bat1);
msleep (2);
}
@@ -272,14 +282,7 @@ main (void)
move_bat (&bat0, dbat0);
move_bat (&bat1, dbat1);
-
- gpu_write (1, x + GPU_OFFSET);
- gpu_write (2, y + GPU_OFFSET);
- gpu_write (3, bat0 + GPU_OFFSET);
- gpu_write (4, bat1 + GPU_OFFSET);
-
- gpu_write (0, 0);
-
+ update_gpu (x, y, bat0, bat1);
msleep (2);
}