trunk/src/mame/drivers/circusc.c
| r31835 | r31836 | |
| 11 | 11 | To enter service mode, keep 1&2 pressed on reset |
| 12 | 12 | |
| 13 | 13 | |
| 14 | | 'circusc2' ingame bug : |
| 14 | 'circusc3' ingame bug : |
| 15 | 15 | ----------------------- |
| 16 | 16 | |
| 17 | 17 | "Test mode" displays 2, 3, 4 and 7 lives instead of 3, 4, 5 and 7 |
| 18 | 18 | due to code at 0xcb38 : |
| 19 | 19 | |
| 20 | | CB38: B6 30 88 LDA $1800 |
| 21 | | CB3B: 43 COMA |
| 22 | | CB3C: 84 2B ANDA #$03 |
| 23 | | CB3E: 81 8B CMPA #$03 |
| 24 | | CB40: 25 20 BCS $CB44 |
| 25 | | CB42: 86 87 LDA #$05 |
| 26 | | CB44: 8B 20 ADDA #$02 |
| 20 | CB38: 9E 18 00 LDA $1800 |
| 21 | CB3B: CB COMA |
| 22 | CB3C: AC 03 ANDA #$03 |
| 23 | CB3E: 09 03 CMPA #$03 |
| 24 | CB40: 07 02 BCS $CB44 |
| 25 | CB42: 04 05 LDA #$05 |
| 26 | CB44: A9 02 ADDA #$02 |
| 27 | 27 | |
| 28 | 28 | In other sets, you have the following (code from 'circusc') : |
| 29 | 29 | |
| 30 | | CB38: B6 30 88 LDA $1800 |
| 31 | | CB3B: 43 COMA |
| 32 | | CB3C: 84 2B ANDA #$03 |
| 33 | | CB3E: 81 8B CMPA #$03 |
| 34 | | CB40: 25 20 BCS $CB44 |
| 35 | | CB42: 86 86 LDA #$04 |
| 36 | | CB44: 8B 21 ADDA #$03 |
| 30 | CB38: 9E 18 00 LDA $1800 |
| 31 | CB3B: CB COMA |
| 32 | CB3C: AC 03 ANDA #$03 |
| 33 | CB3E: 09 03 CMPA #$03 |
| 34 | CB40: 07 02 BCS $CB44 |
| 35 | CB42: 04 03 LDA #$04 |
| 36 | CB44: A9 03 ADDA #$03 |
| 37 | 37 | |
| 38 | | Ingame lives are correct though (same code for 'circusc' and 'circusc2') : |
| 38 | Ingame lives are correct though (same code for 'circusc' and 'circusc3') : |
| 39 | 39 | |
| 40 | 40 | 6B93: 96 0D LDA $2F |
| 41 | 41 | 6B95: 84 81 ANDA #$03 |
| r31835 | r31836 | |
| 44 | 44 | 6B9B: 25 2A BCS $6B9F |
| 45 | 45 | 6B9D: 86 8F LDA #$07 |
| 46 | 46 | |
| 47 | This bug is due to 380_r02.6h, it differs from 380_q02.6h by 2 bytes, at |
| 48 | offset 0x0b43 is 0x05 and 0x0b45 is 0x02 which is the code listed above. |
| 47 | 49 | |
| 48 | 50 | ***************************************************************************/ |
| 49 | 51 | |
| r31835 | r31836 | |
| 383 | 385 | ROM_START( circusc ) |
| 384 | 386 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 385 | 387 | ROM_LOAD( "380_s05.3h", 0x6000, 0x2000, CRC(48feafcf) SHA1(0e5bd350fa5fee42569eb0c4accf7512d645b792) ) |
| 386 | | ROM_LOAD( "380_r04.4h", 0x8000, 0x2000, CRC(c283b887) SHA1(458c398911453d558003f49c298b0d593c941c11) ) // 380_q04.4h == same |
| 387 | | ROM_LOAD( "380_r03.5h", 0xa000, 0x2000, CRC(e90c0e86) SHA1(03211f0cc90b6e356989c5e2a41b70f4ff2ead83) ) // 380_q03.5h == same |
| 388 | ROM_LOAD( "380_q04.4h", 0x8000, 0x2000, CRC(c283b887) SHA1(458c398911453d558003f49c298b0d593c941c11) ) // Could also be labeled 380 R04 |
| 389 | ROM_LOAD( "380_q03.5h", 0xa000, 0x2000, CRC(e90c0e86) SHA1(03211f0cc90b6e356989c5e2a41b70f4ff2ead83) ) // Could also be labeled 380 R03 |
| 388 | 390 | ROM_LOAD( "380_q02.6h", 0xc000, 0x2000, CRC(4d847dc6) SHA1(a1f65e73c4e5abff1b0970bad32a128173245561) ) |
| 389 | 391 | ROM_LOAD( "380_q01.7h", 0xe000, 0x2000, CRC(18c20adf) SHA1(2f40e1a109d129bb127a8b98e27817988cd08c8b) ) |
| 390 | 392 | |
| r31835 | r31836 | |
| 410 | 412 | ROM_LOAD( "380_j16.10c", 0x0120, 0x100, CRC(c244f2aa) SHA1(86df21c8e0b1ed51a0a4bd33dbb33f6efdea7d39) ) /* sprite lookup table */ |
| 411 | 413 | ROM_END |
| 412 | 414 | |
| 413 | | ROM_START( circusc2 ) |
| 415 | ROM_START( circusc2 ) /* This set verified to come with Q revision roms for 01 through 04 */ |
| 414 | 416 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 415 | 417 | ROM_LOAD( "380_w05.3h", 0x6000, 0x2000, CRC(87df9f5e) SHA1(d759ff6200546c562aecee749dc9941bbbdb9918) ) |
| 416 | | ROM_LOAD( "380_r04.4h", 0x8000, 0x2000, CRC(c283b887) SHA1(458c398911453d558003f49c298b0d593c941c11) ) // 380_q04.4h == same |
| 417 | | ROM_LOAD( "380_r03.5h", 0xa000, 0x2000, CRC(e90c0e86) SHA1(03211f0cc90b6e356989c5e2a41b70f4ff2ead83) ) // 380_q03.5h == same |
| 418 | | ROM_LOAD( "380_r02.6h", 0xc000, 0x2000, CRC(2d434c6f) SHA1(2c794f24422db7671d1bc85cef308ab4a62d523d) ) |
| 418 | ROM_LOAD( "380_q04.4h", 0x8000, 0x2000, CRC(c283b887) SHA1(458c398911453d558003f49c298b0d593c941c11) ) // Could also be labeled 380 R04 |
| 419 | ROM_LOAD( "380_q03.5h", 0xa000, 0x2000, CRC(e90c0e86) SHA1(03211f0cc90b6e356989c5e2a41b70f4ff2ead83) ) // Could also be labeled 380 R03 |
| 420 | ROM_LOAD( "380_q02.6h", 0xc000, 0x2000, CRC(4d847dc6) SHA1(a1f65e73c4e5abff1b0970bad32a128173245561) ) |
| 419 | 421 | ROM_LOAD( "380_q01.7h", 0xe000, 0x2000, CRC(18c20adf) SHA1(2f40e1a109d129bb127a8b98e27817988cd08c8b) ) |
| 420 | 422 | |
| 421 | 423 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| r31835 | r31836 | |
| 442 | 444 | |
| 443 | 445 | ROM_START( circusc3 ) |
| 444 | 446 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 447 | ROM_LOAD( "380_w05.3h", 0x6000, 0x2000, CRC(87df9f5e) SHA1(d759ff6200546c562aecee749dc9941bbbdb9918) ) |
| 448 | ROM_LOAD( "380_r04.4h", 0x8000, 0x2000, CRC(c283b887) SHA1(458c398911453d558003f49c298b0d593c941c11) ) // == 380_q04.4h |
| 449 | ROM_LOAD( "380_r03.5h", 0xa000, 0x2000, CRC(e90c0e86) SHA1(03211f0cc90b6e356989c5e2a41b70f4ff2ead83) ) // == 380_q03.5h |
| 450 | ROM_LOAD( "380_r02.6h", 0xc000, 0x2000, CRC(2d434c6f) SHA1(2c794f24422db7671d1bc85cef308ab4a62d523d) ) // Cause of incorrect Lives bug in service mode |
| 451 | ROM_LOAD( "380_q01.7h", 0xe000, 0x2000, CRC(18c20adf) SHA1(2f40e1a109d129bb127a8b98e27817988cd08c8b) ) |
| 452 | |
| 453 | ROM_REGION( 0x10000, "audiocpu", 0 ) |
| 454 | ROM_LOAD( "380_l14.5c", 0x0000, 0x2000, CRC(607df0fb) SHA1(67103d61994fd3a1e2de7cf9487e4f763234b18e) ) |
| 455 | ROM_LOAD( "380_l15.7c", 0x2000, 0x2000, CRC(a6ad30e1) SHA1(14f305717edcc2471e763b262960a0b96eef3530) ) |
| 456 | |
| 457 | ROM_REGION( 0x04000, "gfx1", 0 ) |
| 458 | ROM_LOAD( "380_j12.4a", 0x0000, 0x2000, CRC(56e5b408) SHA1(73b9e3d46dfe9e39b390c634df153648a0906876) ) |
| 459 | ROM_LOAD( "380_j13.5a", 0x2000, 0x2000, CRC(5aca0193) SHA1(4d0b0a773c385b7f1dcf024760d0437f47e78fbe) ) |
| 460 | |
| 461 | ROM_REGION( 0x0c000, "gfx2", 0 ) |
| 462 | ROM_LOAD( "380_j06.11e", 0x0000, 0x2000, CRC(df0405c6) SHA1(70a50dcc86dfbdaa9c2af613105aae7f90747804) ) |
| 463 | ROM_LOAD( "380_j07.12e", 0x2000, 0x2000, CRC(23dfe3a6) SHA1(2ad7cbcbdbb434dc43e9c94cd00df9e57ac097f5) ) |
| 464 | ROM_LOAD( "380_j08.13e", 0x4000, 0x2000, CRC(3ba95390) SHA1(b22ad7cfda392894208eb4b39505f38bfe4c4342) ) |
| 465 | ROM_LOAD( "380_j09.14e", 0x6000, 0x2000, CRC(a9fba85a) SHA1(1a649ec667d377ffab26b4694be790b3a2742f30) ) |
| 466 | ROM_LOAD( "380_j10.15e", 0x8000, 0x2000, CRC(0532347e) SHA1(4c02b75a62993cce60d2cb87b81c7738abbc9a0d) ) |
| 467 | ROM_LOAD( "380_j11.16e", 0xa000, 0x2000, CRC(e1725d24) SHA1(d315588e6cc2f4263be621d2d8603c8215a90046) ) |
| 468 | |
| 469 | ROM_REGION( 0x0220, "proms", 0 ) |
| 470 | ROM_LOAD( "380_j18.2a", 0x0000, 0x020, CRC(10dd4eaa) SHA1(599acd25f36445221c553510a5de23ddba5ecc15) ) /* palette */ |
| 471 | ROM_LOAD( "380_j17.7b", 0x0020, 0x100, CRC(13989357) SHA1(0d61d468f6d3e1570fd18d236ec8cab92db4ed5c) ) /* character lookup table */ |
| 472 | ROM_LOAD( "380_j16.10c", 0x0120, 0x100, CRC(c244f2aa) SHA1(86df21c8e0b1ed51a0a4bd33dbb33f6efdea7d39) ) /* sprite lookup table */ |
| 473 | ROM_END |
| 474 | |
| 475 | ROM_START( circusc4 ) |
| 476 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 445 | 477 | ROM_LOAD( "380_r05.3h", 0x6000, 0x2000, CRC(ed52c60f) SHA1(aa9dc6a57e29895be521ac6a146de56a7beef957) ) |
| 446 | 478 | ROM_LOAD( "380_n04.4h", 0x8000, 0x2000, CRC(fcc99e33) SHA1(da140a849ac22419e8890414b8984aa264f7e3c7) ) |
| 447 | 479 | ROM_LOAD( "380_n03.5h", 0xa000, 0x2000, CRC(5ef5b3b5) SHA1(b058600c915a0d6653eaa5fc87ecee44a38eed00) ) |
| r31835 | r31836 | |
| 539 | 571 | |
| 540 | 572 | GAME( 1984, circusc, 0, circusc, circusc, circusc_state, circusc, ROT90, "Konami", "Circus Charlie (level select, set 1)", GAME_SUPPORTS_SAVE ) |
| 541 | 573 | GAME( 1984, circusc2, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami", "Circus Charlie (level select, set 2)", GAME_SUPPORTS_SAVE ) |
| 542 | | GAME( 1984, circusc3, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami", "Circus Charlie (no level select)", GAME_SUPPORTS_SAVE ) |
| 574 | GAME( 1984, circusc3, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami", "Circus Charlie (level select, set 3)", GAME_SUPPORTS_SAVE ) |
| 575 | GAME( 1984, circusc4, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami", "Circus Charlie (no level select)", GAME_SUPPORTS_SAVE ) |
| 543 | 576 | GAME( 1984, circuscc, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami (Centuri license)", "Circus Charlie (Centuri)", GAME_SUPPORTS_SAVE ) |
| 544 | 577 | GAME( 1984, circusce, circusc, circusc, circusc, circusc_state, circusc, ROT90, "Konami (Centuri license)", "Circus Charlie (Centuri, earlier)", GAME_SUPPORTS_SAVE ) |