if s != 2:
syn_err("invalid number of arguments")
- v = bytearray.fromhex(token_list[1])
- v.reverse()
- return bytearray.fromhex("0F") + v
+ return bytearray.fromhex("0F") + bytearray.fromhex(token_list[1])
elif token_list[0] == "jmpeq":
if s != 2:
syn_err("invalid number of arguments")
modes[0].size = FCRAM_SPACING; // NATIVE_FIRM
modes[1].memory = (uint8_t *)agb_firm_loc;
- modes[1].size = FCRAM_SPACING; // AGB_FIRM
+ modes[1].size = FCRAM_SPACING * 2; // AGB_FIRM
modes[2].memory = (uint8_t *)twl_firm_loc;
- modes[2].size = FCRAM_SPACING; // TWL_FIRM
+ modes[2].size = FCRAM_SPACING * 2; // TWL_FIRM
// NATIVE_FIRM Process9 (This is also the default mode.)
modes[3].memory = (uint8_t *)firm_p9_exefs + sizeof(exefs_h) + firm_p9_exefs->fileHeaders[0].offset;
if (debug)
log("jmp\n");
code++;
- code = bytecode + code[1] + (code[0] * 0x100);
+ code = bytecode + code[1] + (code[0] << 8);
break;
case OP_JMPEQ: // Jump to offset if equal
if (debug)
log("jmpeq\n");
code++;
if (eq)
- code = bytecode + code[1] + (code[0] * 0x100);
+ code = bytecode + code[1] + (code[0] << 8);
else
code += 2;
break;
log("jmpne\n");
code++;
if (!eq)
- code = bytecode + code[1] + (code[0] * 0x100);
+ code = bytecode + code[1] + (code[0] << 8);
else
code += 2;
break;
log("jmplt\n");
code++;
if (lt)
- code = bytecode + code[1] + (code[0] * 0x100);
+ code = bytecode + code[1] + (code[0] << 8);
else
code += 2;
break;
log("jmpgt\n");
code++;
if (gt)
- code = bytecode + code[1] + (code[0] * 0x100);
+ code = bytecode + code[1] + (code[0] << 8);
else
code += 2;
break;
log("jmple\n");
code++;
if (lt || eq)
- code = bytecode + code[1] + (code[0] * 0x100);
+ code = bytecode + code[1] + (code[0] << 8);
else
code += 2;
break;
log("jmpge\n");
code++;
if (gt || eq)
- code = bytecode + code[1] + (code[0] * 0x100);
+ code = bytecode + code[1] + (code[0] << 8);
else
code += 2;
break;
if (debug)
log("seek\n");
code++;
- offset = code[3] + (code[2] * 0x100) + (code[1] * 0x10000) + (code[0] * 0x1000000);
+ offset = ( code[3] + (code[2] << 8) + (code[1] << 16) + (code[0] << 24));
if (offset > current_mode->size) {
+#ifndef LOADER
+ fprintf(stderr, "%x", offset);
+#endif
// Went out of bounds. Error.
abort("seeked out of bounds\n");
}
int
menu_main()
{
+ // TODO - Stop using different menu code here.
set_cursor(TOP_SCREEN, 0, 0);
- const char *list[] = { "Options", "Patches", "Info", "Help/Readme", "Reset", "Power off", "Boot firmware" };
+ const char *list[] = { "Options", "Patches", "Info", "Help/Readme", "Reboot", "Power off", "Boot Firmware" };
int menu_max = 7;
header("A:Enter DPAD:Nav");