goldstar.cpp: get cmast97 to show things. Gameplay is basically fine, but GFX are really broken (nw)

This commit is contained in:
Ivan Vangelista 2019-12-20 21:23:28 +01:00
parent 4e3744cd70
commit f1c5766493
2 changed files with 32 additions and 6 deletions

View File

@ -848,6 +848,19 @@ void cmaster_state::cm_portmap(address_map &map)
map(0x14, 0x14).w(FUNC(cmaster_state::girl_scroll_w));
}
void cmaster_state::cm97_portmap(address_map &map) // TODO: other reads/writes
{
map.global_mask(0xff);
map(0x09, 0x09).r("aysnd", FUNC(ay8910_device::data_r));
map(0x0a, 0x0b).w("aysnd", FUNC(ay8910_device::data_address_w));
map(0x0c, 0x0c).portr("DSW1");
map(0x0d, 0x0d).portr("DSW2");
map(0x0e, 0x0e).portr("DSW3");
map(0x10, 0x10).portr("IN0");
map(0x11, 0x11).portr("IN1");
map(0x12, 0x12).portr("IN2").w(FUNC(cmaster_state::outport0_w));
}
void cmaster_state::chryangl_decrypted_opcodes_map(address_map &map)
{
map(0x0000, 0xf7ff).rom().share("decrypted_opcodes");
@ -8781,13 +8794,12 @@ void cb3_state::cherrys(machine_config &config)
m_gfxdecode->set_info(gfx_cherrys);
}
void cb3_state::cm97(machine_config &config)
void cb3_state::eldoradd(machine_config &config)
{
ncb3(config);
m_gfxdecode->set_info(gfx_cm97);
}
void goldstar_state::wcherry(machine_config &config)
{
/* basic machine hardware */
@ -8880,6 +8892,18 @@ void cmaster_state::cmasterc(machine_config &config)
m_gfxdecode->set_info(gfx_cmasterc);
}
void cmaster_state::cm97(machine_config &config)
{
cm(config);
m_maincpu->set_addrmap(AS_IO, &cmaster_state::cm97_portmap);
m_gfxdecode->set_info(gfx_cm97);
config.device_remove("ppi8255_0");
config.device_remove("ppi8255_1");
}
void cmaster_state::chryangl(machine_config &config)
{
cm(config);
@ -14981,7 +15005,7 @@ ROM_START( eldoradd )
ROM_REGION( 0x300, "proms", 0 )
ROM_LOAD( "mb7114.e8", 0x000, 0x100, CRC(fa274678) SHA1(6712cb1f7ead1a7aa703ec799e7199c33ace857c) )
ROM_LOAD( "mb7114.e10", 0x100, 0x100, CRC(e58877ea) SHA1(30fa873fc05d91610ef68eef54b78f2c7301a62a) )
ROM_LOAD( "mb7114.e12", 0x100, 0x100, CRC(781b2842) SHA1(566667d4f81e93b29bb01dbc51bf144c02dff75d) )
ROM_LOAD( "mb7114.e12", 0x200, 0x100, CRC(781b2842) SHA1(566667d4f81e93b29bb01dbc51bf144c02dff75d) )
ROM_REGION( 0x400, "plds", 0 ) // available as brute-forced dumps, need to be verified and converted
ROM_LOAD( "pal16l8.d13", 0x000, 0x104, NO_DUMP )
@ -17980,8 +18004,7 @@ GAMEL( 199?, cb3e, ncb3, cb3e, chrygld, cb3_state, init_cb3e,
GAMEL( 199?, chryglda, ncb3, cb3e, chrygld, cb3_state, init_cb3e, ROT0, "bootleg", "Cherry Gold I (set 2, encrypted bootleg)", 0, layout_chrygld ) // Runs in CB3e hardware.
GAME( 1994, chryangla, ncb3, chryangla,ncb3, cb3_state, init_chryangl, ROT0, "bootleg (G.C.I.)", "Cherry Angel (encrypted, W-4 hardware)", MACHINE_NOT_WORKING ) // DYNA CB3 V1.40 string, decrypted but only test screens work
GAME( 1996, cmast97, ncb3, cm97, chrygld, cb3_state, empty_init, ROT0, "Dyna", "Cherry Master '97", MACHINE_NOT_WORKING) // fix prom decode
GAME( 1991, eldoradd, 0, cm97, chrygld, cb3_state, empty_init, ROT0, "Dyna", "El Dorado", MACHINE_NOT_WORKING) // everything
GAME( 1991, eldoradd, 0, eldoradd, chrygld, cb3_state, empty_init, ROT0, "Dyna", "El Dorado", MACHINE_NOT_WORKING) // everything
// looks like a hack of Cherry Bonus 3
GAME( 1994, chryangl, ncb3, chryangl, chryangl, cmaster_state, init_chryangl, ROT0, "bootleg (G.C.I.)", "Cherry Angel", MACHINE_NOT_WORKING ) // SKY SUPERCB 1.0 string, decrypted but hangs when betting
@ -18021,6 +18044,7 @@ GAME( 199?, chthree, cmaster, cm, cmaster, cmaster_state, init_chthr
GAME( 1991, cmast91, 0, cmast91, cmast91, goldstar_state, init_cmast91, ROT0, "Dyna", "Cherry Master '91 (ver.1.30)", 0 )
GAME( 1992, cmast92, 0, cmast91, cmast91, goldstar_state, init_cmast91, ROT0, "Dyna", "Cherry Master '92", MACHINE_NOT_WORKING ) // no gfx roms are dumped
GAME( 1996, cmast97, 0, cm97, cmv801, cmaster_state, empty_init, ROT0, "Dyna", "Cherry Master '97", MACHINE_NOT_WORKING) // fix prom decode, reels
GAME( 1999, cmast99, 0, cm, cmast99, cmaster_state, init_cmv4, ROT0, "Dyna", "Cherry Master '99 (V9B.00)", MACHINE_NOT_WORKING )
GAME( 1999, cmast99b, cmast99, cm, cmast99, cmaster_state, init_cmv4, ROT0, "bootleg", "Cherry Master '99 (V9B.00 bootleg / hack)", MACHINE_NOT_WORKING )
GAME( 1993, aplan, 0, cm, cmast99, cmaster_state, init_cmv4, ROT0, "WeaShing H.K.", "A-Plan", MACHINE_NOT_WORKING )

View File

@ -186,6 +186,7 @@ public:
uint32_t screen_update_amcoe1a(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
void cm(machine_config &config);
void cm97(machine_config &config);
void cmasterc(machine_config &config);
void amcoe1a(machine_config &config);
void nfm(machine_config &config);
@ -195,6 +196,7 @@ public:
void amcoe1_portmap(address_map &map);
void amcoe2_portmap(address_map &map);
void cm_portmap(address_map &map);
void cm97_portmap(address_map &map);
void chryangl_decrypted_opcodes_map(address_map &map);
protected:
@ -284,7 +286,7 @@ public:
void cb3c(machine_config &config);
void cb3e(machine_config &config);
void ncb3(machine_config &config);
void cm97(machine_config &config);
void eldoradd(machine_config &config);
void ncb3_map(address_map &map);
void chryangla_map(address_map &map);
void chryangla_decrypted_opcodes_map(address_map &map);