Mercurial > repos > blastem
comparison romdb.c @ 2054:8ee7ecbf3f21 segacd
Implement enough of Sega CD gate array and Sub CPU to pass Sik's Mode 1 test ROM
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 18 Jan 2022 00:03:50 -0800 |
parents | 3414a4423de1 |
children | 0407d812cb4a |
comparison
equal
deleted
inserted
replaced
2053:3414a4423de1 | 2054:8ee7ecbf3f21 |
---|---|
473 info.is_save_lock_on = 0; | 473 info.is_save_lock_on = 0; |
474 info.rom = rom; | 474 info.rom = rom; |
475 info.rom_size = rom_size; | 475 info.rom_size = rom_size; |
476 add_memmap_header(&info, rom, rom_size, base_map, base_chunks); | 476 add_memmap_header(&info, rom, rom_size, base_map, base_chunks); |
477 info.port1_override = info.port2_override = info.ext_override = info.mouse_mode = NULL; | 477 info.port1_override = info.port2_override = info.ext_override = info.mouse_mode = NULL; |
478 info.wants_cd = 0; | |
479 for (uint32_t offset = 0x190; offset < rom_size && offset < 0x1A0; offset++) | |
480 { | |
481 if (rom[offset] == 'F') { | |
482 // probably a codemasters game with a garbage header | |
483 break; | |
484 } | |
485 if (rom[offset] == 'C') { | |
486 info.wants_cd = 1; | |
487 break; | |
488 } | |
489 } | |
490 | |
478 return info; | 491 return info; |
479 } | 492 } |
480 | 493 |
481 typedef struct { | 494 typedef struct { |
482 rom_info *info; | 495 rom_info *info; |
1053 } | 1066 } |
1054 } else { | 1067 } else { |
1055 info.port1_override = info.port2_override = info.ext_override = NULL; | 1068 info.port1_override = info.port2_override = info.ext_override = NULL; |
1056 } | 1069 } |
1057 info.mouse_mode = tern_find_ptr(entry, "mouse_mode"); | 1070 info.mouse_mode = tern_find_ptr(entry, "mouse_mode"); |
1071 info.wants_cd = !strcmp(tern_find_ptr_default(entry, "wants_cd", "no"), "yes"); | |
1058 | 1072 |
1059 return info; | 1073 return info; |
1060 } | 1074 } |