Demo of low res colour vga video for stm32f3 discovery board

Dependencies:   STM32F3-Discovery-minimal

Fork of Space_Invaders_Demo by Martin Johnson

Revision:
3:93e488fbb8a2
Parent:
0:404dae88af71
Child:
10:8ffcefda667a
--- a/demo.c	Tue May 17 23:53:10 2016 +0000
+++ b/demo.c	Wed May 16 02:39:14 2018 +0000
@@ -1,7 +1,7 @@
 /***************************************************************************
  * STM32 VGA demo
- * Copyright (C) 2012 Artekit Italy
- * http://www.artekit.eu
+ * Copyright (C) 2012 MASSEY 159.233 Italy
+ * http://www.MASSEY 159.233.eu
  * Written by Ruben H. Meleca
  
 ### demo.c
@@ -75,37 +75,45 @@
 
 //	Demo Point
 while(1) {
-	GPIOE->ODR=0x100;
+	GPIOE->ODR|=0x100;
 	vidClearScreen();
-	GPIOE->ODR=0x200;
+	GPIOE->ODR|=0x200;
 	gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0);
-	GPIOE->ODR=0x300;
-	gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY);
-	GPIOE->ODR=0x400;
-	gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(172, 70, "POINT DEMO", GDI_ROP_COPY);
-	GPIOE->ODR=0x500;
-	sysDelayMs(300);
-	GPIOE->ODR=0x600;
+	GPIOE->ODR|=0x300;
+	gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY);
+	GPIOE->ODR|=0x400;
+	gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY);
+	gdiDrawTextEx(172/4, 70, "POINT DEMO", GDI_ROP_COPY);
+	GPIOE->ODR|=0x500;
+	vidNextBuffer();
+	sysDelayMs(2000);
+	GPIOE->ODR|=0x600;
 	srand(sysTicks);
 	for (i = 0; i < 950000; i++) {
 //		sysDelayMs(1);
 		x = rand();	x = x % (VID_PIXELS_X - 1);
 		y = rand();	y = y % VID_VSIZE - 1;
+		gdiSetColour(rand()%7+1);
 		gdiPoint(NULL,x,y,GDI_ROP_XOR);
+		if(i%20000==0)
+			vidNextBuffer();
 	}
+	vidNextBuffer();
 	sysDelayMs(300);
 	GPIOE->ODR=0x700;
 
-	conway_demo();
+//	conway_demo();
+	
+	if(GPIOA->IDR&1) bubble_demo();
 
 //	Demo Line
 
 	vidClearScreen();
 	gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0);
-	gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(175, 70, "LINE DEMO", GDI_ROP_COPY);
+	gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY);
+	gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY);
+	gdiDrawTextEx(175/4, 70, "LINE DEMO", GDI_ROP_COPY);
+	vidNextBuffer();
 	sysDelayMs(300);
 	srand(sysTicks);
 	for (i = 0; i < 10000; i++) {
@@ -114,7 +122,10 @@
 		y = rand();	y = y % VID_VSIZE - 1;
 		x1 = rand();	x1 = x1 % (VID_PIXELS_X - 1);
 		y1 = rand();	y1 = y1 % VID_VSIZE - 1;
+		gdiSetColour(rand()%7+1);
 		gdiLine(NULL,x,y,x1,y1,GDI_ROP_XOR);
+		if(i%500==0)
+			vidNextBuffer();
 	}
 	sysDelayMs(300);
 
@@ -122,9 +133,10 @@
 
 	vidClearScreen();
 	gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0);
-	gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(157, 70, "RECTANGLE DEMO", GDI_ROP_COPY);
+	gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY);
+	gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY);
+	gdiDrawTextEx(157/4, 70, "RECTANGLE DEMO", GDI_ROP_COPY);
+	vidNextBuffer();
 	sysDelayMs(300);
 	srand(sysTicks);
 	for (i = 0; i < 1000; i++) {
@@ -133,7 +145,11 @@
 		y = rand();	y = y % VID_VSIZE - 1;
 		x1 = rand();	x1 = x1 % 100;
 		y1 = rand();	y1 = y1 % 100;
+		gdiSetColour(rand()%7+1);
 		gdiRectangle(x,y,x1,y1,GDI_ROP_COPY);
+		if(i%50==0)
+			vidNextBuffer();
+
 	}
 	sysDelayMs(300);
 
@@ -141,17 +157,21 @@
 
 	vidClearScreen();
 	gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0);
-	gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(165, 70, "CIRCLE DEMO", GDI_ROP_COPY);
+	gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY);
+	gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY);
+	gdiDrawTextEx(165/4, 70, "CIRCLE DEMO", GDI_ROP_COPY);
+	vidNextBuffer();
 	sysDelayMs(300);
 	srand(sysTicks);
-	for (i = 0; i < 500; i++) {
+	for (i = 0; i < 2000; i++) {
 //		sysDelayMs(20);
 		x = rand();	x = x % (VID_PIXELS_X - 1);
 		y = rand();	y = y % VID_VSIZE - 1;
 		x1 = rand(); x1 = x1 % 80;
-		gdiCircle(x,y,x1,GDI_ROP_COPY);
+		gdiSetColour(rand()%7+1);
+		gdiCircle(x,y,x1,0);
+		if(i%10==0)
+			vidNextBuffer();
 	}
 	sysDelayMs(300);
 
@@ -159,19 +179,21 @@
 
 	vidClearScreen();
 	gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0);
-	gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(165, 70, "BITMAP DEMO", GDI_ROP_COPY);
+	gdiDrawTextEx(180/4, 40, "MASSEY 159.233", GDI_ROP_COPY);
+	gdiDrawTextEx(161/4, 55, "STM32F3 DISCOVERY", GDI_ROP_COPY);
+	gdiDrawTextEx(165/4, 70, "BITMAP DEMO", GDI_ROP_COPY);
+	vidNextBuffer();
 	sysDelayMs(300);
 
 	x = 100;
 	y = 130;
 	flip = 0;
-	for (i = 0; i < 100000; i++) {
+	for (i = 0; i < 10000; i++) {
 //		sysDelayMs(150);
 		x = rand();     x = x % (VID_PIXELS_X - 20);
                 y = rand();     y = y % (VID_VSIZE - 20);
 
+	gdiSetColour(rand()%7+1);
 		if (flip) {
 			flip = 0;
 			gdiBitBlt(NULL,x,y,15,12,(pu8) deBadBoys1,GDI_ROP_COPY);
@@ -180,14 +202,16 @@
 			gdiBitBlt(NULL,x,y,15,12,(pu8) deBadBoys2,GDI_ROP_COPY);
 		}
 		x += 2;
+		if(i%500==0)
+			vidNextBuffer();
 	}
 	sysDelayMs(300);
 	vidClearScreen();
-	        for (i = 0; i < 100000; i++) {
+	        for (i = 0; i < 10000; i++) {
 //              sysDelayMs(150);
                 x = rand();     x = x % (VID_PIXELS_X - 20);
                 y = rand();     y = y % (VID_VSIZE - 20);
-
+gdiSetColour(rand()%7+1);
                 if (flip) {
                         flip = 0;
                         gdiBitBlt(NULL,x,y,15,12,(pu8) deBadBoys1,GDI_ROP_XOR);
@@ -196,20 +220,12 @@
                         gdiBitBlt(NULL,x,y,15,12,(pu8) deBadBoys2,GDI_ROP_XOR);
                 }
                 x += 2;
+                		if(i%500==0)
+			vidNextBuffer();
         }
-        sysDelayMs(3000);
-
+        sysDelayMs(300);
 
-	vidClearScreen();
-	gdiRectangle(0,0,(VID_PIXELS_X - 1),VID_VSIZE - 1,0);
-	gdiDrawTextEx(180, 40, "ARTEKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(161, 55, "AK-STM32-LKIT", GDI_ROP_COPY);
-	gdiDrawTextEx(115, 75, "ARM CORTEX DEVELOPMENT BOARDS", GDI_ROP_COPY);
-
-	gdiDrawTextEx(156, 90, "WWW.ARTEKIT.EU", GDI_ROP_COPY);
-	gdiDrawTextEx(141, 120, "FREE GRAPHIC ENGINE", GDI_ROP_COPY);
-	gdiDrawTextEx(165, 130, "SOURCE CODE", GDI_ROP_COPY);
-	sysDelayMs(300);
+	conway_demo();
 	}