konmedal: Dumped color PROMs for Fuusen Pentai [Klaus of TeamEurope, SpinalFeyd]

This commit is contained in:
arbee 2019-07-01 20:02:14 -04:00
parent b1dff791ed
commit ab6867b714

View File

@ -63,6 +63,7 @@ public:
void shuriboy(machine_config &config);
void ddboy(machine_config &config);
void tsukande(machine_config &config);
void fuusenpn(machine_config &config);
private:
void konmedal_palette(palette_device &palette) const;
@ -80,10 +81,13 @@ 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);
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_WRITE8_MEMBER(shuri_control_w);
@ -177,7 +181,6 @@ void konmedal_state::video_start()
uint32_t konmedal_state::screen_update_konmedal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
// bitmap.fill(m_back_colorbase, cliprect);
bitmap.fill(0, cliprect);
screen.priority().fill(0, cliprect);
@ -200,6 +203,18 @@ uint32_t konmedal_state::screen_update_shuriboy(screen_device &screen, bitmap_in
return 0;
}
uint32_t konmedal_state::screen_update_fuusenpn(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, 0, 0, 4);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 2);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 1);
return 0;
}
void konmedal_state::konmedal_palette(palette_device &palette) const
{
uint8_t const *const PROM = memregion("proms")->base();
@ -469,6 +484,16 @@ K052109_CB_MEMBER(konmedal_state::shuriboy_tile_callback)
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;
}
WRITE8_MEMBER(konmedal_state::shuri_bank_w)
{
membank("bank1")->set_entry(data&0x3);
@ -550,6 +575,23 @@ void konmedal_state::shuriboy(machine_config &config)
UPD7759(config, m_upd7759);
}
void konmedal_state::fuusenpn(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_fuusenpn));
screen.set_palette(m_palette);
K052109(config.replace(), m_k052109, 0);
m_k052109->set_palette(m_palette);
m_k052109->set_tile_callback(FUNC(konmedal_state::fuusenpn_tile_callback), this);
}
ROM_START( tsukande )
ROM_REGION( 0x20000, "maincpu", 0 ) /* main program */
ROM_LOAD( "441-d02.4g", 0x000000, 0x020000, CRC(6ed17227) SHA1(4e3f5219cbf6f42c60df38a99f3009fe49f78fc1) )
@ -659,10 +701,14 @@ ROM_START( fuusenpn )
ROM_LOAD( "241-a02-13c.bin", 0x000000, 0x020000, CRC(f2c39c7b) SHA1(ec420a1fbd6e83fe1ff5c9c8f7169b755d0cc494) )
ROM_REGION( 0x400, "proms", ROMREGION_ERASE00 ) // am27s21apc
ROM_LOAD( "241a07.bin", 0x000000, 0x000100, CRC(b246f88e) SHA1(e16aae373b41bc11d4828e1cc2cc267552b0397c) )
ROM_LOAD( "241a08.bin", 0x000100, 0x000100, CRC(e84cbf2a) SHA1(a0e99df97ca268c16625a02b6e6427aadcca1b5b) )
ROM_LOAD( "241a09.bin", 0x000200, 0x000100, CRC(79bd3e49) SHA1(ff94856d11acfba364f2d05ca955c10fbc02e265) )
ROM_LOAD( "241a10.bin", 0x000300, 0x000100, CRC(f7e3d8ee) SHA1(89c505873c884f9e1ec0cb113a3557d3f67943b9) )
ROM_END
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, shuriboy, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Fuusen Pentai", MACHINE_NOT_WORKING)
GAME( 1993, fuusenpn, 0, fuusenpn, konmedal, konmedal_state, empty_init, ROT0, "Konami", "Fuusen Pentai", MACHINE_NOT_WORKING)