/* NOT REAL CODE */ #define LED PORTB #define LED_DIR DDRB //Data Variables #define DATA PORTA #define DATA_DIR DDRA #define DATA_IN PINA //Controller Variables #define CTRL_IN PINC #define CTRL_DIR DDRC #define CTRL PORTC /* 0x0000 0000 ||+------Data |+-------Pulse +--------Latch */ #define begin { #define end } //timer1 stuff #define rest_time 2 #define pulse_time 1 #define prescale1 1 #define clear_on_match 8 //for Controller Input State Machine #define rest 0 #define latch 1 #define pulse 2 //for Game State Machine #define start_screen 0 #define select_club 1 #define select_dir 2 #define select_power 3 #define animation 5 #define check_sand 6 #define check_hole 7 #define win 8 //Definition of the Keys #define A_BUT 0x01 #define B_BUT 0x02 #define SELECT 0x04 #define START 0x08 #define UP 0x10 #define DOWN 0x20 #define LEFT 0x40 #define RIGHT 0x80 //Diagonals #define UPPERLEFT 0x50 //(UP | LEFT) #define UPPERRIGHT 0x90 //(UP | RIGHT) #define LOWERLEFT 0x60 //(DOWN | LEFT) #define LOWERRIGHT 0xa0 //(DOWN | RIGHT) //The definition of reset (A+B+SELECT+START) #define RESET_KEY 0x0f //Definition of clubs #define PUTTER 1 #define SANDWEDGE 2 #define IRON 3 #define WOOD 4