From 8ae8980fc8c76dd98f808dd0efca2d69010b9329 Mon Sep 17 00:00:00 2001 From: Guy Perfect Date: Tue, 18 Feb 2025 15:09:38 -0600 Subject: [PATCH] Implement ISX decoding --- util/vbu.c | 6 ++++++ util/vbu.h | 1 + 2 files changed, 7 insertions(+) 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);