New machines marked as NOT_WORKING

----------------------------------
unknown Sega air hockey game [Darksoft, Team Europe]
This commit is contained in:
Ivan Vangelista 2022-10-25 20:45:40 +02:00
parent 8fb6e14c3f
commit 037f6b831a
3 changed files with 160 additions and 0 deletions

View File

@ -1258,6 +1258,7 @@ sega/system16.cpp
sega/timetrv.cpp
sega/triforce.cpp
sega/turbo.cpp
sega/unkhockey.cpp
sega/vicdual.cpp
sega/winclub.cpp
sega/y2.cpp

View File

@ -42716,6 +42716,9 @@ uts20 //
@source:att/unixpc.cpp
3b1 // 3B1 "Unix PC"
@source:sega/unkhockey.cpp
unkhockey
@source:misc/unkhorse.cpp
unkhorse //

156
src/mame/sega/unkhockey.cpp Normal file
View File

@ -0,0 +1,156 @@
// license:BSD-3-Clause
// copyright-holders:
/*
Sega 834-12846 PCB (stickered 970729 0259 II)
The main components are:
MC68EC000FN16 CPU
32.000 MHz XTAL
Sega 315_5296 custom (I/O)
Battery
2x LH52B256N SRAM 32k x 8
2x Lattice pLSI 2032 High Density Programmable Logic
Lattice pLSI 1016 High Density Programmable Logic
NEC D71054GB programmable timer / counter
NEC D71055GB parallel interface unit
2x MB3771 power supply monitor
SLA7026M unipolar stepper motor
YM3438
NEC D7759GC
2x 8-dip banks
3-dip bank
Currently unknown which game this is. The M68K ROM contains several puck-related strings,
so it's supposed to be some kind of air hockey game.
epr codes point to 1996-97 timeframe. Possibly Hockey Stadium (1997)?
*/
#include "emu.h"
#include "315_5296.h"
#include "cpu/m68000/m68000.h"
#include "machine/i8255.h"
#include "machine/nvram.h"
#include "machine/pit8253.h"
#include "sound/upd7759.h"
#include "sound/ymopn.h"
#include "speaker.h"
namespace {
class unkhockey_state : public driver_device
{
public:
unkhockey_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_upd7759(*this, "upd")
{ }
void unkhockey(machine_config &config);
private:
required_device<m68000_base_device> m_maincpu;
required_device<upd7759_device> m_upd7759;
void program_map(address_map &map);
};
void unkhockey_state::program_map(address_map &map) // TODO: verify everything
{
map(0x000000, 0x07ffff).rom();
map(0x200000, 0x20001f).rw("io", FUNC(sega_315_5296_device::read), FUNC(sega_315_5296_device::write)).umask16(0x00ff);
map(0x700000, 0x700007).rw("ymsnd", FUNC(ym3438_device::read), FUNC(ym3438_device::write)).umask16(0x00ff);
map(0xb00000, 0xb01fff).ram().share("nvram"); // TODO: size?
//map(0x??0000, 0x??0001).w(FUNC(unkhockey_state::upd7759_w)).umask16(0x00ff);
map(0xff0000, 0xffffff).ram();
}
static INPUT_PORTS_START( unkhockey )
PORT_START("IN0")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
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("IN1")
PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )
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("SW1")
PORT_DIPUNKNOWN_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:1" )
PORT_DIPUNKNOWN_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW1:2" )
PORT_DIPUNKNOWN_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW1:3" )
PORT_DIPUNKNOWN_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW1:4" )
PORT_DIPUNKNOWN_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW1:5" )
PORT_DIPUNKNOWN_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW1:6" )
PORT_DIPUNKNOWN_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW1:7" )
PORT_DIPUNKNOWN_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW1:8" )
PORT_START("SW2")
PORT_DIPUNKNOWN_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW2:1" )
PORT_DIPUNKNOWN_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW2:2" )
PORT_DIPUNKNOWN_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW2:3" )
PORT_DIPUNKNOWN_DIPLOC( 0x08, IP_ACTIVE_LOW, "SW2:4" )
PORT_DIPUNKNOWN_DIPLOC( 0x10, IP_ACTIVE_LOW, "SW2:5" )
PORT_DIPUNKNOWN_DIPLOC( 0x20, IP_ACTIVE_LOW, "SW2:6" )
PORT_DIPUNKNOWN_DIPLOC( 0x40, IP_ACTIVE_LOW, "SW2:7" )
PORT_DIPUNKNOWN_DIPLOC( 0x80, IP_ACTIVE_LOW, "SW2:8" )
PORT_START("SW3") // only 3 switches
PORT_DIPUNKNOWN_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW3:1" )
PORT_DIPUNKNOWN_DIPLOC( 0x02, IP_ACTIVE_LOW, "SW3:2" )
PORT_DIPUNKNOWN_DIPLOC( 0x04, IP_ACTIVE_LOW, "SW3:3" )
INPUT_PORTS_END
void unkhockey_state::unkhockey(machine_config &config)
{
M68000(config, m_maincpu, 32_MHz_XTAL / 2); // divider unverified
m_maincpu->set_addrmap(AS_PROGRAM, &unkhockey_state::program_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
PIT8254(config, "d71054", 0); // NEC D71054GB
I8255(config, "d071055"); // NEC D71055GB
SEGA_315_5296(config, "io", 32_MHz_XTAL / 2); // divider unverified
SPEAKER(config, "mono").front_center();
ym3438_device &ymsnd(YM3438(config, "ymsnd", 32_MHz_XTAL / 4)); // divider unverified
ymsnd.add_route(ALL_OUTPUTS, "mono", 0.50);
UPD7759(config, m_upd7759).add_route(ALL_OUTPUTS, "mono", 0.50);
}
ROM_START( unkhockey )
ROM_REGION( 0x80000, "maincpu", 0 )
ROM_LOAD16_WORD_SWAP( "epr-19513a.ic34", 0x00000, 0x80000, CRC(bf4228af) SHA1(817a96753bee081a9a34052f735403f9b8c167dc) )
ROM_REGION( 0x20000, "upd", 0 )
ROM_LOAD( "epr-19514.ic2", 0x00000, 0x20000, CRC(71342fbc) SHA1(36c9f57da3749f9151e37a7799c23351e4313dea) ) // contents only up to ~ 0x18000
ROM_IGNORE( 0x60000 ) // 11xxxxxxxxxxxxxxxxx = 0xFF
ROM_END
} // Anonymous namespace
GAME( 199?, unkhockey, 0, unkhockey, unkhockey, unkhockey_state, empty_init, ROT0, "Sega", "unknown Sega air hockey game", MACHINE_IS_SKELETON_MECHANICAL )