diff --git a/util/vbu.c b/util/vbu.c index 1918cbe..f26740e 100644 --- a/util/vbu.c +++ b/util/vbu.c @@ -33,6 +33,7 @@ static int32_t SignExtend(int32_t value, int32_t bits) { /******************************** Sub-Modules ********************************/ #include "disassembler.c" +#include "isx.c" @@ -70,3 +71,8 @@ VBUAPI VBU_DasmLine* vbuDisassemble(VB *sim, uint32_t address, VBU_DasmConfig *config, unsigned length, int line) { return dasmDisassemble(sim, address, config, length, line); } + +/* Decode an ISX debugger file to a Virtual Boy ROM */ +VBUAPI void* vbuFromISX(void *bytes, size_t length, size_t *romLength) { + return isxFrom(bytes, length, romLength); +} diff --git a/util/vbu.h b/util/vbu.h index 4bf095f..9cbe667 100644 --- a/util/vbu.h +++ b/util/vbu.h @@ -88,6 +88,7 @@ typedef struct { VBUAPI int vbuCodeSize (VB *sim, uint32_t address); VBUAPI VBU_DasmConfig* vbuDasmInit (VBU_DasmConfig *config); VBUAPI VBU_DasmLine* vbuDisassemble(VB *sim, uint32_t address, VBU_DasmConfig *config, unsigned length, int line); +VBUAPI void* vbuFromISX (void *bytes, size_t length, size_t *romLength);