From 5ad04bb4b52b93ccb33d7d2bf57646f4947b111b Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Mon, 26 Mar 2018 22:13:22 -0700 Subject: Allow MegaWiFi support to be toggled in config file. Defaults to off due to security concerns --- romdb.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) (limited to 'romdb.c') diff --git a/romdb.c b/romdb.c index 65e1e9b..f0f7ed3 100644 --- a/romdb.c +++ b/romdb.c @@ -12,6 +12,7 @@ #include "sega_mapper.h" #include "multi_game.h" #include "megawifi.h" +#include "blastem.h" #define DOM_TITLE_START 0x120 #define DOM_TITLE_END 0x150 @@ -803,11 +804,19 @@ void map_iter_fun(char *key, tern_val val, uint8_t valtype, void *data) map->write_16 = write_multi_game_w; map->write_8 = write_multi_game_b; } else if (!strcmp(dtype, "megawifi")) { - map->write_16 = megawifi_write_w; - map->write_8 = megawifi_write_b; - map->read_16 = megawifi_read_w; - map->read_8 = megawifi_read_b; - map->mask = 0xFFFFFF; + if (!strcmp( + "on", + tern_find_path_default(config, "system\0megawifi\0", (tern_val){.ptrval="off"}, TVAL_PTR).ptrval) + ) { + map->write_16 = megawifi_write_w; + map->write_8 = megawifi_write_b; + map->read_16 = megawifi_read_w; + map->read_8 = megawifi_read_b; + map->mask = 0xFFFFFF; + } else { + warning("ROM uses MegaWiFi, but it is disabled\n"); + return; + } } else { fatal_error("Invalid device type %s for ROM DB map entry %d with address %s\n", dtype, state->index, key); } -- cgit v1.2.3