Mercurial > repos > blastem
comparison romdb.c @ 1228:2e6dcb5c11a2
WIP support for XBAND mapper hardware
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 23 Feb 2017 00:08:37 -0800 |
parents | 53fc7efdfdab |
children | 23c94f5266d1 |
comparison
equal
deleted
inserted
replaced
1227:262c0ce8f586 | 1228:2e6dcb5c11a2 |
---|---|
3 #include "config.h" | 3 #include "config.h" |
4 #include "romdb.h" | 4 #include "romdb.h" |
5 #include "util.h" | 5 #include "util.h" |
6 #include "genesis.h" | 6 #include "genesis.h" |
7 #include "menu.h" | 7 #include "menu.h" |
8 #include "xband.h" | |
8 | 9 |
9 #define DOM_TITLE_START 0x120 | 10 #define DOM_TITLE_START 0x120 |
10 #define DOM_TITLE_END 0x150 | 11 #define DOM_TITLE_END 0x150 |
11 #define TITLE_START DOM_TITLE_END | 12 #define TITLE_START DOM_TITLE_END |
12 #define TITLE_END (TITLE_START+48) | 13 #define TITLE_END (TITLE_START+48) |
13 #define GAME_ID_OFF 0x183 | |
14 #define GAME_ID_LEN 8 | |
15 #define ROM_END 0x1A4 | 14 #define ROM_END 0x1A4 |
16 #define RAM_ID 0x1B0 | 15 #define RAM_ID 0x1B0 |
17 #define RAM_FLAGS 0x1B2 | 16 #define RAM_FLAGS 0x1B2 |
18 #define RAM_START 0x1B4 | 17 #define RAM_START 0x1B4 |
19 #define RAM_END 0x1B8 | 18 #define RAM_END 0x1B8 |
846 } | 845 } |
847 printf("Product ID: %s\n", product_id); | 846 printf("Product ID: %s\n", product_id); |
848 tern_node * entry = tern_find_ptr(rom_db, product_id); | 847 tern_node * entry = tern_find_ptr(rom_db, product_id); |
849 if (!entry) { | 848 if (!entry) { |
850 puts("Not found in ROM DB, examining header\n"); | 849 puts("Not found in ROM DB, examining header\n"); |
850 if (xband_detect(rom, rom_size)) { | |
851 return xband_configure_rom(rom_db, rom, rom_size, lock_on, lock_on_size, base_map, base_chunks); | |
852 } | |
851 return configure_rom_heuristics(rom, rom_size, base_map, base_chunks); | 853 return configure_rom_heuristics(rom, rom_size, base_map, base_chunks); |
852 } | 854 } |
853 rom_info info; | 855 rom_info info; |
854 info.name = tern_find_ptr(entry, "name"); | 856 info.name = tern_find_ptr(entry, "name"); |
855 if (info.name) { | 857 if (info.name) { |