New machines marked as NOT_WORKING

----------------------------------
Black Hole (EFG Sanremo) [f205v]
This commit is contained in:
Ivan Vangelista 2020-05-17 21:59:26 +02:00
parent 7fd7075ddf
commit e2777bf3f0
2 changed files with 86 additions and 9 deletions

View File

@ -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?

View File

@ -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 //