New clones marked not working

-----------------------------
Crazy Balls (Bontempi) [Domenico Cervini]
This commit is contained in:
Ivan Vangelista 2024-08-24 15:55:00 +02:00
parent 5402a2cbf7
commit f6226166ce
3 changed files with 50 additions and 14 deletions

View File

@ -164,6 +164,7 @@ public:
void cjsll(machine_config &config);
void mgcsl(machine_config &config);
void init_cjsll();
void init_mgcsl();
protected:
@ -178,6 +179,8 @@ private:
void cjsll_map(address_map &map);
void mgcsl_map(address_map &map);
void decrypt();
};
@ -198,7 +201,7 @@ void extension_state::cjsll_map(address_map &map)
map(0x000000, 0x07ffff).rom();
map(0x600000, 0x603fff).ram();
// TODO: IGS025? Almost same read writes also seem to happen at 0xd40000-0xd40003
// TODO: IGS025?
//map(0x876000, 0x876001).nopr().w(m_igs_mux, FUNC(igs_mux_device::address_w)).umask16(0x00ff); // clr.w dummy read
//map(0x876002, 0x876003).rw(m_igs_mux, FUNC(igs_mux_device::data_r), FUNC(igs_mux_device::data_w)).umask16(0x00ff);
@ -212,7 +215,7 @@ void extension_state::mgcsl_map(address_map &map)
map(0x000000, 0x07ffff).rom();
map(0x600000, 0x603fff).ram();
// TODO: IGS025? Almost same read writes also seem to happen at 0x130000-0x130003
// TODO: IGS025?
//map(0x893000, 0x893001).nopr().w(m_igs_mux, FUNC(igs_mux_device::address_w)).umask16(0x00ff); // clr.w dummy read
//map(0x893002, 0x893003).rw(m_igs_mux, FUNC(igs_mux_device::data_r), FUNC(igs_mux_device::data_w)).umask16(0x00ff);
@ -224,7 +227,7 @@ void extension_state::mgcsl_map(address_map &map)
TIMER_DEVICE_CALLBACK_MEMBER(extension_state::interrupt)
{
int scanline = param;
int const scanline = param;
if (scanline == 240 && m_igs017_igs031->get_irq_enable())
m_maincpu->set_input_line(1, HOLD_LINE);
@ -404,8 +407,8 @@ ROM_START( cjsll )
ROM_END
// TODO: reduce this monstrosity
void extension_state::init_mgcsl()
// TODO: reduce this monstrosity. Still some imperfections?
void extension_state::decrypt()
{
const int rom_size = memregion("maincpu")->bytes();
u16 * const rom = (u16 *)memregion("maincpu")->base();
@ -460,6 +463,23 @@ void extension_state::init_mgcsl()
}
// TODO: tiles don't seem scrambled, sprites to be verified
}
void extension_state::init_cjsll()
{
decrypt();
u16 * const rom = (u16 *)memregion("maincpu")->base();
// game id check
rom[0x3a994 / 2] = 0x4e71;
}
void extension_state::init_mgcsl()
{
decrypt();
u16 * const rom = (u16 *)memregion("maincpu")->base();
// game id check
rom[0x3a48e / 2] = 0x4e71;
@ -474,4 +494,4 @@ GAME( 1999, cjslh, 0, host, host, host_state, empty_init, ROT0, "IGS", "Cai Jin
// extensions
GAME( 1999, mgcsl, 0, mgcsl, extension, extension_state, init_mgcsl, ROT0, "IGS", "Manguan Caishen (link version, extension, S110CN)", MACHINE_IS_SKELETON )
GAME( 1999, cjsll, 0, cjsll, extension, extension_state, init_mgcsl, ROT0, "IGS", "Cai Jin Shen Long (link version, extension, S111CN)", MACHINE_IS_SKELETON )
GAME( 1999, cjsll, 0, cjsll, extension, extension_state, init_cjsll, ROT0, "IGS", "Cai Jin Shen Long (link version, extension, S111CN)", MACHINE_IS_SKELETON )

View File

@ -29236,6 +29236,7 @@ cowtippa //
@source:misc/crazybal.cpp
crazybal // EGS
crazybala // EGS
@source:misc/cromptons.cpp
ffruits //

View File

@ -9,11 +9,17 @@ http://www.tilt.it/deb/egs-en.html
Entirely TTL. Believed to be the first arcade game to have high score initials entry.
This was achieved via a keyboard on the control panel: http://www.citylan.it/wiki/images/c/c3/1698_control_panel_%2B_ingame.jpg
crazybal:
main PCB is marked: "EGS 113 [S]" on component side
sub PCB is marked: "EGS 114 [S]" on component side
27.025 OSC on main PCB
A PCB set is available for tracing.
crazybala:
main PCB is marked: "EGS 106" on component side
sub PCB is marked: "EGS 107" on component side
PCB set 113 + 114 is available for tracing.
Schematics are available for PCB set 106 + 107.
*/
@ -54,15 +60,12 @@ public:
void crazybal(machine_config &config);
protected:
// driver_device overrides
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
private:
// devices
required_device<netlist_mame_device> m_maincpu;
required_device<fixedfreq_device> m_video;
};
@ -95,10 +98,10 @@ void crazybal_state::video_start()
void crazybal_state::crazybal(machine_config &config)
{
/* basic machine hardware */
// basic machine hardware
NETLIST_CPU(config, m_maincpu, netlist::config::DEFAULT_CLOCK()).set_source(netlist_crazybal);
/* video hardware */
// video hardware
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
FIXFREQ(config, m_video).set_screen("screen");
m_video->set_monitor_clock(MASTER_CLOCK);
@ -109,7 +112,7 @@ void crazybal_state::crazybal(machine_config &config)
}
ROM_START( crazybal )
ROM_START( crazybal ) // EGS 113 + EGS 114 PCBs
ROM_REGION( 0x1000, "maincpu", ROMREGION_ERASE00 )
ROM_REGION( 0x0600, "mainpcb_proms", ROMREGION_ERASE00 ) // all Sn74S287N
@ -124,7 +127,19 @@ ROM_START( crazybal )
ROM_LOAD( "3.12l", 0x000, 0x100, CRC(e2ca8670) SHA1(60bc4be4185c50a9afd3a28d1fb9e8f46c93764a) ) // Sn74S287N
ROM_END
ROM_START( crazybala ) // EGS 106 + EGS 107 PCBs (found in a cabinet distributed by Bontempi)
ROM_REGION( 0x1000, "maincpu", ROMREGION_ERASE00 )
ROM_REGION( 0x0340, "mainpcb_proms", ROMREGION_ERASE00 )
ROM_LOAD( "74s287.12c", 0x000, 0x100, CRC(1f05c2df) SHA1(189e90ca29ef043ed1d4640aed3fa472a4e26da8) )
ROM_LOAD( "74s287.12d", 0x100, 0x100, CRC(f1d7a030) SHA1(697cf26dbfbd6207cb1dd2e098d6dba9b0bdbaf3) )
ROM_LOAD( "74s287.13e", 0x200, 0x100, CRC(57280959) SHA1(8162d9868e8367ba4c21712dc275ce4888cfbc70) )
ROM_LOAD( "6331.4g", 0x300, 0x020, CRC(21ee11cc) SHA1(4cdf16665015ee984a300e59c73eb2aa12c13e4e) )
ROM_LOAD( "74s188.6h", 0x320, 0x020, CRC(7b4b2f9f) SHA1(96b4a90e3c51582434e0eca1c3701cc2183dd372) )
ROM_END
} // anonymous namespace
GAME( 1978, crazybal, 0, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems", "Crazy Balls", MACHINE_IS_SKELETON )
GAME( 1978, crazybal, 0, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems / NAT", "Crazy Balls (NAT)", MACHINE_IS_SKELETON )
GAME( 1978, crazybala, crazybal, crazybal, 0, crazybal_state, empty_init, ROT0, "Electronic Games Systems / Bontempi", "Crazy Balls (Bontempi)", MACHINE_IS_SKELETON )