# HG changeset patch # User John Tsiombikas # Date 1402700202 -10800 # Node ID 5143908d0220a9b89abde9157bd82937188ba256 # Parent b7130fe3f07364db013114517f5560c03e6a20de fixed diff -r b7130fe3f073 -r 5143908d0220 src/main.c --- a/src/main.c Fri Jun 13 19:10:11 2014 +0300 +++ b/src/main.c Sat Jun 14 01:56:42 2014 +0300 @@ -1,5 +1,11 @@ +#include #include "gbasys.h" #include "logger.h" +#include "sincos.h" + +#define GFX_MODE VMODE_LFB_160x128_16 +#define WIDTH 160 +#define HEIGHT 128 static void draw(void); static void keyb(int key, int pressed); @@ -14,6 +20,7 @@ int main(void) { gba_init(); + interrupt(INTR_KEY, keyb_intr); set_video_mode(VMODE_LFB_160x128_16, 1); @@ -22,6 +29,8 @@ set_text_writebg(1); logmsg(LOG_ALL, "please wait...\n"); + sincos_init(); + for(;;) { /* process events */ while(evhead != evtail) { @@ -29,18 +38,64 @@ evhead = (evhead + 1) % EVQ_SIZE; keyb(ev, 1); } + + /* this is needed because there's no key release interrupt (!) */ + keystate = get_key_state(KEY_ALL); + draw(); } return 0; } +static int offset; + static void draw(void) { + int i, j; + unsigned long msec = get_millisec(); + uint16_t *pixels = back_buffer->pixels; + + clear_buffer(back_buffer, 0); + + for(i=0; i