trunk/src/emu/video/vector.c
r249902 | r249903 | |
35 | 35 | #include "vector.h" |
36 | 36 | |
37 | 37 | |
| 38 | #define FLT_EPSILON 1E-5 |
38 | 39 | |
39 | | #define VECTOR_WIDTH_DENOM 512 |
| 40 | #define VECTOR_WIDTH_DENOM 512 |
40 | 41 | |
| 42 | #define MAX_POINTS 10000 |
41 | 43 | |
42 | | #define MAX_POINTS 10000 |
43 | | |
44 | 44 | #define VECTOR_TEAM \ |
45 | 45 | "-* Vector Heads *-\n" \ |
46 | 46 | "Brad Oliver\n" \ |
r249902 | r249903 | |
140 | 140 | { |
141 | 141 | } |
142 | 142 | |
143 | | float vector_device::m_flicker_correction = 0.0f; |
144 | | float vector_device::m_beam_width = 0.0f; |
145 | | int vector_device::m_flicker; |
| 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; |
146 | 147 | int vector_device::m_vector_index; |
147 | 148 | |
148 | 149 | void vector_device::device_start() |
149 | 150 | { |
150 | | m_beam_width = machine().options().beam(); |
151 | | |
152 | 151 | /* Grab the settings for this session */ |
153 | | set_flicker(machine().options().flicker()); |
| 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(); |
154 | 156 | |
155 | 157 | m_vector_index = 0; |
156 | 158 | |
r249902 | r249903 | |
158 | 160 | m_vector_list = auto_alloc_array_clear(machine(), point, MAX_POINTS); |
159 | 161 | } |
160 | 162 | |
161 | | void vector_device::set_flicker(float _flicker) |
| 163 | void vector_device::set_flicker(float newval) |
162 | 164 | { |
163 | | m_flicker_correction = _flicker; |
164 | | m_flicker = (int)(m_flicker_correction * 2.55f); |
| 165 | m_flicker = newval; |
165 | 166 | } |
166 | 167 | |
167 | 168 | float vector_device::get_flicker() |
168 | 169 | { |
169 | | return m_flicker_correction; |
| 170 | return m_flicker; |
170 | 171 | } |
171 | 172 | |
172 | | void vector_device::set_beam(float _beam) |
| 173 | void vector_device::set_beam_width_min(float newval) |
173 | 174 | { |
174 | | m_beam_width = _beam; |
| 175 | m_beam_width_min = newval; |
175 | 176 | } |
176 | 177 | |
177 | | float vector_device::get_beam() |
| 178 | float vector_device::get_beam_width_min() |
178 | 179 | { |
179 | | return m_beam_width; |
| 180 | return m_beam_width_min; |
180 | 181 | } |
181 | 182 | |
| 183 | void vector_device::set_beam_width_max(float newval) |
| 184 | { |
| 185 | m_beam_width_max = newval; |
| 186 | } |
182 | 187 | |
| 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 | |
183 | 204 | /* |
| 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 | /* |
184 | 215 | * Adds a line end point to the vertices list. The vector processor emulation |
185 | 216 | * needs to call this. |
186 | 217 | */ |
187 | | void vector_device::add_point (int x, int y, rgb_t color, int intensity) |
| 218 | void vector_device::add_point(int x, int y, rgb_t color, int intensity) |
188 | 219 | { |
189 | 220 | point *newpoint; |
190 | 221 | |
191 | | if (intensity > 0xff) |
192 | | intensity = 0xff; |
| 222 | if (intensity > 255) |
| 223 | { |
| 224 | intensity = 255; |
| 225 | } |
193 | 226 | |
194 | 227 | if (m_flicker && (intensity > 0)) |
195 | 228 | { |
196 | | intensity += (intensity * (0x80-(machine().rand()&0xff)) * m_flicker)>>16; |
| 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); |
197 | 232 | if (intensity < 0) |
| 233 | { |
198 | 234 | intensity = 0; |
199 | | if (intensity > 0xff) |
200 | | intensity = 0xff; |
| 235 | } |
| 236 | if (intensity > 255) |
| 237 | { |
| 238 | intensity = 255; |
| 239 | } |
201 | 240 | } |
| 241 | |
202 | 242 | newpoint = &m_vector_list[m_vector_index]; |
203 | 243 | newpoint->x = x; |
204 | 244 | newpoint->y = y; |
r249902 | r249903 | |
214 | 254 | } |
215 | 255 | } |
216 | 256 | |
| 257 | |
217 | 258 | /* |
218 | 259 | * Add new clipping info to the list |
219 | 260 | */ |
220 | | void vector_device::add_clip (int x1, int yy1, int x2, int y2) |
| 261 | void vector_device::add_clip(int x1, int yy1, int x2, int y2) |
221 | 262 | { |
222 | 263 | point *newpoint; |
223 | 264 | |
r249902 | r249903 | |
241 | 282 | * The vector CPU creates a new display list. We save the old display list, |
242 | 283 | * but only once per refresh. |
243 | 284 | */ |
244 | | void vector_device::clear_list (void) |
| 285 | void vector_device::clear_list(void) |
245 | 286 | { |
246 | 287 | m_vector_index = 0; |
247 | 288 | } |
r249902 | r249903 | |
255 | 296 | float yscale = 1.0f / (65536 * visarea.height()); |
256 | 297 | float xoffs = (float)visarea.min_x; |
257 | 298 | 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 | |
258 | 304 | point *curpoint; |
259 | 305 | render_bounds clip; |
260 | | int lastx = 0, lasty = 0; |
261 | | int i; |
| 306 | int lastx = 0; |
| 307 | int lasty = 0; |
262 | 308 | |
263 | 309 | curpoint = m_vector_list; |
264 | 310 | |
r249902 | r249903 | |
268 | 314 | clip.x0 = clip.y0 = 0.0f; |
269 | 315 | clip.x1 = clip.y1 = 1.0f; |
270 | 316 | |
271 | | for (i = 0; i < m_vector_index; i++) |
| 317 | for (int i = 0; i < m_vector_index; i++) |
272 | 318 | { |
273 | 319 | render_bounds coords; |
274 | 320 | |
r249902 | r249903 | |
286 | 332 | } |
287 | 333 | else |
288 | 334 | { |
| 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 | |
289 | 341 | coords.x0 = ((float)lastx - xoffs) * xscale; |
290 | 342 | coords.y0 = ((float)lasty - yoffs) * yscale; |
291 | 343 | coords.x1 = ((float)curpoint->x - xoffs) * xscale; |
292 | 344 | coords.y1 = ((float)curpoint->y - yoffs) * yscale; |
293 | 345 | |
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); |
| 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 | } |
300 | 355 | |
| 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 | |
301 | 365 | lastx = curpoint->x; |
302 | 366 | lasty = curpoint->y; |
303 | 367 | } |
| 368 | |
304 | 369 | curpoint++; |
305 | 370 | } |
| 371 | |
306 | 372 | return 0; |
307 | 373 | } |
trunk/src/mame/drivers/bublbobl.c
r249902 | r249903 | |
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. |
268 | 273 | |
269 | 274 | ***************************************************************************/ |
270 | 275 | |
r249902 | r249903 | |
556 | 561 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
557 | 562 | INPUT_PORTS_END |
558 | 563 | |
| 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 | |
559 | 577 | static INPUT_PORTS_START( sboblboblb ) |
560 | 578 | PORT_INCLUDE( boblbobl ) |
561 | 579 | |
r249902 | r249903 | |
1359 | 1377 | ROM_LOAD( "pal16l8.u4", 0x0400, 0x0104, CRC(077d20a8) SHA1(8e568ffd6f66c3dd61708dd0f3be9c2ed488ae4b) ) |
1360 | 1378 | ROM_END |
1361 | 1379 | |
| 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 | |
1362 | 1418 | ROM_START( sboblbobl ) |
1363 | 1419 | ROM_REGION( 0x30000, "maincpu", 0 ) |
1364 | 1420 | ROM_LOAD( "cpu2-3.bin", 0x00000, 0x08000, CRC(2d9107b6) SHA1(ab1a4a20f4b533cd06cc458668f407a8a14c9d70) ) |
r249902 | r249903 | |
1459 | 1515 | |
1460 | 1516 | |
1461 | 1517 | |
| 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 | |
1462 | 1553 | ROM_START( bub68705 ) |
1463 | 1554 | ROM_REGION( 0x30000, "maincpu", 0 ) /* Program roms match Bubble Bobble (older) */ |
1464 | 1555 | ROM_LOAD( "2.bin", 0x00000, 0x08000, CRC(32c8305b) SHA1(6bf69b3edfbefd33cd670a762b4bf0b39629a220) ) |
r249902 | r249903 | |
1526 | 1617 | ROM_END |
1527 | 1618 | |
1528 | 1619 | |
| 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) ) |
1529 | 1624 | |
| 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 | |
1530 | 1793 | /************************************* |
1531 | 1794 | * |
1532 | 1795 | * Driver initialization |
r249902 | r249903 | |
1598 | 1861 | GAME( 1986, sboblbobl, bublbobl, boblbobl, sboblbobl, bublbobl_state, bublbobl, ROT0, "bootleg (Datsu)", "Super Bobble Bobble (bootleg, set 1)", MACHINE_SUPPORTS_SAVE ) |
1599 | 1862 | GAME( 1986, sboblbobla, bublbobl, boblbobl, boblbobl, bublbobl_state, bublbobl, ROT0, "bootleg", "Super Bobble Bobble (bootleg, set 2)", MACHINE_SUPPORTS_SAVE ) |
1600 | 1863 | 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 |
1601 | 1865 | GAME( 1986, bub68705, bublbobl, bub68705, bublbobl, bublbobl_state, bublbobl, ROT0, "bootleg", "Bubble Bobble (bootleg with 68705)", MACHINE_SUPPORTS_SAVE ) |
1602 | 1866 | |
1603 | 1867 | 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
r249902 | r249903 | |
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 | \ |
395 | 396 | ROM_SYSTEM_BIOS( 2, "us", "US MVS (Ver. 2?)" ) \ |
396 | 397 | ROM_LOAD16_WORD_SWAP_BIOS( 2, "sp-u2.sp1", 0x00000, 0x020000, CRC(e72943de) SHA1(5c6bba07d2ec8ac95776aa3511109f5e1e2e92eb) ) /* US, 2 Slot */ \ |
397 | 398 | ROM_SYSTEM_BIOS( 3, "us-e", "US MVS (Ver. 1)" ) \ |
398 | 399 | ROM_LOAD16_WORD_SWAP_BIOS( 3, "sp-e.sp1", 0x00000, 0x020000, CRC(2723a5b5) SHA1(5dbff7531cf04886cde3ef022fb5ca687573dcb8) ) /* US, 6 Slot (V5?) */ \ |
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) */ |
| 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) */ |
437 | 443 | |
438 | 444 | |
439 | 445 | |