int main() { initialize_joystick(); while( 1 ) { char a,b; a = sample_joystick(COCO_JOY_RIGHT_H); b = sample_joystick(COCO_JOY_RIGHT_V); BASIC_VDG_TEXT[0] = a; BASIC_VDG_TEXT[1] = b; } return 0; }
void setup() { Serial.begin(9600); Serial.println("Starting..."); delay(500); Serial.flush(); // There can be nasty leftover bits. initialize_screen(); initialize_sd_card(); initialize_joystick(); initialize_map(); // Want to start viewing window in the center of the map move_window( (map_box[current_map_num].W + map_box[current_map_num].E) / 2, (map_box[current_map_num].N + map_box[current_map_num].S) / 2); // with cursor in the middle of the window move_cursor_to( screen_map_x + display_window_width / 2, screen_map_y + display_window_height / 2); // Draw the initial screen and cursor first_time = 1; // Now initialize and enable the zoom buttons. pinMode(zoom_out_pin, INPUT); // Zoom out. digitalWrite(zoom_out_pin, HIGH); pinMode(zoom_in_pin, INPUT); // Zoom in. digitalWrite(zoom_in_pin, HIGH); // Initialize interrupt routines attached to zoom buttons. attachInterrupt(zoom_in_interrupt, handle_zoom_in, FALLING); attachInterrupt(zoom_out_interrupt, handle_zoom_out, FALLING); #ifdef DEBUG_MEMORY Serial.print("Available mem:"); Serial.println(AVAIL_MEM); #endif }
/** * Initializes the required resources. * * Should only be called once, right after starting. */ Code initialize(Window **window, Renderer **renderer) { char log_buffer[MAXIMUM_STRING_SIZE]; Uint32 renderer_flags = 0; initialize_logger(); initialize_profiler(); initialize_settings(); if (SDL_Init(SDL_INIT_FLAGS)) { sprintf(log_buffer, "SDL initialization error: %s.", SDL_GetError()); log_message(log_buffer); return CODE_ERROR; } SDL_ShowCursor(SDL_DISABLE); initialize_joystick(); if (!TTF_WasInit()) { if (TTF_Init()) { sprintf(log_buffer, "TTF initialization error: %s.", SDL_GetError()); log_message(log_buffer); return CODE_ERROR; } } if ((IMG_Init(IMG_FLAGS) & IMG_FLAGS) != IMG_FLAGS) { sprintf(log_buffer, "Failed to initialize required image support."); log_message(log_buffer); return CODE_ERROR; } /** * The number of columns and the number of lines are fixed. However, the * number of pixels we need for the screen is not. We find this number by * experimenting before creating the window. */ /* Log the size of the window we are going to create. */ *window = create_window(&window_width, &window_height); sprintf(log_buffer, "Created a %dx%d window.", window_width, window_height); log_message(log_buffer); if (*window == NULL) { sprintf(log_buffer, "SDL initialization error: %s.", SDL_GetError()); log_message(log_buffer); return CODE_ERROR; } if (initialize_fonts()) { sprintf(log_buffer, "Failed to initialize fonts."); log_message(log_buffer); return CODE_ERROR; } if (initialize_font_metrics()) { sprintf(log_buffer, "Failed to initialize font metrics."); log_message(log_buffer); return CODE_ERROR; } /* Must disable text input to prevent a name capture bug. */ SDL_StopTextInput(); set_window_title_and_icon(*window); if (get_renderer_type() == RENDERER_HARDWARE) { renderer_flags = SDL_RENDERER_ACCELERATED; } else { renderer_flags = SDL_RENDERER_SOFTWARE; } *renderer = SDL_CreateRenderer(*window, -1, renderer_flags); set_color(*renderer, COLOR_DEFAULT_BACKGROUND); clear(*renderer); return CODE_OK; }