trunk/src/emu/video/vector.c
r249901 | r249902 | |
35 | 35 | #include "vector.h" |
36 | 36 | |
37 | 37 | |
38 | | #define FLT_EPSILON 1E-5 |
39 | 38 | |
40 | | #define VECTOR_WIDTH_DENOM 512 |
| 39 | #define VECTOR_WIDTH_DENOM 512 |
41 | 40 | |
42 | | #define MAX_POINTS 10000 |
43 | 41 | |
| 42 | #define MAX_POINTS 10000 |
| 43 | |
44 | 44 | #define VECTOR_TEAM \ |
45 | 45 | "-* Vector Heads *-\n" \ |
46 | 46 | "Brad Oliver\n" \ |
r249901 | r249902 | |
140 | 140 | { |
141 | 141 | } |
142 | 142 | |
143 | | float vector_device::m_flicker = 0.0f; |
144 | | float vector_device::m_beam_width_min = 0.0f; |
145 | | float vector_device::m_beam_width_max = 0.0f; |
146 | | float vector_device::m_beam_intensity_weight = 0.0f; |
| 143 | float vector_device::m_flicker_correction = 0.0f; |
| 144 | float vector_device::m_beam_width = 0.0f; |
| 145 | int vector_device::m_flicker; |
147 | 146 | int vector_device::m_vector_index; |
148 | 147 | |
149 | 148 | void vector_device::device_start() |
150 | 149 | { |
| 150 | m_beam_width = machine().options().beam(); |
| 151 | |
151 | 152 | /* Grab the settings for this session */ |
152 | | m_beam_width_min = machine().options().beam_width_min(); |
153 | | m_beam_width_max = machine().options().beam_width_max(); |
154 | | m_beam_intensity_weight = machine().options().beam_intensity_weight(); |
155 | | m_flicker = machine().options().flicker(); |
| 153 | set_flicker(machine().options().flicker()); |
156 | 154 | |
157 | 155 | m_vector_index = 0; |
158 | 156 | |
r249901 | r249902 | |
160 | 158 | m_vector_list = auto_alloc_array_clear(machine(), point, MAX_POINTS); |
161 | 159 | } |
162 | 160 | |
163 | | void vector_device::set_flicker(float newval) |
| 161 | void vector_device::set_flicker(float _flicker) |
164 | 162 | { |
165 | | m_flicker = newval; |
| 163 | m_flicker_correction = _flicker; |
| 164 | m_flicker = (int)(m_flicker_correction * 2.55f); |
166 | 165 | } |
167 | 166 | |
168 | 167 | float vector_device::get_flicker() |
169 | 168 | { |
170 | | return m_flicker; |
| 169 | return m_flicker_correction; |
171 | 170 | } |
172 | 171 | |
173 | | void vector_device::set_beam_width_min(float newval) |
| 172 | void vector_device::set_beam(float _beam) |
174 | 173 | { |
175 | | m_beam_width_min = newval; |
| 174 | m_beam_width = _beam; |
176 | 175 | } |
177 | 176 | |
178 | | float vector_device::get_beam_width_min() |
| 177 | float vector_device::get_beam() |
179 | 178 | { |
180 | | return m_beam_width_min; |
| 179 | return m_beam_width; |
181 | 180 | } |
182 | 181 | |
183 | | void vector_device::set_beam_width_max(float newval) |
184 | | { |
185 | | m_beam_width_max = newval; |
186 | | } |
187 | 182 | |
188 | | float vector_device::get_beam_width_max() |
189 | | { |
190 | | return m_beam_width_max; |
191 | | } |
192 | | |
193 | | void vector_device::set_beam_intensity_weight(float newval) |
194 | | { |
195 | | m_beam_intensity_weight = newval; |
196 | | } |
197 | | |
198 | | float vector_device::get_beam_intensity_weight() |
199 | | { |
200 | | return m_beam_intensity_weight; |
201 | | } |
202 | | |
203 | | |
204 | 183 | /* |
205 | | * www.dinodini.wordpress.com/2010/04/05/normalized-tunable-sigmoid-functions/ |
206 | | */ |
207 | | float vector_device::normalized_sigmoid(float n, float k) |
208 | | { |
209 | | // valid for n and k in range of -1.0 and 1.0 |
210 | | return (n - n * k) / (k - fabs(n) * 2.0f * k + 1.0f); |
211 | | } |
212 | | |
213 | | |
214 | | /* |
215 | 184 | * Adds a line end point to the vertices list. The vector processor emulation |
216 | 185 | * needs to call this. |
217 | 186 | */ |
218 | | void vector_device::add_point(int x, int y, rgb_t color, int intensity) |
| 187 | void vector_device::add_point (int x, int y, rgb_t color, int intensity) |
219 | 188 | { |
220 | 189 | point *newpoint; |
221 | 190 | |
222 | | if (intensity > 255) |
223 | | { |
224 | | intensity = 255; |
225 | | } |
| 191 | if (intensity > 0xff) |
| 192 | intensity = 0xff; |
226 | 193 | |
227 | 194 | if (m_flicker && (intensity > 0)) |
228 | 195 | { |
229 | | float random = (float)(machine().rand() & 255) / 255.0f; // random value between 0.0 and 1.0 |
230 | | |
231 | | intensity -= (int)(intensity * random * m_flicker); |
| 196 | intensity += (intensity * (0x80-(machine().rand()&0xff)) * m_flicker)>>16; |
232 | 197 | if (intensity < 0) |
233 | | { |
234 | 198 | intensity = 0; |
235 | | } |
236 | | if (intensity > 255) |
237 | | { |
238 | | intensity = 255; |
239 | | } |
| 199 | if (intensity > 0xff) |
| 200 | intensity = 0xff; |
240 | 201 | } |
241 | | |
242 | 202 | newpoint = &m_vector_list[m_vector_index]; |
243 | 203 | newpoint->x = x; |
244 | 204 | newpoint->y = y; |
r249901 | r249902 | |
254 | 214 | } |
255 | 215 | } |
256 | 216 | |
257 | | |
258 | 217 | /* |
259 | 218 | * Add new clipping info to the list |
260 | 219 | */ |
261 | | void vector_device::add_clip(int x1, int yy1, int x2, int y2) |
| 220 | void vector_device::add_clip (int x1, int yy1, int x2, int y2) |
262 | 221 | { |
263 | 222 | point *newpoint; |
264 | 223 | |
r249901 | r249902 | |
282 | 241 | * The vector CPU creates a new display list. We save the old display list, |
283 | 242 | * but only once per refresh. |
284 | 243 | */ |
285 | | void vector_device::clear_list(void) |
| 244 | void vector_device::clear_list (void) |
286 | 245 | { |
287 | 246 | m_vector_index = 0; |
288 | 247 | } |
r249901 | r249902 | |
296 | 255 | float yscale = 1.0f / (65536 * visarea.height()); |
297 | 256 | float xoffs = (float)visarea.min_x; |
298 | 257 | float yoffs = (float)visarea.min_y; |
299 | | float xratio = xscale / yscale; |
300 | | float yratio = yscale / xscale; |
301 | | xratio = (xratio < 1.0f) ? xratio : 1.0f; |
302 | | xratio = (yratio < 1.0f) ? yratio : 1.0f; |
303 | | |
304 | 258 | point *curpoint; |
305 | 259 | render_bounds clip; |
306 | | int lastx = 0; |
307 | | int lasty = 0; |
| 260 | int lastx = 0, lasty = 0; |
| 261 | int i; |
308 | 262 | |
309 | 263 | curpoint = m_vector_list; |
310 | 264 | |
r249901 | r249902 | |
314 | 268 | clip.x0 = clip.y0 = 0.0f; |
315 | 269 | clip.x1 = clip.y1 = 1.0f; |
316 | 270 | |
317 | | for (int i = 0; i < m_vector_index; i++) |
| 271 | for (i = 0; i < m_vector_index; i++) |
318 | 272 | { |
319 | 273 | render_bounds coords; |
320 | 274 | |
r249901 | r249902 | |
332 | 286 | } |
333 | 287 | else |
334 | 288 | { |
335 | | float intensity = (float)curpoint->intensity / 255.0f; |
336 | | float intensity_weight = normalized_sigmoid(intensity, m_beam_intensity_weight); |
337 | | |
338 | | float beam_intensity_width = (m_beam_width_max - m_beam_width_min) * intensity_weight + m_beam_width_min; |
339 | | float beam_width = beam_intensity_width * (1.0f / (float)VECTOR_WIDTH_DENOM); |
340 | | |
341 | 289 | coords.x0 = ((float)lastx - xoffs) * xscale; |
342 | 290 | coords.y0 = ((float)lasty - yoffs) * yscale; |
343 | 291 | coords.x1 = ((float)curpoint->x - xoffs) * xscale; |
344 | 292 | coords.y1 = ((float)curpoint->y - yoffs) * yscale; |
345 | 293 | |
346 | | // extend zero-length vector line (vector point) by quarter beam_width on both sides |
347 | | if (fabs(coords.x0 - coords.x1) < FLT_EPSILON && |
348 | | fabs(coords.y0 - coords.y1) < FLT_EPSILON) |
349 | | { |
350 | | coords.x0 += xratio * beam_width * 0.25f; |
351 | | coords.y0 += yratio * beam_width * 0.25f; |
352 | | coords.x1 -= xratio * beam_width * 0.25f; |
353 | | coords.y1 -= yratio * beam_width * 0.25f; |
354 | | } |
| 294 | if (curpoint->intensity != 0) |
| 295 | if (!render_clip_line(&coords, &clip)) |
| 296 | screen.container().add_line(coords.x0, coords.y0, coords.x1, coords.y1, |
| 297 | m_beam_width * (1.0f / (float)VECTOR_WIDTH_DENOM), |
| 298 | (curpoint->intensity << 24) | (curpoint->col & 0xffffff), |
| 299 | flags); |
355 | 300 | |
356 | | if (curpoint->intensity != 0 && !render_clip_line(&coords, &clip)) |
357 | | { |
358 | | screen.container().add_line( |
359 | | coords.x0, coords.y0, coords.x1, coords.y1, |
360 | | beam_width, |
361 | | (curpoint->intensity << 24) | (curpoint->col & 0xffffff), |
362 | | flags); |
363 | | } |
364 | | |
365 | 301 | lastx = curpoint->x; |
366 | 302 | lasty = curpoint->y; |
367 | 303 | } |
368 | | |
369 | 304 | curpoint++; |
370 | 305 | } |
371 | | |
372 | 306 | return 0; |
373 | 307 | } |
trunk/src/mame/drivers/bublbobl.c
r249901 | r249902 | |
265 | 265 | - tokio: sound support is probably incomplete. There are a couple of unknown |
266 | 266 | accesses done by the CPU, including to the YM2203 I/O ports. At the |
267 | 267 | very least, there should be some filters. |
268 | | |
269 | | there are also Bubble Bobble bootlegs with a P8749H MCU, however the MCU |
270 | | is protected against reading and the main code only differs by 1 byte from |
271 | | Bubble Bobble. If the MCU were to be dumped that would also make for |
272 | | interesting comparisons. |
273 | 268 | |
274 | 269 | ***************************************************************************/ |
275 | 270 | |
r249901 | r249902 | |
561 | 556 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
562 | 557 | INPUT_PORTS_END |
563 | 558 | |
564 | | |
565 | | static INPUT_PORTS_START( boblcave ) |
566 | | PORT_INCLUDE( boblbobl ) |
567 | | |
568 | | PORT_MODIFY( "DSW1" ) // not monster speed on this, causes startup hangs just like original bublbobl |
569 | | PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) PORT_DIPLOCATION("DSW-B:7") |
570 | | PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) // must be off (see notes) |
571 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
572 | | PORT_DIPNAME( 0x80, 0x80, "ROM Type" ) PORT_DIPLOCATION("DSW-B:8") |
573 | | PORT_DIPSETTING( 0x80, "IC52=512kb, IC53=none" ) // will hang on startup if set to wrong type |
574 | | PORT_DIPSETTING( 0x00, "IC52=256kb, IC53=256kb" ) |
575 | | INPUT_PORTS_END |
576 | | |
577 | 559 | static INPUT_PORTS_START( sboblboblb ) |
578 | 560 | PORT_INCLUDE( boblbobl ) |
579 | 561 | |
r249901 | r249902 | |
1377 | 1359 | ROM_LOAD( "pal16l8.u4", 0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) ) |
1378 | 1360 | ROM_END |
1379 | 1361 | |
1380 | | ROM_START( bbredux ) |
1381 | | ROM_REGION( 0x30000, "maincpu", 0 ) |
1382 | | ROM_LOAD( "redux_bb3", 0x00000, 0x8000, CRC(d51de9f3) SHA1(dc6bc93692145563a88c146eeb1d0361e25af840) ) |
1383 | | /* ROMs banked at 8000-bfff */ |
1384 | | ROM_LOAD( "redux_bb5", 0x10000, 0x8000, CRC(d29d3444) SHA1(3db694a6ba2ba2ed85d31c2bc4c7c94911b99b85) ) |
1385 | | ROM_LOAD( "redux_bb4", 0x18000, 0x8000, CRC(984149bd) SHA1(9a0f96eee038712277f652545a343587f711b9aa) ) |
1386 | | |
1387 | | ROM_REGION( 0x10000, "slave", 0 ) /* 64k for the second CPU */ |
1388 | | ROM_LOAD( "a78-08.37", 0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) ) |
1389 | | |
1390 | | ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the third CPU */ |
1391 | | ROM_LOAD( "a78-07.46", 0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) ) |
1392 | | |
1393 | | ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT ) |
1394 | | ROM_LOAD( "a78-09.12", 0x00000, 0x8000, CRC(20358c22) SHA1(2297af6c53d5807bf90a8e081075b8c72a994fc5) ) /* 1st plane */ |
1395 | | ROM_LOAD( "a78-10.13", 0x08000, 0x8000, CRC(930168a9) SHA1(fd358c3c3b424bca285f67a1589eb98a345ff670) ) |
1396 | | ROM_LOAD( "a78-11.14", 0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) ) |
1397 | | ROM_LOAD( "a78-12.15", 0x18000, 0x8000, CRC(d045549b) SHA1(0c12077d3ddc2ce6aa45a0224ad5540f3f218446) ) |
1398 | | ROM_LOAD( "a78-13.16", 0x20000, 0x8000, CRC(d0af35c5) SHA1(c5a89f4d73acc0db86654540b3abfd77b3757db5) ) |
1399 | | ROM_LOAD( "a78-14.17", 0x28000, 0x8000, CRC(7b5369a8) SHA1(1307b26d80e6f36ebe6c442bebec41d20066eaf9) ) |
1400 | | /* 0x30000-0x3ffff empty */ |
1401 | | ROM_LOAD( "a78-15.30", 0x40000, 0x8000, CRC(6b61a413) SHA1(44eddf12fb46fceca2addbe6da929aaea7636b13) ) /* 2nd plane */ |
1402 | | ROM_LOAD( "a78-16.31", 0x48000, 0x8000, CRC(b5492d97) SHA1(d5b045e3ebaa44809757a4220cefb3c6815470da) ) |
1403 | | ROM_LOAD( "a78-17.32", 0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) ) |
1404 | | ROM_LOAD( "a78-18.33", 0x58000, 0x8000, CRC(9f243b68) SHA1(32dce8d311a4be003693182a999e4053baa6bb0a) ) |
1405 | | ROM_LOAD( "a78-19.34", 0x60000, 0x8000, CRC(66e9438c) SHA1(b94e62b6fbe7f4e08086d0365afc5cff6e0ccafd) ) |
1406 | | ROM_LOAD( "a78-20.35", 0x68000, 0x8000, CRC(9ef863ad) SHA1(29f91b5a3765e4d6e6c3382db1d8d8297b6e56c8) ) |
1407 | | /* 0x70000-0x7ffff empty */ |
1408 | | |
1409 | | ROM_REGION( 0x0100, "proms", 0 ) |
1410 | | ROM_LOAD( "a71-25.41", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing */ |
1411 | | |
1412 | | ROM_REGION( 0x0600, "plds", 0 ) |
1413 | | ROM_LOAD( "pal16r4.u36", 0x0000, 0x0104, CRC(22fe26ac) SHA1(bbbfcbe6faded4af7ceec57b800297c054a997da) ) |
1414 | | ROM_LOAD( "pal16l8.u38", 0x0200, 0x0104, CRC(c02d9663) SHA1(5d23cfd96f072981fd5fcf0dd7e98459da58b662) ) |
1415 | | ROM_LOAD( "pal16l8.u4", 0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) ) |
1416 | | ROM_END |
1417 | | |
1418 | 1362 | ROM_START( sboblbobl ) |
1419 | 1363 | ROM_REGION( 0x30000, "maincpu", 0 ) |
1420 | 1364 | ROM_LOAD( "cpu2-3.bin", 0x00000, 0x08000, CRC(2d9107b6) SHA1(ab1a4a20f4b533cd06cc458668f407a8a14c9d70) ) |
r249901 | r249902 | |
1515 | 1459 | |
1516 | 1460 | |
1517 | 1461 | |
1518 | | ROM_START( sboblboblc ) |
1519 | | ROM_REGION( 0x30000, "maincpu", 0 ) |
1520 | | ROM_LOAD( "3", 0x00000, 0x08000, CRC(f2d44846) SHA1(dd1a29f2ff1938c31d4c6199cf970483ceb52485) ) |
1521 | | /* ROMs banked at 8000-bfff */ |
1522 | | ROM_LOAD( "5", 0x10000, 0x08000, CRC(3c5e4441) SHA1(b85da9d7e0148e950b76036d3f9a3d4a9dfa039c) ) |
1523 | | ROM_LOAD( "4", 0x18000, 0x08000, CRC(1f29b5c0) SHA1(c15c84ca11cc10edac6340468bca463ecb2d89e6) ) |
1524 | | /* 20000-2ffff empty */ |
1525 | | |
1526 | | ROM_REGION( 0x10000, "slave", 0 ) /* 64k for the second CPU */ |
1527 | | ROM_LOAD( "1", 0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) ) |
1528 | | |
1529 | | ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the third CPU */ |
1530 | | ROM_LOAD( "2", 0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) ) |
1531 | | |
1532 | | ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT ) |
1533 | | ROM_LOAD( "12", 0x00000, 0x8000, CRC(20358c22) SHA1(2297af6c53d5807bf90a8e081075b8c72a994fc5) ) /* 1st plane */ |
1534 | | ROM_LOAD( "13", 0x08000, 0x8000, CRC(930168a9) SHA1(fd358c3c3b424bca285f67a1589eb98a345ff670) ) |
1535 | | ROM_LOAD( "14", 0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) ) |
1536 | | ROM_LOAD( "15", 0x18000, 0x8000, CRC(d045549b) SHA1(0c12077d3ddc2ce6aa45a0224ad5540f3f218446) ) |
1537 | | ROM_LOAD( "16", 0x20000, 0x8000, CRC(d0af35c5) SHA1(c5a89f4d73acc0db86654540b3abfd77b3757db5) ) |
1538 | | ROM_LOAD( "17", 0x28000, 0x8000, CRC(7b5369a8) SHA1(1307b26d80e6f36ebe6c442bebec41d20066eaf9) ) |
1539 | | /* 0x30000-0x3ffff empty */ |
1540 | | ROM_LOAD( "6", 0x40000, 0x8000, CRC(6b61a413) SHA1(44eddf12fb46fceca2addbe6da929aaea7636b13) ) /* 2nd plane */ |
1541 | | ROM_LOAD( "7", 0x48000, 0x8000, CRC(b5492d97) SHA1(d5b045e3ebaa44809757a4220cefb3c6815470da) ) |
1542 | | ROM_LOAD( "8", 0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) ) |
1543 | | ROM_LOAD( "9", 0x58000, 0x8000, CRC(9f243b68) SHA1(32dce8d311a4be003693182a999e4053baa6bb0a) ) |
1544 | | ROM_LOAD( "10", 0x60000, 0x8000, CRC(66e9438c) SHA1(b94e62b6fbe7f4e08086d0365afc5cff6e0ccafd) ) |
1545 | | ROM_LOAD( "11", 0x68000, 0x8000, CRC(9ef863ad) SHA1(29f91b5a3765e4d6e6c3382db1d8d8297b6e56c8) ) |
1546 | | /* 0x70000-0x7ffff empty */ |
1547 | | |
1548 | | ROM_REGION( 0x0100, "proms", 0 ) |
1549 | | ROM_LOAD( "a71-25.41", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing */ |
1550 | | |
1551 | | ROM_END |
1552 | | |
1553 | 1462 | ROM_START( bub68705 ) |
1554 | 1463 | ROM_REGION( 0x30000, "maincpu", 0 ) /* Program roms match Bubble Bobble (older) */ |
1555 | 1464 | ROM_LOAD( "2.bin", 0x00000, 0x08000, CRC(32c8305b) SHA1(6bf69b3edfbefd33cd670a762b4bf0b39629a220) ) |
r249901 | r249902 | |
1617 | 1526 | ROM_END |
1618 | 1527 | |
1619 | 1528 | |
1620 | | ROM_START( bublcave ) |
1621 | | ROM_REGION( 0x30000, "maincpu", 0 ) |
1622 | | ROM_LOAD( "bublcave-06.51", 0x00000, 0x08000, CRC(e8b9af5e) SHA1(dec44e47634a402df212806e84e3a810f8442776) ) |
1623 | | ROM_LOAD( "bublcave-05.52", 0x10000, 0x10000, CRC(cfe14cb8) SHA1(17d463c755f630ae9d05943515fa4828972bd7b0) ) |
1624 | 1529 | |
1625 | | ROM_REGION( 0x10000, "slave", 0 ) |
1626 | | ROM_LOAD( "bublcave-08.37", 0x0000, 0x08000, CRC(a9384086) SHA1(26e686671d6d3ba3759716bf46e7f951bbb8a291) ) |
1627 | | |
1628 | | ROM_REGION( 0x10000, "audiocpu", 0 ) |
1629 | | ROM_LOAD( "a78-07.46", 0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) ) |
1630 | | |
1631 | | ROM_REGION( 0x10000, "mcu", 0 ) |
1632 | | ROM_LOAD( "a78-01.17", 0xf000, 0x1000, CRC(b1bfb53d) SHA1(31b8f31acd3aa394acd80db362774749842e1285) ) |
1633 | | |
1634 | | ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT ) |
1635 | | ROM_LOAD( "bublcave-09.12", 0x00000, 0x8000, CRC(b90b7eef) SHA1(de72e4635843ad76248aa3b4aa8f8a0bfd53879e) ) /* 1st plane */ |
1636 | | ROM_LOAD( "bublcave-10.13", 0x08000, 0x8000, CRC(4fb22f05) SHA1(880104e86dbd00ae657cbc768722427503b6a59f) ) |
1637 | | ROM_LOAD( "bublcave-11.14", 0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) ) |
1638 | | ROM_LOAD( "bublcave-12.15", 0x18000, 0x8000, CRC(e49eb49e) SHA1(2e05dc8833e10bef1a317d238c39fb9f362e9997) ) |
1639 | | ROM_LOAD( "bublcave-13.16", 0x20000, 0x8000, CRC(61919734) SHA1(2c07e29f3dcc972d5eb47679ad81a0d7656b0cb2) ) |
1640 | | ROM_LOAD( "bublcave-14.17", 0x28000, 0x8000, CRC(7e3a13bd) SHA1(bd4dba799340fa599f11cc68e03efe70ba6ba99b) ) |
1641 | | ROM_LOAD( "bublcave-15.30", 0x40000, 0x8000, CRC(c253c73a) SHA1(3e187f6b9ca769772990068abe7b309417147d39) ) /* 2nd plane */ |
1642 | | ROM_LOAD( "bublcave-16.31", 0x48000, 0x8000, CRC(e66c92ee) SHA1(12ea193c54121d08ad110c94cc075e29fef3ff85) ) |
1643 | | ROM_LOAD( "bublcave-17.32", 0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) ) |
1644 | | ROM_LOAD( "bublcave-18.33", 0x58000, 0x8000, CRC(47ee2544) SHA1(c6946e824043a312ed437e548a64ef599effbd42) ) |
1645 | | ROM_LOAD( "bublcave-19.34", 0x60000, 0x8000, CRC(1ceeb1fa) SHA1(eb29ff896d149f7ab4cf38a338df39df14ccc20c) ) |
1646 | | ROM_LOAD( "bublcave-20.35", 0x68000, 0x8000, CRC(64322e24) SHA1(acff8a9fcaf74f198653080759898d15cccf04e8) ) |
1647 | | |
1648 | | ROM_REGION( 0x0100, "proms", 0 ) |
1649 | | ROM_LOAD( "a71-25.41", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing */ |
1650 | | ROM_END |
1651 | | |
1652 | | |
1653 | | ROM_START( boblcave ) |
1654 | | ROM_REGION( 0x30000, "maincpu", 0 ) |
1655 | | ROM_LOAD( "lc12_bb3", 0x00000, 0x08000, CRC(dddc9a24) SHA1(c0b31dd64d7359ae0ea5067db6ac8b54f9415e5a) ) |
1656 | | /* ROMs banked at 8000-bfff */ |
1657 | | ROM_LOAD( "lc12_bb5", 0x10000, 0x08000, CRC(0bc4de52) SHA1(55581a557dfd60d93642b89eb702c7170458b826) ) |
1658 | | ROM_LOAD( "lc12_bb4", 0x18000, 0x08000, CRC(bd7afdf4) SHA1(a9bcdc857b1f252c36a5a70f5027a11737f8dd59) ) |
1659 | | /* 20000-2ffff empty */ |
1660 | | |
1661 | | ROM_REGION( 0x10000, "slave", 0 ) /* 64k for the second CPU */ |
1662 | | ROM_LOAD( "bublcave-08.37", 0x0000, 0x08000, CRC(a9384086) SHA1(26e686671d6d3ba3759716bf46e7f951bbb8a291) ) |
1663 | | |
1664 | | ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the third CPU */ |
1665 | | ROM_LOAD( "a78-07.46", 0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) ) |
1666 | | |
1667 | | ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT ) |
1668 | | ROM_LOAD( "bublcave-09.12", 0x00000, 0x8000, CRC(b90b7eef) SHA1(de72e4635843ad76248aa3b4aa8f8a0bfd53879e) ) /* 1st plane */ |
1669 | | ROM_LOAD( "bublcave-10.13", 0x08000, 0x8000, CRC(4fb22f05) SHA1(880104e86dbd00ae657cbc768722427503b6a59f) ) |
1670 | | ROM_LOAD( "bublcave-11.14", 0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) ) |
1671 | | ROM_LOAD( "bublcave-12.15", 0x18000, 0x8000, CRC(e49eb49e) SHA1(2e05dc8833e10bef1a317d238c39fb9f362e9997) ) |
1672 | | ROM_LOAD( "bublcave-13.16", 0x20000, 0x8000, CRC(61919734) SHA1(2c07e29f3dcc972d5eb47679ad81a0d7656b0cb2) ) |
1673 | | ROM_LOAD( "bublcave-14.17", 0x28000, 0x8000, CRC(7e3a13bd) SHA1(bd4dba799340fa599f11cc68e03efe70ba6ba99b) ) |
1674 | | ROM_LOAD( "bublcave-15.30", 0x40000, 0x8000, CRC(c253c73a) SHA1(3e187f6b9ca769772990068abe7b309417147d39) ) /* 2nd plane */ |
1675 | | ROM_LOAD( "bublcave-16.31", 0x48000, 0x8000, CRC(e66c92ee) SHA1(12ea193c54121d08ad110c94cc075e29fef3ff85) ) |
1676 | | ROM_LOAD( "bublcave-17.32", 0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) ) |
1677 | | ROM_LOAD( "bublcave-18.33", 0x58000, 0x8000, CRC(47ee2544) SHA1(c6946e824043a312ed437e548a64ef599effbd42) ) |
1678 | | ROM_LOAD( "bublcave-19.34", 0x60000, 0x8000, CRC(1ceeb1fa) SHA1(eb29ff896d149f7ab4cf38a338df39df14ccc20c) ) |
1679 | | ROM_LOAD( "bublcave-20.35", 0x68000, 0x8000, CRC(64322e24) SHA1(acff8a9fcaf74f198653080759898d15cccf04e8) ) |
1680 | | |
1681 | | ROM_REGION( 0x0100, "proms", 0 ) |
1682 | | ROM_LOAD( "a71-25.41", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing */ |
1683 | | |
1684 | | ROM_REGION( 0x0600, "plds", 0 ) |
1685 | | ROM_LOAD( "pal16r4.u36", 0x0000, 0x0104, CRC(22fe26ac) SHA1(bbbfcbe6faded4af7ceec57b800297c054a997da) ) |
1686 | | ROM_LOAD( "pal16l8.u38", 0x0200, 0x0104, CRC(c02d9663) SHA1(5d23cfd96f072981fd5fcf0dd7e98459da58b662) ) |
1687 | | ROM_LOAD( "pal16l8.u4", 0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) ) |
1688 | | ROM_END |
1689 | | |
1690 | | |
1691 | | ROM_START( bublcave11 ) |
1692 | | ROM_REGION( 0x30000, "maincpu", 0 ) |
1693 | | ROM_LOAD( "bublcave10-06.51", 0x00000, 0x08000, CRC(185cc219) SHA1(dfb312f144fb01c07581cb8ea55ab0dc92ccd5b2) ) |
1694 | | ROM_LOAD( "bublcave11-05.52", 0x10000, 0x10000, CRC(b6b02df3) SHA1(542589544216a54f84c213b161d7145934875d2b) ) |
1695 | | |
1696 | | ROM_REGION( 0x10000, "slave", 0 ) |
1697 | | ROM_LOAD( "bublcave11-08.37", 0x0000, 0x08000, CRC(c5d14e62) SHA1(b32b1ca76b54755a69a7a346d01545f2699e1363) ) |
1698 | | |
1699 | | ROM_REGION( 0x10000, "audiocpu", 0 ) |
1700 | | ROM_LOAD( "a78-07.46", 0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) ) |
1701 | | |
1702 | | ROM_REGION( 0x10000, "mcu", 0 ) |
1703 | | ROM_LOAD( "a78-01.17", 0xf000, 0x1000, CRC(b1bfb53d) SHA1(31b8f31acd3aa394acd80db362774749842e1285) ) |
1704 | | |
1705 | | ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT ) |
1706 | | ROM_LOAD( "bublcave-09.12", 0x00000, 0x8000, CRC(b90b7eef) SHA1(de72e4635843ad76248aa3b4aa8f8a0bfd53879e) ) /* 1st plane */ |
1707 | | ROM_LOAD( "bublcave-10.13", 0x08000, 0x8000, CRC(4fb22f05) SHA1(880104e86dbd00ae657cbc768722427503b6a59f) ) |
1708 | | ROM_LOAD( "bublcave-11.14", 0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) ) |
1709 | | ROM_LOAD( "bublcave-12.15", 0x18000, 0x8000, CRC(e49eb49e) SHA1(2e05dc8833e10bef1a317d238c39fb9f362e9997) ) |
1710 | | ROM_LOAD( "bublcave-13.16", 0x20000, 0x8000, CRC(61919734) SHA1(2c07e29f3dcc972d5eb47679ad81a0d7656b0cb2) ) |
1711 | | ROM_LOAD( "bublcave-14.17", 0x28000, 0x8000, CRC(7e3a13bd) SHA1(bd4dba799340fa599f11cc68e03efe70ba6ba99b) ) |
1712 | | ROM_LOAD( "bublcave-15.30", 0x40000, 0x8000, CRC(c253c73a) SHA1(3e187f6b9ca769772990068abe7b309417147d39) ) /* 2nd plane */ |
1713 | | ROM_LOAD( "bublcave-16.31", 0x48000, 0x8000, CRC(e66c92ee) SHA1(12ea193c54121d08ad110c94cc075e29fef3ff85) ) |
1714 | | ROM_LOAD( "bublcave-17.32", 0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) ) |
1715 | | ROM_LOAD( "bublcave-18.33", 0x58000, 0x8000, CRC(47ee2544) SHA1(c6946e824043a312ed437e548a64ef599effbd42) ) |
1716 | | ROM_LOAD( "bublcave-19.34", 0x60000, 0x8000, CRC(1ceeb1fa) SHA1(eb29ff896d149f7ab4cf38a338df39df14ccc20c) ) |
1717 | | ROM_LOAD( "bublcave-20.35", 0x68000, 0x8000, CRC(64322e24) SHA1(acff8a9fcaf74f198653080759898d15cccf04e8) ) |
1718 | | |
1719 | | ROM_REGION( 0x0100, "proms", 0 ) |
1720 | | ROM_LOAD( "a71-25.41", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing */ |
1721 | | ROM_END |
1722 | | |
1723 | | ROM_START( bublcave10 ) |
1724 | | ROM_REGION( 0x30000, "maincpu", 0 ) |
1725 | | ROM_LOAD( "bublcave10-06.51", 0x00000, 0x08000, CRC(185cc219) SHA1(dfb312f144fb01c07581cb8ea55ab0dc92ccd5b2) ) |
1726 | | ROM_LOAD( "bublcave10-05.52", 0x10000, 0x10000, CRC(381cdde7) SHA1(0c9de44d7dbad754e873af8ddb5a2736f5ec2096) ) |
1727 | | |
1728 | | ROM_REGION( 0x10000, "slave", 0 ) |
1729 | | ROM_LOAD( "bublcave10-08.37", 0x0000, 0x08000, CRC(026a68e1) SHA1(9e54310a9f1f5187ea6eb49d9189865b44708a7e) ) |
1730 | | |
1731 | | ROM_REGION( 0x10000, "audiocpu", 0 ) |
1732 | | ROM_LOAD( "a78-07.46", 0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) ) |
1733 | | |
1734 | | ROM_REGION( 0x10000, "mcu", 0 ) |
1735 | | ROM_LOAD( "a78-01.17", 0xf000, 0x1000, CRC(b1bfb53d) SHA1(31b8f31acd3aa394acd80db362774749842e1285) ) |
1736 | | |
1737 | | ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT ) |
1738 | | ROM_LOAD( "bublcave-09.12", 0x00000, 0x8000, CRC(b90b7eef) SHA1(de72e4635843ad76248aa3b4aa8f8a0bfd53879e) ) /* 1st plane */ |
1739 | | ROM_LOAD( "bublcave-10.13", 0x08000, 0x8000, CRC(4fb22f05) SHA1(880104e86dbd00ae657cbc768722427503b6a59f) ) |
1740 | | ROM_LOAD( "bublcave-11.14", 0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) ) |
1741 | | ROM_LOAD( "bublcave-12.15", 0x18000, 0x8000, CRC(e49eb49e) SHA1(2e05dc8833e10bef1a317d238c39fb9f362e9997) ) |
1742 | | ROM_LOAD( "bublcave-13.16", 0x20000, 0x8000, CRC(61919734) SHA1(2c07e29f3dcc972d5eb47679ad81a0d7656b0cb2) ) |
1743 | | ROM_LOAD( "bublcave-14.17", 0x28000, 0x8000, CRC(7e3a13bd) SHA1(bd4dba799340fa599f11cc68e03efe70ba6ba99b) ) |
1744 | | ROM_LOAD( "bublcave-15.30", 0x40000, 0x8000, CRC(c253c73a) SHA1(3e187f6b9ca769772990068abe7b309417147d39) ) /* 2nd plane */ |
1745 | | ROM_LOAD( "bublcave-16.31", 0x48000, 0x8000, CRC(e66c92ee) SHA1(12ea193c54121d08ad110c94cc075e29fef3ff85) ) |
1746 | | ROM_LOAD( "bublcave-17.32", 0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) ) |
1747 | | ROM_LOAD( "bublcave-18.33", 0x58000, 0x8000, CRC(47ee2544) SHA1(c6946e824043a312ed437e548a64ef599effbd42) ) |
1748 | | ROM_LOAD( "bublcave-19.34", 0x60000, 0x8000, CRC(1ceeb1fa) SHA1(eb29ff896d149f7ab4cf38a338df39df14ccc20c) ) |
1749 | | ROM_LOAD( "bublcave-20.35", 0x68000, 0x8000, CRC(64322e24) SHA1(acff8a9fcaf74f198653080759898d15cccf04e8) ) |
1750 | | |
1751 | | ROM_REGION( 0x0100, "proms", 0 ) |
1752 | | ROM_LOAD( "a71-25.41", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing */ |
1753 | | ROM_END |
1754 | | |
1755 | | ROM_START( bublboblb ) |
1756 | | ROM_REGION( 0x30000, "maincpu", 0 ) |
1757 | | ROM_LOAD( "bbaladar.3", 0x00000, 0x8000, CRC(31bfc6fb) SHA1(6a72086d415a69b9e5c003ec6cf7858e8c4b346f) ) |
1758 | | /* ROMs banked at 8000-bfff */ |
1759 | | ROM_LOAD( "bbaladar.5", 0x10000, 0x8000, CRC(16386e9a) SHA1(77fa3f5ecce5c79ba52098c0870482459926b415) ) |
1760 | | ROM_LOAD( "bbaladar.4", 0x18000, 0x8000, CRC(0c4bcb07) SHA1(3e3f7fa098d6be61d265cab5258dbd0e279bd8ed) ) |
1761 | | |
1762 | | ROM_REGION( 0x10000, "slave", 0 ) /* 64k for the second CPU */ |
1763 | | ROM_LOAD( "a78-08.37", 0x0000, 0x08000, CRC(ae11a07b) SHA1(af7a335c8da637103103cc274e077f123908ebb7) ) |
1764 | | |
1765 | | ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the third CPU */ |
1766 | | ROM_LOAD( "a78-07.46", 0x0000, 0x08000, CRC(4f9a26e8) SHA1(3105b34b88a7134493c2b3f584729f8b0407a011) ) |
1767 | | |
1768 | | ROM_REGION( 0x80000, "gfx1", ROMREGION_INVERT ) |
1769 | | ROM_LOAD( "a78-09.12", 0x00000, 0x8000, CRC(20358c22) SHA1(2297af6c53d5807bf90a8e081075b8c72a994fc5) ) /* 1st plane */ |
1770 | | ROM_LOAD( "a78-10.13", 0x08000, 0x8000, CRC(930168a9) SHA1(fd358c3c3b424bca285f67a1589eb98a345ff670) ) |
1771 | | ROM_LOAD( "a78-11.14", 0x10000, 0x8000, CRC(9773e512) SHA1(33c1687ee575d66bf0e98add45d06da827813765) ) |
1772 | | ROM_LOAD( "a78-12.15", 0x18000, 0x8000, CRC(d045549b) SHA1(0c12077d3ddc2ce6aa45a0224ad5540f3f218446) ) |
1773 | | ROM_LOAD( "a78-13.16", 0x20000, 0x8000, CRC(d0af35c5) SHA1(c5a89f4d73acc0db86654540b3abfd77b3757db5) ) |
1774 | | ROM_LOAD( "a78-14.17", 0x28000, 0x8000, CRC(7b5369a8) SHA1(1307b26d80e6f36ebe6c442bebec41d20066eaf9) ) |
1775 | | /* 0x30000-0x3ffff empty */ |
1776 | | ROM_LOAD( "a78-15.30", 0x40000, 0x8000, CRC(6b61a413) SHA1(44eddf12fb46fceca2addbe6da929aaea7636b13) ) /* 2nd plane */ |
1777 | | ROM_LOAD( "a78-16.31", 0x48000, 0x8000, CRC(b5492d97) SHA1(d5b045e3ebaa44809757a4220cefb3c6815470da) ) |
1778 | | ROM_LOAD( "a78-17.32", 0x50000, 0x8000, CRC(d69762d5) SHA1(3326fef4e0bd86681a3047dc11886bb171ecb609) ) |
1779 | | ROM_LOAD( "a78-18.33", 0x58000, 0x8000, CRC(9f243b68) SHA1(32dce8d311a4be003693182a999e4053baa6bb0a) ) |
1780 | | ROM_LOAD( "a78-19.34", 0x60000, 0x8000, CRC(66e9438c) SHA1(b94e62b6fbe7f4e08086d0365afc5cff6e0ccafd) ) |
1781 | | ROM_LOAD( "a78-20.35", 0x68000, 0x8000, CRC(9ef863ad) SHA1(29f91b5a3765e4d6e6c3382db1d8d8297b6e56c8) ) |
1782 | | /* 0x70000-0x7ffff empty */ |
1783 | | |
1784 | | ROM_REGION( 0x0100, "proms", 0 ) |
1785 | | ROM_LOAD( "a71-25.41", 0x0000, 0x0100, CRC(2d0f8545) SHA1(089c31e2f614145ef2743164f7b52ae35bc06808) ) /* video timing */ |
1786 | | |
1787 | | ROM_REGION( 0x0600, "plds", 0 ) |
1788 | | ROM_LOAD( "pal16r4.u36", 0x0000, 0x0104, CRC(22fe26ac) SHA1(bbbfcbe6faded4af7ceec57b800297c054a997da) ) |
1789 | | ROM_LOAD( "pal16l8.u38", 0x0200, 0x0104, CRC(c02d9663) SHA1(5d23cfd96f072981fd5fcf0dd7e98459da58b662) ) |
1790 | | ROM_LOAD( "pal16l8.u4", 0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) ) |
1791 | | ROM_END |
1792 | | |
1793 | 1530 | /************************************* |
1794 | 1531 | * |
1795 | 1532 | * Driver initialization |
r249901 | r249902 | |
1861 | 1598 | GAME( 1986, sboblbobl, bublbobl, boblbobl, sboblbobl, bublbobl_state, bublbobl, ROT0, "bootleg (Datsu)", "Super Bobble Bobble (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) |
1862 | 1599 | GAME( 1986, sboblbobla, bublbobl, boblbobl, boblbobl, bublbobl_state, bublbobl, ROT0, "bootleg", "Super Bobble Bobble (bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) |
1863 | 1600 | GAME( 1986, sboblboblb, bublbobl, boblbobl, sboblboblb, bublbobl_state, bublbobl, ROT0, "bootleg", "Super Bobble Bobble (bootleg, set 3)", MACHINE_SUPPORTS_SAVE ) |
1864 | | GAME( 1986, sboblboblc, bublbobl, boblbobl, sboblboblb, bublbobl_state, bublbobl, ROT0, "bootleg", "Super Bubble Bobble (bootleg)", MACHINE_SUPPORTS_SAVE ) // the title screen on this one isn't hacked |
1865 | 1601 | GAME( 1986, bub68705, bublbobl, bub68705, bublbobl, bublbobl_state, bublbobl, ROT0, "bootleg", "Bubble Bobble (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) |
1866 | 1602 | |
1867 | 1603 | GAME( 1987, dland, bublbobl, boblbobl, dland, bublbobl_state, dland, ROT0, "bootleg", "Dream Land / Super Dream Land (bootleg of Bubble Bobble)", MACHINE_SUPPORTS_SAVE ) |
1868 | | |
1869 | | GAME( 2013, bbredux, bublbobl, boblbobl, boblbobl, bublbobl_state, bublbobl, ROT0, "bootleg (Punji)", "Bubble Bobble ('bootleg redux' hack for Bobble Bobble PCB)", MACHINE_SUPPORTS_SAVE ) // for use on non-MCU bootleg boards (Bobble Bobble etc.) has more faithful simulation of the protection device (JAN-04-2015 release) |
1870 | | GAME( 2013, bublboblb, bublbobl, boblbobl, boblcave, bublbobl_state, bublbobl, ROT0, "bootleg (Aladar)", "Bubble Bobble (for Bobble Bobble PCB)", MACHINE_SUPPORTS_SAVE ) // alt bootleg/hack to restore proper MCU behavior to bootleg boards |
1871 | | |
1872 | | GAME( 2013, bublcave, bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "hack (Bisboch and Aladar)", "Bubble Bobble: Lost Cave V1.2", MACHINE_SUPPORTS_SAVE ) |
1873 | | GAME( 2013, boblcave, bublbobl, boblbobl, boblcave, bublbobl_state, bublbobl, ROT0, "hack (Bisboch and Aladar)", "Bubble Bobble: Lost Cave V1.2 (for Bobble Bobble PCB)", MACHINE_SUPPORTS_SAVE ) |
1874 | | |
1875 | | GAME( 2012, bublcave11, bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "hack (Bisboch and Aladar)", "Bubble Bobble: Lost Cave V1.1", MACHINE_SUPPORTS_SAVE ) |
1876 | | GAME( 2012, bublcave10, bublbobl, bublbobl, bublbobl, bublbobl_state, bublbobl, ROT0, "hack (Bisboch and Aladar)", "Bubble Bobble: Lost Cave V1.0", MACHINE_SUPPORTS_SAVE ) |
1877 | | |
1878 | | |
trunk/src/mame/includes/neogeo.h
r249901 | r249902 | |
392 | 392 | ROM_LOAD16_WORD_SWAP_BIOS( 0, "sp-s2.sp1", 0x00000, 0x020000, CRC(9036d879) SHA1(4f5ed7105b7128794654ce82b51723e16e389543) ) /* Europe, 1 Slot, has also been found on 2 Slot and 4 Slot (the old hacks were designed for this one) */ \ |
393 | 393 | ROM_SYSTEM_BIOS( 1, "euro-s1", "Europe MVS (Ver. 1)" ) \ |
394 | 394 | ROM_LOAD16_WORD_SWAP_BIOS( 1, "sp-s.sp1", 0x00000, 0x020000, CRC(c7f2fa45) SHA1(09576ff20b4d6b365e78e6a5698ea450262697cd) ) /* Europe, 4 Slot */ \ |
395 | | \ |
396 | 395 | ROM_SYSTEM_BIOS( 2, "us", "US MVS (Ver. 2?)" ) \ |
397 | 396 | ROM_LOAD16_WORD_SWAP_BIOS( 2, "sp-u2.sp1", 0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* US, 2 Slot */ \ |
398 | 397 | ROM_SYSTEM_BIOS( 3, "us-e", "US MVS (Ver. 1)" ) \ |
399 | 398 | ROM_LOAD16_WORD_SWAP_BIOS( 3, "sp-e.sp1", 0x00000, 0x020000, CRC(2723a5b5) SHA1(5dbff7531cf04886cde3ef022fb5ca687573dcb8) ) /* US, 6 Slot (V5?) */ \ |
400 | | ROM_SYSTEM_BIOS( 4, "us-v2", "US MVS (4 slot, Ver 2)" ) \ |
401 | | ROM_LOAD16_WORD_SWAP_BIOS(4, "v2.bin", 0x00000, 0x020000, CRC(62f021f4) SHA1(62d372269e1b3161c64ae21123655a0a22ffd1bb) ) /* US, 4 slot */ \ |
402 | | \ |
403 | | ROM_SYSTEM_BIOS( 5, "asia", "Asia MVS (Ver. 3)" ) \ |
404 | | ROM_LOAD16_WORD_SWAP_BIOS( 5, "asia-s3.rom", 0x00000, 0x020000, CRC(91b64be3) SHA1(720a3e20d26818632aedf2c2fd16c54f213543e1) ) /* Asia */ \ |
405 | | \ |
406 | | ROM_SYSTEM_BIOS( 6, "japan", "Japan MVS (Ver. 3)" ) \ |
407 | | ROM_LOAD16_WORD_SWAP_BIOS( 6, "vs-bios.rom", 0x00000, 0x020000, CRC(f0e8f27d) SHA1(ecf01eda815909f1facec62abf3594eaa8d11075) ) /* Japan, Ver 6 VS Bios */ \ |
408 | | ROM_SYSTEM_BIOS( 7, "japan-s2", "Japan MVS (Ver. 2)" ) \ |
409 | | ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp-j2.sp1", 0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* Japan, Older */ \ |
410 | | ROM_SYSTEM_BIOS( 8, "japan-s1", "Japan MVS (Ver. 1)" ) \ |
411 | | ROM_LOAD16_WORD_SWAP_BIOS( 8, "sp1.jipan.1024", 0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* Japan, Older */ \ |
412 | | ROM_SYSTEM_BIOS( 9, "mv1c", "NEO-MVH MV1C" ) \ |
413 | | ROM_LOAD16_WORD_SWAP_BIOS( 9, "sp-45.sp1", 0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* Latest Asia bios */ \ |
414 | | ROM_SYSTEM_BIOS( 10, "japan-j3", "Japan MVS (J3)" ) \ |
415 | | ROM_LOAD16_WORD_SWAP_BIOS( 10, "japan-j3.bin", 0x00000, 0x020000, CRC(dff6d41f) SHA1(e92910e20092577a4523a6b39d578a71d4de7085) ) /* Latest Japan bios; correct chip label unknown */ \ |
416 | | ROM_SYSTEM_BIOS(11, "japan-hotel", "Custom Japanese Hotel" ) \ |
417 | | ROM_LOAD16_WORD_SWAP_BIOS(11, "sp-1v1_3db8c.bin", 0x00000, 0x020000, CRC(162f0ebe) SHA1(fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271) ) /* 'rare MVS found in japanese hotels' shows v1.3 in test mode */ \ |
418 | | \ |
419 | | ROM_SYSTEM_BIOS(12, "unibios31", "Universe Bios (Hack, Ver. 3.1)" ) \ |
420 | | ROM_LOAD16_WORD_SWAP_BIOS(12, "uni-bios_3_1.rom", 0x00000, 0x020000, CRC(0c58093f) SHA1(29329a3448c2505e1ff45ffa75e61e9693165153) ) /* Universe Bios v3.1 (hack) */ \ |
421 | | ROM_SYSTEM_BIOS(13, "unibios30", "Universe Bios (Hack, Ver. 3.0)" ) \ |
422 | | ROM_LOAD16_WORD_SWAP_BIOS(13, "uni-bios_3_0.rom", 0x00000, 0x020000, CRC(a97c89a9) SHA1(97a5eff3b119062f10e31ad6f04fe4b90d366e7f) ) /* Universe Bios v3.0 (hack) */ \ |
423 | | ROM_SYSTEM_BIOS(14, "unibios23", "Universe Bios (Hack, Ver. 2.3)" ) \ |
424 | | ROM_LOAD16_WORD_SWAP_BIOS(14, "uni-bios_2_3.rom", 0x00000, 0x020000, CRC(27664eb5) SHA1(5b02900a3ccf3df168bdcfc98458136fd2b92ac0) ) /* Universe Bios v2.3 (hack) */ \ |
425 | | ROM_SYSTEM_BIOS(15, "unibios23o", "Universe Bios (Hack, Ver. 2.3, older?)" ) \ |
426 | | ROM_LOAD16_WORD_SWAP_BIOS(15, "uni-bios_2_3o.rom", 0x00000, 0x020000, CRC(601720ae) SHA1(1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9) ) /* Universe Bios v2.3 (hack) alt version, withdrawn? */ \ |
427 | | ROM_SYSTEM_BIOS(16, "unibios22", "Universe Bios (Hack, Ver. 2.2)" ) \ |
428 | | ROM_LOAD16_WORD_SWAP_BIOS(16, "uni-bios_2_2.rom", 0x00000, 0x020000, CRC(2d50996a) SHA1(5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c) ) /* Universe Bios v2.2 (hack) */ \ |
429 | | ROM_SYSTEM_BIOS(17, "unibios21", "Universe Bios (Hack, Ver. 2.1)" ) \ |
430 | | ROM_LOAD16_WORD_SWAP_BIOS(17, "uni-bios_2_1.rom", 0x00000, 0x020000, CRC(8dabf76b) SHA1(c23732c4491d966cf0373c65c83c7a4e88f0082c) ) /* Universe Bios v2.1 (hack) */ \ |
431 | | ROM_SYSTEM_BIOS(18, "unibios20", "Universe Bios (Hack, Ver. 2.0)" ) \ |
432 | | ROM_LOAD16_WORD_SWAP_BIOS(18, "uni-bios_2_0.rom", 0x00000, 0x020000, CRC(0c12c2ad) SHA1(37bcd4d30f3892078b46841d895a6eff16dc921e) ) /* Universe Bios v2.0 (hack) */ \ |
433 | | ROM_SYSTEM_BIOS(19, "unibios13", "Universe Bios (Hack, Ver. 1.3)" ) \ |
434 | | ROM_LOAD16_WORD_SWAP_BIOS(19, "uni-bios_1_3.rom", 0x00000, 0x020000, CRC(b24b44a0) SHA1(eca8851d30557b97c309a0d9f4a9d20e5b14af4e) ) /* Universe Bios v1.3 (hack) */ \ |
435 | | ROM_SYSTEM_BIOS(20, "unibios12", "Universe Bios (Hack, Ver. 1.2)" ) \ |
436 | | ROM_LOAD16_WORD_SWAP_BIOS(20, "uni-bios_1_2.rom", 0x00000, 0x020000, CRC(4fa698e9) SHA1(682e13ec1c42beaa2d04473967840c88fd52c75a) ) /* Universe Bios v1.2 (hack) */ \ |
437 | | ROM_SYSTEM_BIOS(21, "unibios12o", "Universe Bios (Hack, Ver. 1.2, older)" ) \ |
438 | | ROM_LOAD16_WORD_SWAP_BIOS(21, "uni-bios_1_2o.rom", 0x00000, 0x020000, CRC(e19d3ce9) SHA1(af88ef837f44a3af2d7144bb46a37c8512b67770) ) /* Universe Bios v1.2 (hack) alt version */ \ |
439 | | ROM_SYSTEM_BIOS(22, "unibios11", "Universe Bios (Hack, Ver. 1.1)" ) \ |
440 | | ROM_LOAD16_WORD_SWAP_BIOS(22, "uni-bios_1_1.rom", 0x00000, 0x020000, CRC(5dda0d84) SHA1(4153d533c02926a2577e49c32657214781ff29b7) ) /* Universe Bios v1.1 (hack) */ \ |
441 | | ROM_SYSTEM_BIOS(23, "unibios10", "Universe Bios (Hack, Ver. 1.0)" ) \ |
442 | | ROM_LOAD16_WORD_SWAP_BIOS(23, "uni-bios_1_0.rom", 0x00000, 0x020000, CRC(0ce453a0) SHA1(3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9) ) /* Universe Bios v1.0 (hack) */ |
| 399 | ROM_SYSTEM_BIOS( 4, "asia", "Asia MVS (Ver. 3)" ) \ |
| 400 | ROM_LOAD16_WORD_SWAP_BIOS( 4, "asia-s3.rom", 0x00000, 0x020000, CRC(91b64be3) SHA1(720a3e20d26818632aedf2c2fd16c54f213543e1) ) /* Asia */ \ |
| 401 | ROM_SYSTEM_BIOS( 5, "japan", "Japan MVS (Ver. 3)" ) \ |
| 402 | ROM_LOAD16_WORD_SWAP_BIOS( 5, "vs-bios.rom", 0x00000, 0x020000, CRC(f0e8f27d) SHA1(ecf01eda815909f1facec62abf3594eaa8d11075) ) /* Japan, Ver 6 VS Bios */ \ |
| 403 | ROM_SYSTEM_BIOS( 6, "japan-s2", "Japan MVS (Ver. 2)" ) \ |
| 404 | ROM_LOAD16_WORD_SWAP_BIOS( 6, "sp-j2.sp1", 0x00000, 0x020000, CRC(acede59c) SHA1(b6f97acd282fd7e94d9426078a90f059b5e9dd91) ) /* Japan, Older */ \ |
| 405 | ROM_SYSTEM_BIOS( 7, "japan-s1", "Japan MVS (Ver. 1)" ) \ |
| 406 | ROM_LOAD16_WORD_SWAP_BIOS( 7, "sp1.jipan.1024", 0x00000, 0x020000, CRC(9fb0abe4) SHA1(18a987ce2229df79a8cf6a84f968f0e42ce4e59d) ) /* Japan, Older */ \ |
| 407 | ROM_SYSTEM_BIOS( 8, "mv1c", "NEO-MVH MV1C" ) \ |
| 408 | ROM_LOAD16_WORD_SWAP_BIOS( 8, "sp-45.sp1", 0x00000, 0x080000, CRC(03cc9f6a) SHA1(cdf1f49e3ff2bac528c21ed28449cf35b7957dc1) ) /* Latest Asia bios */ \ |
| 409 | ROM_SYSTEM_BIOS( 9, "japan-j3", "Japan MVS (J3)" ) \ |
| 410 | ROM_LOAD16_WORD_SWAP_BIOS( 9, "japan-j3.bin", 0x00000, 0x020000, CRC(dff6d41f) SHA1(e92910e20092577a4523a6b39d578a71d4de7085) ) /* Latest Japan bios; correct chip label unknown */ \ |
| 411 | ROM_SYSTEM_BIOS(10, "japan-hotel", "Custom Japanese Hotel" ) \ |
| 412 | ROM_LOAD16_WORD_SWAP_BIOS(10, "sp-1v1_3db8c.bin", 0x00000, 0x020000, CRC(162f0ebe) SHA1(fe1c6dd3dfcf97d960065b1bb46c1e11cb7bf271) ) /* 'rare MVS found in japanese hotels' shows v1.3 in test mode */ \ |
| 413 | ROM_SYSTEM_BIOS(11, "unibios31", "Universe Bios (Hack, Ver. 3.1)" ) \ |
| 414 | ROM_LOAD16_WORD_SWAP_BIOS(11, "uni-bios_3_1.rom", 0x00000, 0x020000, CRC(0c58093f) SHA1(29329a3448c2505e1ff45ffa75e61e9693165153) ) /* Universe Bios v3.1 (hack) */ \ |
| 415 | ROM_SYSTEM_BIOS(12, "unibios30", "Universe Bios (Hack, Ver. 3.0)" ) \ |
| 416 | ROM_LOAD16_WORD_SWAP_BIOS(12, "uni-bios_3_0.rom", 0x00000, 0x020000, CRC(a97c89a9) SHA1(97a5eff3b119062f10e31ad6f04fe4b90d366e7f) ) /* Universe Bios v3.0 (hack) */ \ |
| 417 | ROM_SYSTEM_BIOS(13, "unibios23", "Universe Bios (Hack, Ver. 2.3)" ) \ |
| 418 | ROM_LOAD16_WORD_SWAP_BIOS(13, "uni-bios_2_3.rom", 0x00000, 0x020000, CRC(27664eb5) SHA1(5b02900a3ccf3df168bdcfc98458136fd2b92ac0) ) /* Universe Bios v2.3 (hack) */ \ |
| 419 | ROM_SYSTEM_BIOS(14, "unibios23o", "Universe Bios (Hack, Ver. 2.3, older?)" ) \ |
| 420 | ROM_LOAD16_WORD_SWAP_BIOS(14, "uni-bios_2_3o.rom", 0x00000, 0x020000, CRC(601720ae) SHA1(1b8a72c720cdb5ee3f1d735bbcf447b09204b8d9) ) /* Universe Bios v2.3 (hack) alt version, withdrawn? */ \ |
| 421 | ROM_SYSTEM_BIOS(15, "unibios22", "Universe Bios (Hack, Ver. 2.2)" ) \ |
| 422 | ROM_LOAD16_WORD_SWAP_BIOS(15, "uni-bios_2_2.rom", 0x00000, 0x020000, CRC(2d50996a) SHA1(5241a4fb0c63b1a23fd1da8efa9c9a9bd3b4279c) ) /* Universe Bios v2.2 (hack) */ \ |
| 423 | ROM_SYSTEM_BIOS(16, "unibios21", "Universe Bios (Hack, Ver. 2.1)" ) \ |
| 424 | ROM_LOAD16_WORD_SWAP_BIOS(16, "uni-bios_2_1.rom", 0x00000, 0x020000, CRC(8dabf76b) SHA1(c23732c4491d966cf0373c65c83c7a4e88f0082c) ) /* Universe Bios v2.1 (hack) */ \ |
| 425 | ROM_SYSTEM_BIOS(17, "unibios20", "Universe Bios (Hack, Ver. 2.0)" ) \ |
| 426 | ROM_LOAD16_WORD_SWAP_BIOS(17, "uni-bios_2_0.rom", 0x00000, 0x020000, CRC(0c12c2ad) SHA1(37bcd4d30f3892078b46841d895a6eff16dc921e) ) /* Universe Bios v2.0 (hack) */ \ |
| 427 | ROM_SYSTEM_BIOS(18, "unibios13", "Universe Bios (Hack, Ver. 1.3)" ) \ |
| 428 | ROM_LOAD16_WORD_SWAP_BIOS(18, "uni-bios_1_3.rom", 0x00000, 0x020000, CRC(b24b44a0) SHA1(eca8851d30557b97c309a0d9f4a9d20e5b14af4e) ) /* Universe Bios v1.3 (hack) */ \ |
| 429 | ROM_SYSTEM_BIOS(19, "unibios12", "Universe Bios (Hack, Ver. 1.2)" ) \ |
| 430 | ROM_LOAD16_WORD_SWAP_BIOS(19, "uni-bios_1_2.rom", 0x00000, 0x020000, CRC(4fa698e9) SHA1(682e13ec1c42beaa2d04473967840c88fd52c75a) ) /* Universe Bios v1.2 (hack) */ \ |
| 431 | ROM_SYSTEM_BIOS(20, "unibios12o", "Universe Bios (Hack, Ver. 1.2, older)" ) \ |
| 432 | ROM_LOAD16_WORD_SWAP_BIOS(20, "uni-bios_1_2o.rom", 0x00000, 0x020000, CRC(e19d3ce9) SHA1(af88ef837f44a3af2d7144bb46a37c8512b67770) ) /* Universe Bios v1.2 (hack) alt version */ \ |
| 433 | ROM_SYSTEM_BIOS(21, "unibios11", "Universe Bios (Hack, Ver. 1.1)" ) \ |
| 434 | ROM_LOAD16_WORD_SWAP_BIOS(21, "uni-bios_1_1.rom", 0x00000, 0x020000, CRC(5dda0d84) SHA1(4153d533c02926a2577e49c32657214781ff29b7) ) /* Universe Bios v1.1 (hack) */ \ |
| 435 | ROM_SYSTEM_BIOS(22, "unibios10", "Universe Bios (Hack, Ver. 1.0)" ) \ |
| 436 | ROM_LOAD16_WORD_SWAP_BIOS(22, "uni-bios_1_0.rom", 0x00000, 0x020000, CRC(0ce453a0) SHA1(3b4c0cd26c176fc6b26c3a2f95143dd478f6abf9) ) /* Universe Bios v1.0 (hack) */ |
443 | 437 | |
444 | 438 | |
445 | 439 | |