From: chaoskagami Date: Sat, 11 Jun 2016 20:39:12 +0000 (-0400) Subject: Flags not being reset could cause an issue (maybe) X-Git-Tag: v0.0.9~6 X-Git-Url: https://chaos.moe/g/?a=commitdiff_plain;h=dd5110bad05203b2b8843b9ed43aeee9ae16d0d9;p=corbenik%2Fcorbenik.git Flags not being reset could cause an issue (maybe) --- diff --git a/source/interp.c b/source/interp.c index fecb7b5..a4c600f 100644 --- a/source/interp.c +++ b/source/interp.c @@ -178,10 +178,6 @@ exec_bytecode(uint8_t *bytecode, uint16_t ver, uint32_t len, int debug) if (debug) log("back\n"); code++; - if (offset < *code) { - // Went out of bounds. Error. - abort("Back underflowed.\n"); - } offset -= *code; code++; break; @@ -365,6 +361,8 @@ exec_bytecode(uint8_t *bytecode, uint16_t ver, uint32_t len, int debug) case OP_NEXT: if (debug) log("next\n"); + found = gt = lt = eq = 0; + bytecode = code + 1; #ifndef LOADER set_mode = 3; @@ -373,7 +371,7 @@ exec_bytecode(uint8_t *bytecode, uint16_t ver, uint32_t len, int debug) set_mode = 18; current_mode = &modes[set_mode]; #endif - offset = 0; + offset = new_offset = 0; code = bytecode; break; default: diff --git a/source/menu.c b/source/menu.c index 57d99fc..1d98f6a 100644 --- a/source/menu.c +++ b/source/menu.c @@ -72,9 +72,13 @@ static int cursor_y = 0; static int which_menu = 1; static int need_redraw = 1; +extern void waitcycles(uint32_t cycles); + uint32_t wait_key() { + waitcycles(100); // Moves too fast. Hopefully this prevents the issue. + uint32_t get = 0; while (get == 0) { if (HID_PAD & BUTTON_UP)