From deb9c48fbd3dc5854de4ae3a04dc999029c10ae0 Mon Sep 17 00:00:00 2001 From: Bad Diode Date: Sat, 22 Apr 2023 21:12:14 +0200 Subject: Add new renderer and prepare for render overhaul --- src/main.c | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) (limited to 'src/main.c') diff --git a/src/main.c b/src/main.c index e694057..f89e743 100644 --- a/src/main.c +++ b/src/main.c @@ -12,17 +12,33 @@ WITH REGARD TO THIS SOFTWARE. #include "gba/gba.h" #include "filesystem.c" -#include "renderer.c" +#include "renderer_m0.c" #include "sequencer.c" -#define PROF_ENABLE 0 +#define PROF_ENABLE 1 #include "profiling.c" -// -// Config parameters. -// -int main(void) { +void +render(void) { + PROF(screen_fill(0), clear_cycles); + PROF(draw_triggers(), draw_trigs_cycles); + PROF(draw_channels(), draw_btn_cycles); + PROF(draw_pattern_buttons(), draw_btn_cycles); + PROF(draw_bank_buttons(), draw_btn_cycles); + PROF(draw_bpm(), draw_btn_cycles); + PROF(draw_play(), draw_btn_cycles); + PROF(draw_stop(), draw_btn_cycles); + PROF(draw_piano(), draw_piano_cycles); + PROF(draw_parameters(), draw_param_cycles); + PROF(draw_trig_cursor(trig_selection_loc, COL_CURSOR), draw_cursor_cycles); + PROF(draw_channel_cursor(channel_selection_loc, COL_GREY), draw_cursor_cycles); + PROF(draw_pattern_cursor(pattern_selection_loc, COL_GREY), draw_cursor_cycles); + PROF(draw_current_step(COL_RED), draw_cursor_cycles); +} + +int +main(void) { // Adjust system wait times. SYSTEM_WAIT = SYSTEM_WAIT_CARTRIDGE; @@ -38,15 +54,17 @@ int main(void) { // Initialize sequencer. sequencer_init(); + txt_spacing(6); // Main loop. while (true) { poll_keys(); bios_vblank_wait(); - FRAME_START(); - PROF(handle_sequencer_input(), input_cycles); PROF_SHOW(); + FRAME_START(); PROF(flip_buffer(), flip_cycles); + PROF(handle_sequencer_input(), input_cycles); + PROF(render(), render_cycles); FRAME_END(); } -- cgit v1.2.1