#175791 - deathmetalscott - Mon Feb 07, 2011 9:12 pm
I just started in a GBA programming class to fill a second programming requirement in college studies. I have not programmed in C in a very long time and am having some difficulty. My instructor helped me out and I was able to get this far on my own but I can not get the program to compile.
The program is a simple etch and sketch and I keep getting these errors:
[/list]
Code: |
#include <mygba.h>
#define BUTTONS (volatile unsigned int*)0x04000130; // Register: Status of button presses unsigned short* videoBuffer=(unsigned short*)0x6000000; // pointer to video buffer #define SetMode(mode) REG_DISPCNT=(mode) #define buttons #define BUTTON_A 1 #define BUTTON_B 2 #define BUTTON_SELECT 4 #define BUTTON_START 8 #define BUTTON_RIGHT 16 #define BUTTON_LEFT 32 #define BUTTON_UP 64 #define BUTTON_DOWN 128 #define BUTTON_R 256 #define BUTTON_L 512 void drawpixel3(int x, int y, unsigned short c) { videoBuffer[y*240+x]=c; } void CheckButtons() { buttons[0] = !((*BUTTONS) & BUTTON_A); buttons[1] = !((*BUTTONS) & BUTTON_B); buttons[2] = !((*BUTTONS) & BUTTON_LEFT); buttons[3] = !((*BUTTONS) & BUTTON_RIGHT); buttons[4] = !((*BUTTONS) & BUTTON_UP); buttons[5] = !((*BUTTONS) & BUTTON_DOWN); buttons[6] = !((*BUTTONS) & BUTTON_START); buttons[7] = !((*BUTTONS) & BUTTON_SELECT); buttons[8] = !((*BUTTONS) & BUTTON_L); buttons[9] = !((*BUTTONS) & BUTTON_R); } bool Pressed(int button) { switch(button) { case BUTTON_A: return buttons[0]; case BUTTON_B: return buttons[1]; case BUTTON_LEFT: return buttons[2]; case BUTTON_RIGHT: return buttons[3]; case BUTTON_UP: return buttons[4]; case BUTTON_DOWN: return buttons[5]; case BUTTON_START: return buttons[6]; case BUTTON_SELECT: return buttons[7]; case BUTTON_L: return buttons[8]; case BUTTON_R: return buttons[9]; } } int main(void) { /* SetMode(MODE_3 | BG2_ENABLE); drawpixel3(120, 80, 0xFFFF); //continuous loop while(1) { CheckButtons(); if (Pressed(BUTTON_LEFT)) { for(n=0;n<10000;n--); } else if(Pressed(BUTTON_RIGHT)) { for(n=0;n<10000;n++); } else if(Pressed (BUTTON_UP)) { for(y=0;y<10000;y++); } else if(Pressed(BUTTON_DOWN)) { for(y=0;y<10000;y--); } } } */ return 0; } |
The program is a simple etch and sketch and I keep getting these errors:
Code: |
main.c: In function `CheckButtons': main.c:27: error: parse error before '[' token main.c: In function `Pressed': main.c:43: error: parse error before '[' token main.c:44: error: parse error before '[' token main.c:45: error: parse error before '[' token main.c:46: error: parse error before '[' token main.c:47: error: parse error before '[' token main.c:48: error: parse error before '[' token main.c:49: error: parse error before '[' token main.c:50: error: parse error before '[' token main.c:51: error: parse error before '[' token main.c:52: error: parse error before '[' token make: *** [main.o] Error 1 |