From d4393165217d5baed2eeb4338de3b78e4060331f Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Sun, 20 Feb 2011 15:41:25 +0000 Subject: [PATCH] Correct background color in Rougien [Angelo Salese] --- src/mame/drivers/mermaid.c | 62 +++++++++++++++++++------------------ src/mame/includes/mermaid.h | 1 + src/mame/video/mermaid.c | 31 +++++++++++++++++++ 3 files changed, 64 insertions(+), 30 deletions(-) diff --git a/src/mame/drivers/mermaid.c b/src/mame/drivers/mermaid.c index a1ec9c21877..68ee245cdb0 100644 --- a/src/mame/drivers/mermaid.c +++ b/src/mame/drivers/mermaid.c @@ -481,6 +481,8 @@ static MACHINE_CONFIG_DERIVED( rougien, mermaid ) MCFG_DEVICE_MODIFY("maincpu") MCFG_CPU_PROGRAM_MAP(rougien_map) + MCFG_PALETTE_INIT(rougien) + MCFG_SOUND_ADD("adpcm", MSM5205, 384000) MCFG_SOUND_CONFIG(msm5205_config) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) @@ -518,6 +520,36 @@ ROM_START( mermaid ) ROM_LOAD( "g960_42.39", 0x0000, 0x1000, CRC(287840bb) SHA1(9a1836f39f328b0c9672976d95a9ece45bb9e89f) ) ROM_END +ROM_START( yachtmn ) + ROM_REGION( 0x10000, "maincpu", 0 ) // 64k for code + ROM_LOAD( "mer-1.15", 0x0000, 0x1000, CRC(a102b180) SHA1(f1f029797d09d89c98ffc96b1e57f3ab8e89f35a) ) + ROM_LOAD( "mer-2.16", 0x1000, 0x1000, CRC(0f2ba7fc) SHA1(5eac8300eb755f5f3a88776dbc5cf7995d2f3c44) ) + ROM_LOAD( "mer-3.17", 0x2000, 0x1000, CRC(46c22b6b) SHA1(3d6293cf99e9263e986a6046a0f08ee0416a2856) ) + ROM_LOAD( "mer-4.18", 0x3000, 0x1000, CRC(0ec84a12) SHA1(4f2d1509785d659b7e66df0525cbbd3a500370e2) ) + ROM_LOAD( "mer-5.19", 0x4000, 0x1000, CRC(315153d5) SHA1(c3fa4c1e59026e291ddbd448aede159af9827714) ) + ROM_LOAD( "g960_37.20", 0x5000, 0x1000, CRC(7d602527) SHA1(1a888bd1829b9f12dd820c49785bea6bc8edab04) ) // mer-6.20 + ROM_LOAD( "mer-7.21", 0x6000, 0x1000, CRC(20d56a6e) SHA1(b9867f073b38cbf6a98697fe6af6c4cb20d7f54b) ) + ROM_LOAD( "g960_39.22", 0x7000, 0x1000, CRC(df0db390) SHA1(b466cf1abbf0703d6fbacc86c65d254ef310ba27) ) // mer-8.22 + ROM_LOAD( "g960_40.23", 0x8000, 0x1000, CRC(fb7aba3f) SHA1(fe6903c11363ed4c34b29226df58e833150cc525) ) // mer-9.23 + ROM_LOAD( "mer-10.24", 0x9000, 0x1000, CRC(04ca4f8c) SHA1(c7a437fabe3dd6968258f13e688bd6ed8500eb8e) ) + + ROM_REGION( 0x4000, "gfx1", 0 ) + ROM_LOAD( "g960_45.77", 0x0000, 0x1000, CRC(1f6b735e) SHA1(dd7ea4ef674f0495a87fc1929ea14852e8d8d338) ) // merb-0.77 + ROM_LOAD( "g960_44.76", 0x1000, 0x1000, CRC(fd76074e) SHA1(673a214fc41b923191b4136c0cf39fc5efa970ba) ) // merb-2.76 + ROM_LOAD( "mera-0.79", 0x2000, 0x1000, CRC(6e3e48c4) SHA1(810e140310e668343bc2052e6c9527c090e0aa3c) ) + ROM_LOAD( "g960_46.78", 0x3000, 0x1000, CRC(50c117cd) SHA1(45b4055497c785218e2aaaffa86d732912555821) ) // mera-2.78 + + ROM_REGION( 0x1000, "gfx2", 0 ) + ROM_LOAD( "g960_43.26", 0x0000, 0x1000, CRC(6f077417) SHA1(f2c20e03427a2f5a113c6a4cf95875b77a0ec418) ) // merv_2.26 + + ROM_REGION( 0x40, "proms", 0 ) + ROM_LOAD( "col_a.96", 0x0000, 0x0020, CRC(ef87bcd6) SHA1(00a5888ad028fabeb7369eed33be5cd49b6b7bb0) ) // col_a.96 + ROM_LOAD( "col_b.95", 0x0020, 0x0020, CRC(ca48abdd) SHA1(a864612c2c33acddfa9993ed10a1d63d2e3f145d) ) // col_b.95 + + ROM_REGION( 0x1000, "adpcm", 0 ) // unknown, ADPCM? + ROM_LOAD( "g960_42.39", 0x0000, 0x1000, CRC(287840bb) SHA1(9a1836f39f328b0c9672976d95a9ece45bb9e89f) ) // mervce.39 +ROM_END + ROM_START( rougien ) ROM_REGION( 0x10000, "maincpu", 0 ) // 64k for code ROM_LOAD( "rou-00.bin", 0x0000, 0x1000, CRC(14cd1108) SHA1(46657fa4d900936e2a71ad43702d2c43fef09efe) ) @@ -558,36 +590,6 @@ ROM_START( rougien ) ROM_LOAD( "rou-40.bin", 0x2000, 0x1000, CRC(ab38b942) SHA1(9575f67e002c68d384122e05a12c6c0f21335825) ) // alien whistle ROM_END -ROM_START( yachtmn ) - ROM_REGION( 0x10000, "maincpu", 0 ) // 64k for code - ROM_LOAD( "mer-1.15", 0x0000, 0x1000, CRC(a102b180) SHA1(f1f029797d09d89c98ffc96b1e57f3ab8e89f35a) ) - ROM_LOAD( "mer-2.16", 0x1000, 0x1000, CRC(0f2ba7fc) SHA1(5eac8300eb755f5f3a88776dbc5cf7995d2f3c44) ) - ROM_LOAD( "mer-3.17", 0x2000, 0x1000, CRC(46c22b6b) SHA1(3d6293cf99e9263e986a6046a0f08ee0416a2856) ) - ROM_LOAD( "mer-4.18", 0x3000, 0x1000, CRC(0ec84a12) SHA1(4f2d1509785d659b7e66df0525cbbd3a500370e2) ) - ROM_LOAD( "mer-5.19", 0x4000, 0x1000, CRC(315153d5) SHA1(c3fa4c1e59026e291ddbd448aede159af9827714) ) - ROM_LOAD( "g960_37.20", 0x5000, 0x1000, CRC(7d602527) SHA1(1a888bd1829b9f12dd820c49785bea6bc8edab04) ) // mer-6.20 - ROM_LOAD( "mer-7.21", 0x6000, 0x1000, CRC(20d56a6e) SHA1(b9867f073b38cbf6a98697fe6af6c4cb20d7f54b) ) - ROM_LOAD( "g960_39.22", 0x7000, 0x1000, CRC(df0db390) SHA1(b466cf1abbf0703d6fbacc86c65d254ef310ba27) ) // mer-8.22 - ROM_LOAD( "g960_40.23", 0x8000, 0x1000, CRC(fb7aba3f) SHA1(fe6903c11363ed4c34b29226df58e833150cc525) ) // mer-9.23 - ROM_LOAD( "mer-10.24", 0x9000, 0x1000, CRC(04ca4f8c) SHA1(c7a437fabe3dd6968258f13e688bd6ed8500eb8e) ) - - ROM_REGION( 0x4000, "gfx1", 0 ) - ROM_LOAD( "g960_45.77", 0x0000, 0x1000, CRC(1f6b735e) SHA1(dd7ea4ef674f0495a87fc1929ea14852e8d8d338) ) // merb-0.77 - ROM_LOAD( "g960_44.76", 0x1000, 0x1000, CRC(fd76074e) SHA1(673a214fc41b923191b4136c0cf39fc5efa970ba) ) // merb-2.76 - ROM_LOAD( "mera-0.79", 0x2000, 0x1000, CRC(6e3e48c4) SHA1(810e140310e668343bc2052e6c9527c090e0aa3c) ) - ROM_LOAD( "g960_46.78", 0x3000, 0x1000, CRC(50c117cd) SHA1(45b4055497c785218e2aaaffa86d732912555821) ) // mera-2.78 - - ROM_REGION( 0x1000, "gfx2", 0 ) - ROM_LOAD( "g960_43.26", 0x0000, 0x1000, CRC(6f077417) SHA1(f2c20e03427a2f5a113c6a4cf95875b77a0ec418) ) // merv_2.26 - - ROM_REGION( 0x40, "proms", 0 ) - ROM_LOAD( "col_a.96", 0x0000, 0x0020, CRC(ef87bcd6) SHA1(00a5888ad028fabeb7369eed33be5cd49b6b7bb0) ) // col_a.96 - ROM_LOAD( "col_b.95", 0x0020, 0x0020, CRC(ca48abdd) SHA1(a864612c2c33acddfa9993ed10a1d63d2e3f145d) ) // col_b.95 - - ROM_REGION( 0x1000, "adpcm", 0 ) // unknown, ADPCM? - ROM_LOAD( "g960_42.39", 0x0000, 0x1000, CRC(287840bb) SHA1(9a1836f39f328b0c9672976d95a9ece45bb9e89f) ) // mervce.39 -ROM_END - /* Game Drivers */ diff --git a/src/mame/includes/mermaid.h b/src/mame/includes/mermaid.h index 5a9925c3c9a..ae4817cabdf 100644 --- a/src/mame/includes/mermaid.h +++ b/src/mame/includes/mermaid.h @@ -58,6 +58,7 @@ WRITE8_HANDLER( rougien_gfxbankswitch2_w ); READ8_HANDLER( mermaid_collision_r ); PALETTE_INIT( mermaid ); +PALETTE_INIT( rougien ); VIDEO_START( mermaid ); VIDEO_UPDATE( mermaid ); VIDEO_EOF( mermaid ); diff --git a/src/mame/video/mermaid.c b/src/mame/video/mermaid.c index 6f902912b28..67b88002a56 100644 --- a/src/mame/video/mermaid.c +++ b/src/mame/video/mermaid.c @@ -44,6 +44,37 @@ PALETTE_INIT( mermaid ) colortable_entry_set_value(machine->colortable, 0x43, 0x21); } +PALETTE_INIT( rougien ) +{ + int i; + + /* allocate the colortable */ + machine->colortable = colortable_alloc(machine, 0x41); + + for (i = 0; i < 0x40; i++) + { + int r = 0x21 * BIT(color_prom[i], 0) + 0x47 * BIT(color_prom[i], 1) + 0x97 * BIT(color_prom[i], 2); + int g = 0x21 * BIT(color_prom[i], 3) + 0x47 * BIT(color_prom[i], 4) + 0x97 * BIT(color_prom[i], 5); + int b = 0x47 * BIT(color_prom[i], 6) + 0x97 * BIT(color_prom[i], 7); + + colortable_palette_set_color(machine->colortable, i, MAKE_RGB(r, g, b)); + } + + /* blue background */ + colortable_palette_set_color(machine->colortable, 0x40, MAKE_RGB(0, 0, 0)); + + /* char/sprite palette */ + for (i = 0; i < 0x40; i++) + colortable_entry_set_value(machine->colortable, i, i); + + /* background palette */ + colortable_entry_set_value(machine->colortable, 0x40, 0x40); + colortable_entry_set_value(machine->colortable, 0x41, 0x00); + colortable_entry_set_value(machine->colortable, 0x42, 0x00); + colortable_entry_set_value(machine->colortable, 0x43, 0x02); +} + + WRITE8_HANDLER( mermaid_videoram2_w ) { mermaid_state *state = space->machine->driver_data();