summaryrefslogtreecommitdiff
path: root/blastem.c
diff options
context:
space:
mode:
authorMichael Pavone <pavone@retrodev.com>2015-11-08 22:03:34 -0800
committerMichael Pavone <pavone@retrodev.com>2015-11-08 22:03:34 -0800
commit7d6031ae997cfd08b51e687cc68d11d572b23bf7 (patch)
tree171a5092126e95f3ccd17a8a2c0c98434b7a7e7e /blastem.c
parent9fed70ee51604f4bdf49dfebad4658c5cc2bfdd1 (diff)
Make menu stuff work on Android (theoretically)
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();