comparison romdb.c @ 2034:8b2ef428d1aa

Implement TMSS ROM and cart mapping register
author Michael Pavone <pavone@retrodev.com>
date Sun, 21 Feb 2021 14:35:16 -0800
parents 0f54a898db03
children b119e0de9a70 3748a2a8a4b7
comparison
equal deleted inserted replaced
2033:894bf99a13f1 2034:8b2ef428d1aa
364 364
365 if (info->save_type == RAM_FLAG_ODD) { 365 if (info->save_type == RAM_FLAG_ODD) {
366 info->map[1].flags |= MMAP_ONLY_ODD; 366 info->map[1].flags |= MMAP_ONLY_ODD;
367 } else if (info->save_type == RAM_FLAG_EVEN) { 367 } else if (info->save_type == RAM_FLAG_EVEN) {
368 info->map[1].flags |= MMAP_ONLY_EVEN; 368 info->map[1].flags |= MMAP_ONLY_EVEN;
369 } else {
370 info->map[1].flags |= MMAP_CODE;
369 } 371 }
370 info->map[1].buffer = info->save_buffer; 372 info->map[1].buffer = info->save_buffer;
371 } else { 373 } else {
372 //Assume the standard Sega mapper 374 //Assume the standard Sega mapper
373 info->mapper_type = MAPPER_SEGA_SRAM; 375 info->mapper_type = MAPPER_SEGA_SRAM;
717 map->flags = MMAP_READ | MMAP_WRITE; 719 map->flags = MMAP_READ | MMAP_WRITE;
718 if (state->info->save_type == RAM_FLAG_ODD) { 720 if (state->info->save_type == RAM_FLAG_ODD) {
719 map->flags |= MMAP_ONLY_ODD; 721 map->flags |= MMAP_ONLY_ODD;
720 } else if(state->info->save_type == RAM_FLAG_EVEN) { 722 } else if(state->info->save_type == RAM_FLAG_EVEN) {
721 map->flags |= MMAP_ONLY_EVEN; 723 map->flags |= MMAP_ONLY_EVEN;
724 } else {
725 map->flags |= MMAP_CODE;
722 } 726 }
723 map->mask = calc_mask(state->info->save_size, start, end); 727 map->mask = calc_mask(state->info->save_size, start, end);
724 } else if (!strcmp(dtype, "RAM")) { 728 } else if (!strcmp(dtype, "RAM")) {
725 uint32_t size = strtol(tern_find_ptr_default(node, "size", "0"), NULL, 16); 729 uint32_t size = strtol(tern_find_ptr_default(node, "size", "0"), NULL, 16);
726 if (!size || size > map->end - map->start) { 730 if (!size || size > map->end - map->start) {