summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author arbee <rb6502@users.noreply.github.com>2020-01-14 22:41:17 -0500
committer arbee <rb6502@users.noreply.github.com>2020-01-14 22:41:17 -0500
commit453d68bcf64645de5e11cfa5273afb6940d12686 (patch)
treed14a870615ba88932cdcb67405099ec269b27fce
parenta488be57b6e8f8fa0d8293e74c7e5b0af7cb9a7d (diff)
konmedal: improved colors for shuriboy, fuusenpn, and mariorou [R. Belmont]
-rw-r--r--src/mame/drivers/konmedal.cpp81
1 files changed, 64 insertions, 17 deletions
diff --git a/src/mame/drivers/konmedal.cpp b/src/mame/drivers/konmedal.cpp
index 9a8dd759a5d..140239167d3 100644
--- a/src/mame/drivers/konmedal.cpp
+++ b/src/mame/drivers/konmedal.cpp
@@ -67,6 +67,7 @@ public:
void ddboy(machine_config &config);
void tsukande(machine_config &config);
void fuusenpn(machine_config &config);
+ void mariorou(machine_config &config);
private:
void konmedal_palette(palette_device &palette) const;
@@ -85,12 +86,12 @@ private:
uint32_t screen_update_konmedal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_shuriboy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update_fuusenpn(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ uint32_t screen_update_mariorou(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(konmedal_interrupt);
K056832_CB_MEMBER(tile_callback);
K052109_CB_MEMBER(shuriboy_tile_callback);
- K052109_CB_MEMBER(fuusenpn_tile_callback);
TIMER_DEVICE_CALLBACK_MEMBER(scanline);
DECLARE_WRITE8_MEMBER(shuri_bank_w);
DECLARE_READ8_MEMBER(shuri_irq_r);
@@ -217,6 +218,20 @@ uint32_t konmedal_state::screen_update_fuusenpn(screen_device &screen, bitmap_in
return 0;
}
+
+uint32_t konmedal_state::screen_update_mariorou(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+{
+ bitmap.fill(0, cliprect);
+ screen.priority().fill(0, cliprect);
+
+ m_k052109->tilemap_update();
+ m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 1);
+ m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 2);
+ m_k052109->tilemap_draw(screen, bitmap, cliprect, 0, 0, 4);
+
+ return 0;
+}
+
void konmedal_state::konmedal_palette(palette_device &palette) const
{
uint8_t const *const PROM = memregion("proms")->base();
@@ -482,17 +497,32 @@ K052109_CB_MEMBER(konmedal_state::shuriboy_tile_callback)
*flags = (*color & 0x1) ? TILE_FLIPX : 0;
u8 col = *color;
*color = (col >> 4);
- if (layer > 0) *color |= 8;
-}
-
-K052109_CB_MEMBER(konmedal_state::fuusenpn_tile_callback)
-{
- *code |= ((*color & 0xc) << 6) | (bank << 10);
- if (*color & 0x2) *code |= 0x1000;
- *flags = (*color & 0x1) ? TILE_FLIPX : 0;
- u8 col = *color;
- *color = (col >> 4);
- *color |= 8;
+ if (layer == 0)
+ {
+ if (*color == 1) *color = 0;
+ if (*color == 2) *color = 1;
+ if (*color == 6) *color = 5;
+ if (*color == 8) *color = 4;
+ if (*color == 9) *color = 4;
+ if (*color == 0xa) *color = 5;
+ if (*color == 0xd) *color = 6;
+ if (*color == 0xe) *color = 3;
+ }
+ if (layer == 1)
+ {
+ if (*color == 0) *color = 8;
+ if (*color == 0xa) *color = 0xe;
+ if (*color == 4) *color = 0xa;
+ }
+ if (layer == 2)
+ {
+ if (*color == 6) *color = 3;
+ if (*color == 8) *color = 0xc;
+ if (*color == 0) *color = 8;
+ if (*color == 0xa) *color = 0xd;
+ if (*color == 4) *color = 0xa;
+ if (*color == 5) *color = 0xa;
+ }
}
WRITE8_MEMBER(konmedal_state::shuri_bank_w)
@@ -583,7 +613,22 @@ void konmedal_state::fuusenpn(machine_config &config)
screen.set_screen_update(FUNC(konmedal_state::screen_update_fuusenpn));
screen.set_palette(m_palette);
- m_k052109->set_tile_callback(FUNC(konmedal_state::fuusenpn_tile_callback));
+ m_k052109->set_tile_callback(FUNC(konmedal_state::shuriboy_tile_callback));
+}
+
+void konmedal_state::mariorou(machine_config &config)
+{
+ shuriboy(config);
+
+ screen_device &screen(SCREEN(config.replace(), "screen", SCREEN_TYPE_RASTER)); // everything not verified, just a placeholder
+ screen.set_refresh_hz(60);
+ screen.set_vblank_time(ATTOSECONDS_IN_USEC(30));
+ screen.set_size(64*8, 32*8);
+ screen.set_visarea(96, 416-1, 16, 240-1);
+ screen.set_screen_update(FUNC(konmedal_state::screen_update_mariorou));
+ screen.set_palette(m_palette);
+
+ m_k052109->set_tile_callback(FUNC(konmedal_state::shuriboy_tile_callback));
}
ROM_START( tsukande )
@@ -746,11 +791,13 @@ ROM_START( mariorou )
ROM_LOAD( "111_a10.3e.82s129", 0x000300, 0x000100, CRC(07ffc2ed) SHA1(37955d1788a86b90439233bb098c59b191056f68) )
ROM_END
+// K052109 (TMNT tilemaps) board
+GAME( 1991, mariorou, 0, mariorou, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Mario Roulette", MACHINE_NOT_WORKING)
+GAME( 1993, shuriboy, 0, shuriboy, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Shuriken Boy", MACHINE_NOT_WORKING)
+GAME( 1993, fuusenpn, 0, fuusenpn, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Fuusen Pentai", MACHINE_NOT_WORKING)
+
+// K054156/K054157 (GX tilemaps) board
GAME( 1994, buttobi, 0, ddboy, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Buttobi Striker", MACHINE_NOT_WORKING)
GAME( 1995, tsukande, 0, tsukande, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Tsukande Toru Chicchi", MACHINE_NOT_WORKING)
GAME( 1995, ddboy, 0, ddboy, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Dam Dam Boy (on dedicated PCB)", MACHINE_NOT_WORKING)
GAME( 1995, ddboya, ddboy, ddboy, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Dam Dam Boy (on Tsukande Toru Chicchi PCB)", MACHINE_NOT_WORKING)
-GAME( 1993, shuriboy, 0, shuriboy, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Shuriken Boy", MACHINE_NOT_WORKING)
-GAME( 1993, fuusenpn, 0, fuusenpn, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Fuusen Pentai", MACHINE_NOT_WORKING)
-GAME( 1993, mariorou, 0, fuusenpn, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Mario Roulette", MACHINE_NOT_WORKING)
-