#include #include "common.h" #include "gba-buttons.c" #include "background-tiles.c" #include "sprites.h" #include "text.h" // // Main functions. // // TODO: Cleanup OBJ/OAM memory copying and access. // // // BIOS calls // int bios_div(int num, int denom); int normal_div(int num, int denom) { return num / denom; }; int main(void) { // Configure the display in mode 0 to show OBJs, where tile memory is // sequential. DISP_CTRL = DISP_ENABLE_SPRITES | DISP_MODE_0 | DISP_BG_0; // Initialize sprite button overlay. init_sprite_pal(0, COLOR_WHITE); init_sprites(0); init_button_sprites(); // Initialize text engine. txt_init(0, COLOR_RED, 0); size_t n_iter = 1000; profile_start(); int test = 0; for (size_t i = 0; i < n_iter; ++i) { txt_printf("Bios div: %d\n", bios_div(5 * i, 5)); } u32 bios_div_perf = profile_stop(); profile_start(); for (size_t i = 0; i < n_iter; ++i) { txt_printf("Code div: %d\n", normal_div(5 * i, 5)); } u32 code_perf = profile_stop(); txt_printf("C code div perf: %d\n", code_perf); txt_printf("BIOS div perf: %d\n", bios_div_perf); int frame_counter = 0; while(true) { wait_vsync(); poll_keys(); frame_counter++; // update_button_sprites(); }; return 0; }