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). 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 The game title is Fool Race, confirmed by one of the programmers.
on the pcb, but that's not really credible.
It's on much cheaper hardware than the original: 8080 instead of Z80, It's on much cheaper hardware than the original: 8080 instead of Z80,
and less RAM needed with the gfx tiles being on ROM. 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? - wrong coin handling, it writes to port $01 to reset coin status?
- other unknown writes - other unknown writes
- dipswitch settings - dipswitch settings
- blackhol: GFX don't seem 100% correct, missing button 1
Sounds: Sounds:
- Port 0,20 dot (can use invaders hit sound) - Port 0,20 dot (can use invaders hit sound)
@ -46,6 +46,10 @@ public:
{ } { }
void headonb(machine_config &config); void headonb(machine_config &config);
void blackhol(machine_config &config);
protected:
virtual void video_start() override;
private: private:
required_device<cpu_device> m_maincpu; required_device<cpu_device> m_maincpu;
@ -55,15 +59,15 @@ private:
tilemap_t *m_tilemap; tilemap_t *m_tilemap;
DECLARE_WRITE8_MEMBER(video_ram_w); void video_ram_w(offs_t offset, u8 data);
virtual void video_start() override;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
TILE_GET_INFO_MEMBER(get_tile_info); TILE_GET_INFO_MEMBER(get_tile_info);
void headonb_io_map(address_map &map); void headonb_io_map(address_map &map);
void headonb_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_video_ram[offset] = data;
m_tilemap->mark_tile_dirty(offset); m_tilemap->mark_tile_dirty(offset);
@ -116,6 +120,19 @@ void headonb_state::headonb_io_map(address_map &map)
map(0x04, 0x04).portr("IN1"); 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 ) PORT_DIPUNKNOWN( 0x80, 0x80 )
INPUT_PORTS_END 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 // 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_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD( "1.bin", 0x0000, 0x0400, CRC(11586f44) SHA1(95426bbae19e152c103ac589e62e5f7c803a9bd0) ) // sldh ROM_LOAD( "1.bin", 0x0000, 0x0400, CRC(11586f44) SHA1(95426bbae19e152c103ac589e62e5f7c803a9bd0) ) // sldh
ROM_LOAD( "2.bin", 0x0400, 0x0400, CRC(c3449b99) SHA1(68f0af22c9f3ca971ac7fd5909bb7991d3a0474a) ) // 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_LOAD( "9.bin", 0x0400, 0x0400, CRC(2b4d3afe) SHA1(f5f49c6b1b9b44f8922825cbbc563549c8eab97b) )
ROM_END 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 hcastlek // GX768 (c) 1988
@source:headonb.cpp @source:headonb.cpp
headonb // bootleg, headonb.cpp blackhol
foolrace // bootleg
@source:hec2hrp.cpp @source:hec2hrp.cpp
hec2hr // hec2hr //