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 };