summaryrefslogtreecommitdiff
path: root/blastem.c
diff options
context:
space:
mode:
Diffstat (limited to 'blastem.c')
-rw-r--r--blastem.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/blastem.c b/blastem.c
index c04319c..2520ef9 100644
--- a/blastem.c
+++ b/blastem.c
@@ -1061,11 +1061,23 @@ int main(int argc, char ** argv)
if (!romfname) {
romfname = "menu.bin";
}
+ if (romfname[0] == '/') {
+ if (!(rom_size = load_rom(romfname))) {
+ fatal_error("Failed to open UI ROM %s for reading", romfname);
+ }
+ } else {
+ long fsize;
+ cart = (uint16_t *)read_bundled_file(romfname, &fsize);
+ if (!cart) {
+ fatal_error("Failed to open UI ROM %s for reading", romfname);
+ }
+ rom_size = nearest_pow2(fsize);
+ if (rom_size > fsize) {
+ cart = realloc(cart, rom_size);
+ }
+ }
//TODO: load relative to executable or from assets depending on platform
- if (!(rom_size = load_rom(romfname))) {
- fatal_error("Failed to open UI ROM %s for reading", romfname);
- }
loaded = 1;
}
tern_node *rom_db = load_rom_db();