# asm-differ project config — BFM-decomp (SLUS_007.26, USA, PSX little-endian R3000). # # The matching oracle: diff one function's codegen in our build against the # byte-identical `expected/` baseline. Object mode (-o) is the default workflow: # .venv/bin/python tools/asm-differ/diff.py -mo # -m rebuild, -o vs object # Score 0 = matched (instruction-identical incl. regalloc); anything else = not matched. # # `expected/` is a snapshot of a SHA1-GREEN build (= the original bytes, since the # all-INCLUDE_ASM build is byte-identical). Re-snapshot it ONLY after a green build # (`make expected`) — a stale baseline causes phantom matches/regressions (SETUP.md §6.4). import os # Per-binary asm-differ images (Phase 9). asm-differ calls apply(config, args) with a fixed # signature we don't control, so the active binary is selected via the BFM_BINARY env var # (default main = the retail EXE; a Gen2 binary adds an entry + sets BFM_BINARY=). BINARIES = { "main": dict(baseimg="expected/build/us/SLUS_007.26.elf", myimg="build/us/SLUS_007.26.elf", mapfile="build/us/SLUS_007.26.map"), "resident": dict(baseimg="expected/build/resident/resident.elf", myimg="build/resident/resident.elf", mapfile="build/resident/resident.map"), "ov_SC01_077": dict(baseimg="expected/build/ov_SC01_077/ov_SC01_077.elf", myimg="build/ov_SC01_077/ov_SC01_077.elf", mapfile="build/ov_SC01_077/ov_SC01_077.map"), "ov_SC01_005": dict(baseimg="expected/build/ov_SC01_005/ov_SC01_005.elf", myimg="build/ov_SC01_005/ov_SC01_005.elf", mapfile="build/ov_SC01_005/ov_SC01_005.map"), "ov_SC01_006": dict(baseimg="expected/build/ov_SC01_006/ov_SC01_006.elf", myimg="build/ov_SC01_006/ov_SC01_006.elf", mapfile="build/ov_SC01_006/ov_SC01_006.map"), "ov_SC03_001": dict(baseimg="expected/build/ov_SC03_001/ov_SC03_001.elf", myimg="build/ov_SC03_001/ov_SC03_001.elf", mapfile="build/ov_SC03_001/ov_SC03_001.map"), "ov_SC01_000": dict(baseimg="expected/build/ov_SC01_000/ov_SC01_000.elf", myimg="build/ov_SC01_000/ov_SC01_000.elf", mapfile="build/ov_SC01_000/ov_SC01_000.map"), "ov_SC01_001": dict(baseimg="expected/build/ov_SC01_001/ov_SC01_001.elf", myimg="build/ov_SC01_001/ov_SC01_001.elf", mapfile="build/ov_SC01_001/ov_SC01_001.map"), "ov_SC02_000": dict(baseimg="expected/build/ov_SC02_000/ov_SC02_000.elf", myimg="build/ov_SC02_000/ov_SC02_000.elf", mapfile="build/ov_SC02_000/ov_SC02_000.map"), "ov_SC02_003": dict(baseimg="expected/build/ov_SC02_003/ov_SC02_003.elf", myimg="build/ov_SC02_003/ov_SC02_003.elf", mapfile="build/ov_SC02_003/ov_SC02_003.map"), "ov_SC03_002": dict(baseimg="expected/build/ov_SC03_002/ov_SC03_002.elf", myimg="build/ov_SC03_002/ov_SC03_002.elf", mapfile="build/ov_SC03_002/ov_SC03_002.map"), "ov_SC03_006": dict(baseimg="expected/build/ov_SC03_006/ov_SC03_006.elf", myimg="build/ov_SC03_006/ov_SC03_006.elf", mapfile="build/ov_SC03_006/ov_SC03_006.map"), "ov_SC04_000": dict(baseimg="expected/build/ov_SC04_000/ov_SC04_000.elf", myimg="build/ov_SC04_000/ov_SC04_000.elf", mapfile="build/ov_SC04_000/ov_SC04_000.map"), "ov_SC04_018": dict(baseimg="expected/build/ov_SC04_018/ov_SC04_018.elf", myimg="build/ov_SC04_018/ov_SC04_018.elf", mapfile="build/ov_SC04_018/ov_SC04_018.map"), "ov_SC04_019": dict(baseimg="expected/build/ov_SC04_019/ov_SC04_019.elf", myimg="build/ov_SC04_019/ov_SC04_019.elf", mapfile="build/ov_SC04_019/ov_SC04_019.map"), "ov_SC05_000": dict(baseimg="expected/build/ov_SC05_000/ov_SC05_000.elf", myimg="build/ov_SC05_000/ov_SC05_000.elf", mapfile="build/ov_SC05_000/ov_SC05_000.map"), "ov_SC06_000": dict(baseimg="expected/build/ov_SC06_000/ov_SC06_000.elf", myimg="build/ov_SC06_000/ov_SC06_000.elf", mapfile="build/ov_SC06_000/ov_SC06_000.map"), "ov_SC07_000": dict(baseimg="expected/build/ov_SC07_000/ov_SC07_000.elf", myimg="build/ov_SC07_000/ov_SC07_000.elf", mapfile="build/ov_SC07_000/ov_SC07_000.map"), "ov_SC01_004": dict(baseimg="expected/build/ov_SC01_004/ov_SC01_004.elf", myimg="build/ov_SC01_004/ov_SC01_004.elf", mapfile="build/ov_SC01_004/ov_SC01_004.map"), "ov_SC01_008": dict(baseimg="expected/build/ov_SC01_008/ov_SC01_008.elf", myimg="build/ov_SC01_008/ov_SC01_008.elf", mapfile="build/ov_SC01_008/ov_SC01_008.map"), "ov_SC01_009": dict(baseimg="expected/build/ov_SC01_009/ov_SC01_009.elf", myimg="build/ov_SC01_009/ov_SC01_009.elf", mapfile="build/ov_SC01_009/ov_SC01_009.map"), "ov_SC01_074": dict(baseimg="expected/build/ov_SC01_074/ov_SC01_074.elf", myimg="build/ov_SC01_074/ov_SC01_074.elf", mapfile="build/ov_SC01_074/ov_SC01_074.map"), "ov_SC01_080": dict(baseimg="expected/build/ov_SC01_080/ov_SC01_080.elf", myimg="build/ov_SC01_080/ov_SC01_080.elf", mapfile="build/ov_SC01_080/ov_SC01_080.map"), "ov_SC01_084": dict(baseimg="expected/build/ov_SC01_084/ov_SC01_084.elf", myimg="build/ov_SC01_084/ov_SC01_084.elf", mapfile="build/ov_SC01_084/ov_SC01_084.map"), "ov_SC02_004": dict(baseimg="expected/build/ov_SC02_004/ov_SC02_004.elf", myimg="build/ov_SC02_004/ov_SC02_004.elf", mapfile="build/ov_SC02_004/ov_SC02_004.map"), "ov_SC02_005": dict(baseimg="expected/build/ov_SC02_005/ov_SC02_005.elf", myimg="build/ov_SC02_005/ov_SC02_005.elf", mapfile="build/ov_SC02_005/ov_SC02_005.map"), "ov_SC02_011": dict(baseimg="expected/build/ov_SC02_011/ov_SC02_011.elf", myimg="build/ov_SC02_011/ov_SC02_011.elf", mapfile="build/ov_SC02_011/ov_SC02_011.map"), "ov_SC02_015": dict(baseimg="expected/build/ov_SC02_015/ov_SC02_015.elf", myimg="build/ov_SC02_015/ov_SC02_015.elf", mapfile="build/ov_SC02_015/ov_SC02_015.map"), "ov_SC02_016": dict(baseimg="expected/build/ov_SC02_016/ov_SC02_016.elf", myimg="build/ov_SC02_016/ov_SC02_016.elf", mapfile="build/ov_SC02_016/ov_SC02_016.map"), "ov_SC02_017": dict(baseimg="expected/build/ov_SC02_017/ov_SC02_017.elf", myimg="build/ov_SC02_017/ov_SC02_017.elf", mapfile="build/ov_SC02_017/ov_SC02_017.map"), "ov_SC02_021": dict(baseimg="expected/build/ov_SC02_021/ov_SC02_021.elf", myimg="build/ov_SC02_021/ov_SC02_021.elf", mapfile="build/ov_SC02_021/ov_SC02_021.map"), "ov_SC02_026": dict(baseimg="expected/build/ov_SC02_026/ov_SC02_026.elf", myimg="build/ov_SC02_026/ov_SC02_026.elf", mapfile="build/ov_SC02_026/ov_SC02_026.map"), "ov_SC02_027": dict(baseimg="expected/build/ov_SC02_027/ov_SC02_027.elf", myimg="build/ov_SC02_027/ov_SC02_027.elf", mapfile="build/ov_SC02_027/ov_SC02_027.map"), "ov_SC02_028": dict(baseimg="expected/build/ov_SC02_028/ov_SC02_028.elf", myimg="build/ov_SC02_028/ov_SC02_028.elf", mapfile="build/ov_SC02_028/ov_SC02_028.map"), "ov_SC02_031": dict(baseimg="expected/build/ov_SC02_031/ov_SC02_031.elf", myimg="build/ov_SC02_031/ov_SC02_031.elf", mapfile="build/ov_SC02_031/ov_SC02_031.map"), "ov_SC02_035": dict(baseimg="expected/build/ov_SC02_035/ov_SC02_035.elf", myimg="build/ov_SC02_035/ov_SC02_035.elf", mapfile="build/ov_SC02_035/ov_SC02_035.map"), "ov_SC02_039": dict(baseimg="expected/build/ov_SC02_039/ov_SC02_039.elf", myimg="build/ov_SC02_039/ov_SC02_039.elf", mapfile="build/ov_SC02_039/ov_SC02_039.map"), "ov_SC02_041": dict(baseimg="expected/build/ov_SC02_041/ov_SC02_041.elf", myimg="build/ov_SC02_041/ov_SC02_041.elf", mapfile="build/ov_SC02_041/ov_SC02_041.map"), "ov_SC03_003": dict(baseimg="expected/build/ov_SC03_003/ov_SC03_003.elf", myimg="build/ov_SC03_003/ov_SC03_003.elf", mapfile="build/ov_SC03_003/ov_SC03_003.map"), "ov_SC03_007": dict(baseimg="expected/build/ov_SC03_007/ov_SC03_007.elf", myimg="build/ov_SC03_007/ov_SC03_007.elf", mapfile="build/ov_SC03_007/ov_SC03_007.map"), "ov_SC03_010": dict(baseimg="expected/build/ov_SC03_010/ov_SC03_010.elf", myimg="build/ov_SC03_010/ov_SC03_010.elf", mapfile="build/ov_SC03_010/ov_SC03_010.map"), "ov_SC03_011": dict(baseimg="expected/build/ov_SC03_011/ov_SC03_011.elf", myimg="build/ov_SC03_011/ov_SC03_011.elf", mapfile="build/ov_SC03_011/ov_SC03_011.map"), "ov_SC03_012": dict(baseimg="expected/build/ov_SC03_012/ov_SC03_012.elf", myimg="build/ov_SC03_012/ov_SC03_012.elf", mapfile="build/ov_SC03_012/ov_SC03_012.map"), "ov_SC03_013": dict(baseimg="expected/build/ov_SC03_013/ov_SC03_013.elf", myimg="build/ov_SC03_013/ov_SC03_013.elf", mapfile="build/ov_SC03_013/ov_SC03_013.map"), "ov_SC03_014": dict(baseimg="expected/build/ov_SC03_014/ov_SC03_014.elf", myimg="build/ov_SC03_014/ov_SC03_014.elf", mapfile="build/ov_SC03_014/ov_SC03_014.map"), "ov_SC03_015": dict(baseimg="expected/build/ov_SC03_015/ov_SC03_015.elf", myimg="build/ov_SC03_015/ov_SC03_015.elf", mapfile="build/ov_SC03_015/ov_SC03_015.map"), "ov_SC03_023": dict(baseimg="expected/build/ov_SC03_023/ov_SC03_023.elf", myimg="build/ov_SC03_023/ov_SC03_023.elf", mapfile="build/ov_SC03_023/ov_SC03_023.map"), "ov_SC03_024": dict(baseimg="expected/build/ov_SC03_024/ov_SC03_024.elf", myimg="build/ov_SC03_024/ov_SC03_024.elf", mapfile="build/ov_SC03_024/ov_SC03_024.map"), "ov_SC03_028": dict(baseimg="expected/build/ov_SC03_028/ov_SC03_028.elf", myimg="build/ov_SC03_028/ov_SC03_028.elf", mapfile="build/ov_SC03_028/ov_SC03_028.map"), "ov_SC03_029": dict(baseimg="expected/build/ov_SC03_029/ov_SC03_029.elf", myimg="build/ov_SC03_029/ov_SC03_029.elf", mapfile="build/ov_SC03_029/ov_SC03_029.map"), "ov_SC03_030": dict(baseimg="expected/build/ov_SC03_030/ov_SC03_030.elf", myimg="build/ov_SC03_030/ov_SC03_030.elf", mapfile="build/ov_SC03_030/ov_SC03_030.map"), "ov_SC03_031": dict(baseimg="expected/build/ov_SC03_031/ov_SC03_031.elf", myimg="build/ov_SC03_031/ov_SC03_031.elf", mapfile="build/ov_SC03_031/ov_SC03_031.map"), "ov_SC03_089": dict(baseimg="expected/build/ov_SC03_089/ov_SC03_089.elf", myimg="build/ov_SC03_089/ov_SC03_089.elf", mapfile="build/ov_SC03_089/ov_SC03_089.map"), "ov_SC03_090": dict(baseimg="expected/build/ov_SC03_090/ov_SC03_090.elf", myimg="build/ov_SC03_090/ov_SC03_090.elf", mapfile="build/ov_SC03_090/ov_SC03_090.map"), "ov_SC03_091": dict(baseimg="expected/build/ov_SC03_091/ov_SC03_091.elf", myimg="build/ov_SC03_091/ov_SC03_091.elf", mapfile="build/ov_SC03_091/ov_SC03_091.map"), "ov_SC03_092": dict(baseimg="expected/build/ov_SC03_092/ov_SC03_092.elf", myimg="build/ov_SC03_092/ov_SC03_092.elf", mapfile="build/ov_SC03_092/ov_SC03_092.map"), "ov_SC03_093": dict(baseimg="expected/build/ov_SC03_093/ov_SC03_093.elf", myimg="build/ov_SC03_093/ov_SC03_093.elf", mapfile="build/ov_SC03_093/ov_SC03_093.map"), "ov_SC03_094": dict(baseimg="expected/build/ov_SC03_094/ov_SC03_094.elf", myimg="build/ov_SC03_094/ov_SC03_094.elf", mapfile="build/ov_SC03_094/ov_SC03_094.map"), "ov_SC03_095": dict(baseimg="expected/build/ov_SC03_095/ov_SC03_095.elf", myimg="build/ov_SC03_095/ov_SC03_095.elf", mapfile="build/ov_SC03_095/ov_SC03_095.map"), "ov_SC03_096": dict(baseimg="expected/build/ov_SC03_096/ov_SC03_096.elf", myimg="build/ov_SC03_096/ov_SC03_096.elf", mapfile="build/ov_SC03_096/ov_SC03_096.map"), "ov_SC03_097": dict(baseimg="expected/build/ov_SC03_097/ov_SC03_097.elf", myimg="build/ov_SC03_097/ov_SC03_097.elf", mapfile="build/ov_SC03_097/ov_SC03_097.map"), "ov_SC03_098": dict(baseimg="expected/build/ov_SC03_098/ov_SC03_098.elf", myimg="build/ov_SC03_098/ov_SC03_098.elf", mapfile="build/ov_SC03_098/ov_SC03_098.map"), "ov_SC03_099": dict(baseimg="expected/build/ov_SC03_099/ov_SC03_099.elf", myimg="build/ov_SC03_099/ov_SC03_099.elf", mapfile="build/ov_SC03_099/ov_SC03_099.map"), "ov_SC03_100": dict(baseimg="expected/build/ov_SC03_100/ov_SC03_100.elf", myimg="build/ov_SC03_100/ov_SC03_100.elf", mapfile="build/ov_SC03_100/ov_SC03_100.map"), "ov_SC03_101": dict(baseimg="expected/build/ov_SC03_101/ov_SC03_101.elf", myimg="build/ov_SC03_101/ov_SC03_101.elf", mapfile="build/ov_SC03_101/ov_SC03_101.map"), "ov_SC03_102": dict(baseimg="expected/build/ov_SC03_102/ov_SC03_102.elf", myimg="build/ov_SC03_102/ov_SC03_102.elf", mapfile="build/ov_SC03_102/ov_SC03_102.map"), "ov_SC03_103": dict(baseimg="expected/build/ov_SC03_103/ov_SC03_103.elf", myimg="build/ov_SC03_103/ov_SC03_103.elf", mapfile="build/ov_SC03_103/ov_SC03_103.map"), "ov_SC03_104": dict(baseimg="expected/build/ov_SC03_104/ov_SC03_104.elf", myimg="build/ov_SC03_104/ov_SC03_104.elf", mapfile="build/ov_SC03_104/ov_SC03_104.map"), "ov_SC03_105": dict(baseimg="expected/build/ov_SC03_105/ov_SC03_105.elf", myimg="build/ov_SC03_105/ov_SC03_105.elf", mapfile="build/ov_SC03_105/ov_SC03_105.map"), "ov_SC03_108": dict(baseimg="expected/build/ov_SC03_108/ov_SC03_108.elf", myimg="build/ov_SC03_108/ov_SC03_108.elf", mapfile="build/ov_SC03_108/ov_SC03_108.map"), "ov_SC03_109": dict(baseimg="expected/build/ov_SC03_109/ov_SC03_109.elf", myimg="build/ov_SC03_109/ov_SC03_109.elf", mapfile="build/ov_SC03_109/ov_SC03_109.map"), "ov_SC03_110": dict(baseimg="expected/build/ov_SC03_110/ov_SC03_110.elf", myimg="build/ov_SC03_110/ov_SC03_110.elf", mapfile="build/ov_SC03_110/ov_SC03_110.map"), "ov_SC03_111": dict(baseimg="expected/build/ov_SC03_111/ov_SC03_111.elf", myimg="build/ov_SC03_111/ov_SC03_111.elf", mapfile="build/ov_SC03_111/ov_SC03_111.map"), "ov_SC03_112": dict(baseimg="expected/build/ov_SC03_112/ov_SC03_112.elf", myimg="build/ov_SC03_112/ov_SC03_112.elf", mapfile="build/ov_SC03_112/ov_SC03_112.map"), "ov_SC03_113": dict(baseimg="expected/build/ov_SC03_113/ov_SC03_113.elf", myimg="build/ov_SC03_113/ov_SC03_113.elf", mapfile="build/ov_SC03_113/ov_SC03_113.map"), "ov_SC03_114": dict(baseimg="expected/build/ov_SC03_114/ov_SC03_114.elf", myimg="build/ov_SC03_114/ov_SC03_114.elf", mapfile="build/ov_SC03_114/ov_SC03_114.map"), "ov_SC03_115": dict(baseimg="expected/build/ov_SC03_115/ov_SC03_115.elf", myimg="build/ov_SC03_115/ov_SC03_115.elf", mapfile="build/ov_SC03_115/ov_SC03_115.map"), "ov_SC03_116": dict(baseimg="expected/build/ov_SC03_116/ov_SC03_116.elf", myimg="build/ov_SC03_116/ov_SC03_116.elf", mapfile="build/ov_SC03_116/ov_SC03_116.map"), "ov_SC03_117": dict(baseimg="expected/build/ov_SC03_117/ov_SC03_117.elf", myimg="build/ov_SC03_117/ov_SC03_117.elf", mapfile="build/ov_SC03_117/ov_SC03_117.map"), "ov_SC03_118": dict(baseimg="expected/build/ov_SC03_118/ov_SC03_118.elf", myimg="build/ov_SC03_118/ov_SC03_118.elf", mapfile="build/ov_SC03_118/ov_SC03_118.map"), "ov_SC03_119": dict(baseimg="expected/build/ov_SC03_119/ov_SC03_119.elf", myimg="build/ov_SC03_119/ov_SC03_119.elf", mapfile="build/ov_SC03_119/ov_SC03_119.map"), "ov_SC03_121": dict(baseimg="expected/build/ov_SC03_121/ov_SC03_121.elf", myimg="build/ov_SC03_121/ov_SC03_121.elf", mapfile="build/ov_SC03_121/ov_SC03_121.map"), "ov_SC03_124": dict(baseimg="expected/build/ov_SC03_124/ov_SC03_124.elf", myimg="build/ov_SC03_124/ov_SC03_124.elf", mapfile="build/ov_SC03_124/ov_SC03_124.map"), "ov_SC03_125": dict(baseimg="expected/build/ov_SC03_125/ov_SC03_125.elf", myimg="build/ov_SC03_125/ov_SC03_125.elf", mapfile="build/ov_SC03_125/ov_SC03_125.map"), "ov_SC03_126": dict(baseimg="expected/build/ov_SC03_126/ov_SC03_126.elf", myimg="build/ov_SC03_126/ov_SC03_126.elf", mapfile="build/ov_SC03_126/ov_SC03_126.map"), "ov_SC04_002": dict(baseimg="expected/build/ov_SC04_002/ov_SC04_002.elf", myimg="build/ov_SC04_002/ov_SC04_002.elf", mapfile="build/ov_SC04_002/ov_SC04_002.map"), "ov_SC04_003": dict(baseimg="expected/build/ov_SC04_003/ov_SC04_003.elf", myimg="build/ov_SC04_003/ov_SC04_003.elf", mapfile="build/ov_SC04_003/ov_SC04_003.map"), "ov_SC04_004": dict(baseimg="expected/build/ov_SC04_004/ov_SC04_004.elf", myimg="build/ov_SC04_004/ov_SC04_004.elf", mapfile="build/ov_SC04_004/ov_SC04_004.map"), "ov_SC04_005": dict(baseimg="expected/build/ov_SC04_005/ov_SC04_005.elf", myimg="build/ov_SC04_005/ov_SC04_005.elf", mapfile="build/ov_SC04_005/ov_SC04_005.map"), "ov_SC04_006": dict(baseimg="expected/build/ov_SC04_006/ov_SC04_006.elf", myimg="build/ov_SC04_006/ov_SC04_006.elf", mapfile="build/ov_SC04_006/ov_SC04_006.map"), "ov_SC04_007": dict(baseimg="expected/build/ov_SC04_007/ov_SC04_007.elf", myimg="build/ov_SC04_007/ov_SC04_007.elf", mapfile="build/ov_SC04_007/ov_SC04_007.map"), "ov_SC04_008": dict(baseimg="expected/build/ov_SC04_008/ov_SC04_008.elf", myimg="build/ov_SC04_008/ov_SC04_008.elf", mapfile="build/ov_SC04_008/ov_SC04_008.map"), "ov_SC04_009": dict(baseimg="expected/build/ov_SC04_009/ov_SC04_009.elf", myimg="build/ov_SC04_009/ov_SC04_009.elf", mapfile="build/ov_SC04_009/ov_SC04_009.map"), "ov_SC04_010": dict(baseimg="expected/build/ov_SC04_010/ov_SC04_010.elf", myimg="build/ov_SC04_010/ov_SC04_010.elf", mapfile="build/ov_SC04_010/ov_SC04_010.map"), "ov_SC04_011": dict(baseimg="expected/build/ov_SC04_011/ov_SC04_011.elf", myimg="build/ov_SC04_011/ov_SC04_011.elf", mapfile="build/ov_SC04_011/ov_SC04_011.map"), "ov_SC04_012": dict(baseimg="expected/build/ov_SC04_012/ov_SC04_012.elf", myimg="build/ov_SC04_012/ov_SC04_012.elf", mapfile="build/ov_SC04_012/ov_SC04_012.map"), "ov_SC04_015": dict(baseimg="expected/build/ov_SC04_015/ov_SC04_015.elf", myimg="build/ov_SC04_015/ov_SC04_015.elf", mapfile="build/ov_SC04_015/ov_SC04_015.map"), "ov_SC04_016": dict(baseimg="expected/build/ov_SC04_016/ov_SC04_016.elf", myimg="build/ov_SC04_016/ov_SC04_016.elf", mapfile="build/ov_SC04_016/ov_SC04_016.map"), "ov_SC04_020": dict(baseimg="expected/build/ov_SC04_020/ov_SC04_020.elf", myimg="build/ov_SC04_020/ov_SC04_020.elf", mapfile="build/ov_SC04_020/ov_SC04_020.map"), "ov_SC04_021": dict(baseimg="expected/build/ov_SC04_021/ov_SC04_021.elf", myimg="build/ov_SC04_021/ov_SC04_021.elf", mapfile="build/ov_SC04_021/ov_SC04_021.map"), "ov_SC05_001": dict(baseimg="expected/build/ov_SC05_001/ov_SC05_001.elf", myimg="build/ov_SC05_001/ov_SC05_001.elf", mapfile="build/ov_SC05_001/ov_SC05_001.map"), "ov_SC05_002": dict(baseimg="expected/build/ov_SC05_002/ov_SC05_002.elf", myimg="build/ov_SC05_002/ov_SC05_002.elf", mapfile="build/ov_SC05_002/ov_SC05_002.map"), "ov_SC05_003": dict(baseimg="expected/build/ov_SC05_003/ov_SC05_003.elf", myimg="build/ov_SC05_003/ov_SC05_003.elf", mapfile="build/ov_SC05_003/ov_SC05_003.map"), "ov_SC05_004": dict(baseimg="expected/build/ov_SC05_004/ov_SC05_004.elf", myimg="build/ov_SC05_004/ov_SC05_004.elf", mapfile="build/ov_SC05_004/ov_SC05_004.map"), "ov_SC05_005": dict(baseimg="expected/build/ov_SC05_005/ov_SC05_005.elf", myimg="build/ov_SC05_005/ov_SC05_005.elf", mapfile="build/ov_SC05_005/ov_SC05_005.map"), "ov_SC05_006": dict(baseimg="expected/build/ov_SC05_006/ov_SC05_006.elf", myimg="build/ov_SC05_006/ov_SC05_006.elf", mapfile="build/ov_SC05_006/ov_SC05_006.map"), "ov_SC05_007": dict(baseimg="expected/build/ov_SC05_007/ov_SC05_007.elf", myimg="build/ov_SC05_007/ov_SC05_007.elf", mapfile="build/ov_SC05_007/ov_SC05_007.map"), "ov_SC05_008": dict(baseimg="expected/build/ov_SC05_008/ov_SC05_008.elf", myimg="build/ov_SC05_008/ov_SC05_008.elf", mapfile="build/ov_SC05_008/ov_SC05_008.map"), "ov_SC05_009": dict(baseimg="expected/build/ov_SC05_009/ov_SC05_009.elf", myimg="build/ov_SC05_009/ov_SC05_009.elf", mapfile="build/ov_SC05_009/ov_SC05_009.map"), "ov_SC05_010": dict(baseimg="expected/build/ov_SC05_010/ov_SC05_010.elf", myimg="build/ov_SC05_010/ov_SC05_010.elf", mapfile="build/ov_SC05_010/ov_SC05_010.map"), "ov_SC05_011": dict(baseimg="expected/build/ov_SC05_011/ov_SC05_011.elf", myimg="build/ov_SC05_011/ov_SC05_011.elf", mapfile="build/ov_SC05_011/ov_SC05_011.map"), "ov_SC05_017": dict(baseimg="expected/build/ov_SC05_017/ov_SC05_017.elf", myimg="build/ov_SC05_017/ov_SC05_017.elf", mapfile="build/ov_SC05_017/ov_SC05_017.map"), "ov_SC05_018": dict(baseimg="expected/build/ov_SC05_018/ov_SC05_018.elf", myimg="build/ov_SC05_018/ov_SC05_018.elf", mapfile="build/ov_SC05_018/ov_SC05_018.map"), "ov_SC05_019": dict(baseimg="expected/build/ov_SC05_019/ov_SC05_019.elf", myimg="build/ov_SC05_019/ov_SC05_019.elf", mapfile="build/ov_SC05_019/ov_SC05_019.map"), "ov_SC06_006": dict(baseimg="expected/build/ov_SC06_006/ov_SC06_006.elf", myimg="build/ov_SC06_006/ov_SC06_006.elf", mapfile="build/ov_SC06_006/ov_SC06_006.map"), "ov_SC06_008": dict(baseimg="expected/build/ov_SC06_008/ov_SC06_008.elf", myimg="build/ov_SC06_008/ov_SC06_008.elf", mapfile="build/ov_SC06_008/ov_SC06_008.map"), "ov_SC06_010": dict(baseimg="expected/build/ov_SC06_010/ov_SC06_010.elf", myimg="build/ov_SC06_010/ov_SC06_010.elf", mapfile="build/ov_SC06_010/ov_SC06_010.map"), "ov_SC06_011": dict(baseimg="expected/build/ov_SC06_011/ov_SC06_011.elf", myimg="build/ov_SC06_011/ov_SC06_011.elf", mapfile="build/ov_SC06_011/ov_SC06_011.map"), "ov_SC06_013": dict(baseimg="expected/build/ov_SC06_013/ov_SC06_013.elf", myimg="build/ov_SC06_013/ov_SC06_013.elf", mapfile="build/ov_SC06_013/ov_SC06_013.map"), "ov_SC06_014": dict(baseimg="expected/build/ov_SC06_014/ov_SC06_014.elf", myimg="build/ov_SC06_014/ov_SC06_014.elf", mapfile="build/ov_SC06_014/ov_SC06_014.map"), "ov_SC06_015": dict(baseimg="expected/build/ov_SC06_015/ov_SC06_015.elf", myimg="build/ov_SC06_015/ov_SC06_015.elf", mapfile="build/ov_SC06_015/ov_SC06_015.map"), "ov_SC06_016": dict(baseimg="expected/build/ov_SC06_016/ov_SC06_016.elf", myimg="build/ov_SC06_016/ov_SC06_016.elf", mapfile="build/ov_SC06_016/ov_SC06_016.map"), "ov_SC06_018": dict(baseimg="expected/build/ov_SC06_018/ov_SC06_018.elf", myimg="build/ov_SC06_018/ov_SC06_018.elf", mapfile="build/ov_SC06_018/ov_SC06_018.map"), "ov_SC06_020": dict(baseimg="expected/build/ov_SC06_020/ov_SC06_020.elf", myimg="build/ov_SC06_020/ov_SC06_020.elf", mapfile="build/ov_SC06_020/ov_SC06_020.map"), "ov_SC06_022": dict(baseimg="expected/build/ov_SC06_022/ov_SC06_022.elf", myimg="build/ov_SC06_022/ov_SC06_022.elf", mapfile="build/ov_SC06_022/ov_SC06_022.map"), "ov_SC06_024": dict(baseimg="expected/build/ov_SC06_024/ov_SC06_024.elf", myimg="build/ov_SC06_024/ov_SC06_024.elf", mapfile="build/ov_SC06_024/ov_SC06_024.map"), "ov_SC06_025": dict(baseimg="expected/build/ov_SC06_025/ov_SC06_025.elf", myimg="build/ov_SC06_025/ov_SC06_025.elf", mapfile="build/ov_SC06_025/ov_SC06_025.map"), "ov_SC06_027": dict(baseimg="expected/build/ov_SC06_027/ov_SC06_027.elf", myimg="build/ov_SC06_027/ov_SC06_027.elf", mapfile="build/ov_SC06_027/ov_SC06_027.map"), "ov_SC06_029": dict(baseimg="expected/build/ov_SC06_029/ov_SC06_029.elf", myimg="build/ov_SC06_029/ov_SC06_029.elf", mapfile="build/ov_SC06_029/ov_SC06_029.map"), "ov_SC06_030": dict(baseimg="expected/build/ov_SC06_030/ov_SC06_030.elf", myimg="build/ov_SC06_030/ov_SC06_030.elf", mapfile="build/ov_SC06_030/ov_SC06_030.map"), "ov_SC06_032": dict(baseimg="expected/build/ov_SC06_032/ov_SC06_032.elf", myimg="build/ov_SC06_032/ov_SC06_032.elf", mapfile="build/ov_SC06_032/ov_SC06_032.map"), "ov_SC06_033": dict(baseimg="expected/build/ov_SC06_033/ov_SC06_033.elf", myimg="build/ov_SC06_033/ov_SC06_033.elf", mapfile="build/ov_SC06_033/ov_SC06_033.map"), "ov_SC07_001": dict(baseimg="expected/build/ov_SC07_001/ov_SC07_001.elf", myimg="build/ov_SC07_001/ov_SC07_001.elf", mapfile="build/ov_SC07_001/ov_SC07_001.map"), "ov_SC07_002": dict(baseimg="expected/build/ov_SC07_002/ov_SC07_002.elf", myimg="build/ov_SC07_002/ov_SC07_002.elf", mapfile="build/ov_SC07_002/ov_SC07_002.map"), "ov_SC07_008": dict(baseimg="expected/build/ov_SC07_008/ov_SC07_008.elf", myimg="build/ov_SC07_008/ov_SC07_008.elf", mapfile="build/ov_SC07_008/ov_SC07_008.map"), "ov_SC07_009": dict(baseimg="expected/build/ov_SC07_009/ov_SC07_009.elf", myimg="build/ov_SC07_009/ov_SC07_009.elf", mapfile="build/ov_SC07_009/ov_SC07_009.map"), "ov_SC07_006": dict(baseimg="expected/build/ov_SC07_006/ov_SC07_006.elf", myimg="build/ov_SC07_006/ov_SC07_006.elf", mapfile="build/ov_SC07_006/ov_SC07_006.map"), "ov_SC07_007": dict(baseimg="expected/build/ov_SC07_007/ov_SC07_007.elf", myimg="build/ov_SC07_007/ov_SC07_007.elf", mapfile="build/ov_SC07_007/ov_SC07_007.map"), "ov_SC07_010": dict(baseimg="expected/build/ov_SC07_010/ov_SC07_010.elf", myimg="build/ov_SC07_010/ov_SC07_010.elf", mapfile="build/ov_SC07_010/ov_SC07_010.map"), "ov_SC07_011": dict(baseimg="expected/build/ov_SC07_011/ov_SC07_011.elf", myimg="build/ov_SC07_011/ov_SC07_011.elf", mapfile="build/ov_SC07_011/ov_SC07_011.map"), "ov_MAIN_012": dict(baseimg="expected/build/ov_MAIN_012/ov_MAIN_012.elf", myimg="build/ov_MAIN_012/ov_MAIN_012.elf", mapfile="build/ov_MAIN_012/ov_MAIN_012.map"), "ov_SC02_037": dict(baseimg="expected/build/ov_SC02_037/ov_SC02_037.elf", myimg="build/ov_SC02_037/ov_SC02_037.elf", mapfile="build/ov_SC02_037/ov_SC02_037.map"), "ov_SC03_107": dict(baseimg="expected/build/ov_SC03_107/ov_SC03_107.elf", myimg="build/ov_SC03_107/ov_SC03_107.elf", mapfile="build/ov_SC03_107/ov_SC03_107.map"), "md_MAIN_013": dict(baseimg="expected/build/md_MAIN_013/md_MAIN_013.elf", myimg="build/md_MAIN_013/md_MAIN_013.elf", mapfile="build/md_MAIN_013/md_MAIN_013.map"), "md_MAIN_014": dict(baseimg="expected/build/md_MAIN_014/md_MAIN_014.elf", myimg="build/md_MAIN_014/md_MAIN_014.elf", mapfile="build/md_MAIN_014/md_MAIN_014.map"), "md_MAIN_015": dict(baseimg="expected/build/md_MAIN_015/md_MAIN_015.elf", myimg="build/md_MAIN_015/md_MAIN_015.elf", mapfile="build/md_MAIN_015/md_MAIN_015.map"), "md_MAIN_016": dict(baseimg="expected/build/md_MAIN_016/md_MAIN_016.elf", myimg="build/md_MAIN_016/md_MAIN_016.elf", mapfile="build/md_MAIN_016/md_MAIN_016.map"), "md_MAIN_017": dict(baseimg="expected/build/md_MAIN_017/md_MAIN_017.elf", myimg="build/md_MAIN_017/md_MAIN_017.elf", mapfile="build/md_MAIN_017/md_MAIN_017.map"), "md_MAIN_018": dict(baseimg="expected/build/md_MAIN_018/md_MAIN_018.elf", myimg="build/md_MAIN_018/md_MAIN_018.elf", mapfile="build/md_MAIN_018/md_MAIN_018.map"), "md_MAIN_019": dict(baseimg="expected/build/md_MAIN_019/md_MAIN_019.elf", myimg="build/md_MAIN_019/md_MAIN_019.elf", mapfile="build/md_MAIN_019/md_MAIN_019.map"), "md_MAIN_020": dict(baseimg="expected/build/md_MAIN_020/md_MAIN_020.elf", myimg="build/md_MAIN_020/md_MAIN_020.elf", mapfile="build/md_MAIN_020/md_MAIN_020.map"), "md_MAIN_021": dict(baseimg="expected/build/md_MAIN_021/md_MAIN_021.elf", myimg="build/md_MAIN_021/md_MAIN_021.elf", mapfile="build/md_MAIN_021/md_MAIN_021.map"), "md_MAIN_022": dict(baseimg="expected/build/md_MAIN_022/md_MAIN_022.elf", myimg="build/md_MAIN_022/md_MAIN_022.elf", mapfile="build/md_MAIN_022/md_MAIN_022.map"), "md_MAIN_023": dict(baseimg="expected/build/md_MAIN_023/md_MAIN_023.elf", myimg="build/md_MAIN_023/md_MAIN_023.elf", mapfile="build/md_MAIN_023/md_MAIN_023.map"), "md_MAIN_024": dict(baseimg="expected/build/md_MAIN_024/md_MAIN_024.elf", myimg="build/md_MAIN_024/md_MAIN_024.elf", mapfile="build/md_MAIN_024/md_MAIN_024.map"), "md_MAIN_025": dict(baseimg="expected/build/md_MAIN_025/md_MAIN_025.elf", myimg="build/md_MAIN_025/md_MAIN_025.elf", mapfile="build/md_MAIN_025/md_MAIN_025.map"), "md_MAIN_026": dict(baseimg="expected/build/md_MAIN_026/md_MAIN_026.elf", myimg="build/md_MAIN_026/md_MAIN_026.elf", mapfile="build/md_MAIN_026/md_MAIN_026.map"), "md_MAIN_027": dict(baseimg="expected/build/md_MAIN_027/md_MAIN_027.elf", myimg="build/md_MAIN_027/md_MAIN_027.elf", mapfile="build/md_MAIN_027/md_MAIN_027.map"), "md_MAIN_028": dict(baseimg="expected/build/md_MAIN_028/md_MAIN_028.elf", myimg="build/md_MAIN_028/md_MAIN_028.elf", mapfile="build/md_MAIN_028/md_MAIN_028.map"), "md_MAIN_029": dict(baseimg="expected/build/md_MAIN_029/md_MAIN_029.elf", myimg="build/md_MAIN_029/md_MAIN_029.elf", mapfile="build/md_MAIN_029/md_MAIN_029.map"), "md_MAIN_030": dict(baseimg="expected/build/md_MAIN_030/md_MAIN_030.elf", myimg="build/md_MAIN_030/md_MAIN_030.elf", mapfile="build/md_MAIN_030/md_MAIN_030.map"), "md_MAIN_031": dict(baseimg="expected/build/md_MAIN_031/md_MAIN_031.elf", myimg="build/md_MAIN_031/md_MAIN_031.elf", mapfile="build/md_MAIN_031/md_MAIN_031.map"), "md_MAIN_032": dict(baseimg="expected/build/md_MAIN_032/md_MAIN_032.elf", myimg="build/md_MAIN_032/md_MAIN_032.elf", mapfile="build/md_MAIN_032/md_MAIN_032.map"), "md_MAIN_033": dict(baseimg="expected/build/md_MAIN_033/md_MAIN_033.elf", myimg="build/md_MAIN_033/md_MAIN_033.elf", mapfile="build/md_MAIN_033/md_MAIN_033.map"), "md_MAIN_034": dict(baseimg="expected/build/md_MAIN_034/md_MAIN_034.elf", myimg="build/md_MAIN_034/md_MAIN_034.elf", mapfile="build/md_MAIN_034/md_MAIN_034.map"), "md_MAIN_035": dict(baseimg="expected/build/md_MAIN_035/md_MAIN_035.elf", myimg="build/md_MAIN_035/md_MAIN_035.elf", mapfile="build/md_MAIN_035/md_MAIN_035.map"), "md_MAIN_036": dict(baseimg="expected/build/md_MAIN_036/md_MAIN_036.elf", myimg="build/md_MAIN_036/md_MAIN_036.elf", mapfile="build/md_MAIN_036/md_MAIN_036.map"), "md_MAIN_037": dict(baseimg="expected/build/md_MAIN_037/md_MAIN_037.elf", myimg="build/md_MAIN_037/md_MAIN_037.elf", mapfile="build/md_MAIN_037/md_MAIN_037.map"), "md_MAIN_038": dict(baseimg="expected/build/md_MAIN_038/md_MAIN_038.elf", myimg="build/md_MAIN_038/md_MAIN_038.elf", mapfile="build/md_MAIN_038/md_MAIN_038.map"), "md_MAIN_039": dict(baseimg="expected/build/md_MAIN_039/md_MAIN_039.elf", myimg="build/md_MAIN_039/md_MAIN_039.elf", mapfile="build/md_MAIN_039/md_MAIN_039.map"), "md_MAIN_040": dict(baseimg="expected/build/md_MAIN_040/md_MAIN_040.elf", myimg="build/md_MAIN_040/md_MAIN_040.elf", mapfile="build/md_MAIN_040/md_MAIN_040.map"), "md_MAIN_041": dict(baseimg="expected/build/md_MAIN_041/md_MAIN_041.elf", myimg="build/md_MAIN_041/md_MAIN_041.elf", mapfile="build/md_MAIN_041/md_MAIN_041.map"), "md_MAIN_042": dict(baseimg="expected/build/md_MAIN_042/md_MAIN_042.elf", myimg="build/md_MAIN_042/md_MAIN_042.elf", mapfile="build/md_MAIN_042/md_MAIN_042.map"), "md_MAIN_043": dict(baseimg="expected/build/md_MAIN_043/md_MAIN_043.elf", myimg="build/md_MAIN_043/md_MAIN_043.elf", mapfile="build/md_MAIN_043/md_MAIN_043.map"), "md_MAIN_044": dict(baseimg="expected/build/md_MAIN_044/md_MAIN_044.elf", myimg="build/md_MAIN_044/md_MAIN_044.elf", mapfile="build/md_MAIN_044/md_MAIN_044.map"), "md_MAIN_045": dict(baseimg="expected/build/md_MAIN_045/md_MAIN_045.elf", myimg="build/md_MAIN_045/md_MAIN_045.elf", mapfile="build/md_MAIN_045/md_MAIN_045.map"), "md_MAIN_046": dict(baseimg="expected/build/md_MAIN_046/md_MAIN_046.elf", myimg="build/md_MAIN_046/md_MAIN_046.elf", mapfile="build/md_MAIN_046/md_MAIN_046.map"), "md_MAIN_047": dict(baseimg="expected/build/md_MAIN_047/md_MAIN_047.elf", myimg="build/md_MAIN_047/md_MAIN_047.elf", mapfile="build/md_MAIN_047/md_MAIN_047.map"), "md_MAIN_001": dict(baseimg="expected/build/md_MAIN_001/md_MAIN_001.elf", myimg="build/md_MAIN_001/md_MAIN_001.elf", mapfile="build/md_MAIN_001/md_MAIN_001.map"), "md_MAIN_008": dict(baseimg="expected/build/md_MAIN_008/md_MAIN_008.elf", myimg="build/md_MAIN_008/md_MAIN_008.elf", mapfile="build/md_MAIN_008/md_MAIN_008.map"), "md_MAIN_011": dict(baseimg="expected/build/md_MAIN_011/md_MAIN_011.elf", myimg="build/md_MAIN_011/md_MAIN_011.elf", mapfile="build/md_MAIN_011/md_MAIN_011.map"), "md_SC07_003": dict(baseimg="expected/build/md_SC07_003/md_SC07_003.elf", myimg="build/md_SC07_003/md_SC07_003.elf", mapfile="build/md_SC07_003/md_SC07_003.map"), "md_SC07_004": dict(baseimg="expected/build/md_SC07_004/md_SC07_004.elf", myimg="build/md_SC07_004/md_SC07_004.elf", mapfile="build/md_SC07_004/md_SC07_004.map"), "md_MAIN_003": dict(baseimg="expected/build/md_MAIN_003/md_MAIN_003.elf", myimg="build/md_MAIN_003/md_MAIN_003.elf", mapfile="build/md_MAIN_003/md_MAIN_003.map"), "md_SC03_073": dict(baseimg="expected/build/md_SC03_073/md_SC03_073.elf", myimg="build/md_SC03_073/md_SC03_073.elf", mapfile="build/md_SC03_073/md_SC03_073.map"), "md_SC03_074": dict(baseimg="expected/build/md_SC03_074/md_SC03_074.elf", myimg="build/md_SC03_074/md_SC03_074.elf", mapfile="build/md_SC03_074/md_SC03_074.map"), "md_SC03_075": dict(baseimg="expected/build/md_SC03_075/md_SC03_075.elf", myimg="build/md_SC03_075/md_SC03_075.elf", mapfile="build/md_SC03_075/md_SC03_075.map"), "md_SC03_076": dict(baseimg="expected/build/md_SC03_076/md_SC03_076.elf", myimg="build/md_SC03_076/md_SC03_076.elf", mapfile="build/md_SC03_076/md_SC03_076.map"), "md_SC03_077": dict(baseimg="expected/build/md_SC03_077/md_SC03_077.elf", myimg="build/md_SC03_077/md_SC03_077.elf", mapfile="build/md_SC03_077/md_SC03_077.map"), "md_SC03_078": dict(baseimg="expected/build/md_SC03_078/md_SC03_078.elf", myimg="build/md_SC03_078/md_SC03_078.elf", mapfile="build/md_SC03_078/md_SC03_078.map"), "md_SC03_079": dict(baseimg="expected/build/md_SC03_079/md_SC03_079.elf", myimg="build/md_SC03_079/md_SC03_079.elf", mapfile="build/md_SC03_079/md_SC03_079.map"), "md_SC03_132": dict(baseimg="expected/build/md_SC03_132/md_SC03_132.elf", myimg="build/md_SC03_132/md_SC03_132.elf", mapfile="build/md_SC03_132/md_SC03_132.map"), "md_SC03_133": dict(baseimg="expected/build/md_SC03_133/md_SC03_133.elf", myimg="build/md_SC03_133/md_SC03_133.elf", mapfile="build/md_SC03_133/md_SC03_133.map"), "md_SC03_134": dict(baseimg="expected/build/md_SC03_134/md_SC03_134.elf", myimg="build/md_SC03_134/md_SC03_134.elf", mapfile="build/md_SC03_134/md_SC03_134.map"), "md_SC03_135": dict(baseimg="expected/build/md_SC03_135/md_SC03_135.elf", myimg="build/md_SC03_135/md_SC03_135.elf", mapfile="build/md_SC03_135/md_SC03_135.map"), "md_SC03_136": dict(baseimg="expected/build/md_SC03_136/md_SC03_136.elf", myimg="build/md_SC03_136/md_SC03_136.elf", mapfile="build/md_SC03_136/md_SC03_136.map"), "md_SC03_137": dict(baseimg="expected/build/md_SC03_137/md_SC03_137.elf", myimg="build/md_SC03_137/md_SC03_137.elf", mapfile="build/md_SC03_137/md_SC03_137.map"), "md_SC03_138": dict(baseimg="expected/build/md_SC03_138/md_SC03_138.elf", myimg="build/md_SC03_138/md_SC03_138.elf", mapfile="build/md_SC03_138/md_SC03_138.map"), "md_SC04_024": dict(baseimg="expected/build/md_SC04_024/md_SC04_024.elf", myimg="build/md_SC04_024/md_SC04_024.elf", mapfile="build/md_SC04_024/md_SC04_024.map"), "md_SC04_025": dict(baseimg="expected/build/md_SC04_025/md_SC04_025.elf", myimg="build/md_SC04_025/md_SC04_025.elf", mapfile="build/md_SC04_025/md_SC04_025.map"), "md_SC04_026": dict(baseimg="expected/build/md_SC04_026/md_SC04_026.elf", myimg="build/md_SC04_026/md_SC04_026.elf", mapfile="build/md_SC04_026/md_SC04_026.map"), "md_SC04_027": dict(baseimg="expected/build/md_SC04_027/md_SC04_027.elf", myimg="build/md_SC04_027/md_SC04_027.elf", mapfile="build/md_SC04_027/md_SC04_027.map"), "md_SC04_028": dict(baseimg="expected/build/md_SC04_028/md_SC04_028.elf", myimg="build/md_SC04_028/md_SC04_028.elf", mapfile="build/md_SC04_028/md_SC04_028.map"), "md_SC04_029": dict(baseimg="expected/build/md_SC04_029/md_SC04_029.elf", myimg="build/md_SC04_029/md_SC04_029.elf", mapfile="build/md_SC04_029/md_SC04_029.map"), "md_SC04_030": dict(baseimg="expected/build/md_SC04_030/md_SC04_030.elf", myimg="build/md_SC04_030/md_SC04_030.elf", mapfile="build/md_SC04_030/md_SC04_030.map"), "md_SC05_023": dict(baseimg="expected/build/md_SC05_023/md_SC05_023.elf", myimg="build/md_SC05_023/md_SC05_023.elf", mapfile="build/md_SC05_023/md_SC05_023.map"), "md_SC05_024": dict(baseimg="expected/build/md_SC05_024/md_SC05_024.elf", myimg="build/md_SC05_024/md_SC05_024.elf", mapfile="build/md_SC05_024/md_SC05_024.map"), "md_SC05_025": dict(baseimg="expected/build/md_SC05_025/md_SC05_025.elf", myimg="build/md_SC05_025/md_SC05_025.elf", mapfile="build/md_SC05_025/md_SC05_025.map"), "md_SC05_026": dict(baseimg="expected/build/md_SC05_026/md_SC05_026.elf", myimg="build/md_SC05_026/md_SC05_026.elf", mapfile="build/md_SC05_026/md_SC05_026.map"), "md_SC05_027": dict(baseimg="expected/build/md_SC05_027/md_SC05_027.elf", myimg="build/md_SC05_027/md_SC05_027.elf", mapfile="build/md_SC05_027/md_SC05_027.map"), "md_SC05_028": dict(baseimg="expected/build/md_SC05_028/md_SC05_028.elf", myimg="build/md_SC05_028/md_SC05_028.elf", mapfile="build/md_SC05_028/md_SC05_028.map"), "md_SC05_029": dict(baseimg="expected/build/md_SC05_029/md_SC05_029.elf", myimg="build/md_SC05_029/md_SC05_029.elf", mapfile="build/md_SC05_029/md_SC05_029.map"), "md_SC02_009": dict(baseimg="expected/build/md_SC02_009/md_SC02_009.elf", myimg="build/md_SC02_009/md_SC02_009.elf", mapfile="build/md_SC02_009/md_SC02_009.map"), "md_MAIN_007": dict(baseimg="expected/build/md_MAIN_007/md_MAIN_007.elf", myimg="build/md_MAIN_007/md_MAIN_007.elf", mapfile="build/md_MAIN_007/md_MAIN_007.map"), # <<< overlays: tools/new_overlay.sh inserts ov_* entries above this line (Phase 13) >>> } def apply(config, args): _bin = os.environ.get("BFM_BINARY", "main") if _bin not in BINARIES: raise SystemExit(f"diff_settings: unknown BFM_BINARY={_bin!r} (known: {', '.join(BINARIES)})") _cfg = BINARIES[_bin] config["arch"] = "mipsel" # little-endian MIPS, R3000 (PSX CPU) config["baseimg"] = _cfg["baseimg"] # image-mode target (byte-identical baseline) config["myimg"] = _cfg["myimg"] # image-mode current build config["mapfile"] = _cfg["mapfile"] # GNU ld -Map: symbol -> object + address config["map_format"] = "gnu" config["expected_dir"] = "expected/" # -o: expected path = expected_dir + objpath config["build_dir"] = "build/" # (objpath "build/src/800.o" -> expected/build/src/800.o) config["source_directories"] = ["src", "asm", "include"] config["objdump_executable"] = "mipsel-linux-gnu-objdump" config["makeflags"] = []