diff options
author | Michael Pavone <pavone@retrodev.com> | 2015-12-08 19:33:58 -0800 |
---|---|---|
committer | Michael Pavone <pavone@retrodev.com> | 2015-12-08 19:33:58 -0800 |
commit | ff238c672d2f623363169f7ea6a3f292bbb24543 (patch) | |
tree | 4e868afca564f77e1202e02d905f15cac22ab8d0 /romdb.c | |
parent | 0da12ea007ff827acf74c489d2f3a95fcf17e6af (diff) |
Allow IO device config to be overriden by ROM DB
Diffstat (limited to 'romdb.c')
-rw-r--r-- | romdb.c | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -551,6 +551,7 @@ rom_info configure_rom_heuristics(uint8_t *rom, uint32_t rom_size, memmap_chunk info.name = get_header_name(rom); info.regions = get_header_regions(rom); add_memmap_header(&info, rom, rom_size, base_map, base_chunks); + info.port1_override = info.port2_override = info.ext_override = NULL; return info; } @@ -842,5 +843,14 @@ rom_info configure_rom(tern_node *rom_db, void *vrom, uint32_t rom_size, memmap_ add_memmap_header(&info, rom, rom_size, base_map, base_chunks); } + tern_node *device_overrides = tern_find_ptr(entry, "device_overrides"); + if (device_overrides) { + info.port1_override = tern_find_ptr(device_overrides, "1"); + info.port2_override = tern_find_ptr(device_overrides, "2"); + info.ext_override = tern_find_ptr(device_overrides, "ext"); + } else { + info.port1_override = info.port2_override = info.ext_override = NULL; + } + return info; } |