mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
New clones marked not working
----------------------------- Crazy Balls (Bontempi) [Domenico Cervini]
This commit is contained in:
parent
5402a2cbf7
commit
f6226166ce
@ -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 )
|
||||
|
@ -29236,6 +29236,7 @@ cowtippa //
|
||||
|
||||
@source:misc/crazybal.cpp
|
||||
crazybal // EGS
|
||||
crazybala // EGS
|
||||
|
||||
@source:misc/cromptons.cpp
|
||||
ffruits //
|
||||
|
@ -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 )
|
||||
|
Loading…
Reference in New Issue
Block a user