2023-02-14 22:26:40 +01:00
|
|
|
#include <stdio.h>
|
|
|
|
|
|
|
|
#include <libdragon.h>
|
|
|
|
#include <usb.h>
|
|
|
|
|
|
|
|
#include "boot/boot.h"
|
|
|
|
#include "flashcart/flashcart.h"
|
2023-02-24 14:24:59 +00:00
|
|
|
#include "menu/settings.h"
|
2023-02-28 23:19:16 +00:00
|
|
|
#include "menu/menu_main.h"
|
2023-02-14 22:26:40 +01:00
|
|
|
|
|
|
|
|
|
|
|
static void init (void) {
|
|
|
|
assertf(usb_initialize() != CART_NONE, "No flashcart was detected");
|
2023-03-31 23:57:21 +01:00
|
|
|
//debug_init_usblog();
|
2023-02-14 22:26:40 +01:00
|
|
|
assertf(debug_init_sdfs("sd:/", -1), "Couldn't initialize SD card");
|
2023-02-21 22:25:01 +01:00
|
|
|
flashcart_error_t error = flashcart_init();
|
|
|
|
assertf(error != FLASHCART_ERROR_OUTDATED, "Outdated flashcart firmware");
|
|
|
|
assertf(error != FLASHCART_ERROR_UNSUPPORTED, "Unsupported flashcart");
|
|
|
|
assertf(error == FLASHCART_OK, "Unknown error while initializing flashcart");
|
2023-06-06 16:54:47 +01:00
|
|
|
|
|
|
|
controller_init();
|
|
|
|
|
|
|
|
display_close();
|
|
|
|
display_init(RESOLUTION_640x240, DEPTH_16_BPP, 3, GAMMA_NONE, ANTIALIAS_RESAMPLE);
|
|
|
|
graphics_set_color(0xFFFFFFFF, 0x00000000);
|
|
|
|
graphics_set_default_font();
|
2023-02-14 22:26:40 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void deinit (void) {
|
2023-06-06 16:54:47 +01:00
|
|
|
display_close();
|
2023-02-14 22:26:40 +01:00
|
|
|
flashcart_deinit();
|
2023-06-04 16:57:31 +01:00
|
|
|
rdpq_close();
|
2023-02-14 22:26:40 +01:00
|
|
|
rspq_close();
|
|
|
|
audio_close();
|
|
|
|
display_close();
|
|
|
|
disable_interrupts();
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
int main (void) {
|
|
|
|
|
|
|
|
init();
|
|
|
|
|
2023-02-24 14:24:59 +00:00
|
|
|
settings_t settings;
|
|
|
|
settings_load_default_state(&settings);
|
2023-03-01 02:39:53 +00:00
|
|
|
//settings_load_from_file(&settings); // FIXME: this needs a rethink.
|
2023-02-24 14:24:59 +00:00
|
|
|
|
2023-02-28 23:19:16 +00:00
|
|
|
// if (boot_is_warm()) {
|
|
|
|
// menu_restore(&settings);
|
|
|
|
// }
|
2023-02-14 22:26:40 +01:00
|
|
|
|
2023-02-28 23:19:16 +00:00
|
|
|
menu_main_init(&settings);
|
2023-02-14 22:26:40 +01:00
|
|
|
|
|
|
|
deinit();
|
|
|
|
|
2023-02-24 14:24:59 +00:00
|
|
|
boot(&settings.boot_params);
|
2023-02-14 22:26:40 +01:00
|
|
|
|
|
|
|
return 1;
|
|
|
|
}
|