diff sms.c @ 2257:1e626d0ecf9c

WIP SG-1000/TMS9918A mode support
author Michael Pavone <pavone@retrodev.com>
date Sat, 17 Dec 2022 23:32:34 -0800
parents cbe1ba70c247
children 3e0d463eb9b3
line wrap: on
line diff
--- a/sms.c	Tue Dec 13 00:15:24 2022 -0800
+++ b/sms.c	Sat Dec 17 23:32:34 2022 -0800
@@ -690,8 +690,15 @@
 	sms->header.info.map = malloc(sizeof(memmap_chunk) * sms->header.info.map_chunks);
 	memcpy(sms->header.info.map, memory_map, sizeof(memmap_chunk) * sms->header.info.map_chunks);
 	z80_options *zopts = malloc(sizeof(z80_options));
+	tern_node *model_def;
 	uint8_t is_gamegear = !strcasecmp(media->extension, "gg");
-	tern_node *model_def = is_gamegear ? tern_find_node(get_systems_config(), "gg") : get_model(config, SYSTEM_SMS);
+	if (is_gamegear) {
+		model_def = tern_find_node(get_systems_config(), "gg");
+	} else if (!strcasecmp(media->extension, "sg")) {
+		model_def = tern_find_node(get_systems_config(), "sg1000");
+	} else {
+		model_def = get_model(config, SYSTEM_SMS);
+	}
 	char *vdp_str = tern_find_ptr(model_def, "vdp");
 	uint8_t vdp_type = is_gamegear ? VDP_GENESIS : VDP_GAMEGEAR;
 	if (vdp_str) {