1 #include "stdafx.h" 2 #include "UnifLoader.h" 3 4 std::unordered_map<string, int> UnifLoader::_boardMappings = std::unordered_map<string, int> { 5 { "11160", 299 }, 6 { "12-IN-1", 331 }, 7 { "13in1JY110", UnifBoards::UnknownBoard }, 8 { "190in1", 300 }, 9 { "22211", 132 }, 10 { "255in1", UnifBoards::Unl255in1 }, //Doesn't actually exist as a UNIF file (used to assign a mapper to the 255-in-1 rom) 11 { "3D-BLOCK", UnifBoards::UnknownBoard }, 12 { "411120-C", 287 }, 13 { "42in1ResetSwitch", 226 }, 14 { "43272", 227 }, 15 { "603-5052", 238 }, 16 { "64in1NoRepeat", 314 }, 17 { "70in1", 236 }, 18 { "70in1B", 236 }, 19 { "810544-C-A1", 261 }, 20 { "830425C-4391T", 320 }, 21 { "8157", 301 }, 22 { "8237", 215 }, 23 { "8237A", UnifBoards::Unl8237A }, 24 { "830118C", 348 }, 25 { "A65AS", 285 }, 26 { "AC08", UnifBoards::Ac08 }, 27 { "ANROM", 7 }, 28 { "AX5705", 530 }, 29 { "BB", 108 }, 30 { "BS-5", 286 }, 31 { "CC-21", UnifBoards::Cc21 }, 32 { "CITYFIGHT", 266 }, 33 { "COOLBOY", 268 }, 34 { "10-24-C-A1", UnifBoards::UnknownBoard }, 35 { "CNROM", 3 }, 36 { "CPROM", 13 }, 37 { "D1038", 59 }, 38 { "DANCE", UnifBoards::UnknownBoard }, 39 { "DANCE2000", 518 }, 40 { "DREAMTECH01", 521 }, 41 { "EDU2000", 329 }, 42 { "EKROM", 5 }, 43 { "ELROM", 5 }, 44 { "ETROM", 5 }, 45 { "EWROM", 5 }, 46 { "FARID_SLROM_8-IN-1", 323 }, 47 { "FARID_UNROM_8-IN-1", 324 }, 48 { "FK23C", 176 }, 49 { "FK23CA", 176 }, 50 { "FS304", 162 }, 51 { "G-146", 349 }, 52 { "GK-192", 58 }, 53 { "GS-2004", 283 }, 54 { "GS-2013", UnifBoards::Gs2013 }, 55 { "Ghostbusters63in1", UnifBoards::Ghostbusters63in1 }, 56 { "H2288", 123 }, 57 { "HKROM", 4 }, 58 { "KOF97", 263 }, 59 { "KONAMI-QTAI", 190 }, 60 { "K-3046", 336 }, 61 { "KS7010", UnifBoards::UnknownBoard }, 62 { "KS7012", 346 }, 63 { "KS7013B", 312 }, 64 { "KS7016", 306 }, 65 { "KS7017", 303 }, 66 { "KS7030", UnifBoards::UnknownBoard }, 67 { "KS7031", 305 }, 68 { "KS7032", 142 }, 69 { "KS7037", 307 }, 70 { "KS7057", 302 }, 71 { "LE05", UnifBoards::UnknownBoard }, 72 { "LH10", 522 }, 73 { "LH32", 125 }, 74 { "LH51", 309 }, 75 { "LH53", UnifBoards::UnknownBoard }, 76 { "MALISB", 325 }, 77 { "MARIO1-MALEE2", UnifBoards::Malee }, 78 { "MHROM", 66 }, 79 { "N625092", 221 }, 80 { "NROM", 0 }, 81 { "NROM-128", 0 }, 82 { "NROM-256", 0 }, 83 { "NTBROM", 68 }, 84 { "NTD-03", 290 }, 85 { "NovelDiamond9999999in1", 201 }, 86 { "OneBus", UnifBoards::UnknownBoard }, 87 { "PEC-586", UnifBoards::UnknownBoard }, 88 { "PUZZLE", UnifBoards::UnlPuzzle }, //Doesn't actually exist as a UNIF file (used to reassign a new mapper number to the Puzzle beta) 89 { "RESET-TXROM", 313 }, 90 { "RET-CUFROM", 29 }, 91 { "RROM", 0 }, 92 { "RROM-128", 0 }, 93 { "SA-002", 136 }, 94 { "SA-0036", 149 }, 95 { "SA-0037", 148 }, 96 { "SA-009", 160 }, 97 { "SA-016-1M", 146 }, 98 { "SA-72007", 145 }, 99 { "SA-72008", 133 }, 100 { "SA-9602B", 513 }, 101 { "SA-NROM", 143 }, 102 { "SAROM", 1 }, 103 { "SBROM", 1 }, 104 { "SC-127", 35 }, 105 { "SCROM", 1 }, 106 { "SEROM", 1 }, 107 { "SGROM", 1 }, 108 { "SHERO", 262 }, 109 { "SKROM", 1 }, 110 { "SL12", 116 }, 111 { "SL1632", 14 }, 112 { "SL1ROM", 1 }, 113 { "SLROM", 1 }, 114 { "SMB2J", 304 }, 115 { "SNROM", 1 }, 116 { "SOROM", 1 }, 117 { "SSS-NROM-256", UnifBoards::SssNrom256 }, 118 { "SUNSOFT_UNROM", 93 }, 119 { "Sachen-74LS374N", 150 }, 120 { "Sachen-74LS374NA", 243 }, 121 { "Sachen-8259A", 141 }, 122 { "Sachen-8259B", 138 }, 123 { "Sachen-8259C", 139 }, 124 { "Sachen-8259D", 137 }, 125 { "Super24in1SC03", 176 }, 126 { "SuperHIK8in1", 45 }, 127 { "Supervision16in1", 53 }, 128 { "T-227-1", UnifBoards::UnknownBoard }, 129 { "T-230", 529 }, 130 { "T-262", 265 }, 131 { "TBROM", 4 }, 132 { "TC-U01-1.5M", 147 }, 133 { "TEK90", 90 }, 134 { "TEROM", 4 }, 135 { "TF1201", 298 }, 136 { "TFROM", 4 }, 137 { "TGROM", 4 }, 138 { "TKROM", 4 }, 139 { "TKSROM", 4 }, 140 { "TLROM", 4 }, 141 { "TLSROM", 4 }, 142 { "TQROM", 4 }, 143 { "TR1ROM", 4 }, 144 { "TSROM", 4 }, 145 { "TVROM", 4 }, 146 { "Transformer", UnifBoards::UnknownBoard }, 147 { "UNROM", 2 }, 148 { "UNROM-512-8", 30 }, 149 { "UNROM-512-16", 30 }, 150 { "UNROM-512-32", 30 }, 151 { "UOROM", 2 }, 152 { "VRC7", 85 }, 153 { "YOKO", 264 }, 154 { "SB-2000", UnifBoards::UnknownBoard }, 155 { "158B", 258 }, 156 { "DRAGONFIGHTER", 292 }, 157 { "EH8813A", 519 }, 158 { "HP898F", 319 }, 159 { "F-15", 259 }, 160 { "RT-01", 328 }, 161 { "81-01-31-C", UnifBoards::UnknownBoard }, 162 { "8-IN-1", 333 }, 163 { "WS", 332 }, 164 { "80013-B", 274 }, 165 { "WAIXING-FW01", 227 }, 166 { "WAIXING-FS005", UnifBoards::UnknownBoard }, 167 { "HPxx", 260 }, 168 { "HP2018A", 260 }, 169 { "GN-45", UnifBoards::BmcGn45 }, //Doesn't actually exist as a UNIF file (used to assign a mapper to GN-45 boards) 170 { "DRIPGAME", 284 }, 171 { "60311C", 289 }, 172 { "CHINA_ER_SAN2", 19 }, //Appears to be a mapper 19 hack specific for VirtuaNES (which adds chinese text on top of the PPU's output), unknown if a board actually exists 173 };