mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
New machines marked as NOT_WORKING
---------------------------------- Black Hole (EFG Sanremo) [f205v]
This commit is contained in:
parent
7fd7075ddf
commit
e2777bf3f0
@ -3,8 +3,7 @@
|
||||
/***************************************************************************
|
||||
|
||||
Italian bootleg of Head On, by EFG Sanremo (late 70s to early 80s).
|
||||
The game title is unknown. Someone wrote FOOL RACE on a piece of tape
|
||||
on the pcb, but that's not really credible.
|
||||
The game title is Fool Race, confirmed by one of the programmers.
|
||||
|
||||
It's on much cheaper hardware than the original: 8080 instead of Z80,
|
||||
and less RAM needed with the gfx tiles being on ROM.
|
||||
@ -14,6 +13,7 @@ TODO:
|
||||
- wrong coin handling, it writes to port $01 to reset coin status?
|
||||
- other unknown writes
|
||||
- dipswitch settings
|
||||
- blackhol: GFX don't seem 100% correct, missing button 1
|
||||
|
||||
Sounds:
|
||||
- Port 0,20 dot (can use invaders hit sound)
|
||||
@ -46,6 +46,10 @@ public:
|
||||
{ }
|
||||
|
||||
void headonb(machine_config &config);
|
||||
void blackhol(machine_config &config);
|
||||
|
||||
protected:
|
||||
virtual void video_start() override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -55,15 +59,15 @@ private:
|
||||
|
||||
tilemap_t *m_tilemap;
|
||||
|
||||
DECLARE_WRITE8_MEMBER(video_ram_w);
|
||||
|
||||
virtual void video_start() override;
|
||||
void video_ram_w(offs_t offset, u8 data);
|
||||
|
||||
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||
|
||||
TILE_GET_INFO_MEMBER(get_tile_info);
|
||||
void headonb_io_map(address_map &map);
|
||||
void headonb_map(address_map &map);
|
||||
void blackhol_map(address_map &map);
|
||||
void blackhol_io_map(address_map &map);
|
||||
};
|
||||
|
||||
|
||||
@ -97,7 +101,7 @@ uint32_t headonb_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
WRITE8_MEMBER(headonb_state::video_ram_w)
|
||||
void headonb_state::video_ram_w(offs_t offset, u8 data)
|
||||
{
|
||||
m_video_ram[offset] = data;
|
||||
m_tilemap->mark_tile_dirty(offset);
|
||||
@ -116,6 +120,19 @@ void headonb_state::headonb_io_map(address_map &map)
|
||||
map(0x04, 0x04).portr("IN1");
|
||||
}
|
||||
|
||||
void headonb_state::blackhol_map(address_map &map)
|
||||
{
|
||||
headonb_map(map);
|
||||
|
||||
map(0xfc00, 0xffff).ram();
|
||||
}
|
||||
|
||||
void headonb_state::blackhol_io_map(address_map &map)
|
||||
{
|
||||
map(0x01, 0x01).portr("IN0").nopw();
|
||||
map(0x02, 0x02).portr("IN1").nopw();
|
||||
map(0x04, 0x04).portr("IN2");
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -145,6 +162,43 @@ static INPUT_PORTS_START( headonb )
|
||||
PORT_DIPUNKNOWN( 0x80, 0x80 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( blackhol )
|
||||
PORT_START("IN0")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_COIN1 )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_COIN2 )
|
||||
|
||||
PORT_START("IN1")
|
||||
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 )
|
||||
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_START1 )
|
||||
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
|
||||
PORT_START("IN2")
|
||||
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) )
|
||||
PORT_DIPSETTING( 0x00, "1" )
|
||||
PORT_DIPSETTING( 0x01, "2" )
|
||||
PORT_DIPSETTING( 0x02, "3" )
|
||||
PORT_DIPSETTING( 0x03, "4" )
|
||||
PORT_DIPUNKNOWN( 0x04, 0x04 )
|
||||
PORT_DIPUNKNOWN( 0x08, 0x08 )
|
||||
PORT_DIPNAME( 0x30, 0x10, DEF_STR( Coinage ) )
|
||||
PORT_DIPSETTING( 0x10, "A 1C/1C B 1C/5C" ) // actually coin B increases the more coins you insert, wrong emulation?
|
||||
PORT_DIPSETTING( 0x00, "A 1C/2C B 1C/10C" )// "
|
||||
PORT_DIPSETTING( 0x30, "A 1C/3C B 1C/5C" ) // "
|
||||
PORT_DIPSETTING( 0x20, "A 1C/6C B 1C/10C" )// "
|
||||
PORT_DIPUNKNOWN( 0x40, 0x40 )
|
||||
PORT_DIPUNKNOWN( 0x80, 0x80 )
|
||||
INPUT_PORTS_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -191,6 +245,13 @@ void headonb_state::headonb(machine_config &config)
|
||||
// TODO
|
||||
}
|
||||
|
||||
void headonb_state::blackhol(machine_config &config)
|
||||
{
|
||||
headonb(config);
|
||||
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &headonb_state::blackhol_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &headonb_state::blackhol_io_map);
|
||||
}
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -198,7 +259,7 @@ void headonb_state::headonb(machine_config &config)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
ROM_START( headonb )
|
||||
ROM_START( foolrace )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "1.bin", 0x0000, 0x0400, CRC(11586f44) SHA1(95426bbae19e152c103ac589e62e5f7c803a9bd0) ) // sldh
|
||||
ROM_LOAD( "2.bin", 0x0400, 0x0400, CRC(c3449b99) SHA1(68f0af22c9f3ca971ac7fd5909bb7991d3a0474a) ) // sldh
|
||||
@ -214,5 +275,20 @@ ROM_START( headonb )
|
||||
ROM_LOAD( "9.bin", 0x0400, 0x0400, CRC(2b4d3afe) SHA1(f5f49c6b1b9b44f8922825cbbc563549c8eab97b) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( blackhol )
|
||||
ROM_REGION( 0x10000, "maincpu", 0 )
|
||||
ROM_LOAD( "1.1", 0x0000, 0x0800, CRC(2a3d9d68) SHA1(5f7d9c81de706609d6e1e1ed931104d9cc0748bc) )
|
||||
ROM_LOAD( "2.2", 0x0800, 0x0800, CRC(8c680f5b) SHA1(c9f77927cfd1189594b3acd0607193dbdd85fa93) )
|
||||
ROM_LOAD( "3.3", 0x1000, 0x0800, CRC(57d9f35e) SHA1(b9aca604a3e49cf06673e3ebd48fc67ae94ac406) )
|
||||
ROM_LOAD( "4.4", 0x1800, 0x0800, CRC(0c9a1ec7) SHA1(733a2f1c72d0ff81eb479c9fb6b0247ad316315e) )
|
||||
ROM_LOAD( "5.5", 0x2000, 0x0800, CRC(b4bfe5ce) SHA1(54ad49f7bd73cd534ced194daa393d9401eb87b6) )
|
||||
ROM_LOAD( "6.6", 0x2800, 0x0800, CRC(14c185ea) SHA1(29a9606661b08fa3f3ffd598a728df7e4cda6c20) )
|
||||
|
||||
GAME( 1979, headonb, headon, headonb, headonb, headonb_state, empty_init, ROT0, "bootleg (EFG Sanremo)", "Head On (bootleg on dedicated hardware)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
ROM_REGION( 0x1800, "gfx1", 0 )
|
||||
ROM_LOAD( "9", 0x0000, 0x0800, CRC(bc38b467) SHA1(a79196a913e1dd1e17299a7d2a32c1bfee599892) )
|
||||
ROM_LOAD( "10", 0x0800, 0x0800, CRC(3374c6b2) SHA1(0e212cb490a3c3e12f78684ac8019dfd0ecbae66) )
|
||||
ROM_LOAD( "11", 0x1000, 0x0800, CRC(354fd3d2) SHA1(1d93095ed45845e018a0f8fcfa4878b23d7c4b7a) )
|
||||
ROM_END
|
||||
|
||||
GAME( 1979, foolrace, headon, headonb, headonb, headonb_state, empty_init, ROT0, "bootleg (EFG Sanremo)", "Fool Race (bootleg on dedicated hardware)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 198?, blackhol, 0, blackhol, blackhol, headonb_state, empty_init, ROT270, "EFG Sanremo", "Black Hole (EFG Sanremo)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE ) // no button 1, player legs are black?
|
||||
|
@ -15753,7 +15753,8 @@ hcastlee // GX768 (c) 1988
|
||||
hcastlek // GX768 (c) 1988
|
||||
|
||||
@source:headonb.cpp
|
||||
headonb // bootleg, headonb.cpp
|
||||
blackhol
|
||||
foolrace // bootleg
|
||||
|
||||
@source:hec2hrp.cpp
|
||||
hec2hr //
|
||||
|
Loading…
Reference in New Issue
Block a user